* config/tc-ppc.c (md_apply_fix3): Adjust 16 bit XCOFF reloc offset.

This commit is contained in:
Alan Modra 2002-08-06 02:30:06 +00:00
parent 48bfecdd71
commit 95210096dc
2 changed files with 20 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2002-08-06 Alan Modra <amodra@bigpond.net.au>
* config/tc-ppc.c (md_apply_fix3): Adjust 16 bit XCOFF reloc offset.
2002-08-01 Richard Sandiford <rsandifo@redhat.com>
* config/tc-mips.c (tc_gen_reloc): Extend GP-relative addend

View File

@ -5223,7 +5223,14 @@ md_apply_fix3 (fixP, valP, seg)
else if ((operand->flags & PPC_OPERAND_RELATIVE) != 0
&& operand->bits == 16
&& operand->shift == 0)
fixP->fx_r_type = BFD_RELOC_PPC_B16;
{
fixP->fx_r_type = BFD_RELOC_PPC_B16;
#ifdef OBJ_XCOFF
fixP->fx_size = 2;
if (target_big_endian)
fixP->fx_where += 2;
#endif
}
else if ((operand->flags & PPC_OPERAND_ABSOLUTE) != 0
&& operand->bits == 26
&& operand->shift == 0)
@ -5231,7 +5238,14 @@ md_apply_fix3 (fixP, valP, seg)
else if ((operand->flags & PPC_OPERAND_ABSOLUTE) != 0
&& operand->bits == 16
&& operand->shift == 0)
fixP->fx_r_type = BFD_RELOC_PPC_BA16;
{
fixP->fx_r_type = BFD_RELOC_PPC_BA16;
#ifdef OBJ_XCOFF
fixP->fx_size = 2;
if (target_big_endian)
fixP->fx_where += 2;
#endif
}
#if defined (OBJ_XCOFF) || defined (OBJ_ELF)
else if ((operand->flags & PPC_OPERAND_PARENS) != 0
&& operand->bits == 16