forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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 and string redirection for gdb.execute, we depend on gdb >= 7.2. This feature is enabled via CONFIG_GDB_SCRIPTS. Signed-off-by: Jan Kiszka <[email protected]> Acked-by: Michal Marek <[email protected]> [kbuild stuff] Cc: Thomas Gleixner <[email protected]> Cc: Jason Wessel <[email protected]> Cc: Andi Kleen <[email protected]> Cc: Ben Widawsky <[email protected]> Cc: Borislav Petkov <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
- Loading branch information
1 parent
0445f01
commit 3ee7b3f
Showing
6 changed files
with
51 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
subdir-y := linux |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
always := gdb-scripts | ||
|
||
SRCTREE := $(shell cd $(srctree) && /bin/pwd) | ||
|
||
$(obj)/gdb-scripts: | ||
ifneq ($(KBUILD_SRC),) | ||
$(Q)ln -fsn $(SRCTREE)/$(obj)/*.py $(objtree)/$(obj) | ||
endif | ||
@: | ||
|
||
clean-files := *.pyc *.pyo $(if $(KBUILD_SRC),*.py) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# | ||
# gdb helper commands and functions for Linux kernel debugging | ||
# | ||
# loader module | ||
# | ||
# Copyright (c) Siemens AG, 2012, 2013 | ||
# | ||
# Authors: | ||
# Jan Kiszka <[email protected]> | ||
# | ||
# This work is licensed under the terms of the GNU GPL version 2. | ||
# | ||
|
||
import os | ||
|
||
sys.path.insert(0, os.path.dirname(__file__) + "/scripts/gdb") | ||
|
||
try: | ||
gdb.parse_and_eval("0") | ||
gdb.execute("", to_string=True) | ||
except: | ||
gdb.write("NOTE: gdb 7.2 or later required for Linux helper scripts to " | ||
"work.\n") |