aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--config/ChangeLog6
-rw-r--r--config/eu.am7
-rw-r--r--configure.ac8
4 files changed, 25 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 34445191..f632b82c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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(