This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Make copy of <bits/std_abs.h> from GCC 7 [BZ #21573]


On Tue, Jun 13, 2017 at 4:46 AM, Andreas Schwab <schwab@suse.de> wrote:
> On Jun 13 2017, "H.J. Lu" <hjl.tools@gmail.com> wrote:
>
>> The first / in "/$1:/{s/:\$//;p}" is a command:
>
> It's not a command, it's an address.
>
>> [hjl@gnu-tools-1 glibc-test]$ echo "#include <bits/std_abs.h>" |
>> /usr/gcc-7.1.1-x32/bin/c++ -M -MP -x c++ - | sed -n
>> ",/bits/std_abs.h:,{s/:\$//;p}"
>> sed: -e expression #1, char 1: unknown command: `,'
>>
>> What options do I have?
>
> \,$1,

Here is the updated patch.  OK for master?

Thanks.


-- 
H.J.
From 5b55c60163f4c99301c4c8fe2504a195620d828a Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Tue, 13 Jun 2017 04:30:26 -0700
Subject: [PATCH] Make copy of <bits/std_abs.h> from GCC 7 [BZ #21573]

<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.

	[BZ #21573]
	* configure.ac (find_cxx_header): Use "\,$1," with sed.
	(CXX_CSTDLIB_HEADER): Also make a copy of <bits/std_abs.h>.
	* configure: Regenerated.
---
 configure    | 5 ++++-
 configure.ac | 5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index 422482f..524a8bc 100755
--- a/configure
+++ b/configure
@@ -5336,9 +5336,12 @@ 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 "\,$1:,{s/:\$//;p}"
   }
   CXX_CSTDLIB_HEADER="$(find_cxx_header 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)"
   CXX_CMATH_HEADER="$(find_cxx_header cmath)"
 fi
 
diff --git a/configure.ac b/configure.ac
index 7f43042..213a436 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1187,9 +1187,12 @@ 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 "\,$1:,{s/:\$//;p}"
   }
   CXX_CSTDLIB_HEADER="$(find_cxx_header 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)"
   CXX_CMATH_HEADER="$(find_cxx_header cmath)"
 fi
 AC_SUBST(CXX_CSTDLIB_HEADER)
-- 
2.9.4


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]