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: List-Subscribe: List-Archive: List-Post: List-Help: , 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 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 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit 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, std::allocator > 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