Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1873e870 authored by Andi Kleen's avatar Andi Kleen Committed by H. Peter Anvin
Browse files

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: default avatarAndi Kleen <ak@linux.intel.com>
Link: http://lkml.kernel.org/r/1332960678-11879-2-git-send-email-andi@firstfloor.org


Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
parent 35372a7d
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -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)
+9 −0
Original line number Diff line number Diff line
@@ -70,6 +70,15 @@ config STRIP_ASM_SYMS
	  that look like '.Lxxx') so they don't pollute the output of
	  get_wchan() and suchlike.

config READABLE_ASM
        bool "Generate readable assembler code"
        depends on DEBUG_KERNEL
        help
          Disable some compiler optimizations that tend to generate human unreadable
          assembler output. This may make the kernel slightly slower, but it helps
          to keep kernel developers who have to stare a lot at assembler listings
          sane.

config UNUSED_SYMBOLS
	bool "Enable unused/obsolete exported symbols"
	default y if X86