configure.ac: allow user to specify READELF (#646)
authorSergei Trofimovich <slyfox@gentoo.org>
Sat, 26 Jun 2021 21:26:52 +0000 (22:26 +0100)
committerGitHub <noreply@github.com>
Sat, 26 Jun 2021 21:26:52 +0000 (17:26 -0400)
Before the change with x86_64-pc-linux-gnu cross-compiler
installed the configure was not able to find cross-readelf:

```
$ ./configure --host=x86_64-pc-linux-gnu
...
checking whether .eh_frame section should be read-only... .././configure: line 19540: readelf: command not found
yes
...
```

The change uses AC_CHECK_TOOL to automatically seatch for ${host}-readelf,
readelf. And as a bonus it also allows user to override readelf with
something like READELF=llvm-readelf.

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
configure.ac

index fea024290a6c8790df0a129e5124344ebbc53061..21d4f85a92b909ffff1c4f23f6f05ec5fffcc7de 100644 (file)
@@ -41,6 +41,8 @@ AM_PROG_CC_C_O
 AC_PROG_LIBTOOL
 AC_CONFIG_MACRO_DIR([m4])
 
+AC_CHECK_TOOL(READELF, readelf)
+
 # Test for 64-bit build.
 AC_CHECK_SIZEOF([size_t])
 
@@ -271,7 +273,7 @@ if test "x$GCC" = "xyes"; then
        libffi_cv_ro_eh_frame=yes
        echo 'extern void foo (void); void bar (void) { foo (); foo (); }' > conftest.c
        if $CC $CFLAGS -c -fpic -fexceptions $libffi_cv_no_lto -o conftest.o conftest.c > /dev/null 2>&1; then
-           if readelf -WS conftest.o | grep -q -n 'eh_frame .* WA'; then
+           if $READELF -WS conftest.o | grep -q -n 'eh_frame .* WA'; then
                libffi_cv_ro_eh_frame=no
            fi
        fi