delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2016/01/22/00:04:17

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:from:subject:to:message-id:date:mime-version
:content-type:content-transfer-encoding; q=dns; s=default; b=cHq
p5EDaPFyvG+VwjJtkP7qli6KMplTJIC6OQzwqQmKB4Wi+VvZVj09ucT/XnhDwGTC
qYrgDimgx2eBoMen1g6PhtKWRegsIA8ztF1i4y34bzfYzPhOKXC9NWXJyLgWkkj0
KuJAOmPeJ2PJM3MR1Us1q5AzQT9fYk7LFWMjpRSI=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:from:subject:to:message-id:date:mime-version
:content-type:content-transfer-encoding; s=default; bh=dHhkbNsqR
1801XuhOIRSsFkpCX0=; b=YsLgJucUWyVyfCwg7eHzFrngEIYCMH20OdIkvX4h2
AqeXeQy5jVLUj1hWeV7MTUur/WlwMEkiwMyo92rBswffYIX6NUCg2jVP4yszbU5a
JFxiw5vo7CBxWGmsAUXlRbWDkombP9ico5v3btmaO5H/XQ4F14yu/K5Go5YeBeL2
Sw=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-1.2 required=5.0 tests=BAYES_05,RCVD_IN_DNSWL_LOW,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy=324, 201004, logic_error, sk:MAKE_DE
X-HELO: bosmailout04.eigbox.net
X-Authority-Analysis: v=2.1 cv=BfVW09d2 c=1 sm=1 tr=0 a=9MP9vxlQrmnoeofDS6o88g==:117 a=sZx1nW7oDdbgogxTPqu5Xw==:17 a=pq4jwCggAAAA:8 a=QPcu4mC3AAAA:8 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=C8F9KGFtAAAA:8 a=88b2x-oFWvEA:10 a=IkcTkHD0fZMA:10 a=7aQ_Q-yQQ-AA:10 a=w_pzkKWiAAAA:8 a=vE72-jOGgXw0M9XJr2UA:9 a=QEXdDO2ut3YA:10 a=Gmw0AWjr338A:10
From: David Wohlferd <dw AT LimeGreenSocks DOT com>
Subject: Compiling gcc trunk under cygwin
To: cygwin AT cygwin DOT com
Message-ID: <56A1B7E3.3030202@LimeGreenSocks.com>
Date: Thu, 21 Jan 2016 21:02:27 -0800
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1
MIME-Version: 1.0
X-EN-UserInfo: 97390230d6758ac7ebdf93f8c6197d31:931c98230c6409dcc37fa7e93b490c27
X-EN-AuthUser: dw AT limegreensocks DOT com
X-EN-OrigIP: 207.118.20.56
X-EN-OrigHost: unknown

Until recently, I've been able to build gcc under cygwin just fine. But 
(relatively) recent checkins (232454 &  232071) are causing problems.  
I've been trying to track down what to do about them, but crawling thru 
the depths of makefiles, sed scripts, etc is proving difficult for this 
long-time Windows programmer.  But I do have some clues.

The problems all seem to revolve around __GXX_WEAK__.

I notice that cygwin's current (and experimental 5.2.0) builds of gcc 
don't define __GXX_WEAK__.  After reading this 
(https://cygwin.com/ml/cygwin/2010-04/msg00281.html), that makes sense.  
And that's fine by me, I don't need it anyway.

But during the building of gcc, the xgcc that gets built *does* define 
it.  And with these new changes, that leads to errors like this:

../src/c++11/.libs/libc++11convenience.a(cow-stdexcept.o): In function 
`_txnal_cow_string_C1_for_exceptions(void*, char const*, void*)':
/cygdrive/c/cygwin64/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'
/cygdrive/c/cygwin64/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
new[](unsigned long)'
/cygdrive/c/cygwin64/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'
../src/c++11/.libs/libc++11convenience.a(cow-stdexcept.o): In function 
`txnal_read_ptr':
/cygdrive/c/cygwin64/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'
/cygdrive/c/cygwin64/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'
/cygdrive/c/cygwin64/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'
../src/c++11/.libs/libc++11convenience.a(cow-stdexcept.o): In function 
`_txnal_cow_string_D1(void*)':
/cygdrive/c/cygwin64/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'
../src/c++11/.libs/libc++11convenience.a(cow-stdexcept.o): In function 
`transaction clone for std::logic_error::logic_error(char const*)':
/cygdrive/c/cygwin64/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'
../src/c++11/.libs/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&)':
/cygdrive/c/cygwin64/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
`_ITM_memcpyRnWt'
../src/c++11/.libs/libc++11convenience.a(cow-stdexcept.o): In function 
`txnal_read_ptr':
/cygdrive/c/cygwin64/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
`_ITM_RU8'
../src/c++11/.libs/libc++11convenience.a(cow-stdexcept.o): In function 
`transaction clone for std::logic_error::~logic_error()':
/cygdrive/c/cygwin64/src/gcc-trunk/libstdc++-v3/src/c++11/cow-stdexcept.cc:408:(.text$_ZGTtNSt11logic_errorD0Ev+0x1a): 
additional relocation overflows omitted from the output

I can fix the errors and get my build working again by:
a) adding "#define __GXX_WEAK__ 0" to the top of cow-stdexcept.cc
b) commenting out the undef and define of MAKE_DECL_ONE_ONLY in cygming.h

But there's got to be a better way.

Is there some configure option I'm supposed to be using when building 
gcc for cygwin?  How else could your 5.2.0 not be defining 
__GXX_WEAK__?  Looking at the configure options in gcc -v isn't showing 
me anything that looks like a solution.

dw

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019