diff options
author | Andi Kleen <ak@linux.intel.com> | 2012-03-28 11:51:18 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2012-03-30 10:15:21 -0700 |
commit | 1873e870fd63ee4b87dbe0125ca373e420fb4987 (patch) | |
tree | 2c4d4244c653e374a1d0040e581be60f614f23a7 /Makefile | |
parent | 35372a7d45291140a97518a8d1c8cb0e31ee2bb7 (diff) | |
download | linux-stable-1873e870fd63ee4b87dbe0125ca373e420fb4987.tar.gz linux-stable-1873e870fd63ee4b87dbe0125ca373e420fb4987.tar.bz2 linux-stable-1873e870fd63ee4b87dbe0125ca373e420fb4987.zip |
debug: Add CONFIG_READABLE_ASM
Add a config option to disable various gcc compiler optimizations that
make assembler listings much harder to read. This is everything that reorders
code significantly or creates partial functions.
This is mainly to keep kernel hackers sane.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Link: http://lkml.kernel.org/r/1332960678-11879-2-git-send-email-andi@firstfloor.org
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -564,6 +564,16 @@ else KBUILD_CFLAGS += -O2 endif +ifdef CONFIG_READABLE_ASM +# Disable optimizations that make assembler listings hard to read. +# reorder blocks reorders the control in the function +# ipa clone creates specialized cloned functions +# partial inlining inlines only parts of functions +KBUILD_CFLAGS += $(call cc-option,-fno-reorder-blocks,) \ + $(call cc-option,-fno-ipa-cp-clone,) \ + $(call cc-option,-fno-partial-inlining) +endif + include $(srctree)/arch/$(SRCARCH)/Makefile ifneq ($(CONFIG_FRAME_WARN),0) |