On 2013-01-23 12:41, Borislav Petkov wrote: > On Mon, Jan 21, 2013 at 06:06:08PM +0100, Jan Kiszka wrote: >> This provides the basic infrastructure to load kernel-specific python >> helper scripts when debugging the kernel in gdb. >> >> The loading mechanism is based on gdb loading for <objfile>-gdb.py when >> opening <objfile>. Therefore, this places a corresponding link to the >> main helper script into the output directory that contains vmlinux. >> >> The main scripts will pull in submodules containing Linux specific gdb >> commands and functions. To avoid polluting the source directory with >> compiled python modules, we link to them from the object directory. >> >> Due to gdb.parse_and_eval, we depend on gdb >= 7.1. We need to >> pre-process the version string returned by gdb as some distros tend to >> prefix it with their name. >> >> This feature depends on CONFIG_DEBUG_INFO. >> >> CC: Michal Marek <mmarek@xxxxxxx> >> CC: linux-kbuild@xxxxxxxxxxxxxxx >> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> >> --- >> Makefile | 5 ++++- >> scripts/Makefile | 3 ++- >> scripts/gdb/Makefile | 9 +++++++++ >> scripts/gdb/utils.py | 17 +++++++++++++++++ >> scripts/gdb/vmlinux-gdb.py | 22 ++++++++++++++++++++++ >> 5 files changed, 54 insertions(+), 2 deletions(-) >> create mode 100644 scripts/gdb/Makefile >> create mode 100644 scripts/gdb/utils.py >> create mode 100644 scripts/gdb/vmlinux-gdb.py >> >> diff --git a/Makefile b/Makefile >> index 253a455..fb18794 100644 >> --- a/Makefile >> +++ b/Makefile >> @@ -774,6 +774,9 @@ endif >> ifdef CONFIG_BUILD_DOCSRC >> $(Q)$(MAKE) $(build)=Documentation >> endif >> +ifdef CONFIG_DEBUG_INFO >> + $(Q)ln -fsn $(srctree)/scripts/gdb/vmlinux-gdb.py >> +endif > > I'm wondering whether it won't be a better idea to make this symlink > creation in the toplevel directory only when a user requires it.. I.e., > not simply when CONFIG_DEBUG_INFO is enabled (it could be enabled for a > lot and different reasons) but only when user wants to really debug the > kernel with gdb. > > Then, having a specific make target could arrange for all the setup like > the symlink, gdb version checking, etc, maybe something like this: > > $ make gdb > > and all is prepared (or errored out with a sensible message). > > Hmm.... I wonder why we should do this, remove the convenience of the automatic script setup, but I'm open for arguments. Jan -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html