|
|
1.1 ! root 1: /* ! 2: * Relocation types used in the m98k implementation. Relocation entries for ! 3: * things other than instructions use the same generic relocation as discribed ! 4: * above and their r_type is RELOC_VANILLA. The rest of the relocation types ! 5: * are for instructions. Since they are for instructions the r_address field ! 6: * indicates the 32 bit instruction that the relocation is to be preformed on. ! 7: * The fields r_pcrel and r_length are ignored for non-RELOC_VANILLA r_types. ! 8: */ ! 9: enum reloc_type_m98k ! 10: { ! 11: M98K_RELOC_VANILLA, /* generic relocation as discribed above */ ! 12: M98K_RELOC_PAIR, /* the second relocation entry of a pair */ ! 13: M98K_RELOC_BR14, /* 14 bit branch displacement (to a word address) */ ! 14: M98K_RELOC_BR24, /* 24 bit branch displacement (to a word address) */ ! 15: M98K_RELOC_HI16, /* a PAIR follows with the low half */ ! 16: M98K_RELOC_LO16, /* a PAIR follows with the high half */ ! 17: M98K_RELOC_HA16, /* Same as the RELOC_HI16 except the low 16 bits and the ! 18: * high 16 bits are added together with the low 16 bits ! 19: * sign extened first. This means if bit 15 of the low ! 20: * 16 bits is set the high 16 bits stored in the ! 21: * instruction will be adjusted. ! 22: */ ! 23: M98K_RELOC_LO14, /* Same as the LO16 except that the low 2 bits are not ! 24: * stored in the instruction and are always zero. This ! 25: * is used for in double word load/store instructons. ! 26: */ ! 27: M98K_RELOC_SECTDIFF /* a PAIR follows with subtract symbol value */ ! 28: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.