diff options
-rw-r--r-- | arch/i386/Makefile | 4 | ||||
-rw-r--r-- | arch/x86_64/Makefile | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/arch/i386/Makefile b/arch/i386/Makefile index 2d9d756fdd74..0677908dfa06 100644 --- a/arch/i386/Makefile +++ b/arch/i386/Makefile | |||
@@ -42,6 +42,10 @@ cflags-$(CONFIG_REGPARM) += -mregparm=3 | |||
42 | # temporary until string.h is fixed | 42 | # temporary until string.h is fixed |
43 | cflags-y += -ffreestanding | 43 | cflags-y += -ffreestanding |
44 | 44 | ||
45 | # this works around some issues with generating unwind tables in older gccs | ||
46 | # newer gccs do it by default | ||
47 | cflags-y += -maccumulate-outgoing-args | ||
48 | |||
45 | # Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use | 49 | # Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use |
46 | # a lot more stack due to the lack of sharing of stacklots: | 50 | # a lot more stack due to the lack of sharing of stacklots: |
47 | CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then echo $(call cc-option,-fno-unit-at-a-time); fi ;) | 51 | CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then echo $(call cc-option,-fno-unit-at-a-time); fi ;) |
diff --git a/arch/x86_64/Makefile b/arch/x86_64/Makefile index 1c0f18d4f887..13972148058d 100644 --- a/arch/x86_64/Makefile +++ b/arch/x86_64/Makefile | |||
@@ -54,6 +54,10 @@ endif | |||
54 | cflags-y += $(call cc-option,-funit-at-a-time) | 54 | cflags-y += $(call cc-option,-funit-at-a-time) |
55 | # prevent gcc from generating any FP code by mistake | 55 | # prevent gcc from generating any FP code by mistake |
56 | cflags-y += $(call cc-option,-mno-sse -mno-mmx -mno-sse2 -mno-3dnow,) | 56 | cflags-y += $(call cc-option,-mno-sse -mno-mmx -mno-sse2 -mno-3dnow,) |
57 | # this works around some issues with generating unwind tables in older gccs | ||
58 | # newer gccs do it by default | ||
59 | cflags-y += -maccumulate-outgoing-args | ||
60 | |||
57 | # do binutils support CFI? | 61 | # do binutils support CFI? |
58 | cflags-y += $(call as-instr,.cfi_startproc\n.cfi_endproc,-DCONFIG_AS_CFI=1,) | 62 | cflags-y += $(call as-instr,.cfi_startproc\n.cfi_endproc,-DCONFIG_AS_CFI=1,) |
59 | AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_endproc,-DCONFIG_AS_CFI=1,) | 63 | AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_endproc,-DCONFIG_AS_CFI=1,) |