From 6fda20ec9c94197b3291fe86e177378007d9bbdc Mon Sep 17 00:00:00 2001 From: Nikita Smith Date: Thu, 24 Jul 2025 17:44:02 -0700 Subject: [PATCH] helper script for extracting obj paths out of pdb --- src/linker/scripts/obj_paths_from_pdb.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/linker/scripts/obj_paths_from_pdb.py diff --git a/src/linker/scripts/obj_paths_from_pdb.py b/src/linker/scripts/obj_paths_from_pdb.py new file mode 100644 index 00000000..da7d2ab3 --- /dev/null +++ b/src/linker/scripts/obj_paths_from_pdb.py @@ -0,0 +1,16 @@ +import subprocess +import sys +import os + +def get_sorted_objs(pdb_path): + result = subprocess.run(["llvm-pdbutil", "dump", "--modules", pdb_path], stdout=subprocess.PIPE, text=True) + lines = result.stdout.strip().split('\n') + filtered_lines = [line for line in lines if line.startswith("Mod ")] + # sort by the obj_path portion (line format: "Mod ") + def extract_path(line): return line.split(maxsplit=2)[2].lower() + sorted_lines = sorted(filtered_lines, key=extract_path) + return sorted_lines + +if __name__ == "__main__": + sorted_objs = get_sorted_objs(sys.argv[1]) + for l in sorted_objs: print(l)