summaryrefslogtreecommitdiff
path: root/packages/gcc
diff options
context:
space:
mode:
authorAlexey Brodkin <abrodkin@synopsys.com>2021-09-15 08:17:15 (GMT)
committerAlexey Brodkin <abrodkin@synopsys.com>2021-09-15 09:02:16 (GMT)
commit9ddd4b7883a9f7b341bedfa5d4e7a96446140f1b (patch)
tree5f30c812b66749de700e7466c0c77c56706380f2 /packages/gcc
parent24a1f120d75785854c1f0ccd5962c4a7e26a4255 (diff)
gcc: Fix cross-canadian builds wih GCC11
With this we may finally build Windows and "native" toolchains if host tools are also GCC11 based. For example: 1. You build cross toolchain with all the recent components by CT-NG 2. You build cross-canadian toolchain for Windows or ARC, ARMm whatever board See upstream bug report [1] for more details. Basically when we do cross-canadian build with use of the same GCC11 as a "host" compiler we're seeing an error like that: ------------------->8------------------- mingw-w64-cross/gcc/x86_64-w64-mingw32/libstdc++-v3/include/fenv.h:58:11: error: 'fenv_t' has not been declared in '::' 58 | using ::fenv_t; ------------------->8------------------- This is a solution proposed by Yujie Yang in [2] Note, though it's not the final fix merged upstream, that's just an attempt to fix this by casual GCC users. There's a hope it will be fixed anyways a bit later, maybe by the time of GCC 11.3... [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100017 [2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100017#c20 Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Diffstat (limited to 'packages/gcc')
-rw-r--r--packages/gcc/11.2.0/0005-Fix-cross-native-cross-caandian-builds.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/packages/gcc/11.2.0/0005-Fix-cross-native-cross-caandian-builds.patch b/packages/gcc/11.2.0/0005-Fix-cross-native-cross-caandian-builds.patch
new file mode 100644
index 0000000..633f8ea
--- /dev/null
+++ b/packages/gcc/11.2.0/0005-Fix-cross-native-cross-caandian-builds.patch
@@ -0,0 +1,47 @@
+From 7f13ba28a4aac454ada29552acdf9a44697ad5a8 Mon Sep 17 00:00:00 2001
+From: Alexey Brodkin <abrodkin@synopsys.com>
+Date: Wed, 15 Sep 2021 01:08:06 -0700
+Subject: [PATCH] Fix cross-native/cross-caandian builds
+
+See upstream bug report [1] for more details.
+Basically when we do cross-canadian build with
+use of the same GCC11 as a "host" compiler we're seeing
+an error like that:
+------------------->8-------------------
+mingw-w64-cross/gcc/x86_64-w64-mingw32/libstdc++-v3/include/fenv.h:58:11: error: 'fenv_t' has not been declared in '::'
+ 58 | using ::fenv_t;
+------------------->8-------------------
+
+This is a solution proposed by Yujie Yang in [2]
+
+[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100017
+[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100017#c20
+
+Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+---
+ configure | 2 +-
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/configure
++++ b/configure
+@@ -16478,7 +16478,7 @@
+ fi
+
+
+-RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET"
++RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET -nostdinc++"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target ar" >&5
+ $as_echo_n "checking where to find the target ar... " >&6; }
+--- a/configure.ac
++++ b/configure.ac
+@@ -3520,7 +3520,7 @@
+ ACX_CHECK_INSTALLED_TARGET_TOOL(WINDRES_FOR_TARGET, windres)
+ ACX_CHECK_INSTALLED_TARGET_TOOL(WINDMC_FOR_TARGET, windmc)
+
+-RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET"
++RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET -nostdinc++"
+
+ GCC_TARGET_TOOL(ar, AR_FOR_TARGET, AR, [binutils/ar])
+ GCC_TARGET_TOOL(as, AS_FOR_TARGET, AS, [gas/as-new])