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