[Bug ld/18718] -fno-plt doesn't work with symbol versioning
https://sourceware.org/bugzilla/show_bug.cgi?id=18718 --- Comment #1 from cvs-commit at gcc dot gnu.org --- The master branch has been updated by H.J. Lu : https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1659f720b0818d570f79bef53ac461b2b22f commit 1659f720b0818d570f79bef53ac461b2b22f Author: H.J. Lu Date: Sat Jul 25 07:56:18 2015 -0700 Skip missing symbol version section check for executable Missing symbol version section is a run-time problem only if it will be referenced dynamically at run-time. We should skip the check for locally defined symbol, which isn't referenced by shared library, when linking executable. bfd/ PR ld/18718 * elflink.c (elf_link_output_extsym): Check symbol version section check only if not linking executable, the symbol is referenced by shared library or not locally defined. ld/testsuite/ PR ld/18718 * ld-elf/pr18718.c: New file. * ld-elf/shared.exp: Run tests for PR ld/18718. -- 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/18718] -fno-plt doesn't work with symbol versioning
https://sourceware.org/bugzilla/show_bug.cgi?id=18718 H.J. Lu changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED Target Milestone|--- |2.26 --- Comment #2 from H.J. Lu --- Fixed. -- 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/18720] New: No symbol version section for versioned symbol `foo@FOO'
https://sourceware.org/bugzilla/show_bug.cgi?id=18720 Bug ID: 18720 Summary: No symbol version section for versioned symbol `foo@FOO' Product: binutils Version: 2.26 (HEAD) Status: NEW Severity: normal Priority: P2 Component: ld Assignee: unassigned at sourceware dot org Reporter: hjl.tools at gmail dot com Target Milestone: --- [hjl@gnu-tools-1 plt-2]$ cat indirect3a.c extern void bar (void); extern void foo (void); __attribute__ ((noinline, noclone)) int foo_p (void) { return (long) &foo == 0x12345678 ? 1 : 0; } int main (void) { foo (); foo_p (); bar (); return 0; } [hjl@gnu-tools-1 plt-2]$ cat indirect3b.c #include void foo (void) { printf ("MAIN\n"); } asm (".symver foo,foo@FOO"); [hjl@gnu-tools-1 plt-2]$ cat indirect3c.c #include extern void foo (void); void foo (void) { printf ("DSO\n"); } void bar (void) { foo (); } [hjl@gnu-tools-1 plt-2]$ make gcc -B./ -fPIC -O2 -c -o indirect3a.o indirect3a.c gcc -B./ -fPIC -O2 -c -o indirect3b.o indirect3b.c gcc -B./ -fPIC -O2 -fPIC -c -o indirect3c.o indirect3c.c gcc -B./ -shared -o libindirect3c.so indirect3c.o gcc -B./ -o x indirect3a.o indirect3b.o libindirect3c.so -Wl,-R. ./ld: x: No symbol version section for versioned symbol `foo@FOO' ./ld: final link failed: Nonrepresentable section on output collect2: error: ld returned 1 exit status Makefile:22: recipe for target 'x' failed make: *** [x] Error 1 [hjl@gnu-tools-1 plt-2]$ -- 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