This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] Make copy of <bits/std_abs.h> from GCC 7 [BZ #21573]
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: GNU C Library <libc-alpha at sourceware dot org>
- Date: Tue, 13 Jun 2017 04:38:13 -0700
- Subject: [PATCH] Make copy of <bits/std_abs.h> from GCC 7 [BZ #21573]
- Authentication-results: sourceware.org; auth=none
<bits/std_abs.h> from GCC 7 will include /usr/include/stdlib.h from
"#include_next" (instead of stdlib/stdlib.h in the glibc source
directory), and this turns up as a make dependency. Also make a copy
of <bits/std_abs.h> to prevent it from including /usr/include/stdlib.h.
OK for master?
H.J.
---
[BZ #21573]
* configure.ac (find_cxx_header): Add a second argument to
support <bits/std_abs.h>.
(CXX_CSTDLIB_HEADER): Updated. Also make a copy of
<bits/std_abs.h>.
(CXX_CMATH_HEADER): Updated.
* configure: Regenerated.
---
configure | 9 ++++++---
configure.ac | 9 ++++++---
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/configure b/configure
index 422482f..888224e 100755
--- a/configure
+++ b/configure
@@ -5336,10 +5336,13 @@ fi
# copy of those headers in Makerules.
if test -n "$CXX"; then
find_cxx_header () {
- echo "#include <$1>" | $CXX -M -MP -x c++ - | sed -n "/$1:/{s/:\$//;p}"
+ echo "#include <$1>" | $CXX -M -MP -x c++ - | sed -n "/$2:/{s/:\$//;p}"
}
- CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib)"
- CXX_CMATH_HEADER="$(find_cxx_header cmath)"
+ CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib cstdlib)"
+ # Also make a copy of <bits/std_abs.h> from GCC 7 to prevent it from
+ # including /usr/include/stdlib.h.
+ CXX_CSTDLIB_HEADER="$CXX_CSTDLIB_HEADER $(find_cxx_header bits/std_abs.h bits\\\/std_abs.h)"
+ CXX_CMATH_HEADER="$(find_cxx_header cmath cmath)"
fi
diff --git a/configure.ac b/configure.ac
index 7f43042..00cf227 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1187,10 +1187,13 @@ AC_SUBST(CXX_SYSINCLUDES)
# copy of those headers in Makerules.
if test -n "$CXX"; then
find_cxx_header () {
- echo "#include <$1>" | $CXX -M -MP -x c++ - | sed -n "/$1:/{s/:\$//;p}"
+ echo "#include <$1>" | $CXX -M -MP -x c++ - | sed -n "/$2:/{s/:\$//;p}"
}
- CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib)"
- CXX_CMATH_HEADER="$(find_cxx_header cmath)"
+ CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib cstdlib)"
+ # Also make a copy of <bits/std_abs.h> from GCC 7 to prevent it from
+ # including /usr/include/stdlib.h.
+ CXX_CSTDLIB_HEADER="$CXX_CSTDLIB_HEADER $(find_cxx_header bits/std_abs.h bits\\\/std_abs.h)"
+ CXX_CMATH_HEADER="$(find_cxx_header cmath cmath)"
fi
AC_SUBST(CXX_CSTDLIB_HEADER)
AC_SUBST(CXX_CMATH_HEADER)
--
2.9.4