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)