From patchwork Wed Dec 20 14:14:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Schwinge X-Patchwork-Id: 1878551 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.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 ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4SwFtx5Qzkz20LT for ; Thu, 21 Dec 2023 01:14:48 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 229D0386181D for ; Wed, 20 Dec 2023 14:14:46 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from esa4.mentor.iphmx.com (esa4.mentor.iphmx.com [68.232.137.252]) by sourceware.org (Postfix) with ESMTPS id EDFAD3858D20 for ; Wed, 20 Dec 2023 14:14:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EDFAD3858D20 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org EDFAD3858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=68.232.137.252 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703081675; cv=none; b=TFN1OFAJeToxb7+37MZjiqbqA7NJrLrtmwVO8kgOVi3Y2Wmo4jeN04Rb8VAFqnHy4ExI+S/ttK+/D2Urn2NvbDy8VY7osXi1H9pm6L1Vohc+jFdkwVaV/fEoeFT74K6MvcV4vr/qtvZBzokv8VOkDELvgWD66v425hn0wUi9nR4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703081675; c=relaxed/simple; bh=GQ7Kv6fzVxwLZbyCt6h+diBIDKQ2j7L6W/vkI/Ak8F4=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=HGWSpaqhLkWAdr6C4ky1KDhesP1V6Oqv1c86YkuOcf6BMMoFPriQG3fb0Zb8K9a09bvDyx/VUNuFqZnUGAnNoTuzUzWDydvc9SF8G9zJ3tjN1CPdTmgjC3IMHhkK117W2xNb26IFg5ef3sD6+qVDfivp24yXgIZHNSXkwSsB45g= ARC-Authentication-Results: i=1; server2.sourceware.org X-CSE-ConnectionGUID: TZx99QJVS8ytBUj8I6e6LQ== X-CSE-MsgGUID: 4ncgdsvjR+yRb9a/rSXR1Q== X-IronPort-AV: E=Sophos;i="6.04,291,1695715200"; d="scan'208,223";a="25810051" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa4.mentor.iphmx.com with ESMTP; 20 Dec 2023 06:14:31 -0800 IronPort-SDR: cPXQ9uaKCpLaSopBx/cB41v3Tgh0MPHGX7bwA2o1xgR1EM3QYTS42NYUe4H5HcEuTyTKWZC/3T Oc3ZE73cVb4fF1SkEfMMI8CEccfegH65xU/g01/RJXW9EumRdCyzsCBkyvV5tWScAH58xjdYia H3lVwiLfvdWf3IfiOl5ndSKfTksUuqVoZuhIPOuNYDoUhqWGA/B7Z1z6XUe+BuK1Akun3E+5km nausYryo2SKH/s6b/XiqpCJ/ZPAgEGjM7DAMuhbuJAgcc5T4EG3y0529tRVU1KFvvDcruhwFqb GQw= From: Thomas Schwinge To: , Andrew Stubbs , "Julian Brown" Subject: No libstdc++ for GCN (was: No libstdc++ for nvptx) In-Reply-To: <878uf3cipw.fsf@schwinge.name> References: <53C80524.3010508@codesourcery.com> <87ppfwiw78.fsf@schwinge.name> <878uf3cipw.fsf@schwinge.name> User-Agent: Notmuch/0.29.3+94~g74c3f1b (https://notmuchmail.org) Emacs/28.2 (x86_64-pc-linux-gnu) Date: Wed, 20 Dec 2023 15:14:25 +0100 Message-ID: <87edfhrmf2.fsf@euler.schwinge.homeip.net> MIME-Version: 1.0 X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-11.mgc.mentorg.com (139.181.222.11) To svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org Hi! On 2015-03-11T22:44:27+0100, I wrote: > I committed the following in r221362: > No libstdc++ for nvptx. > > The C++ front end insists to link against libstdc++ -- which we don't build: > > $ < build-gcc/gcc/testsuite/g++/g++.log grep -o 'error opening [^[:cntrl:]]*' | sort | uniq -c > 2 error opening libasan.a > 2 error opening libssp.a > 12075 error opening libstdc++.a > > Based on GCC trunk r220892: > > === g++ Summary === > > # of expected passes [-63221-]{+68841+} > # of unexpected failures [-11751-]{+8764+} > # of unexpected successes 6 > # of expected failures [-246-]{+249+} > # of unresolved testcases [-5950-]{+3353+} > # of unsupported tests [-4160-]{+4143+} > --- gcc/config/nvptx/nvptx.h > +++ gcc/config/nvptx/nvptx.h > +/* The C++ front end insists to link against libstdc++ -- which we don't build. > + Tell it to instead link against the innocuous libgcc. */ > +#define LIBSTDCXX "gcc" Pushed to master branch commit 4d9d015cf4054f5f9df14a2c11ce81379b6caf0f "No libstdc++ for GCN", see attached. (Both these commit are going to get reverted once I've got libstdc++-v3 enabled for GCN, nvptx, but until then, this further harmonizes my GCN vs. nvptx test results.) Grüße Thomas ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955 From 4d9d015cf4054f5f9df14a2c11ce81379b6caf0f Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 13 Apr 2023 08:54:47 +0200 Subject: [PATCH] No libstdc++ for GCN Like commit d94fae044da071381b73a2ee8afa874b14fa3820 "No libstdc++ for nvptx" (2015) and elsewhere. Based on commit 5f1bed2a7af828103ca23a3546466a23e8dd2f30 (2023-12-16), there are a ton of progressions (for test cases not actually depending on libstdc++ symbols, obviously): === g++ Summary === # of expected passes [-178369-]{+189226+} # of unexpected failures [-19880-]{+14089+} # of unexpected successes 14 # of expected failures [-1684-]{+1685+} # of unresolved testcases [-9820-]{+4837+} # of unsupported tests [-11971-]{+11968+} ..., and only two benign "regressions": [-UNSUPPORTED:-]{+FAIL:+} g++.dg/init/array54.C -std=c++14 {+(test for excess errors)+} {+UNRESOLVED: g++.dg/init/array54.C -std=c++14 compilation failed to produce executable+} [Etc.] [...]/g++.dg/init/array54.C:5:10: fatal error: atomic: No such file or directory That's similar to a lof of other test cases intending to '#include' standard C++/libstdc++ headers; to be addressed in due time. PASS: g++.old-deja/g++.pt/const2.C -std=c++98 at line 5 (test for warnings, line ) [-PASS:-]{+FAIL:+} g++.old-deja/g++.pt/const2.C -std=c++98 (test for excess errors) [Etc.] ld: error: undefined symbol: A::i >>> referenced by /tmp/ccqXWCSh.o:(p) The 'error: undefined symbol' is expected here; maybe should simply in the test case 'dg-prune-output "referenced by"'? (This PASSed before, as the 'dg-message "i"' was satisfied by 'ld: error: unable to find library -lstdc++', eh...) gcc/ * config/gcn/gcn.h (LIBSTDCXX): Define to "gcc". --- gcc/config/gcn/gcn.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gcc/config/gcn/gcn.h b/gcc/config/gcn/gcn.h index cb52be7a3a1..b8f2854d497 100644 --- a/gcc/config/gcn/gcn.h +++ b/gcc/config/gcn/gcn.h @@ -836,3 +836,7 @@ enum gcn_builtin_codes || M == V2SFmode || M == V2DImode || M == V2DFmode) \ ? 2 \ : 1) + +/* The C++ front end insists to link against libstdc++ -- which we don't build. + Tell it to instead link against the innocuous libgcc. */ +#define LIBSTDCXX "gcc" -- 2.34.1