This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH v2] configure.ac: Avoid empty subexpression in grep
On 03/09/2017 01:50 PM, Paul Eggert wrote:
On 03/09/2017 08:12 AM, Alexey Neyman wrote:
- if $READELF -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null;
then
+ if $READELF -S conftest.so | grep '\.\(rel\|rela\)\.dyn' >
/dev/null; then
Neither the old nor the new code is portable, as POSIX does not
require support for '\|'. Instead, how about something like this?
if $READELF -S conftest.so | grep -F -e '.rel.dyn' -e '.rela.dyn' >
/dev/null; then
Yes, that works too. Updated patch attached.
Regards,
Alexey.
>From 9b19fc80fc48c3b24e10cf4a190a74e35f4371cc Mon Sep 17 00:00:00 2001
From: Alexey Neyman <stilor@att.net>
Date: Wed, 8 Mar 2017 14:31:10 -0800
Subject: [PATCH v2] 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.
* configure.ac: Avoid empty subexpression in grep.
Signed-off-by: Alexey Neyman <stilor@att.net>
---
ChangeLog | 5 +++++
configure | 2 +-
configure.ac | 2 +-
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index ba57667..0ed7d3d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-03-08 Alexey Neyman <stilor@att.net>
+
+ * configure.ac: Avoid empty subexpression in grep.
+ * configure: Regenerate.
+
2017-03-08 Yury Norov <ynorov@caviumnetworks.com>
Zack Weinberg <zackw@panix.com>
diff --git a/configure.ac b/configure.ac
index 4a77411..19f6d87 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1391,7 +1391,7 @@ 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
+ if $READELF -S conftest.so | grep '\.\(rel\|rela\)\.dyn' > /dev/null; then
libc_cv_z_combreloc=yes
else
libc_cv_z_combreloc=no
--
2.9.3