From 8bec65ba723c9c628d934ec02021d5ce09c01105 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Wed, 30 Sep 2026 13:10:21 +0200 Subject: chore: clean up python scripts --- scripts/gdb/teachos.py | 15 +++++++++++++-- scripts/gdb/teachos/dump_mb2i.py | 16 +++++++++------- scripts/gdb/toolchain.py | 14 +++++++++----- 3 files changed, 31 insertions(+), 14 deletions(-) (limited to 'scripts/gdb') diff --git a/scripts/gdb/teachos.py b/scripts/gdb/teachos.py index 355f6b97..616a9c50 100644 --- a/scripts/gdb/teachos.py +++ b/scripts/gdb/teachos.py @@ -1,6 +1,6 @@ import sys import os -import gdb +import gdb # pyright: ignore[reportMissingModuleSource] import importlib.util script_path = os.path.abspath(__file__) @@ -24,9 +24,20 @@ for component, path in components.items(): if os.path.isfile(init_file): try: spec = importlib.util.spec_from_file_location(component, init_file) + + if spec is None: + gdb.write(f"Warning: Could not create spec for '{component}' from '{init_file}'\n") + continue + module = importlib.util.module_from_spec(spec) sys.modules[component] = module - spec.loader.exec_module(module) + + loader = spec.loader + if loader is None: + gdb.write(f"Warning: No loader found for '{component}' from '{init_file}'\n") + continue + + loader.exec_module(module) if hasattr(module, "register_printers"): module.register_printers(gdb.current_objfile()) diff --git a/scripts/gdb/teachos/dump_mb2i.py b/scripts/gdb/teachos/dump_mb2i.py index 0657ebde..518e696f 100644 --- a/scripts/gdb/teachos/dump_mb2i.py +++ b/scripts/gdb/teachos/dump_mb2i.py @@ -1,7 +1,8 @@ -import gdb -import struct from enum import IntEnum from teachos import format_size +from typing import override +import gdb # pyright: ignore[reportMissingModuleSource] +import struct class TagType(IntEnum): @@ -97,15 +98,16 @@ class DumpMB2I(gdb.Command): def __init__(self): super(DumpMB2I, self).__init__("dump_mb2i", gdb.COMMAND_USER) - def invoke(self, arg, from_tty): - if not arg: + @override + def invoke(self, argument, from_tty): + if not argument: gdb.write( "Error: please provide the address of the Multiboot2 information structure.\n" ) return try: - address = int(gdb.parse_and_eval(arg)) + address = int(gdb.parse_and_eval(argument)) except gdb.error as e: gdb.write(f"Error: Invalid address expression: {e}\n") return @@ -215,7 +217,7 @@ class DumpMB2I(gdb.Command): for i in range(num_entries): entry_offset = 8 + i * entry_size base, length, memory_type = struct.unpack_from("