From cca4e4aec1fe52e5ecd15e3cebdbb36e2f254220 Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Tue, 1 Nov 2011 20:54:02 +0000 Subject: Reduce build times U-Boot Makefiles contain a number of tests for compiler features etc. which so far are executed again and again. On some architectures (especially ARM) this results in a large number of calls to gcc. This patch makes sure to run such tests only once, thus largely reducing the number of "execve" system calls. Example: number of "execve" system calls for building the "P2020DS" (Power Architecture) and "qong" (ARM) boards, measured as: -> strace -f -e trace=execve -o /tmp/foo ./MAKEALL -> grep execve /tmp/foo | wc -l Before: After: Reduction: ================================== P2020DS 20555 15205 -26% qong 31692 14490 -54% As a result, built times are significantly reduced, typically by 30...50%. Signed-off-by: Wolfgang Denk Cc: Andy Fleming Cc: Kumar Gala Cc: Albert Aribaud cc: Graeme Russ cc: Mike Frysinger Tested-by: Graeme Russ Tested-by: Matthias Weisser Tested-by: Sanjeev Premi Tested-by: Simon Glass Tested-by: Macpaul Lin Acked-by: Mike Frysinger --- arch/x86/config.mk | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'arch/x86') diff --git a/arch/x86/config.mk b/arch/x86/config.mk index ee23c9f..fe9083f 100644 --- a/arch/x86/config.mk +++ b/arch/x86/config.mk @@ -27,10 +27,12 @@ PLATFORM_CPPFLAGS += -fno-strict-aliasing PLATFORM_CPPFLAGS += -Wstrict-prototypes PLATFORM_CPPFLAGS += -mregparm=3 PLATFORM_CPPFLAGS += -fomit-frame-pointer -PLATFORM_CPPFLAGS += $(call cc-option, -ffreestanding) -PLATFORM_CPPFLAGS += $(call cc-option, -fno-toplevel-reorder, $(call cc-option, -fno-unit-at-a-time)) -PLATFORM_CPPFLAGS += $(call cc-option, -fno-stack-protector) -PLATFORM_CPPFLAGS += $(call cc-option, -mpreferred-stack-boundary=2) +PF_CPPFLAGS_X86 := $(call cc-option, -ffreestanding) \ + $(call cc-option, -fno-toplevel-reorder, \ + $(call cc-option, -fno-unit-at-a-time)) \ + $(call cc-option, -fno-stack-protector) \ + $(call cc-option, -mpreferred-stack-boundary=2) +PLATFORM_CPPFLAGS += $(PF_CPPFLAGS_X86) PLATFORM_CPPFLAGS += -fno-dwarf2-cfi-asm PLATFORM_CPPFLAGS += -DREALMODE_BASE=0x7c0 -- cgit v1.1