diff options
author | Ilya Leoshkevich <iii@linux.ibm.com> | 2023-02-08 20:52:24 +0100 |
---|---|---|
committer | Mark Wielaard <mark@klomp.org> | 2023-02-09 14:20:36 +0100 |
commit | 2e7fbb96f578454ea80cf604b636155779eb03bf (patch) | |
tree | 1b5714b03c22eea1aad7befa6e7568b87c536863 | |
parent | 3c22256392d58dc50324a392c1c9724a834f47d0 (diff) | |
download | elfutils-2e7fbb96f578454ea80cf604b636155779eb03bf.tar.gz |
configure: Use -fno-addrsig if possible
By default, clang produces .llvm_addrsig sections [1]. The GNU
toolchain does not know how to handle them yet [2], so just ask clang
not to generate them for the time being.
[1] https://llvm.org/docs/Extensions.html#sht-llvm-addrsig-section-address-significance-table
[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105625
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
-rw-r--r-- | configure.ac | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 8fe8baee..7dc9be63 100644 --- a/configure.ac +++ b/configure.ac @@ -588,6 +588,14 @@ CFLAGS="$old_CFLAGS"]) AM_CONDITIONAL(HAVE_NO_PACKED_NOT_ALIGNED_WARNING, [test "x$ac_cv_no_packed_not_aligned" != "xno"]) +AC_CACHE_CHECK([whether the compiler accepts -fno-addrsig], ac_cv_fno_addrsig, [dnl +old_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -fno-addrsig -Werror" +AC_COMPILE_IFELSE([AC_LANG_SOURCE([])], + ac_cv_fno_addrsig=yes, ac_cv_fno_addrsig=no) +CFLAGS="$old_CFLAGS"]) +AS_IF([test "x$ac_cv_fno_addrsig" = "xyes"], CFLAGS="$CFLAGS -fno-addrsig") + saved_LIBS="$LIBS" AC_SEARCH_LIBS([argp_parse], [argp]) LIBS="$saved_LIBS" |