This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 17/17] config: Add -Wstack-usage=262144 (256K) warning check.


All library code now builds with this warning and -Werror enabled.
Add exceptions for most of the src tools (ldgeneric, readelf, nm, size,
strip, elflint, findtextrel, elfcmp objdump, ranlib, ar and unstrip).

Signed-off-by: Mark Wielaard <mjw@redhat.com>
---
 config/ChangeLog |  4 ++++
 config/eu.am     |  3 +++
 src/ChangeLog    |  5 +++++
 src/Makefile.am  | 14 ++++++++++++++
 4 files changed, 26 insertions(+)

diff --git a/config/ChangeLog b/config/ChangeLog
index bff3b6d..74379d4 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,7 @@
+2015-05-23  Mark Wielaard  <mjw@redhat.com>
+
+	* eu.am (AM_CFLAGS): Add -Wstack-usage=262144.
+
 2015-04-23  Max Filippov  <jcmvbkbc@gmail.com>
 
 	* eu.am (DEFS.os): New variable.
diff --git a/config/eu.am b/config/eu.am
index 6103a3e..e935335 100644
--- a/config/eu.am
+++ b/config/eu.am
@@ -31,9 +31,12 @@
 
 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.
 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) \
 	    $($(*F)_CFLAGS)
 
 COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage, $(COMPILE))
diff --git a/src/ChangeLog b/src/ChangeLog
index 02f6584..56fc803 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2015-05-23  Mark Wielaard  <mjw@redhat.com>
+
+	* Makefile.am: Define ldgeneric, readelf, nm, size, strip, elflint,
+	findtextrel, elfcmp objdump, ranlib, ar and unstrip no_Wstack_usage.
+
 2015-05-12  Mark Wielaard  <mjw@redhat.com>
 
 	* strip.c (debug_fd): New static variable.
diff --git a/src/Makefile.am b/src/Makefile.am
index ab5364f..cd11470 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -88,6 +88,20 @@ endif
 
 # XXX While the file is not finished, don't warn about this
 ldgeneric_no_Wunused = yes
+ldgeneric_no_Wstack_usage = yes
+
+# Bad, bad stack usage...
+readelf_no_Wstack_usage = yes
+nm_no_Wstack_usage = yes
+size_no_Wstack_usage = yes
+strip_no_Wstack_usage = yes
+elflint_no_Wstack_usage = yes
+findtextrel_no_Wstack_usage = yes
+elfcmp_no_Wstack_usage = yes
+objdump_no_Wstack_usage = yes
+ranlib_no_Wstack_usage = yes
+ar_no_Wstack_usage = yes
+unstrip_no_Wstack_usage = yes
 
 readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl
 nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl \
-- 
1.8.3.1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]