mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] Make alignment cflags configurable.
@ 2015-08-12 12:32 dl9pf
  2015-08-12 12:50 ` David Woodhouse
  0 siblings, 1 reply; 8+ messages in thread
From: dl9pf @ 2015-08-12 12:32 UTC (permalink / raw)
  To: dl9pf; +Cc: tglx, mingo, hpa, x86, linux-kernel, llvmlinux, dwmw2, behanw

From: Jan-Simon Möller <dl9pf@gmx.de>

This patch adds switches for
-falign-jumps=1
and
-falign-loops=1

Default is off by intention to allow seamless operation.

Signed-off-by: Jan-Simon Möller <dl9pf@gmx.de>
CC: tglx@linutronix.de
CC: mingo@redhat.com
CC: hpa@zytor.com
CC: x86@kernel.org
CC: linux-kernel@vger.kernel.org
CC: llvmlinux@lists.linuxfoundation.org
CC: dwmw2@infradead.org
CC: behanw@converseincode.com
---
 arch/x86/Kconfig  | 22 ++++++++++++++++++++++
 arch/x86/Makefile |  4 ++++
 2 files changed, 26 insertions(+)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index b3a1a5d..ebd4b03 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -644,6 +644,28 @@ config SCHED_OMIT_FRAME_POINTER
 
 	  If in doubt, say "Y".
 
+config ALIGN_JUMP_TARGETS_NONDEFAULT
+       bool "Align jump targets to 1 byte"
+       default n
+       ---help---
+         Align jump targets to 1 byte, not the default 16 bytes.
+         This results in a smaller packaging of the Kernel
+         (around 300k in a usual configuration) by removing
+         noops that would otherwise be inserted for
+         alignment reasons.
+         The default is off to make sure all compilers work.
+
+config ALIGN_LOOPS_NONDEFAULT
+       bool "Pack loops tightly"
+       default n
+       ---help---
+         Align loops to 1 byte, not the default 16 bytes.
+         This results in a smaller packaging of the Kernel
+         by removing noops that would otherwise be inserted for
+         alignment reasons.
+         The default is off to make sure all compilers work.
+
+
 menuconfig HYPERVISOR_GUEST
 	bool "Linux guest support"
 	---help---
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 118e6de..38c38f4 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -77,11 +77,15 @@ else
         KBUILD_AFLAGS += -m64
         KBUILD_CFLAGS += -m64
 
+ifdef ALIGN_JUMP_TARGETS_NONDEFAULT
         # Align jump targets to 1 byte, not the default 16 bytes:
         KBUILD_CFLAGS += -falign-jumps=1
+endif
 
+ifdef ALIGN_LOOPS_NONDEFAULT
         # Pack loops tightly as well:
         KBUILD_CFLAGS += -falign-loops=1
+endif
 
         # Don't autogenerate traditional x87 instructions
         KBUILD_CFLAGS += $(call cc-option,-mno-80387)
-- 
2.5.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-08-13  0:05 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-12 12:32 [PATCH] Make alignment cflags configurable dl9pf
2015-08-12 12:50 ` David Woodhouse
2015-08-12 22:30   ` Jan-Simon Moeller
2015-08-12 22:37     ` H. Peter Anvin
2015-08-12 23:17       ` [llvmlinux] " Jan-Simon Moeller
2015-08-12 23:37         ` David Woodhouse
2015-08-12 23:59           ` Jan-Simon Moeller
2015-08-13  0:05             ` David Woodhouse

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®