summaryrefslogtreecommitdiff
path: root/build-aux
diff options
context:
space:
mode:
authorLuke T. Shumaker <lukeshu@lukeshu.com>2025-03-01 17:32:47 -0700
committerLuke T. Shumaker <lukeshu@lukeshu.com>2025-03-02 13:30:55 -0700
commit0110cae147d8b1749b4bd5763620ec73d5296a76 (patch)
tree026cd33505566970aec8cd3dc1363b8245a921ec /build-aux
parent255baf6db201dcdf8da017d55c577622f217a888 (diff)
stack.c.gen: Organize intrhandlers
Diffstat (limited to 'build-aux')
-rwxr-xr-xbuild-aux/stack.c.gen30
1 files changed, 23 insertions, 7 deletions
diff --git a/build-aux/stack.c.gen b/build-aux/stack.c.gen
index edc7bae..c73a8bb 100755
--- a/build-aux/stack.c.gen
+++ b/build-aux/stack.c.gen
@@ -406,12 +406,7 @@ class PluginApplication:
class AppPlugin:
def is_intrhandler(self, name: str) -> bool:
- return name in [
- "rp2040_hwtimer_intrhandler",
- "_cr_gdb_intrhandler",
- "hostclock_handle_sig_alarm",
- "hostnet_handle_sig_io",
- ]
+ return False
def extra_nodes(self) -> typing.Collection[Node]:
return []
@@ -505,7 +500,11 @@ class LibHWPlugin:
self.pico_platform = arg_pico_platform
def is_intrhandler(self, name: str) -> bool:
- return False
+ return name in [
+ "rp2040_hwtimer_intrhandler",
+ "hostclock_handle_sig_alarm",
+ "hostnet_handle_sig_io",
+ ]
def extra_nodes(self) -> typing.Collection[Node]:
return []
@@ -529,6 +528,22 @@ class LibHWPlugin:
return False
+class LibCRPlugin:
+ def is_intrhandler(self, name: str) -> bool:
+ return name in [
+ "_cr_gdb_intrhandler",
+ ]
+
+ def extra_nodes(self) -> typing.Collection[Node]:
+ return []
+
+ def indirect_callees(self, loc: str, line: str) -> tuple[list[str], bool] | None:
+ return None
+
+ def skip_call(self, chain: list[str], call: str) -> bool:
+ return False
+
+
class LibCRIPCPlugin:
def is_intrhandler(self, name: str) -> bool:
return False
@@ -1139,6 +1154,7 @@ def main(
AppPlugin(),
LibObjPlugin(arg_c_fnames),
LibHWPlugin(arg_pico_platform),
+ LibCRPlugin(),
LibCRIPCPlugin(),
lib9p_plugin,
LibMiscPlugin(),