aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/gdb')
-rw-r--r--scripts/gdb/linux/cpus.py5
-rw-r--r--scripts/gdb/linux/dmesg.py3
-rw-r--r--scripts/gdb/linux/modules.py9
-rw-r--r--scripts/gdb/linux/symbols.py4
-rw-r--r--scripts/gdb/linux/tasks.py4
-rw-r--r--scripts/gdb/linux/utils.py2
6 files changed, 18 insertions, 9 deletions
diff --git a/scripts/gdb/linux/cpus.py b/scripts/gdb/linux/cpus.py
index c1441f23c0c2..8045871e2840 100644
--- a/scripts/gdb/linux/cpus.py
+++ b/scripts/gdb/linux/cpus.py
@@ -82,7 +82,7 @@ class CpuList():
82 def __iter__(self): 82 def __iter__(self):
83 return self 83 return self
84 84
85 def next(self): 85 def __next__(self):
86 while self.bits == 0: 86 while self.bits == 0:
87 self.entry += 1 87 self.entry += 1
88 if self.entry == self.num_entries: 88 if self.entry == self.num_entries:
@@ -103,6 +103,9 @@ class CpuList():
103 103
104 return cpu 104 return cpu
105 105
106 def next(self):
107 return self.__next__()
108
106 109
107class PerCpu(gdb.Function): 110class PerCpu(gdb.Function):
108 """Return per-cpu variable. 111 """Return per-cpu variable.
diff --git a/scripts/gdb/linux/dmesg.py b/scripts/gdb/linux/dmesg.py
index 7650f240ebcc..3c947f0c5dad 100644
--- a/scripts/gdb/linux/dmesg.py
+++ b/scripts/gdb/linux/dmesg.py
@@ -51,9 +51,10 @@ class LxDmesg(gdb.Command):
51 continue 51 continue
52 52
53 text_len = utils.read_u16(log_buf[pos + 10:pos + 12]) 53 text_len = utils.read_u16(log_buf[pos + 10:pos + 12])
54 text = log_buf[pos + 16:pos + 16 + text_len]
54 time_stamp = utils.read_u64(log_buf[pos:pos + 8]) 55 time_stamp = utils.read_u64(log_buf[pos:pos + 8])
55 56
56 for line in log_buf[pos + 16:pos + 16 + text_len].splitlines(): 57 for line in memoryview(text).tobytes().splitlines():
57 gdb.write("[{time:12.6f}] {line}\n".format( 58 gdb.write("[{time:12.6f}] {line}\n".format(
58 time=time_stamp / 1000000000.0, 59 time=time_stamp / 1000000000.0,
59 line=line)) 60 line=line))
diff --git a/scripts/gdb/linux/modules.py b/scripts/gdb/linux/modules.py
index e7c99e9c9620..2dbf6796ce4f 100644
--- a/scripts/gdb/linux/modules.py
+++ b/scripts/gdb/linux/modules.py
@@ -30,7 +30,7 @@ class ModuleList:
30 def __iter__(self): 30 def __iter__(self):
31 return self 31 return self
32 32
33 def next(self): 33 def __next__(self):
34 entry = self.curr_entry 34 entry = self.curr_entry
35 if entry != self.end_of_list: 35 if entry != self.end_of_list:
36 self.curr_entry = entry['next'] 36 self.curr_entry = entry['next']
@@ -38,6 +38,9 @@ class ModuleList:
38 else: 38 else:
39 raise StopIteration 39 raise StopIteration
40 40
41 def next(self):
42 return self.__next__()
43
41 44
42def find_module_by_name(name): 45def find_module_by_name(name):
43 for module in ModuleList(): 46 for module in ModuleList():
@@ -91,8 +94,8 @@ class LxLsmod(gdb.Command):
91 gdb.write("{address} {name:<19} {size:>8} {ref}".format( 94 gdb.write("{address} {name:<19} {size:>8} {ref}".format(
92 address=str(module['module_core']).split()[0], 95 address=str(module['module_core']).split()[0],
93 name=module['name'].string(), 96 name=module['name'].string(),
94 size=module['core_size'], 97 size=str(module['core_size']),
95 ref=ref)) 98 ref=str(ref)))
96 99
97 source_list = module['source_list'] 100 source_list = module['source_list']
98 t = self._module_use_type.get_type().pointer() 101 t = self._module_use_type.get_type().pointer()
diff --git a/scripts/gdb/linux/symbols.py b/scripts/gdb/linux/symbols.py
index 139841fa7f70..ae757fdf5ce6 100644
--- a/scripts/gdb/linux/symbols.py
+++ b/scripts/gdb/linux/symbols.py
@@ -73,7 +73,7 @@ lx-symbols command."""
73 73
74 def _get_module_file(self, module_name): 74 def _get_module_file(self, module_name):
75 module_pattern = ".*/{0}\.ko$".format( 75 module_pattern = ".*/{0}\.ko$".format(
76 string.replace(module_name, "_", r"[_\-]")) 76 module_name.replace("_", r"[_\-]"))
77 for name in self.module_files: 77 for name in self.module_files:
78 if re.match(module_pattern, name) and os.path.exists(name): 78 if re.match(module_pattern, name) and os.path.exists(name):
79 return name 79 return name
@@ -87,7 +87,7 @@ lx-symbols command."""
87 attrs = sect_attrs['attrs'] 87 attrs = sect_attrs['attrs']
88 section_name_to_address = { 88 section_name_to_address = {
89 attrs[n]['name'].string() : attrs[n]['address'] 89 attrs[n]['name'].string() : attrs[n]['address']
90 for n in range(sect_attrs['nsections'])} 90 for n in range(int(sect_attrs['nsections']))}
91 args = [] 91 args = []
92 for section_name in [".data", ".data..read_mostly", ".rodata", ".bss"]: 92 for section_name in [".data", ".data..read_mostly", ".rodata", ".bss"]:
93 address = section_name_to_address.get(section_name) 93 address = section_name_to_address.get(section_name)
diff --git a/scripts/gdb/linux/tasks.py b/scripts/gdb/linux/tasks.py
index 63cd6c517e6d..0008e75f1c4f 100644
--- a/scripts/gdb/linux/tasks.py
+++ b/scripts/gdb/linux/tasks.py
@@ -30,7 +30,7 @@ class TaskList:
30 def __iter__(self): 30 def __iter__(self):
31 return self 31 return self
32 32
33 def next(self): 33 def __next__(self):
34 t = self.curr_task 34 t = self.curr_task
35 if not t or t == self.curr_group: 35 if not t or t == self.curr_group:
36 self.curr_group = \ 36 self.curr_group = \
@@ -45,6 +45,8 @@ class TaskList:
45 self.task_ptr_type, "thread_group") 45 self.task_ptr_type, "thread_group")
46 return t 46 return t
47 47
48 def next(self):
49 return self.__next__()
48 50
49def get_task_by_pid(pid): 51def get_task_by_pid(pid):
50 for task in TaskList(): 52 for task in TaskList():
diff --git a/scripts/gdb/linux/utils.py b/scripts/gdb/linux/utils.py
index a4a16403dc56..128c306db3ee 100644
--- a/scripts/gdb/linux/utils.py
+++ b/scripts/gdb/linux/utils.py
@@ -83,7 +83,7 @@ def get_target_endianness():
83 elif "big endian" in endian: 83 elif "big endian" in endian:
84 target_endianness = BIG_ENDIAN 84 target_endianness = BIG_ENDIAN
85 else: 85 else:
86 raise gdb.GdgError("unknown endianness '{0}'".format(endian)) 86 raise gdb.GdgError("unknown endianness '{0}'".format(str(endian)))
87 return target_endianness 87 return target_endianness
88 88
89 89