From patchwork Wed Nov 11 12:34:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan Yong <10walls@gmail.com> X-Patchwork-Id: 1398219 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=gcc-patches-bounces@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gcc.gnu.org Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.a=rsa-sha256 header.s=default header.b=rx773rmo; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4CWPLy4HmXz9sRR for ; Wed, 11 Nov 2020 23:34:48 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4A1F23987939; Wed, 11 Nov 2020 12:34:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4A1F23987939 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1605098086; bh=bfDqI4NaHYYP6inuA+nwtQXAeBuXypnvMIj36D4gDsc=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=rx773rmo0hdMmyd4FIqmRaZaV4gDtII67FnZ6waFujPqA9g26BZ4N9Lb86A2Im1Ab O17mBunJQLnNcw3dNPuqLvCr3Rko4Mze4XiYuBCZln/P9vnB4e3Jmh2qzBddlmifU9 NOTYqJESS1xTrQHLQy/41J5ajBLsprpBm4EjI0Io= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com [IPv6:2607:f8b0:4864:20::633]) by sourceware.org (Postfix) with ESMTPS id 05D033857C61; Wed, 11 Nov 2020 12:34:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 05D033857C61 Received: by mail-pl1-x633.google.com with SMTP id g11so879637pll.13; Wed, 11 Nov 2020 04:34:42 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:cc:from:subject:message-id:date:user-agent :mime-version; bh=bfDqI4NaHYYP6inuA+nwtQXAeBuXypnvMIj36D4gDsc=; b=I1E/kDjHPHlFjMaaBgoK7pzDVmoqg4U5EZshSXZd25hWTKSUHULmUQ2ubc5GqnRKUn YauQuUCeahxA0gu/qfhiB6zN7L1SSf+2qLp4FPmNtaS5KLqoDXeV/y8a4mdKX2eew10T 2UppdE6JxG7VgPJyORVrehvfWpIT6rHa3Py6XzDUOkzlpet4pIRg+WwrDqVY+aG4+P7L eRNz+oYghv+mSOaZD3VdhOjFv0qK2u/6OCE/kmHCwaiBl+4gDu7CdUK36k4aRqi/LWSV BAXqy3b4mw+yUluZQaBuJaa/JVjeYRT92klapK2oOY9BkXsQYXMM4o0CO82FPfdCMwrg dASA== X-Gm-Message-State: AOAM5323ctYSlTU2NnVUJI86H0CyNmqMYDBcOXRL7l5AN0erz5GI8kmO W2fJbzmDfqBpUXj8i6Tiu1u5W2CWjnQ= X-Google-Smtp-Source: ABdhPJysgaTWvfmQ761G4mLYIf/HKWFvUeaVlU9ugjxrI7Bk66/1oN6SiWqD/vstf5ukVZ18Cn0uRQ== X-Received: by 2002:a17:902:7e88:b029:d6:74c4:7a82 with SMTP id z8-20020a1709027e88b02900d674c47a82mr19977580pla.64.1605098081550; Wed, 11 Nov 2020 04:34:41 -0800 (PST) Received: from ?IPv6:2001:f40:91b::cba6? ([2001:f40:91b::cba6]) by smtp.gmail.com with ESMTPSA id q22sm2521091pgi.33.2020.11.11.04.34.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 11 Nov 2020 04:34:40 -0800 (PST) To: libstdc++ Subject: [PATCH] libstdc++: exclude cygwin/mingw from relro linker test Message-ID: <438b6e5d-b04a-a549-2ab3-a793cb96011a@gmail.com> Date: Wed, 11 Nov 2020 12:34:35 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.3.1 MIME-Version: 1.0 X-Spam-Status: No, score=-3038.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Jonathan Yong via Gcc-patches From: Jonathan Yong <10walls@gmail.com> Reply-To: Jonathan Yong <10walls@gmail.com> Cc: Gcc Patch List Errors-To: gcc-patches-bounces@gcc.gnu.org Sender: "Gcc-patches" cygwin/mingw hosted linker may support multiple targets with ELF relro support. This breaks configure testing. Attached patch excludes cygwin/mingw PE format from relro linker flag. Patch OK? From a72f02aec065c312528e41e4243c702d7371b5ce Mon Sep 17 00:00:00 2001 From: Jonathan Yong <10walls@gmail.com> Date: Wed, 11 Nov 2020 12:23:06 +0000 Subject: [PATCH] libstdc++: exclude cygwin and mingw from linker relro support PE format does not have ELF style relro linker support, exclude from checking. If the host linker supports ELF format, configure may get confused. 11-11-20202 Jonathan Yong <10walls@gmail.com> libstdc++: * acinclude (GLIBCXX_CHECK_LINKER_FEATURES): exclude cygwin and mingw from relro linker test. --- libstdc++-v3/acinclude.m4 | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index b9452dd74cd..650d63ab3d7 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -273,13 +273,22 @@ AC_DEFUN([GLIBCXX_CHECK_LINKER_FEATURES], [ # Note this is only for shared objects. ac_ld_relro=no if test x"$with_gnu_ld" = x"yes"; then - AC_MSG_CHECKING([for ld that supports -Wl,-z,relro]) - cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"` - if test -n "$cxx_z_relo"; then - OPT_LDFLAGS="-Wl,-z,relro" - ac_ld_relro=yes - fi - AC_MSG_RESULT($ac_ld_relro) + # cygwin and mingw uses PE, which has no ELF relro support, + # multi target ld may confuse configure machinery + case "$host" in + *-*-cygwin*) + ;; + *-*-mingw*) + ;; + *) + AC_MSG_CHECKING([for ld that supports -Wl,-z,relro]) + cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"` + if test -n "$cxx_z_relo"; then + OPT_LDFLAGS="-Wl,-z,relro" + ac_ld_relro=yes + fi + AC_MSG_RESULT($ac_ld_relro) + esac fi # Set linker optimization flags. -- 2.29.2