* config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust

pc-relative relocations to merge sections in 64-bit mode.
This commit is contained in:
Andreas Schwab 2002-02-13 11:17:48 +00:00
parent bf36db1824
commit 3bf057fadc
2 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2002-02-13 Andreas Schwab <schwab@suse.de>
* config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust
pc-relative relocations to merge sections in 64-bit mode.
2002-02-13 Ben Elliston <bje@redhat.com>
* NEWS: Document floating point number handling in gasp.

View File

@ -1178,7 +1178,12 @@ tc_i386_fix_adjustable (fixP)
/* Prevent all adjustments to global symbols, or else dynamic
linking will not work correctly. */
if (S_IS_EXTERNAL (fixP->fx_addsy)
|| S_IS_WEAK (fixP->fx_addsy))
|| S_IS_WEAK (fixP->fx_addsy)
/* Don't adjust pc-relative references to merge sections in 64-bit
mode. */
|| (use_rela_relocations
&& (S_GET_SEGMENT (fixP->fx_addsy)->flags & SEC_MERGE) != 0
&& fixP->fx_pcrel))
return 0;
#endif
/* adjust_reloc_syms doesn't know about the GOT. */