diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | config/ChangeLog | 6 | ||||
-rw-r--r-- | config/eu.am | 7 | ||||
-rw-r--r-- | configure.ac | 8 |
4 files changed, 25 insertions, 1 deletions
@@ -1,3 +1,8 @@ +2015-06-08 Mark Wielaard <mjw@redhat.com> + + * configure.ac (ADD_STACK_USAGE_WARNING): New conditional based on + gcc -Wstack-usage check. + 2015-05-31 Mark Wielaard <mjw@redhat.com> * configure.ac (MODVERSION): Define using LIBEBL_SUBDIR, eu_version diff --git a/config/ChangeLog b/config/ChangeLog index 74379d4f..60b90940 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,5 +1,11 @@ 2015-05-23 Mark Wielaard <mjw@redhat.com> + * 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 <mjw@redhat.com> + * eu.am (AM_CFLAGS): Add -Wstack-usage=262144. 2015-04-23 Max Filippov <jcmvbkbc@gmail.com> diff --git a/config/eu.am b/config/eu.am index e935335a..70d32deb 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 f9fb5be7..4a4b27e1 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( |