[gcn] Don't default to building target-libstdc++-v3 [PR92713] (was: [PATCH v3 06/10] GCN back-end config)

Message ID 87tv12bszn.fsf@euler.schwinge.homeip.net
State New
Headers show
Series
  • [gcn] Don't default to building target-libstdc++-v3 [PR92713] (was: [PATCH v3 06/10] GCN back-end config)
Related show

Commit Message

Thomas Schwinge April 29, 2020, 8:23 a.m.
Hi!

On 2018-12-12T11:52:53+0000, Andrew Stubbs <ams@codesourcery.com> wrote:
> This patch contains the configuration adjustments needed to enable the GCN

> back-end.


In addition to default-enabling libgomp, which Tobias already pushed to
master branch in commit 29b1533acd5c57e3e327261b0054d0ee2858a166
"configure - build libgomp by default for amdgcn",
<http://mid.mail-archive.com/f9dde0fc-8a90-0fbb-7fae-976dd5c6939c@codesourcery.com>,
I've now, as obvious, pushed to master branch in commit
afa3d80e86fb538ce7f5f1485fa774c11fdaf0f6 "[gcn] Don't default to building
target-libstdc++-v3 [PR92713]", see attached.  That way, a (standard) GCC
'--enable-languages=[...]' configuration including 'c++' now "works"
(... to the extent expected without libstdc++).


Grüße
 Thomas


-----------------
Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany
Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander Walter

Patch

From afa3d80e86fb538ce7f5f1485fa774c11fdaf0f6 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <thomas@codesourcery.com>
Date: Sat, 21 Mar 2020 11:46:02 +0100
Subject: [PATCH] [gcn] Don't default to building target-libstdc++-v3 [PR92713]

... which hasn't been ported/fails to build when using newlib (with GCC commit
b73f69020f08208d2d969fcf8879bd294a6e3596 sources, and newlib commit
6d79e0a58866548f435527798fbd4a6849d05bc7, tag: newlib-3.3.0 sources):

    In file included from [...]/build-gcc-offload-amdgcn-amdhsa/amdgcn-amdhsa/libstdc++-v3/include/csetjmp:42,
                     from [...]/source-gcc/libstdc++-v3/include/precompiled/stdc++.h:42:
    [...]/source-gcc/newlib/libc/include/setjmp.h:15:6: error: variable or field 'longjmp' declared void
       15 | void longjmp (jmp_buf __jmpb, int __retval)
          |      ^~~~~~~
    [...]
    Makefile:1824: recipe for target 'amdgcn-amdhsa/bits/stdc++.h.gch/O2ggnu++0x.gch' failed
    make[3]: *** [amdgcn-amdhsa/bits/stdc++.h.gch/O2ggnu++0x.gch] Error 1

	PR target/92713
	* configure.ac ["${ENABLE_LIBSTDCXX}" = "default" && amdgcn*-*-*]
	(noconfigdirs): Add 'target-libstdc++-v3'.
	* configure: Regenerate.
---
 ChangeLog    | 7 +++++++
 configure    | 4 ++++
 configure.ac | 4 ++++
 3 files changed, 15 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 3b667b18f9f1..a7fcf77b9b26 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@ 
+2020-04-29  Thomas Schwinge  <thomas@codesourcery.com>
+
+	PR target/92713
+	* configure.ac ["${ENABLE_LIBSTDCXX}" = "default" && amdgcn*-*-*]
+	(noconfigdirs): Add 'target-libstdc++-v3'.
+	* configure: Regenerate.
+
 2020-04-21  Stephen Casner  <casner@acm.org>
 
 	PR 25830
diff --git a/configure b/configure
index 815069c9856d..4cc938ebb7d8 100755
--- a/configure
+++ b/configure
@@ -3387,6 +3387,10 @@  if test "${ENABLE_LIBSTDCXX}" = "default" ; then
       # VxWorks uses the Dinkumware C++ library.
       noconfigdirs="$noconfigdirs target-libstdc++-v3"
       ;;
+    amdgcn*-*-*)
+      # Not ported/fails to build when using newlib.
+      noconfigdirs="$noconfigdirs target-libstdc++-v3"
+      ;;
     arm*-wince-pe*)
       # the C++ libraries don't build on top of CE's C libraries
       noconfigdirs="$noconfigdirs target-libstdc++-v3"
diff --git a/configure.ac b/configure.ac
index b95532cae90f..c78d9cbea62d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -668,6 +668,10 @@  if test "${ENABLE_LIBSTDCXX}" = "default" ; then
       # VxWorks uses the Dinkumware C++ library.
       noconfigdirs="$noconfigdirs target-libstdc++-v3"
       ;;
+    amdgcn*-*-*)
+      # Not ported/fails to build when using newlib.
+      noconfigdirs="$noconfigdirs target-libstdc++-v3"
+      ;;
     arm*-wince-pe*)
       # the C++ libraries don't build on top of CE's C libraries
       noconfigdirs="$noconfigdirs target-libstdc++-v3"
-- 
2.26.2