Mark Wielaard
2018-11-19 10:54:14 UTC
elfutils uses nested functions a lot. This is fine unless one takes the
address of such a nested function. When taking the address of a nested
function a trampoline is generated that on some systems require the stack
to be executable. That is bad. We never want to generate such trampolines.
Add -Wtrampolines to CLAGS to make sure we don't.
Signed-off-by: Mark Wielaard <***@klomp.org>
---
config/ChangeLog | 4 ++++
config/eu.am | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/config/ChangeLog b/config/ChangeLog
index f281eb2..40d6f85 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,7 @@
+2018-11-19 Mark Wielaard <***@klomp.org>
+
+ * eu.am (AM_CFLAGS): Add -Wtrampolines.
+
2018-07-04 Mark Wielaard <***@klomp.org>
* upload-release.sh: New file.
diff --git a/config/eu.am b/config/eu.am
index c2cc349..82acda3 100644
--- a/config/eu.am
+++ b/config/eu.am
@@ -70,7 +70,7 @@ IMPLICIT_FALLTHROUGH_WARNING=
endif
AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \
- -Wold-style-definition -Wstrict-prototypes \
+ -Wold-style-definition -Wstrict-prototypes -Wtrampolines \
$(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \
$(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \
$(if $($(*F)_no_Werror),,-Werror) \
address of such a nested function. When taking the address of a nested
function a trampoline is generated that on some systems require the stack
to be executable. That is bad. We never want to generate such trampolines.
Add -Wtrampolines to CLAGS to make sure we don't.
Signed-off-by: Mark Wielaard <***@klomp.org>
---
config/ChangeLog | 4 ++++
config/eu.am | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/config/ChangeLog b/config/ChangeLog
index f281eb2..40d6f85 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,7 @@
+2018-11-19 Mark Wielaard <***@klomp.org>
+
+ * eu.am (AM_CFLAGS): Add -Wtrampolines.
+
2018-07-04 Mark Wielaard <***@klomp.org>
* upload-release.sh: New file.
diff --git a/config/eu.am b/config/eu.am
index c2cc349..82acda3 100644
--- a/config/eu.am
+++ b/config/eu.am
@@ -70,7 +70,7 @@ IMPLICIT_FALLTHROUGH_WARNING=
endif
AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \
- -Wold-style-definition -Wstrict-prototypes \
+ -Wold-style-definition -Wstrict-prototypes -Wtrampolines \
$(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \
$(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \
$(if $($(*F)_no_Werror),,-Werror) \
--
1.8.3.1
1.8.3.1