From 0110cae147d8b1749b4bd5763620ec73d5296a76 Mon Sep 17 00:00:00 2001 From: "Luke T. Shumaker" Date: Sat, 1 Mar 2025 17:32:47 -0700 Subject: stack.c.gen: Organize intrhandlers --- build-aux/stack.c.gen | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) (limited to 'build-aux') 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(), -- cgit v1.2.3-2-g168b