|
|
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.