summaryrefslogtreecommitdiffstats
path: root/src/Makefile.housekeeping
diff options
context:
space:
mode:
authorMichael Brown2012-11-02 13:15:36 +0100
committerMichael Brown2012-11-02 14:41:50 +0100
commit0932bc5156bd88f773936ee5dac5d574ff921287 (patch)
tree8fcab4128707be98beb9ba32db8f7b8fee41ed0c /src/Makefile.housekeeping
parent[build] Use -maccumulate-outgoing-args if required by gcc (diff)
downloadipxe-0932bc5156bd88f773936ee5dac5d574ff921287.tar.gz
ipxe-0932bc5156bd88f773936ee5dac5d574ff921287.tar.xz
ipxe-0932bc5156bd88f773936ee5dac5d574ff921287.zip
[build] Inhibit .eh_frame on newer gcc versions
Using -fno-dwarf2-cfi-asm is not sufficient to prevent the .eh_frame section from being generated on newer versions of gcc. Add -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables; this is sufficient to inhibit the .eh_frame section on gcc 4.7.1. This does not affect the overall binary size, but does fix the numbers reported by "size" for individual object files. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/Makefile.housekeeping')
-rw-r--r--src/Makefile.housekeeping7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping
index 1e05beba..fce49288 100644
--- a/src/Makefile.housekeeping
+++ b/src/Makefile.housekeeping
@@ -162,9 +162,12 @@ endif
# output of "size". Inhibit this.
#
ifeq ($(CCTYPE),gcc)
-CFI_TEST = $(CC) -fno-dwarf2-cfi-asm -x c -c /dev/null \
+CFI_TEST = $(CC) -fno-dwarf2-cfi-asm -fno-exceptions -fno-unwind-tables \
+ -fno-asynchronous-unwind-tables -x c -c /dev/null \
-o /dev/null >/dev/null 2>&1
-CFI_FLAGS := $(shell $(CFI_TEST) && $(ECHO) '-fno-dwarf2-cfi-asm')
+CFI_FLAGS := $(shell $(CFI_TEST) && \
+ $(ECHO) '-fno-dwarf2-cfi-asm -fno-exceptions ' \
+ '-fno-unwind-tables -fno-asynchronous-unwind-tables')
WORKAROUND_CFLAGS += $(CFI_FLAGS)
endif