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
============

Reply via email to