aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-17 23:18:11 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-17 23:18:11 -0400
commitb46522394dde7341a5253658096f354b65cbd90d (patch)
treec8631b9d3c07b4fd60f27e1c89863e89247d0eb7
parentb42895d6fe66995ab101c15d9a59c78474dbf382 (diff)
Revert "[PATCH] x86: Drop cc-options call for all options supported in gcc 3.2+"
This reverts commit c8fdd247255a3a027cd9f66dcf93e6847d1d2f85. It turns out the kernel was correct, and the gcc complaint was a gcc bug. The preferred stack boundary is expressed not in bytes, but in the the log2() of the preferred boundary, so "-mpreferred-stack-boundary=2" is in fact exactly what we want, but a gcc that is compiled for x86-64 will consider it an error (because the 64-bit calling sequence says that the stack should be 16-byte aligned) even if we are then using "-m32" to generate 32-bit code. Noted-by: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz> Cc: Jan Hubicka <jh@suse.cz> Acked-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--Makefile2
-rw-r--r--arch/i386/Makefile2
2 files changed, 2 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index e6990e2cdafc..948fa09442f1 100644
--- a/Makefile
+++ b/Makefile
@@ -491,7 +491,7 @@ endif
491include $(srctree)/arch/$(ARCH)/Makefile 491include $(srctree)/arch/$(ARCH)/Makefile
492 492
493ifdef CONFIG_FRAME_POINTER 493ifdef CONFIG_FRAME_POINTER
494CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls 494CFLAGS += -fno-omit-frame-pointer $(call cc-option,-fno-optimize-sibling-calls,)
495else 495else
496CFLAGS += -fomit-frame-pointer 496CFLAGS += -fomit-frame-pointer
497endif 497endif
diff --git a/arch/i386/Makefile b/arch/i386/Makefile
index 6dc5e5d90fec..bd28f9f9b4b7 100644
--- a/arch/i386/Makefile
+++ b/arch/i386/Makefile
@@ -34,7 +34,7 @@ CHECKFLAGS += -D__i386__
34CFLAGS += -pipe -msoft-float -mregparm=3 -freg-struct-return 34CFLAGS += -pipe -msoft-float -mregparm=3 -freg-struct-return
35 35
36# prevent gcc from keeping the stack 16 byte aligned 36# prevent gcc from keeping the stack 16 byte aligned
37CFLAGS += -mpreferred-stack-boundary=4 37CFLAGS += $(call cc-option,-mpreferred-stack-boundary=2)
38 38
39# CPU-specific tuning. Anything which can be shared with UML should go here. 39# CPU-specific tuning. Anything which can be shared with UML should go here.
40include $(srctree)/arch/i386/Makefile.cpu 40include $(srctree)/arch/i386/Makefile.cpu