DEBUG_INFO, KGDB and etc...
PATCH 1/1 DEBUG_INFO, KGDB and etc...
This patch adds the missing "-g" gcc option when kgdb is configure. Clean up some debugging related options (DEBUG_INFO really should go under KGDB and depends its not being selected)
If no objection, will check it in later.
And yes, the good news is that kgdb works in 2.6.
Jun
arch/mips/Makefile renamed from arch/mips/Makefile.orig +1 -0
@@ -60,6 +60,7 @@ LDFLAGS_vmlinux += -G 0 -static # -N MODFLAGS += -mlong-calls +cflags-$(CONFIG_DEBUG_INFO) += -g cflags-$(CONFIG_SB1XXX_CORELIS) += -mno-sched-prolog -fno-omit-frame-pointer check_warning = $(shell if $(CC) $(1) -c -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi)
arch/mips/Kconfig renamed from arch/mips/Kconfig.orig +18 -17
@@ -1233,23 +1233,6 @@ This allows applications to run more reliably even when the system is under load. -config DEBUG_INFO - bool "Compile the kernel with debug info" - depends on DEBUG_KERNEL - default y if KGDB - help - If you say Y here the resulting kernel image will include - debugging info resulting in a larger kernel image. - Say Y here only if you plan to use gdb to debug the kernel. - If you don't debug the kernel, you can say N. - -config SB1XXX_CORELIS - bool "Corelis Debugger" - depends on SIBYTE_SB1xxx_SOC && DEBUG_INFO - help - Select compile flags that produce code that can be processed by the - Corelis mksym utility and UDB Emulator. - config DEBUG_SPINLOCK bool "Spinlock debugging" depends on DEBUG_KERNEL
@@ -1471,6 +1454,7 @@ config KGDB bool "Remote GDB kernel debugging" depends on DEBUG_KERNEL + select DEBUG_INFO help If you say Y here, it will be possible to remotely debug the MIPS kernel using gdb. This enlarges your kernel image disk size by
@@ -1486,6 +1470,23 @@ would like kernel messages to be formatted into GDB $O packets so that GDB prints them as program output, say 'Y'. +config DEBUG_INFO + bool "Compile the kernel with debug info" + depends on DEBUG_KERNEL && !KGDB + default y if KGDB + help + If you say Y here the resulting kernel image will include + debugging info resulting in a larger kernel image. + Say Y here only if you plan to use gdb to debug the kernel. + If you don't debug the kernel, you can say N. + +config SB1XXX_CORELIS + bool "Corelis Debugger" + depends on SIBYTE_SB1xxx_SOC && DEBUG_INFO + help + Select compile flags that produce code that can be processed by the + Corelis mksym utility and UDB Emulator. + config RUNTIME_DEBUG bool "Enable run-time debugging" depends on DEBUG_KERNEL
In the top level makefile, there is already:
ifdef CONFIG_DEBUG_INFO CFLAGS += -g endif
I don't see why you need to add it to arch/mips/Makefile. Your Kconfig changes seem fine though.
Kevin
Quoted 9 lines · Jun Sun
This patch adds the missing "-g" gcc option when kgdb is configure. Clean up some debugging related options (
DEBUG_INFOreally should go under KGDB and depends its not being selected)If no objection, will check it in later.
And yes, the good news is that kgdb works in 2.6.
Jun
Signature · 2 lines
Kevin Paul Herbert <[email protected]> cisco Systems, Inc.
Quoted 9 lines · Kevin Paul Herbert
In the top level makefile, there is already:
ifdef CONFIG_DEBUG_INFO CFLAGS += -g endifI don't see why you need to add it to
arch/mips/Makefile. YourKconfigchanges seem fine though.
That is right. Thanks for catching this.
The original problem started when KGDB did not cause "-g" to be included. I simply looked at 2.4 and cooked the patch.
The corrected patch is attached.
Jun
arch/mips/Kconfig renamed from arch/mips/Kconfig.orig +18 -17
@@ -1233,23 +1233,6 @@ This allows applications to run more reliably even when the system is under load. -config DEBUG_INFO - bool "Compile the kernel with debug info" - depends on DEBUG_KERNEL - default y if KGDB - help - If you say Y here the resulting kernel image will include - debugging info resulting in a larger kernel image. - Say Y here only if you plan to use gdb to debug the kernel. - If you don't debug the kernel, you can say N. - -config SB1XXX_CORELIS - bool "Corelis Debugger" - depends on SIBYTE_SB1xxx_SOC && DEBUG_INFO - help - Select compile flags that produce code that can be processed by the - Corelis mksym utility and UDB Emulator. - config DEBUG_SPINLOCK bool "Spinlock debugging" depends on DEBUG_KERNEL
@@ -1471,6 +1454,7 @@ config KGDB bool "Remote GDB kernel debugging" depends on DEBUG_KERNEL + select DEBUG_INFO help If you say Y here, it will be possible to remotely debug the MIPS kernel using gdb. This enlarges your kernel image disk size by
@@ -1486,6 +1470,23 @@ would like kernel messages to be formatted into GDB $O packets so that GDB prints them as program output, say 'Y'. +config DEBUG_INFO + bool "Compile the kernel with debug info" + depends on DEBUG_KERNEL && !KGDB + default y if KGDB + help + If you say Y here the resulting kernel image will include + debugging info resulting in a larger kernel image. + Say Y here only if you plan to use gdb to debug the kernel. + If you don't debug the kernel, you can say N. + +config SB1XXX_CORELIS + bool "Corelis Debugger" + depends on SIBYTE_SB1xxx_SOC && DEBUG_INFO + help + Select compile flags that produce code that can be processed by the + Corelis mksym utility and UDB Emulator. + config RUNTIME_DEBUG bool "Enable run-time debugging" depends on DEBUG_KERNEL