mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02:00 
			
		
		
		
	 b99695580b
			
		
	
	
		b99695580b
		
	
	
	
	
		
			
			Post 'make scripts_gdb' a symbolic link to scripts/gdb/vmlinux-gdb.py is
created.  Currently 'os.path.dirname(__file__)' does not generate the
absolute path to scripts/gdb resulting in the following:
    (gdb) source vmlinux-gdb.py
    Traceback (most recent call last):
      File "scripts/gdb/vmlinux-gdb.py", line 25, in <module>
	import linux.utils
    ModuleNotFoundError: No module named 'linux'
This patch ensures that the absolute path to scripts/gdb in relation to
the given file is generated so each module can be located accordingly.
Link: https://lkml.kernel.org/r/20220712110248.1404125-1-atomlin@redhat.com
Signed-off-by: Aaron Tomlin <atomlin@redhat.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Cc: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Kieran Bingham <kbingham@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
		
	
			
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			881 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			881 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| #
 | |
| # gdb helper commands and functions for Linux kernel debugging
 | |
| #
 | |
| #  loader module
 | |
| #
 | |
| # Copyright (c) Siemens AG, 2012, 2013
 | |
| #
 | |
| # Authors:
 | |
| #  Jan Kiszka <jan.kiszka@siemens.com>
 | |
| #
 | |
| # This work is licensed under the terms of the GNU GPL version 2.
 | |
| #
 | |
| 
 | |
| import os
 | |
| 
 | |
| sys.path.insert(0, os.path.dirname(os.path.abspath(__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")
 | |
| else:
 | |
|     import linux.utils
 | |
|     import linux.symbols
 | |
|     import linux.modules
 | |
|     import linux.dmesg
 | |
|     import linux.tasks
 | |
|     import linux.config
 | |
|     import linux.cpus
 | |
|     import linux.lists
 | |
|     import linux.rbtree
 | |
|     import linux.proc
 | |
|     import linux.constants
 | |
|     import linux.timerlist
 | |
|     import linux.clk
 | |
|     import linux.genpd
 | |
|     import linux.device
 |