https://sourceware.org/bugzilla/show_bug.cgi?id=16858
Nick Clifton <nickc at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED --- Comment #9 from Nick Clifton <nickc at redhat dot com> --- Hi Guys, There was a problem with my proposed patch - it affected non pc-relative references to weak symbols as well as pc-relative references. (As was exposed by a linker testsuite failure). So I have adjusted the patch and checked it in - this time with no testsuite regressions. Cheers Nick gas/ChangeLog 2014-04-28 Nick Clifton <ni...@redhat.com> PR gas/16858 * config/tc-i386.c (md_apply_fix): Do not adjust value of pc-relative fixes against weak symbols. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index cb62cf5..707ce59 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -9146,7 +9146,10 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) #endif } #if defined (OBJ_COFF) && defined (TE_PE) - if (fixP->fx_addsy != NULL && S_IS_WEAK (fixP->fx_addsy)) + if (fixP->fx_addsy != NULL + && S_IS_WEAK (fixP->fx_addsy) + /* PR 16858: Do not modify weak function references. */ + && ! fixP->fx_pcrel) { value -= S_GET_VALUE (fixP->fx_addsy); } -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils