Tiny size optimization: push library functions into separate sections
and drop unused ones during linking.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
endif
OBJCOPYFLAGS := -O binary
-LDFLAGS += -T
+LDFLAGS += --gc-sections -T
subdir-y := lib/$(SRCARCH) demos/$(SRCARCH) tools/$(SRCARCH)
always := lib.a
+ccflags-y := -ffunction-sections
+
lib-y := header.o gic.o printk.o timer.o
lib-$(CONFIG_ARM_GIC) += gic-v2.o
lib-$(CONFIG_ARM_GIC_V3) += gic-v3.o
TARGETS += ../pci.o
TARGETS_64_ONLY := int.o mem.o pci.o timing.o
+ccflags-y := -ffunction-sections
+
lib-y := $(TARGETS) $(TARGETS_64_ONLY)
lib32-y := $(addprefix $(obj)/,$(TARGETS:.o=-32.o))