mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-10-30 05:42:46 +01:00
scripts/gdb: fix parameter handling in $lx_per_cpu
Before, the script tried to get the address by constructing a pointer to
the parameter (by name). However, since GDB now passes the parameter as a
GdbValue, we cannot get its name. Instead, we retrieve the address
through GdbValue's address attribute.
Before:
>>> p $lx_per_cpu(cpu_info)
Traceback (most recent call last):
File "./scripts/gdb/linux/cpus.py", line 152, in invoke
var_ptr = gdb.parse_and_eval("&" + var_name.string())
^^^^^^^^^^^^^^^^^
gdb.error: Trying to read string with inappropriate type `struct cpuinfo_x86'.
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Florian Rommel <[email protected]>
Cc: Andrew Jones <[email protected]>
Cc: Deepak Gupta <[email protected]>
Cc: Jan Kiszka <[email protected]>
Cc: Kieran Bingham <[email protected]>
Cc: Kuan-Ying Lee <[email protected]>
Cc: Palmer Dabbelt <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
This commit is contained in:
1 parent
ec0b6d17a5
commit
db08c53fdd
1 file changed
+2
-3
@@ -152,9 +152,8 @@ Note that VAR has to be quoted as string."""
|
||||
def __init__(self):
|
||||
super(PerCpu, self).__init__("lx_per_cpu")
|
||||
|
||||
def invoke(self, var_name, cpu=-1):
|
||||
var_ptr = gdb.parse_and_eval("&" + var_name.string())
|
||||
return per_cpu(var_ptr, cpu)
|
||||
def invoke(self, var, cpu=-1):
|
||||
return per_cpu(var.address, cpu)
|
||||
|
||||
|
||||
PerCpu()
|
||||
|
||||
Reference in new issue
Block a user