diff options
author | Alan Modra <amodra@gmail.com> | 2009-07-29 06:22:13 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2009-07-29 06:22:13 +0000 |
commit | af65af87c018aaceb91afaeefabfec9b0b947096 (patch) | |
tree | 379d507f881eb851bcb102bb0ec87663538f8562 /gas/config | |
parent | 9384511500f3bedcefcfd0b7d8e88dc01264a35c (diff) | |
download | gdb-af65af87c018aaceb91afaeefabfec9b0b947096.zip gdb-af65af87c018aaceb91afaeefabfec9b0b947096.tar.gz gdb-af65af87c018aaceb91afaeefabfec9b0b947096.tar.bz2 |
PR ld/10269
* symbols.c (S_FORCE_RELOC): True for BSF_GNU_INDIRECT_FUNCTION.
* config/tc-i386.c: Revert 2009-06-13 change.
* config/tc-i386.h: Likewise.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-i386.c | 6 | ||||
-rw-r--r-- | gas/config/tc-i386.h | 6 |
2 files changed, 1 insertions, 11 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index c90cadc..4109dd9 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -2566,10 +2566,6 @@ tc_i386_fix_adjustable (fixS *fixP ATTRIBUTE_UNUSED) || fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT || fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY) return 0; - - if (fixP->fx_addsy != NULL - && symbol_get_bfdsym (fixP->fx_addsy)->flags & BSF_GNU_INDIRECT_FUNCTION) - return 0; #endif return 1; } @@ -7368,7 +7364,7 @@ md_apply_fix (fixP, valP, seg) if ((sym_seg == seg || (symbol_section_p (fixP->fx_addsy) && sym_seg != absolute_section)) - && !TC_FORCE_RELOCATION (fixP)) + && !generic_force_reloc (fixP)) { /* Yes, we add the values in twice. This is because bfd_install_relocation subtracts them out again. I think diff --git a/gas/config/tc-i386.h b/gas/config/tc-i386.h index 1666563..b51a9f4 100644 --- a/gas/config/tc-i386.h +++ b/gas/config/tc-i386.h @@ -143,12 +143,6 @@ extern int tc_i386_fix_adjustable (struct fix *); (OUTPUT_FLAVOR == bfd_target_elf_flavour) #endif -/* BSF_GNU_INDIRECT_FUNCTION symbols always need relocatoon. */ -#define TC_FORCE_RELOCATION(FIX) \ - ((symbol_get_bfdsym ((FIX)->fx_addsy)->flags \ - & BSF_GNU_INDIRECT_FUNCTION) \ - || generic_force_reloc (FIX)) - /* This expression evaluates to true if the relocation is for a local object for which we still want to do the relocation at runtime. False if we are willing to perform this relocation while building |