toolchain/gcc: fix a build failure on 7.3.0 with macOS
authorFelix Fietkau <nbd@nbd.name>
Mon, 12 Mar 2018 10:50:08 +0000 (11:50 +0100)
committerFelix Fietkau <nbd@nbd.name>
Mon, 12 Mar 2018 11:19:03 +0000 (12:19 +0100)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
toolchain/gcc/patches/7.3.0/020-PR-libstdc-81797-Add-.NOTPARALLEL-to-include-Makefil.patch [new file with mode: 0644]

diff --git a/toolchain/gcc/patches/7.3.0/020-PR-libstdc-81797-Add-.NOTPARALLEL-to-include-Makefil.patch b/toolchain/gcc/patches/7.3.0/020-PR-libstdc-81797-Add-.NOTPARALLEL-to-include-Makefil.patch
new file mode 100644 (file)
index 0000000..c3981b1
--- /dev/null
@@ -0,0 +1,178 @@
+From: redi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Mon, 19 Feb 2018 16:02:38 +0000
+Subject: [PATCH] PR libstdc++/81797 Add .NOTPARALLEL to include/Makefile for
+ darwin
+
+Backport from mainline
+2018-02-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/81797
+       * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
+       * configure: Regenerate.
+       * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
+       defined.
+       * include/Makefile.in: Regenerate.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@257808 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+
+--- a/libstdc++-v3/configure
++++ b/libstdc++-v3/configure
+@@ -620,6 +620,8 @@ CPU_DEFINES_SRCDIR
+ ATOMIC_FLAGS
+ ATOMIC_WORD_SRCDIR
+ ATOMICITY_SRCDIR
++INCLUDE_DIR_NOTPARALLEL_FALSE
++INCLUDE_DIR_NOTPARALLEL_TRUE
+ BUILD_PDF_FALSE
+ BUILD_PDF_TRUE
+ PDFLATEX
+@@ -11601,7 +11603,7 @@ else
+   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+   lt_status=$lt_dlunknown
+   cat > conftest.$ac_ext <<_LT_EOF
+-#line 11604 "configure"
++#line 11606 "configure"
+ #include "confdefs.h"
+ #if HAVE_DLFCN_H
+@@ -11707,7 +11709,7 @@ else
+   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+   lt_status=$lt_dlunknown
+   cat > conftest.$ac_ext <<_LT_EOF
+-#line 11710 "configure"
++#line 11712 "configure"
+ #include "confdefs.h"
+ #if HAVE_DLFCN_H
+@@ -15393,7 +15395,7 @@ $as_echo "$glibcxx_cv_atomic_long_long"
+   # Fake what AC_TRY_COMPILE does.
+     cat > conftest.$ac_ext << EOF
+-#line 15396 "configure"
++#line 15398 "configure"
+ int main()
+ {
+   typedef bool atomic_type;
+@@ -15428,7 +15430,7 @@ $as_echo "$glibcxx_cv_atomic_bool" >&6;
+     rm -f conftest*
+     cat > conftest.$ac_ext << EOF
+-#line 15431 "configure"
++#line 15433 "configure"
+ int main()
+ {
+   typedef short atomic_type;
+@@ -15463,7 +15465,7 @@ $as_echo "$glibcxx_cv_atomic_short" >&6;
+     rm -f conftest*
+     cat > conftest.$ac_ext << EOF
+-#line 15466 "configure"
++#line 15468 "configure"
+ int main()
+ {
+   // NB: _Atomic_word not necessarily int.
+@@ -15499,7 +15501,7 @@ $as_echo "$glibcxx_cv_atomic_int" >&6; }
+     rm -f conftest*
+     cat > conftest.$ac_ext << EOF
+-#line 15502 "configure"
++#line 15504 "configure"
+ int main()
+ {
+   typedef long long atomic_type;
+@@ -15580,7 +15582,7 @@ $as_echo "$as_me: WARNING: Performance o
+   # unnecessary for this test.
+     cat > conftest.$ac_ext << EOF
+-#line 15583 "configure"
++#line 15585 "configure"
+ int main()
+ {
+   _Decimal32 d1;
+@@ -15622,7 +15624,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+   # unnecessary for this test.
+     cat > conftest.$ac_ext << EOF
+-#line 15625 "configure"
++#line 15627 "configure"
+ template<typename T1, typename T2>
+   struct same
+   { typedef T2 type; };
+@@ -15656,7 +15658,7 @@ $as_echo "$enable_int128" >&6; }
+     rm -f conftest*
+     cat > conftest.$ac_ext << EOF
+-#line 15659 "configure"
++#line 15661 "configure"
+ template<typename T1, typename T2>
+   struct same
+   { typedef T2 type; };
+@@ -81219,6 +81221,18 @@ else
+ fi
++case "$build" in
++ *-*-darwin* ) glibcxx_include_dir_notparallel=yes ;;
++ * ) glibcxx_include_dir_notparallel=no ;;
++esac
++ if test $glibcxx_include_dir_notparallel = "yes"; then
++  INCLUDE_DIR_NOTPARALLEL_TRUE=
++  INCLUDE_DIR_NOTPARALLEL_FALSE='#'
++else
++  INCLUDE_DIR_NOTPARALLEL_TRUE='#'
++  INCLUDE_DIR_NOTPARALLEL_FALSE=
++fi
++
+ # Propagate the target-specific source directories through the build chain.
+ ATOMICITY_SRCDIR=config/${atomicity_dir}
+@@ -81913,6 +81927,10 @@ if test -z "${BUILD_PDF_TRUE}" && test -
+   as_fn_error "conditional \"BUILD_PDF\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
++if test -z "${INCLUDE_DIR_NOTPARALLEL_TRUE}" && test -z "${INCLUDE_DIR_NOTPARALLEL_FALSE}"; then
++  as_fn_error "conditional \"INCLUDE_DIR_NOTPARALLEL\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
+ : ${CONFIG_STATUS=./config.status}
+ ac_write_fail=0
+--- a/libstdc++-v3/configure.ac
++++ b/libstdc++-v3/configure.ac
+@@ -467,6 +467,12 @@ AM_CONDITIONAL(BUILD_PDF,
+              test $ac_cv_prog_DBLATEX = "yes" &&
+              test $ac_cv_prog_PDFLATEX = "yes")
++case "$build" in
++ *-*-darwin* ) glibcxx_include_dir_notparallel=yes ;;
++ * ) glibcxx_include_dir_notparallel=no ;;
++esac
++AM_CONDITIONAL(INCLUDE_DIR_NOTPARALLEL,
++               test $glibcxx_include_dir_notparallel = "yes")
+ # Propagate the target-specific source directories through the build chain.
+ ATOMICITY_SRCDIR=config/${atomicity_dir}
+--- a/libstdc++-v3/include/Makefile.am
++++ b/libstdc++-v3/include/Makefile.am
+@@ -1474,3 +1474,8 @@ $(decimal_headers): ; @:
+ $(ext_headers): ; @:
+ $(experimental_headers): ; @:
+ $(experimental_bits_headers): ; @:
++
++if INCLUDE_DIR_NOTPARALLEL
++# See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81797
++.NOTPARALLEL:
++endif
+--- a/libstdc++-v3/include/Makefile.in
++++ b/libstdc++-v3/include/Makefile.in
+@@ -1897,6 +1897,9 @@ $(ext_headers): ; @:
+ $(experimental_headers): ; @:
+ $(experimental_bits_headers): ; @:
++# See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81797
++@INCLUDE_DIR_NOTPARALLEL_TRUE@.NOTPARALLEL:
++
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT: