------- Comment #9 from bkoz at gcc dot gnu dot org 2006-01-20 00:23 -------
H.J, are you seeing this kind of additional symptom with binutils-2.16.1: FAIL: 21_strings/basic_string/cons/char/6.cc (test for excess errors) Excess errors: /mnt/hd/bld/H-x86-binutils-2.16.1/bin/ld: testsuite_abi.o(.text._ZNSs12_S_constructIPcEES0_T_S1_RKSaIcESt20forward_iterator_tag[char* std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_construct<char*>(char*, char*, std::allocator<char> const&, std::forward_iterator_tag)]+0x8b): unresolvable relocation against symbol `std::__throw_logic_error(char const*)@@GLIBCXX_3.4' /mnt/hd/bld/H-x86-binutils-2.16.1/bin/ld: final link failed: Nonrepresentable section on output collect2: ld returned 1 exit status I don't understand how to test for this "unresolvable relocation against symbol" stuff... I see this bug report about this error in another context: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22185 I've tried to narrow this down. Indeed, if the compile line for the above error removes -Wl,--gc-sections, the link is fine. So, it appears as if it does do something different. To make a small case, (ie, so we can then make an autoconf test...). I tried to make a two part test, where you take one file, use all the relevant flags, and make a shared object, which you then compile with some more flags to create an executable. However, I cannot reproduce it. Any insights? This seems like more your area. My other thought is to just black-list --gc-sections for binutils pre 2.16.2. It's not a great solution, but I think it will work. If there is no better idea by tomorrow this is what I'll check in. -benjamin -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25797