From 0932bc5156bd88f773936ee5dac5d574ff921287 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Fri, 2 Nov 2012 12:15:36 +0000 Subject: [PATCH] [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 --- src/Makefile.housekeeping | 7 +++++-- 1 file 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