[Bug ld/13244] GNU LD incorrectly complain about undefined hidden symbols with LTO
http://sourceware.org/bugzilla/show_bug.cgi?id=13244 --- Comment #2 from hubicka at ucw dot cz 2011-10-06 18:45:42 UTC --- jh@evans:/abuild/jh/trunk-3/build-inst7/gcc> cat t.c extern __attribute__ ((visibility("hidden"))) int fooblah; static do_nothing (int param) { if (param) fooblah = 1; } main() { do_nothing (0); } jh@evans:/abuild/jh/trunk-3/build-inst7/gcc> ./xgcc -B ./ -O2 t.c -fno-early-inlining -flto -fuse-linker-plugin jh@evans:/abuild/jh/trunk-3/build-inst7/gcc> ./xgcc -B ./ -O2 t.c -fno-early-inlining -flto -fuse-linker-plugin --shared /abuild/jh/trunk-install/x86_64-unknown-linux-gnu/bin/ld: a.out: hidden symbol `fooblah' isn't defined /abuild/jh/trunk-install/x86_64-unknown-linux-gnu/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status With gold I get: jh@evans:/abuild/jh/trunk-3/build-inst7/gcc> ./xgcc -B ./ -O2 t.c -fno-early-inlining -flto -fuse-linker-plugin --shared jh@evans:/abuild/jh/trunk-3/build-inst7/gcc> because fooblah gets optimized out. Honza -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email --- 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/13229] V2 of getsymbol linker plugin interface is not supported by GNU LD
http://sourceware.org/bugzilla/show_bug.cgi?id=13229 --- Comment #14 from Jan Hubicka 2011-10-06 19:09:55 UTC --- Hmm, reproducing the situation is harder with the COMDAT hack in your compiler. Here is testcase that reproduces w/o GCC patch. With BFD and patch for V2 API: jh@evans:/abuild/jh/trunk-3/build-inst7/gcc> cat t.C int call_something (int); inline void optimize_me_out (void) { call_something(0); } __attribute__ ((visibility("hidden"))) int optimize_me_out2 (int param) { if ((void *)optimize_me_out != (void *)call_something) return call_something(0); } void test2 (void) { optimize_me_out(); } jh@evans:/abuild/jh/trunk-3/build-inst7/gcc> /abuild/jh/trunk-install/bin/g++ -O2 t.C --shared -fPIC -o t.so -flto -fuse-linker-plugin -fno-early-inlining jh@evans:/abuild/jh/trunk-3/build-inst7/gcc> nm -D t.so |grep optimize W _Z15optimize_me_outv With gold and V2 API: jh@evans:/abuild/jh/trunk-3/build-inst7/gcc> /abuild/jh/trunk-install/bin/g++ -O2 t.C --shared -fPIC -o t.so -flto -fuse-linker-plugin -fno-early-inlining jh@evans:/abuild/jh/trunk-3/build-inst7/gcc> nm -D t.so |grep optimize jh@evans:/abuild/jh/trunk-3/build-inst7/gcc> -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email --- 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 gold/13249] gold creates incorrect RELATIVE dynamic relocation for local IFUNC GOT entries
http://sourceware.org/bugzilla/show_bug.cgi?id=13249 Cary Coutant changed: What|Removed |Added Status|NEW |ASSIGNED AssignedTo|ian at airs dot com |ccoutant at google dot com --- Comment #1 from Cary Coutant 2011-10-06 21:39:38 UTC --- Patch posted for review: http://sourceware.org/ml/binutils/2011-10/msg00031.html PR gold/13249 * gold/output.cc (Output_reloc::Output_reloc): Add use_plt_offset flag. (Output_reloc::symbol_value): Return PLT offset if flag is set. * gold/output.h (class Output_reloc): Add use_plt_offset flag. (Output_reloc::type_): Adjust size of bit field. (Output_reloc::use_plt_offset_): New bit field. (class Output_data_reloc): Adjust all calls to Output_reloc_type. (Output_data_reloc::add_local_relative): (RELA only) Add use_plt_offset flag. Adjust all callers. * gold/x86_64.cc (Target_x86_64::Scan::local): Check for IFUNC when creating RELATIVE relocations. -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email --- 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 gold/13163] internal error in set_segment_offsets, at ../../../binutils/gold/layout.cc:3050
http://sourceware.org/bugzilla/show_bug.cgi?id=13163 --- Comment #2 from Roland McGrath 2011-10-06 23:16:50 UTC --- ping? -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email --- 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/13244] GNU LD incorrectly complain about undefined hidden symbols with LTO
http://sourceware.org/bugzilla/show_bug.cgi?id=13244 --- Comment #3 from H.J. Lu 2011-10-06 23:29:18 UTC --- This works for me: --- diff --git a/bfd/elflink.c b/bfd/elflink.c index 7120aad..0d216c2 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -8691,7 +8691,7 @@ elf_link_output_extsym (struct bfd_hash_entry *bh, void *data) || h->root.type == bfd_link_hash_undefweak) && h->root.u.undef.abfd != NULL && (h->root.u.undef.abfd->flags & BFD_PLUGIN) != 0) -strip = TRUE; +return TRUE; else strip = FALSE; --- -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email --- 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/13229] V2 of getsymbol linker plugin interface is not supported by GNU LD
http://sourceware.org/bugzilla/show_bug.cgi?id=13229 --- Comment #15 from H.J. Lu 2011-10-07 00:02:05 UTC --- elf_link_output_extsym shouldn't output any plugin symbols. -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email --- 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