[Bug ld/16821] x86_64 PE/COFF: ld truncates addresses of symbols from linker scripts to 32 bit
https://sourceware.org/bugzilla/show_bug.cgi?id=16821 --- Comment #12 from cvs-commit at gcc dot gnu.org --- This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "gdb and binutils". The branch, master has been updated via 40af4a3636504a0e7e0223b34ed1e7b15c4fa5da (commit) from e3e163dbb0c50aa94af5416aca86d9ef9c225205 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=40af4a3636504a0e7e0223b34ed1e7b15c4fa5da commit 40af4a3636504a0e7e0223b34ed1e7b15c4fa5da Author: Nick Clifton Date: Mon Apr 28 09:34:02 2014 +0100 This patch reworks the fix to avoid a compile time warning so that it will work with later versions of gcc. PR ld/16821 * peXXigen.c (_bfd_XXi_swap_sym_out): Rework fix to avoid compile time warning. --- Summary of changes: bfd/ChangeLog |6 ++ bfd/peXXigen.c | 15 ++- 2 files changed, 12 insertions(+), 9 deletions(-) -- 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
[Bug gas/16858] weak external reference has wrong value
https://sourceware.org/bugzilla/show_bug.cgi?id=16858 --- Comment #8 from cvs-commit at gcc dot gnu.org --- This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "gdb and binutils". The branch, master has been updated via f01c1a090e6629be280efb3c596d818f1f74ae2a (commit) from 2b577b92f0a6dc2ab894b604415cfe272f273e11 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=f01c1a090e6629be280efb3c596d818f1f74ae2a commit f01c1a090e6629be280efb3c596d818f1f74ae2a Author: Nick Clifton Date: Mon Apr 28 14:32:59 2014 +0100 This fixes a bootstrapping problem with gcc 4.9 in an x86 PE environment. The problem was that references to weak function symbols were being incorrectly biased by definition's offset. PR gas/16858 * config/tc-i386.c (md_apply_fix): Do not adjust value of pc-relative fixes against weak symbols. --- Summary of changes: gas/ChangeLog|6 ++ gas/config/tc-i386.c |5 - 2 files changed, 10 insertions(+), 1 deletions(-) -- 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
[Bug gas/16858] weak external reference has wrong value
https://sourceware.org/bugzilla/show_bug.cgi?id=16858 Nick Clifton changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #9 from Nick Clifton --- 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 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
[Bug ld/13557] Undef. ref. err. when linking with slim LTO obj. in static lib. (mingw32 target)
https://sourceware.org/bugzilla/show_bug.cgi?id=13557 --- Comment #5 from LRN --- So far my guess is that the difference is in coff_link_check_ar_symbols(): When a "normal" static library (i've made a version of libfoo.a without -flto) is being loaded, coff_link_check_ar_symbols() lists all its symbols, finds all global or common symbols, gets their names, and resolves them, if undefined. "Normal" libfoo has a global symbol esym == "_foo" (with name "_foo"), which passes all checks, and eventually is fed to add_archive_element(). LTO libfoo.a does not have that. It has a number of local 'section' symbols (".text", ".bss" and such), a number of local symbols with esym[0] == 0 and two common symbols with esym[0] == 0 and names "___gnu_lto_v1" and "___gnu_lto_slim". None of them is the right thing, as far as coff_link_check_ar_symbols() is concerned. My guess is that a plugin should hook up at some point (i have not been able the identify the place where this "some point" is in the code) and handle the symbols, but it doesn't, for some reason. -- 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