From b1270a3331f68948b33581623dfdcadbf72a046b Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Fri, 1 Oct 2010 01:37:14 -0400 Subject: mtd-utils: enable garbage collection of unused function/data sections On my default build, this cumulatively shaves off ~100KiB of unused code and data from the mtd-utils programs. Signed-off-by: Mike Frysinger Signed-off-by: Artem Bityutskiy --- common.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/common.mk b/common.mk index 0444ad9..a55c548 100644 --- a/common.mk +++ b/common.mk @@ -3,6 +3,7 @@ AR := $(CROSS)ar RANLIB := $(CROSS)ranlib # Stolen from Linux build system +comma = , try-run = $(shell set -e; ($(1)) >/dev/null 2>&1 && echo "$(2)" || echo "$(3)") cc-option = $(call try-run, $(CC) $(1) -c -xc /dev/null -o /dev/null,$(1),$(2)) @@ -12,6 +13,8 @@ WFLAGS := -Wall \ $(call cc-option,-Wwrite-strings) \ $(call cc-option,-Wno-sign-compare) CFLAGS += $(WFLAGS) +SECTION_CFLAGS := $(call cc-option,-ffunction-sections -fdata-sections -Wl$(comma)--gc-sections) +CFLAGS += $(SECTION_CFLAGS) ifneq ($(WITHOUT_LARGEFILE), 1) CPPFLAGS += -D_FILE_OFFSET_BITS=64 -- cgit v1.2.3