Add 16 bit R_RBA.
This commit is contained in:
parent
9ce5c36a4b
commit
1b164155d9
3 changed files with 40 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
2002-05-30 Tom Rix <trix@redhat.com>
|
||||
|
||||
* coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA.
|
||||
* coff64-rs6000.c (xcoff64_rtype2howto): Same.
|
||||
|
||||
2002-05-30 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
|
||||
|
|
|
@ -948,6 +948,21 @@ reloc_howto_type xcoff_howto_table[] =
|
|||
0xffff, /* dst_mask */
|
||||
false), /* pcrel_offset */
|
||||
|
||||
/* Modifiable branch relative. */
|
||||
HOWTO (R_RBA, /* type */
|
||||
0, /* rightshift */
|
||||
1, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
16, /* bitsize */
|
||||
false, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_signed, /* complain_on_overflow */
|
||||
0, /* special_function */
|
||||
"R_RBA_16", /* name */
|
||||
true, /* partial_inplace */
|
||||
0xffff, /* src_mask */
|
||||
0xffff, /* dst_mask */
|
||||
false), /* pcrel_offset */
|
||||
|
||||
};
|
||||
|
||||
void
|
||||
|
@ -968,6 +983,8 @@ xcoff_rtype2howto (relent, internal)
|
|||
relent->howto = &xcoff_howto_table[0x1c];
|
||||
else if (R_RBR == internal->r_type)
|
||||
relent->howto = &xcoff_howto_table[0x1d];
|
||||
else if (R_RBA == internal->r_type)
|
||||
relent->howto = &xcoff_howto_table[0x1e];
|
||||
}
|
||||
|
||||
/* The r_size field of an XCOFF reloc encodes the bitsize of the
|
||||
|
|
|
@ -1730,6 +1730,22 @@ reloc_howto_type xcoff64_howto_table[] =
|
|||
0xffff, /* src_mask */
|
||||
0xffff, /* dst_mask */
|
||||
false), /* pcrel_offset */
|
||||
|
||||
/* Modifiable branch absolute. */
|
||||
HOWTO (R_RBA, /* type */
|
||||
0, /* rightshift */
|
||||
1, /* size (0 = byte, 1 = short, 2 = long) */
|
||||
16, /* bitsize */
|
||||
false, /* pc_relative */
|
||||
0, /* bitpos */
|
||||
complain_overflow_bitfield, /* complain_on_overflow */
|
||||
0, /* special_function */
|
||||
"R_RBA_16", /* name */
|
||||
true, /* partial_inplace */
|
||||
0xffff, /* src_mask */
|
||||
0xffff, /* dst_mask */
|
||||
false), /* pcrel_offset */
|
||||
|
||||
};
|
||||
|
||||
void
|
||||
|
@ -1750,6 +1766,8 @@ xcoff64_rtype2howto (relent, internal)
|
|||
relent->howto = &xcoff64_howto_table[0x1d];
|
||||
else if (R_RBR == internal->r_type)
|
||||
relent->howto = &xcoff64_howto_table[0x1e];
|
||||
else if (R_RBA == internal->r_type)
|
||||
relent->howto = &xcoff64_howto_table[0x1f];
|
||||
}
|
||||
/* Special case 32 bit */
|
||||
else if (31 == (internal->r_size & 0x3f))
|
||||
|
|
Loading…
Reference in a new issue