This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH v4] configure.ac: Avoid empty subexpression in grep
On 03/12/2017 06:00 PM, Alexey Neyman wrote:
On 03/12/2017 03:25 PM, Mike Frysinger wrote:
thanks, lgtm
-mike
Can any of you push it then?
So, what is the next step? Can anyone push it?
Regards,
Alexey.
>From 8d936bdacbc5b6e49f316cad02c49d51117415d8 Mon Sep 17 00:00:00 2001
From: Alexey Neyman <stilor@att.net>
Date: Sun, 12 Mar 2017 13:16:18 -0700
Subject: [PATCH v4] Fix combreloc test with BSD grep
The test for "-z combreloc" fails when cross-compiling on a machine
that uses BSD grep (e.g. on macos). grep complains about empty
subexpression and exits with non-zero status, which is interpreted
by configure as "not found". As a result, support for "-z combreloc"
(HAVE_Z_COMBRELOC) is not detected, leading to link failure on SPARC.
While there, replace fgrep with 'grep -F', as fgrep is non-POSIX.
* configure.ac: Avoid empty subexpression in grep.
Signed-off-by: Alexey Neyman <stilor@att.net>
---
ChangeLog | 5 +++++
configure | 8 ++++----
configure.ac | 10 +++++-----
3 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index e0acd7d..bcf90e2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-03-12 Alexey Neyman <stilor@att.net>
+
+ * configure.ac: Avoid empty subexpression in grep.
+ * configure: Regenerate.
+
2017-03-10 Stefan Liebler <stli@linux.vnet.ibm.com>
* math/auto-libm-test-out-catan: Regenerated.
diff --git a/configure.ac b/configure.ac
index 4a77411..4981bf9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1390,8 +1390,8 @@ dnl The following test is a bit weak. We must use a tool which can test
dnl cross-platform since the gcc used can be a cross compiler. Without
dnl introducing new options this is not easily doable. Instead use a tool
dnl which always is cross-platform: readelf. To detect whether -z combreloc
-dnl look for a section named .rel.dyn.
- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
+dnl look for a section named .rel.dyn or .rela.dyn.
+ if $READELF -S conftest.so | grep -E '.rela?.dyn' > /dev/null; then
libc_cv_z_combreloc=yes
else
libc_cv_z_combreloc=no
@@ -1586,7 +1586,7 @@ void zero (void *x)
}
EOF
dnl
-if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "memset" > /dev/null]);
+if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | grep -F "memset" > /dev/null]);
then
libc_cv_gcc_builtin_memset=no
else
@@ -1606,7 +1606,7 @@ char *foo (const char *a, const char *b)
}
EOF
dnl
-if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "my_strstr" > /dev/null]);
+if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | grep -F "my_strstr" > /dev/null]);
then
libc_cv_gcc_builtin_redirection=yes
else
@@ -1747,7 +1747,7 @@ typedef struct {
extern const Ehdr __ehdr_start __attribute__ ((visibility ("hidden")));
long ehdr (void) { return __ehdr_start.val; }
])],
- [if $READELF -r conftest | fgrep __ehdr_start >/dev/null; then
+ [if $READELF -r conftest | grep -F __ehdr_start >/dev/null; then
libc_cv_ehdr_start=broken
else
libc_cv_ehdr_start=yes
--
2.9.3