[llvm] [llvm-dwp] Add a new flag `--exec-dwo-path-remapping-file=<filename>`. (PR #157587)
Michael Park via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 10 00:02:47 PDT 2025
================
@@ -0,0 +1,116 @@
+RUN: rm -rf %t
+RUN: mkdir %t
+RUN: cd %t
+
+RUN: cp %p/../Inputs/dwos_list_from_exec/main main
+RUN: cp %p/../Inputs/dwos_list_from_exec/libd.so libd.so
+
+RUN: touch remapping.txt
+RUN: echo "./a.dwo %p/../Inputs/dwos_list_from_exec/a.dwo" >> remapping.txt
+RUN: echo "./b.dwo %p/../Inputs/dwos_list_from_exec/b.dwo" >> remapping.txt
+RUN: echo "./d.dwo %p/../Inputs/dwos_list_from_exec/d.dwo" >> remapping.txt
+RUN: llvm-dwp %p/../Inputs/dwos_list_from_exec/c.dwo %p/../Inputs/dwos_list_from_exec/e.dwo \
+RUN: -e main -e libd.so --exec-dwo-path-remapping-file=remapping.txt -o - | llvm-dwarfdump -v - | FileCheck %s
+
+RUN: touch remapping_main.txt
+RUN: echo "./a.dwo %p/../Inputs/dwos_list_from_exec/a.dwo" >> remapping_main.txt
+RUN: echo "./b.dwo %p/../Inputs/dwos_list_from_exec/b.dwo" >> remapping_main.txt
+RUN: echo "./d.dwo %p/../Inputs/dwos_list_from_exec/d.dwo" > remapping_libd.txt
+RUN: llvm-dwp %p/../Inputs/dwos_list_from_exec/c.dwo %p/../Inputs/dwos_list_from_exec/e.dwo \
+RUN: -e main -e libd.so \
+RUN: --exec-dwo-path-remapping-file=remapping_main.txt \
+RUN: --exec-dwo-path-remapping-file=remapping_libd.txt \
+RUN: -o - | llvm-dwarfdump -v - | FileCheck %s
+
+RUN: mkdir foo && cp %p/../Inputs/dwos_list_from_exec/a.dwo foo/a.dwo
+RUN: mkdir bar && cp %p/../Inputs/dwos_list_from_exec/b.dwo bar/b.dwo
+RUN: mkdir qux && cp %p/../Inputs/dwos_list_from_exec/d.dwo qux/d.dwo
+RUN: touch remapping_relative.txt
+RUN: echo "a.dwo foo/a.dwo" >> remapping_relative.txt
+RUN: echo "b.dwo bar/b.dwo" >> remapping_relative.txt
+RUN: echo "d.dwo qux/d.dwo" >> remapping_relative.txt
+RUN: llvm-dwp %p/../Inputs/dwos_list_from_exec/c.dwo %p/../Inputs/dwos_list_from_exec/e.dwo \
+RUN: -e main -e libd.so --exec-dwo-path-remapping-file=remapping_relative.txt -o - | llvm-dwarfdump -v - | FileCheck %s
+
+Build commands for the test binaries:
+
+clang++ -Xclang -fdebug-compilation-dir -Xclang "./" -g -O0 -gsplit-dwarf a.cpp b.cpp -o main
----------------
mpark wrote:
I'm basically willing to do whatever here, but I'm not sure just adding `-gdwarf-5` here. This test is largely copied from the existing [`dwos_list_from_exec_simple.test`](https://github.com/llvm/llvm-project/blob/253d18d032bb17ced8a26d72623b6ade5933f6f3/llvm/test/tools/llvm-dwp/X86/dwos_list_from_exec_simple.test#L4), which has these binaries checked into the repo under `Inputs/dwos_list_from_exec`. The binaries were definitely built to DWARF-4 spec. I could specify `-gdwarf-5` in both and update the checked in binaries or, alternatively I could specify `-gdwarf-4` in these tests to pin the version. Do you have a preferred approach?
https://github.com/llvm/llvm-project/pull/157587
More information about the llvm-commits
mailing list