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 <[email protected]>
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
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils