[PATCH 3/8] scripts/gdb/utils: add common type usage
Kuan-Ying Lee
Kuan-Ying.Lee at mediatek.com
Tue Jul 25 02:34:53 PDT 2023
Since we often use 'unsigned long', 'size_t', 'usigned int'
and 'struct page', we add these common types to utils.
Signed-off-by: Kuan-Ying Lee <Kuan-Ying.Lee at mediatek.com>
---
scripts/gdb/linux/utils.py | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/scripts/gdb/linux/utils.py b/scripts/gdb/linux/utils.py
index 9f44df13761e..7d5278d815fa 100644
--- a/scripts/gdb/linux/utils.py
+++ b/scripts/gdb/linux/utils.py
@@ -35,12 +35,32 @@ class CachedType:
long_type = CachedType("long")
+ulong_type = CachedType("unsigned long")
+uint_type = CachedType("unsigned int")
atomic_long_type = CachedType("atomic_long_t")
+size_t_type = CachedType("size_t")
+struct_page_type = CachedType("struct page")
+
+def get_uint_type():
+ global uint_type
+ return uint_type.get_type()
+
+def get_page_type():
+ global struct_page_type
+ return struct_page_type.get_type()
def get_long_type():
global long_type
return long_type.get_type()
+def get_ulong_type():
+ global ulong_type
+ return ulong_type.get_type()
+
+def get_size_t_type():
+ global size_t_type
+ return size_t_type.get_type()
+
def offset_of(typeobj, field):
element = gdb.Value(0).cast(typeobj)
return int(str(element[field].address).split()[0], 16)
--
2.18.0
More information about the linux-arm-kernel
mailing list