[openwrt/openwrt] toolchain/gcc: fix a build failure on 7.3.0 with macOS

LEDE Commits lede-commits at lists.infradead.org
Mon Mar 12 04:22:46 PDT 2018


nbd pushed a commit to openwrt/openwrt.git, branch master:
https://git.lede-project.org/fe98f2679c2e73245c06a4b6a404abba4a915930

commit fe98f2679c2e73245c06a4b6a404abba4a915930
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Mon Mar 12 11:50:08 2018 +0100

    toolchain/gcc: fix a build failure on 7.3.0 with macOS
    
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 ...81797-Add-.NOTPARALLEL-to-include-Makefil.patch | 178 +++++++++++++++++++++
 1 file changed, 178 insertions(+)

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
index 0000000..c3981b1
--- /dev/null
+++ b/toolchain/gcc/patches/7.3.0/020-PR-libstdc-81797-Add-.NOTPARALLEL-to-include-Makefil.patch
@@ -0,0 +1,178 @@
+From: redi <redi at 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 at 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
++ at 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:



More information about the lede-commits mailing list