From: Mark Wielaard Date: Mon, 8 Jun 2015 22:28:13 +0000 (+0200) Subject: configure: Add check for gcc -Wstack-usage. X-Git-Tag: elfutils-0.162~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4b7953db48ed736ed913fd17a038c8474ce2198d;p=thirdparty%2Felfutils.git configure: Add check for gcc -Wstack-usage. Some older gcc versions don't support -Wstack-usage. Only use it when accepted by the compiler. Signed-off-by: Mark Wielaard --- diff --git a/ChangeLog b/ChangeLog index 344451913..f632b82ca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-06-08 Mark Wielaard + + * configure.ac (ADD_STACK_USAGE_WARNING): New conditional based on + gcc -Wstack-usage check. + 2015-05-31 Mark Wielaard * configure.ac (MODVERSION): Define using LIBEBL_SUBDIR, eu_version diff --git a/config/ChangeLog b/config/ChangeLog index 74379d4f8..60b909401 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,9 @@ +2015-05-23 Mark Wielaard + + * eu.am (STACK_USAGE_WARNING): New variable set based on + ADD_STACK_USAGE_WARNING conditional. + (AM_CFLAGS): Use STACK_USAGE_WARNING variable. + 2015-05-23 Mark Wielaard * eu.am (AM_CFLAGS): Add -Wstack-usage=262144. diff --git a/config/eu.am b/config/eu.am index e935335a7..70d32deb4 100644 --- a/config/eu.am +++ b/config/eu.am @@ -33,10 +33,15 @@ DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DLOCALEDIR='"${localedir}"' AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. # Warn about stack usage of more than 256K = 262144 bytes. +if ADD_STACK_USAGE_WARNING +STACK_USAGE_WARNING=-Wstack-usage=262144 +else +STACK_USAGE_WARNING= +endif AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ $(if $($(*F)_no_Werror),,-Werror) \ $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ - $(if $($(*F)_no_Wstack_usage),,-Wstack-usage=262144) \ + $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ $($(*F)_CFLAGS) COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE)) diff --git a/configure.ac b/configure.ac index f9fb5be75..4a4b27e1b 100644 --- a/configure.ac +++ b/configure.ac @@ -270,6 +270,14 @@ AS_IF([test "x$enable_symbol_versioning" = "xno"], [AC_MSG_WARN([Disabling symbol versioning breaks ABI compatibility.]) enable_symbol_versioning=no],[enable_symbol_versioning=yes]) +AC_CACHE_CHECK([whether gcc accepts -Wstack-usage], ac_cv_stack_usage, [dnl +old_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -Wstack-usage=262144" +AC_COMPILE_IFELSE([AC_LANG_SOURCE([])], + ac_cv_stack_usage=yes, ac_cv_stack_usage=no) +CFLAGS="$old_CFLAGS"]) +AM_CONDITIONAL(ADD_STACK_USAGE_WARNING, [test "x$ac_cv_stack_usage" != "xno"]) + dnl Check if we have argp available from our libc AC_LINK_IFELSE( [AC_LANG_PROGRAM(