From d146ac6a33a9ba578c7dce0abf8b4ca65689b425 Mon Sep 17 00:00:00 2001 From: Stefan Reinauer Date: Fri, 31 Jul 2015 13:50:03 -0700 Subject: [PATCH] Move function/data sections to common CFLAGS Instead of adding -ffunction-sections and -fdata-sections to every architecture, just add it to CFLAGS_common, thus making sure that new architectures will pick it up automatically. Change-Id: I38e878851226565b7791d05e222cb4e502e0c8a3 Signed-off-by: Stefan Reinauer Reviewed-on: http://review.coreboot.org/11105 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi --- Makefile.inc | 3 ++- toolchain.inc | 15 +++++---------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/Makefile.inc b/Makefile.inc index 6ebf6d46b7..706ab8086f 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -270,6 +270,8 @@ CFLAGS_common += -pipe -g -nostdinc CFLAGS_common += -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes CFLAGS_common += -Wwrite-strings -Wredundant-decls -Wno-trigraphs CFLAGS_common += -Wstrict-aliasing -Wshadow +CFLAGS_common += -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer +CFLAGS_common += -ffunction-sections -fdata-sections ifeq ($(CONFIG_COMPILER_GCC),y) # cf. commit f69a99db (coreboot: x86: enable gc-sections) @@ -279,7 +281,6 @@ endif ifeq ($(CONFIG_WARNINGS_ARE_ERRORS),y) CFLAGS_common += -Werror endif -CFLAGS_common += -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer ifneq ($(GDB_DEBUG),) CFLAGS_common += -Og else diff --git a/toolchain.inc b/toolchain.inc index eea0560328..195ed77dbb 100644 --- a/toolchain.inc +++ b/toolchain.inc @@ -62,16 +62,11 @@ ARCHDIR-arm64 := arm64 ARCHDIR-riscv := riscv ARCHDIR-mips := mips -CFLAGS_arm += -ffunction-sections -fdata-sections - -CFLAGS_arm64 += -ffunction-sections -fdata-sections -mgeneral-regs-only - -CFLAGS_mips += -mips32r2 -G 0 -ffunction-sections -fdata-sections -CFLAGS_mips += -mno-abicalls -fno-pic - -CFLAGS_x86_32 += -ffunction-sections -fdata-sections -CFLAGS_riscv += -ffunction-sections -fdata-sections - +CFLAGS_arm += +CFLAGS_arm64 += -mgeneral-regs-only +CFLAGS_mips += -mips32r2 -G 0 -mno-abicalls -fno-pic +CFLAGS_riscv += +CFLAGS_x86_32 += CFLAGS_x86_64 += -mcmodel=large -mno-red-zone # Some boards only provide 2K stacks, so storing lots of data there leads to