[PATCH] [20/45] x86_64: Use 8 byte stack alignment when possible

From: Andi Kleen
Date: Fri Sep 21 2007 - 16:51:28 EST



Kernel doesn't use SSE2, so it doesn't need 16 byte alignment. Also
the stack can be already unaligned so letting the compiler align
is useless. This may make some stack frames smaller.
Only works with very recent gcc 4.3
Signed-off-by: Andi Kleen <ak@xxxxxxx>

---
arch/x86_64/Makefile | 2 ++
1 file changed, 2 insertions(+)

Index: linux/arch/x86_64/Makefile
===================================================================
--- linux.orig/arch/x86_64/Makefile
+++ linux/arch/x86_64/Makefile
@@ -49,6 +49,8 @@ CFLAGS += $(call cc-option,-mno-sse -mno
# newer gccs do it by default
CFLAGS += -maccumulate-outgoing-args

+CFLAGS += $(call cc-option,-mpreferred-stack-boundary=3)
+
# do binutils support CFI?
CFLAGS += $(call as-instr,.cfi_startproc\n.cfi_rel_offset rsp${comma}0\n.cfi_endproc,-DCONFIG_AS_CFI=1,)
AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_rel_offset rsp${comma}0\n.cfi_endproc,-DCONFIG_AS_CFI=1,)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/