* config/tc-ia64.c (ia64_cons_fix_new): Handle 8 byte iplt reloc

in 32-bit mode.
This commit is contained in:
Richard Henderson
2002-04-02 00:32:41 +00:00
parent d24bbf0666
commit 5f44c186d7
2 changed files with 25 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2002-04-01 Jessica Han <jessica@cup.hp.com>
* config/tc-ia64.c (ia64_cons_fix_new): Handle 8 byte iplt reloc
in 32-bit mode.
2002-03-27 Andreas Schwab <schwab@suse.de>
* config/tc-i386.c (output_jump): Set fx_pcrel_adjust to size of

View File

@ -9986,11 +9986,26 @@ ia64_cons_fix_new (f, where, nbytes, exp)
break;
case 8:
if (target_big_endian)
code = BFD_RELOC_IA64_DIR64MSB;
else
code = BFD_RELOC_IA64_DIR64LSB;
break;
/* In 32-bit mode, data8 could mean function descriptors too. */
if (exp->X_op == O_pseudo_fixup
&& exp->X_op_symbol
&& S_GET_VALUE (exp->X_op_symbol) == FUNC_IPLT_RELOC
&& !(md.flags & EF_IA_64_ABI64))
{
if (target_big_endian)
code = BFD_RELOC_IA64_IPLTMSB;
else
code = BFD_RELOC_IA64_IPLTLSB;
exp->X_op = O_symbol;
break;
}
else {
if (target_big_endian)
code = BFD_RELOC_IA64_DIR64MSB;
else
code = BFD_RELOC_IA64_DIR64LSB;
break;
}
case 16:
if (exp->X_op == O_pseudo_fixup