https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69562
Bug ID: 69562 Summary: cow-stdexcept.cc compile errors due to __GXX_WEAK__ Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: gccbugzilla at limegreensocks dot com Target Milestone: --- Building gcc trunk (232969) on cygwin64 using this config line: /cygdrive/c/cygwin64/src/gcc-trunk/configure --enable-languages=c,c++ --disable-multilib --disable-nls --disable-win32-registry --enable-checking=release --disable-bootstrap --enable-version-specific-runtime-libs --disable-fixed-point --prefix=/home/david/los3b gives the errors below. This problem began with checkin 232453, and (as a workaround) can be resolved by adding this line to the top of cow-stdexcept.cc: #undef __GXX_WEAK__ Possibly related: The system build of gcc (5.2.0) does not define __GXX_WEAK__. However in the build directory, gcc/xgcc.exe, prev-gcc/xgcc.exe and stage1-gcc/xgcc.exe all define it as 1. FWIW, using -enable-bootstrap does not resolve the problem. ============ libc++11convenience.a(cow-stdexcept.o): In function `_txnal_cow_string_C1_for_exceptions(void*, char const*, void*)': 4/src/gcc-trunk/libstdc++-v3/src/c++11/cow-stdexcept.cc:236:(.text$_Z35_txnal_cow_string_C1_for_exceptionsPvPKcS_+0x2c): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `_ITM_RU1' 4/src/gcc-trunk/libstdc++-v3/src/c++11/cow-stdexcept.cc:248:(.text$_Z35_txnal_cow_string_C1_for_exceptionsPvPKcS_+0x39): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `transaction clone for operator)' 4/src/gcc-trunk/libstdc++-v3/src/c++11/cow-stdexcept.cc:267:(.text$_Z35_txnal_cow_string_C1_for_exceptionsPvPKcS_+0x5d): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `_ITM_memcpyRtWn' libc++11convenience.a(cow-stdexcept.o): In function `txnal_read_ptr': 4/src/gcc-trunk/libstdc++-v3/src/c++11/cow-stdexcept.cc:278:(.text$_Z23_txnal_cow_string_c_strPKv+0x1): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `_ITM_RU8' 4/src/gcc-trunk/libstdc++-v3/src/c++11/cow-stdexcept.cc:278:(.text$_Z23_txnal_sso_string_c_strPKv+0x1): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `_ITM_RU8' 4/src/gcc-trunk/libstdc++-v3/src/c++11/cow-stdexcept.cc:278:(.text$_Z20_txnal_cow_string_D1Pv+0x5): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `_ITM_RU8' libc++11convenience.a(cow-stdexcept.o): In function `_txnal_cow_string_D1(void*)': 4/src/gcc-trunk/libstdc++-v3/src/c++11/cow-stdexcept.cc:324:(.text$_Z20_txnal_cow_string_D1Pv+0x1e): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `_ITM_addUserCommitAction' libc++11convenience.a(cow-stdexcept.o): In function `transaction clone for std::logic_error::logic_error(char const*)': 4/src/gcc-trunk/libstdc++-v3/src/c++11/cow-stdexcept.cc:408:(.text$_ZGTtNSt11logic_errorC1EPKc+0x2e): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `_ITM_memcpyRnWt' libc++11convenience.a(cow-stdexcept.o): In function `transaction clone for std::logic_error::logic_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': 4/src/gcc-trunk/libstdc++-v3/src/c++11/cow-stdexcept.cc:408:(.text$_ZGTtNSt11logic_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x2e): relocation truncated to fit: R_X86_64_PC32 against undefined symbol libc++11convenience.a(cow-stdexcept.o): In function `txnal_read_ptr': 4/src/gcc-trunk/libstdc++-v3/src/c++11/cow-stdexcept.cc:278:(.text$_ZGTtNSt11logic_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x36): relocation truncated to fit: R_X86_64_PC32 against undefined symbol libc++11convenience.a(cow-stdexcept.o): In function `transaction clone for std::logic_error::~logic_error()': 4/src/gcc-trunk/libstdc++-v3/src/c++11/cow-stdexcept.cc:408:(.text$_ZGTtNSt11logic_errorD0Ev+0x1a): additional relocation overflows omitted from the output ============