diff options
Diffstat (limited to 'build-aux')
-rwxr-xr-x | build-aux/embed-sources.h.gen | 2 | ||||
-rwxr-xr-x | build-aux/stack.c.gen | 2 | ||||
-rw-r--r-- | build-aux/stack.py | 12 | ||||
-rwxr-xr-x | build-aux/stack.sh | 5 |
4 files changed, 17 insertions, 4 deletions
diff --git a/build-aux/embed-sources.h.gen b/build-aux/embed-sources.h.gen index 0ba6457..d473094 100755 --- a/build-aux/embed-sources.h.gen +++ b/build-aux/embed-sources.h.gen @@ -1,5 +1,5 @@ #!/bin/sh -# embed-sources.h.gen - Generate C definitions for GNU `ld -r -b binary` files +# build-aux/embed-sources.h.gen - Generate C definitions for GNU `ld -r -b binary` files # # Copyright (C) 2024 Luke T. Shumaker <lukeshu@lukeshu.com> # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/build-aux/stack.c.gen b/build-aux/stack.c.gen index 9325791..0844ab5 100755 --- a/build-aux/stack.c.gen +++ b/build-aux/stack.c.gen @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# stack.c.gen - Analyze stack sizes for compiled objects +# build-aux/stack.c.gen - Analyze stack sizes for compiled objects # # Copyright (C) 2024 Luke T. Shumaker <lukeshu@lukeshu.com> # SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/build-aux/stack.py b/build-aux/stack.py index c1e36d3..752cefb 100644 --- a/build-aux/stack.py +++ b/build-aux/stack.py @@ -1,4 +1,9 @@ #!/usr/bin/env python3 +# build-aux/stack.py - Analyze stack sizes for compiled objects +# +# Copyright (C) 2024 Luke T. Shumaker <lukeshu@lukeshu.com> +# SPDX-License-Identifier: AGPL-3.0-or-later + import re import sys import typing @@ -96,6 +101,7 @@ class Node: # edges with .sourcename set to this node calls: set[str] + def main() -> None: re_label = re.compile( r"(?P<funcname>[^\n]+)\n" @@ -161,6 +167,7 @@ def main() -> None: # x missing: set[str] = set() + def nstatic(funcname: str) -> int: if funcname not in graph: missing.add(funcname) @@ -169,16 +176,17 @@ def main() -> None: return node.nstatic + max([0, *[nstatic(call) for call in node.calls]]) namelen = max(len(name) for name in graph if name.endswith("_cr")) - print(("="*namelen)+" =======") + print(("=" * namelen) + " =======") for funcname in graph: if funcname.endswith("_cr"): print(f"{funcname}\t{nstatic(funcname)}") - print(("="*namelen)+" =======") + print(("=" * namelen) + " =======") for funcname in sorted(missing): print(f"{funcname}\tmissing") + if __name__ == "__main__": main() diff --git a/build-aux/stack.sh b/build-aux/stack.sh index 4a8a12e..4626813 100755 --- a/build-aux/stack.sh +++ b/build-aux/stack.sh @@ -1,2 +1,7 @@ #!/bin/sh +# build-aux/stack.sh - Analyze stack sizes for compiled objects +# +# Copyright (C) 2024 Luke T. Shumaker <lukeshu@lukeshu.com> +# SPDX-License-Identifier: AGPL-3.0-or-later + make >&2 && find build -name '*.ci' -exec cat -- {} + | python ./stack.py |