aboutsummaryrefslogtreecommitdiff
path: root/scripts/gdb/kstd/smart_pointers.py
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-05-04 08:20:42 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-05-04 08:20:42 +0200
commit1246e00478fb5ab2a357de17066fd8738395d9f1 (patch)
tree940aee5a7fbd2f980aaf233c8837220fbe8ab4ae /scripts/gdb/kstd/smart_pointers.py
parent3ab0a15fb6aba0ad9516da69589b9da8dbd63a8e (diff)
downloadkernel-1246e00478fb5ab2a357de17066fd8738395d9f1.tar.xz
kernel-1246e00478fb5ab2a357de17066fd8738395d9f1.zip
debug: split gdb modules
Diffstat (limited to 'scripts/gdb/kstd/smart_pointers.py')
-rw-r--r--scripts/gdb/kstd/smart_pointers.py50
1 files changed, 0 insertions, 50 deletions
diff --git a/scripts/gdb/kstd/smart_pointers.py b/scripts/gdb/kstd/smart_pointers.py
deleted file mode 100644
index 6e4a4f9..0000000
--- a/scripts/gdb/kstd/smart_pointers.py
+++ /dev/null
@@ -1,50 +0,0 @@
-import gdb
-
-
-class KstdUniquePtrPrinter:
-
- def __init__(self, val):
- self.val = val
- self.type = val.type.template_argument(0)
-
- def to_string(self):
- pointer = self.val["pointer"]
- if int(pointer) == 0:
- return f"kstd::unique_ptr<{self.type}> (empty)"
- return f"kstd::unique_ptr<{self.type}>"
-
- def children(self):
- pointer = self.val["pointer"]
- if int(pointer) != 0:
- yield ("get()", pointer)
- yield ("*get()", pointer.dereference())
-
-
-class KstdSharedPtrPrinter:
-
- def __init__(self, val):
- self.val = val
- self.type = val.type.template_argument(0)
-
- def to_string(self):
- pointer = self.val["pointer"]
- control_block = self.val["control"]
-
- if int(pointer) == 0 or int(control_block) == 0:
- return f"kstd::shared_ptr<{self.type}> (empty)"
-
- strong_refs = int(control_block["shared_count"]["_M_i"])
- weak_refs = int(control_block["weak_count"]["_M_i"])
-
- return f"kstd::shared_ptr<{self.type}> (use_count={strong_refs}, weak_count={weak_refs})"
-
- def children(self):
- pointer = self.val["pointer"]
- control_block = self.val["control"]
-
- if int(pointer) != 0:
- yield ("get()", pointer)
- yield ("*get()", pointer.dereference())
-
- if int(control_block) != 0:
- yield ("[control_block]", control_block.dereference())