diff options
-rw-r--r-- | arch/sh/Kconfig.debug | 12 | ||||
-rw-r--r-- | arch/sh/include/asm/processor_32.h | 8 | ||||
-rw-r--r-- | arch/sh/kernel/Makefile_32 | 3 |
3 files changed, 22 insertions, 1 deletions
diff --git a/arch/sh/Kconfig.debug b/arch/sh/Kconfig.debug index 0dc340d5795e..0d62681f72a0 100644 --- a/arch/sh/Kconfig.debug +++ b/arch/sh/Kconfig.debug | |||
@@ -98,6 +98,18 @@ config IRQSTACKS | |||
98 | for handling hard and soft interrupts. This can help avoid | 98 | for handling hard and soft interrupts. This can help avoid |
99 | overflowing the process kernel stacks. | 99 | overflowing the process kernel stacks. |
100 | 100 | ||
101 | config DUMP_CODE | ||
102 | bool "Show disassembly of nearby code in register dumps" | ||
103 | depends on DEBUG_KERNEL && SUPERH32 | ||
104 | default y if DEBUG_BUGVERBOSE | ||
105 | default n | ||
106 | help | ||
107 | This prints out a code trace of the instructions leading up to | ||
108 | the faulting instruction as a debugging aid. As this does grow | ||
109 | the kernel in size a bit, most users will want to say N here. | ||
110 | |||
111 | Those looking for more verbose debugging output should say Y. | ||
112 | |||
101 | config SH_NO_BSS_INIT | 113 | config SH_NO_BSS_INIT |
102 | bool "Avoid zeroing BSS (to speed-up startup on suitable platforms)" | 114 | bool "Avoid zeroing BSS (to speed-up startup on suitable platforms)" |
103 | depends on DEBUG_KERNEL | 115 | depends on DEBUG_KERNEL |
diff --git a/arch/sh/include/asm/processor_32.h b/arch/sh/include/asm/processor_32.h index 2bfb7353493a..d79063c5eb9c 100644 --- a/arch/sh/include/asm/processor_32.h +++ b/arch/sh/include/asm/processor_32.h | |||
@@ -175,7 +175,15 @@ static __inline__ void enable_fpu(void) | |||
175 | 175 | ||
176 | void show_trace(struct task_struct *tsk, unsigned long *sp, | 176 | void show_trace(struct task_struct *tsk, unsigned long *sp, |
177 | struct pt_regs *regs); | 177 | struct pt_regs *regs); |
178 | |||
179 | #ifdef CONFIG_DUMP_CODE | ||
178 | void show_code(struct pt_regs *regs); | 180 | void show_code(struct pt_regs *regs); |
181 | #else | ||
182 | static inline void show_code(struct pt_regs *regs) | ||
183 | { | ||
184 | } | ||
185 | #endif | ||
186 | |||
179 | extern unsigned long get_wchan(struct task_struct *p); | 187 | extern unsigned long get_wchan(struct task_struct *p); |
180 | 188 | ||
181 | #define KSTK_EIP(tsk) (task_pt_regs(tsk)->pc) | 189 | #define KSTK_EIP(tsk) (task_pt_regs(tsk)->pc) |
diff --git a/arch/sh/kernel/Makefile_32 b/arch/sh/kernel/Makefile_32 index 3c975ab45590..2e1b86e16ab5 100644 --- a/arch/sh/kernel/Makefile_32 +++ b/arch/sh/kernel/Makefile_32 | |||
@@ -9,7 +9,7 @@ ifdef CONFIG_FUNCTION_TRACER | |||
9 | CFLAGS_REMOVE_ftrace.o = -pg | 9 | CFLAGS_REMOVE_ftrace.o = -pg |
10 | endif | 10 | endif |
11 | 11 | ||
12 | obj-y := debugtraps.o disassemble.o idle.o io.o io_generic.o irq.o \ | 12 | obj-y := debugtraps.o idle.o io.o io_generic.o irq.o \ |
13 | machvec.o process_32.o ptrace_32.o setup.o signal_32.o \ | 13 | machvec.o process_32.o ptrace_32.o setup.o signal_32.o \ |
14 | sys_sh.o sys_sh32.o syscalls_32.o time_32.o topology.o \ | 14 | sys_sh.o sys_sh32.o syscalls_32.o time_32.o topology.o \ |
15 | traps.o traps_32.o | 15 | traps.o traps_32.o |
@@ -29,5 +29,6 @@ obj-$(CONFIG_IO_TRAPPED) += io_trapped.o | |||
29 | obj-$(CONFIG_KPROBES) += kprobes.o | 29 | obj-$(CONFIG_KPROBES) += kprobes.o |
30 | obj-$(CONFIG_GENERIC_GPIO) += gpio.o | 30 | obj-$(CONFIG_GENERIC_GPIO) += gpio.o |
31 | obj-$(CONFIG_DYNAMIC_FTRACE) += ftrace.o | 31 | obj-$(CONFIG_DYNAMIC_FTRACE) += ftrace.o |
32 | obj-$(CONFIG_DUMP_CODE) += disassemble.o | ||
32 | 33 | ||
33 | EXTRA_CFLAGS += -Werror | 34 | EXTRA_CFLAGS += -Werror |