From: Heiko Carstens CONFIG_FRAME_POINTER support for s390. Signed-off-by: Heiko Carstens Acked-by: Ingo Molnar Cc: Martin Schwidefsky Cc: Arjan van de Ven Signed-off-by: Andrew Morton --- arch/s390/Makefile | 5 +++++ lib/Kconfig.debug | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff -puN arch/s390/Makefile~lockdep-s390-config_frame_pointer-support arch/s390/Makefile --- a/arch/s390/Makefile~lockdep-s390-config_frame_pointer-support +++ a/arch/s390/Makefile @@ -38,6 +38,11 @@ cflags-$(CONFIG_MARCH_G5) += $(call cc cflags-$(CONFIG_MARCH_Z900) += $(call cc-option,-march=z900) cflags-$(CONFIG_MARCH_Z990) += $(call cc-option,-march=z990) +# +# Prevent tail-call optimizations, to get clearer backtraces: +# +cflags-$(CONFIG_FRAME_POINTER) += -fno-optimize-sibling-calls + # old style option for packed stacks ifeq ($(call cc-option-yn,-mkernel-backchain),y) cflags-$(CONFIG_PACK_STACK) += -mkernel-backchain -D__PACK_STACK diff -puN lib/Kconfig.debug~lockdep-s390-config_frame_pointer-support lib/Kconfig.debug --- a/lib/Kconfig.debug~lockdep-s390-config_frame_pointer-support +++ a/lib/Kconfig.debug @@ -208,7 +208,7 @@ config DEBUG_VM config FRAME_POINTER bool "Compile the kernel with frame pointers" - depends on DEBUG_KERNEL && (X86 || CRIS || M68K || M68KNOMMU || FRV || UML) + depends on DEBUG_KERNEL && (X86 || CRIS || M68K || M68KNOMMU || FRV || UML || S390) default y if DEBUG_INFO && UML help If you say Y here the resulting kernel image will be slightly larger _