Loading arch/sh/Kconfig.debug +8 −12 Original line number Original line Diff line number Diff line Loading @@ -61,12 +61,14 @@ config EARLY_PRINTK select both the EARLY_SCIF_CONSOLE and SH_STANDARD_BIOS, using select both the EARLY_SCIF_CONSOLE and SH_STANDARD_BIOS, using the kernel command line option to toggle back and forth. the kernel command line option to toggle back and forth. config DEBUG_STACKOVERFLOW config STACK_DEBUG bool "Check for stack overflows" bool "Check for stack overflows" depends on DEBUG_KERNEL && SUPERH32 depends on DEBUG_KERNEL && SUPERH32 help help This option will cause messages to be printed if free stack space This option will cause messages to be printed if free stack space drops below a certain limit. drops below a certain limit. Saying Y here will add overhead to every function call and will therefore incur a major performance hit. Most users should say N. config DEBUG_STACK_USAGE config DEBUG_STACK_USAGE bool "Stack utilization instrumentation" bool "Stack utilization instrumentation" Loading Loading @@ -123,15 +125,9 @@ config SH64_SR_WATCH bool "Debug: set SR.WATCH to enable hardware watchpoints and trace" bool "Debug: set SR.WATCH to enable hardware watchpoints and trace" depends on SUPERH64 depends on SUPERH64 config STACK_DEBUG config MCOUNT bool "Enable diagnostic checks of the kernel stack" def_bool y depends on FUNCTION_TRACER depends on SUPERH32 select DEBUG_STACKOVERFLOW depends on STACK_DEBUG || FUNCTION_TRACER default n help This option allows checks to be performed on the kernel stack at runtime. Saying Y here will add overhead to every function call and will therefore incur a major performance hit. Most users should say N. endmenu endmenu arch/sh/Makefile +4 −0 Original line number Original line Diff line number Diff line Loading @@ -186,6 +186,10 @@ KBUILD_CFLAGS += -pipe $(cflags-y) KBUILD_CPPFLAGS += $(cflags-y) KBUILD_CPPFLAGS += $(cflags-y) KBUILD_AFLAGS += $(cflags-y) KBUILD_AFLAGS += $(cflags-y) ifeq ($(CONFIG_MCOUNT),y) KBUILD_CFLAGS += -pg endif libs-$(CONFIG_SUPERH32) := arch/sh/lib/ $(libs-y) libs-$(CONFIG_SUPERH32) := arch/sh/lib/ $(libs-y) libs-$(CONFIG_SUPERH64) := arch/sh/lib64/ $(libs-y) libs-$(CONFIG_SUPERH64) := arch/sh/lib64/ $(libs-y) Loading arch/sh/boot/compressed/Makefile +1 −1 Original line number Original line Diff line number Diff line Loading @@ -24,7 +24,7 @@ IMAGE_OFFSET := $(shell /bin/bash -c 'printf "0x%08x" \ LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) ifeq ($(CONFIG_FUNCTION_TRACER),y) ifeq ($(CONFIG_MCOUNT),y) ORIG_CFLAGS := $(KBUILD_CFLAGS) ORIG_CFLAGS := $(KBUILD_CFLAGS) KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS)) KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS)) endif endif Loading arch/sh/kernel/irq.c +0 −17 Original line number Original line Diff line number Diff line Loading @@ -114,23 +114,6 @@ asmlinkage int do_IRQ(unsigned int irq, struct pt_regs *regs) #endif #endif irq_enter(); irq_enter(); #ifdef CONFIG_DEBUG_STACKOVERFLOW /* Debugging check for stack overflow: is there less than 1KB free? */ { long sp; __asm__ __volatile__ ("and r15, %0" : "=r" (sp) : "0" (THREAD_SIZE - 1)); if (unlikely(sp < (sizeof(struct thread_info) + STACK_WARN))) { printk("do_IRQ: stack overflow: %ld\n", sp - sizeof(struct thread_info)); dump_stack(); } } #endif irq = irq_demux(intc_evt2irq(irq)); irq = irq_demux(intc_evt2irq(irq)); #ifdef CONFIG_IRQSTACKS #ifdef CONFIG_IRQSTACKS Loading arch/sh/kernel/sh_ksyms_32.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -106,8 +106,8 @@ EXPORT_SYMBOL(flush_dcache_page); EXPORT_SYMBOL(clear_user_page); EXPORT_SYMBOL(clear_user_page); #endif #endif #ifdef CONFIG_FUNCTION_TRACER #ifdef CONFIG_MCOUNT EXPORT_SYMBOL(mcount); DECLARE_EXPORT(mcount); #endif #endif EXPORT_SYMBOL(csum_partial); EXPORT_SYMBOL(csum_partial); EXPORT_SYMBOL(csum_partial_copy_generic); EXPORT_SYMBOL(csum_partial_copy_generic); Loading Loading
arch/sh/Kconfig.debug +8 −12 Original line number Original line Diff line number Diff line Loading @@ -61,12 +61,14 @@ config EARLY_PRINTK select both the EARLY_SCIF_CONSOLE and SH_STANDARD_BIOS, using select both the EARLY_SCIF_CONSOLE and SH_STANDARD_BIOS, using the kernel command line option to toggle back and forth. the kernel command line option to toggle back and forth. config DEBUG_STACKOVERFLOW config STACK_DEBUG bool "Check for stack overflows" bool "Check for stack overflows" depends on DEBUG_KERNEL && SUPERH32 depends on DEBUG_KERNEL && SUPERH32 help help This option will cause messages to be printed if free stack space This option will cause messages to be printed if free stack space drops below a certain limit. drops below a certain limit. Saying Y here will add overhead to every function call and will therefore incur a major performance hit. Most users should say N. config DEBUG_STACK_USAGE config DEBUG_STACK_USAGE bool "Stack utilization instrumentation" bool "Stack utilization instrumentation" Loading Loading @@ -123,15 +125,9 @@ config SH64_SR_WATCH bool "Debug: set SR.WATCH to enable hardware watchpoints and trace" bool "Debug: set SR.WATCH to enable hardware watchpoints and trace" depends on SUPERH64 depends on SUPERH64 config STACK_DEBUG config MCOUNT bool "Enable diagnostic checks of the kernel stack" def_bool y depends on FUNCTION_TRACER depends on SUPERH32 select DEBUG_STACKOVERFLOW depends on STACK_DEBUG || FUNCTION_TRACER default n help This option allows checks to be performed on the kernel stack at runtime. Saying Y here will add overhead to every function call and will therefore incur a major performance hit. Most users should say N. endmenu endmenu
arch/sh/Makefile +4 −0 Original line number Original line Diff line number Diff line Loading @@ -186,6 +186,10 @@ KBUILD_CFLAGS += -pipe $(cflags-y) KBUILD_CPPFLAGS += $(cflags-y) KBUILD_CPPFLAGS += $(cflags-y) KBUILD_AFLAGS += $(cflags-y) KBUILD_AFLAGS += $(cflags-y) ifeq ($(CONFIG_MCOUNT),y) KBUILD_CFLAGS += -pg endif libs-$(CONFIG_SUPERH32) := arch/sh/lib/ $(libs-y) libs-$(CONFIG_SUPERH32) := arch/sh/lib/ $(libs-y) libs-$(CONFIG_SUPERH64) := arch/sh/lib64/ $(libs-y) libs-$(CONFIG_SUPERH64) := arch/sh/lib64/ $(libs-y) Loading
arch/sh/boot/compressed/Makefile +1 −1 Original line number Original line Diff line number Diff line Loading @@ -24,7 +24,7 @@ IMAGE_OFFSET := $(shell /bin/bash -c 'printf "0x%08x" \ LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) ifeq ($(CONFIG_FUNCTION_TRACER),y) ifeq ($(CONFIG_MCOUNT),y) ORIG_CFLAGS := $(KBUILD_CFLAGS) ORIG_CFLAGS := $(KBUILD_CFLAGS) KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS)) KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS)) endif endif Loading
arch/sh/kernel/irq.c +0 −17 Original line number Original line Diff line number Diff line Loading @@ -114,23 +114,6 @@ asmlinkage int do_IRQ(unsigned int irq, struct pt_regs *regs) #endif #endif irq_enter(); irq_enter(); #ifdef CONFIG_DEBUG_STACKOVERFLOW /* Debugging check for stack overflow: is there less than 1KB free? */ { long sp; __asm__ __volatile__ ("and r15, %0" : "=r" (sp) : "0" (THREAD_SIZE - 1)); if (unlikely(sp < (sizeof(struct thread_info) + STACK_WARN))) { printk("do_IRQ: stack overflow: %ld\n", sp - sizeof(struct thread_info)); dump_stack(); } } #endif irq = irq_demux(intc_evt2irq(irq)); irq = irq_demux(intc_evt2irq(irq)); #ifdef CONFIG_IRQSTACKS #ifdef CONFIG_IRQSTACKS Loading
arch/sh/kernel/sh_ksyms_32.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -106,8 +106,8 @@ EXPORT_SYMBOL(flush_dcache_page); EXPORT_SYMBOL(clear_user_page); EXPORT_SYMBOL(clear_user_page); #endif #endif #ifdef CONFIG_FUNCTION_TRACER #ifdef CONFIG_MCOUNT EXPORT_SYMBOL(mcount); DECLARE_EXPORT(mcount); #endif #endif EXPORT_SYMBOL(csum_partial); EXPORT_SYMBOL(csum_partial); EXPORT_SYMBOL(csum_partial_copy_generic); EXPORT_SYMBOL(csum_partial_copy_generic); Loading