diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2009-11-28 09:03:03 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2009-11-28 09:08:30 -0500 |
commit | b8b7d791a8ff01d2380089279a69afa99115fb23 (patch) | |
tree | a1fb5c6f4f8dd6a19c96c293c185fc569934045b /arch/x86 | |
parent | 746357d6a526d6da9d89a2ec645b28406e959c2e (diff) |
x86: Use -maccumulate-outgoing-args for sane mcount prologues
commit 746357d (x86: Prevent GCC 4.4.x (pentium-mmx et al) function
prologue wreckage) uses -mtune=generic to work around the function
prologue problem with mcount on -march=pentium-mmx and others.
Jakub pointed out that we can use -maccumulate-outgoing-args instead
which is selected by -mtune=generic and prevents the problem without
losing the -march specific optimizations.
Pointed-out-by: Jakub Jelinek <jakub@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: stable@kernel.org
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/Makefile_32.cpu | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/Makefile_32.cpu b/arch/x86/Makefile_32.cpu index df7fdf811997..1937226fd502 100644 --- a/arch/x86/Makefile_32.cpu +++ b/arch/x86/Makefile_32.cpu | |||
@@ -49,8 +49,9 @@ cflags-$(CONFIG_X86_GENERIC) += $(call tune,generic,$(call tune,i686)) | |||
49 | # Work around the pentium-mmx code generator madness of gcc4.4.x which | 49 | # Work around the pentium-mmx code generator madness of gcc4.4.x which |
50 | # does stack alignment by generating horrible code _before_ the mcount | 50 | # does stack alignment by generating horrible code _before_ the mcount |
51 | # prologue (push %ebp, mov %esp, %ebp) which breaks the function graph | 51 | # prologue (push %ebp, mov %esp, %ebp) which breaks the function graph |
52 | # tracer assumptions | 52 | # tracer assumptions. For i686, generic, core2 this is set by the |
53 | cflags-$(CONFIG_FUNCTION_GRAPH_TRACER) += $(call cc-option,-mtune=generic) | 53 | # compiler anyway |
54 | cflags-$(CONFIG_FUNCTION_GRAPH_TRACER) += $(call cc-option,-maccumulate-outgoing-args) | ||
54 | 55 | ||
55 | # Bug fix for binutils: this option is required in order to keep | 56 | # Bug fix for binutils: this option is required in order to keep |
56 | # binutils from generating NOPL instructions against our will. | 57 | # binutils from generating NOPL instructions against our will. |