ld --as-needed sometimes fails with internal error. I've succeeded to construct a small testcase described below.
$ cat sample.cc extern void foo(void); void my() { foo(); } $ g++ -Wl,--no-as-needed -shared -Wall -fPIC sample.cc -lsupc++; echo rc=$? rc=0 $ g++ -Wl,--as-needed -shared -Wall -fPIC sample.cc -lsupc++; echo rc=$? /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2317 /usr/bin/ld: BFD 2.16.91.0.6 20060212 assertion fail elflink.c:2318 /usr/bin/ld: BFD 2.16.91.0.6 20060212 internal error, aborting at elflink.c line 6453 in elf_link_output_extsym /usr/bin/ld: Please report this bug. collect2: ld returned 1 exit status rc=1 -- Summary: ld --as-needed causes BFD internal error Product: binutils Version: 2.16 Status: NEW Severity: normal Priority: P2 Component: ld AssignedTo: unassigned at sources dot redhat dot com ReportedBy: ldv at altlinux dot org CC: bug-binutils at gnu dot org GCC build triplet: i586-alt-linux-gnu GCC host triplet: i586-alt-linux-gnu GCC target triplet: i586-alt-linux-gnu http://sourceware.org/bugzilla/show_bug.cgi?id=2434 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils