From e13987bf7240d149fd23b8b12be8f1e98b26d6fa Mon Sep 17 00:00:00 2001 From: Jonas Devlieghere Date: Tue, 2 Apr 2024 15:15:00 -0700 Subject: [PATCH] [dsymutil] Support generating dSYMs for firmware environments Support generating dSYM companion files for (non-Darwin) firmware environments by considering the binary component of the triple in addition to the OS component. rdar://125629792 --- llvm/test/tools/dsymutil/ARM/firmware.test | 11 +++++++++++ .../dsymutil/Inputs/private/tmp/firmware/test.o | Bin 0 -> 528 bytes .../Inputs/private/tmp/firmware/test.out | Bin 0 -> 16560 bytes llvm/tools/dsymutil/DwarfLinkerForBinary.cpp | 4 +++- 4 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 llvm/test/tools/dsymutil/ARM/firmware.test create mode 100644 llvm/test/tools/dsymutil/Inputs/private/tmp/firmware/test.o create mode 100755 llvm/test/tools/dsymutil/Inputs/private/tmp/firmware/test.out diff --git a/llvm/test/tools/dsymutil/ARM/firmware.test b/llvm/test/tools/dsymutil/ARM/firmware.test new file mode 100644 index 0000000000000..128faa50a0ca3 --- /dev/null +++ b/llvm/test/tools/dsymutil/ARM/firmware.test @@ -0,0 +1,11 @@ +$ cat test.c +int main() { + return 0; +} + +$ xcrun clang -O0 -target arm64-apple-unknown-macho test.c -c -o test.o +$ xcrun ld -arch arm64 -o test.out test.o -platform_version firmware 0 0 + +RUN: dsymutil -oso-prepend-path %p/../Inputs %p/../Inputs/private/tmp/firmware/test.out -o %t.dSYM +RUN: llvm-objdump -h %t.dSYM/Contents/Resources/DWARF/test.out | FileCheck %s +CHECK: file format mach-o arm64 diff --git a/llvm/test/tools/dsymutil/Inputs/private/tmp/firmware/test.o b/llvm/test/tools/dsymutil/Inputs/private/tmp/firmware/test.o new file mode 100644 index 0000000000000000000000000000000000000000..3bc83ca4bba59ae23c5e36f3bfca0e003f291fc2 GIT binary patch literal 528 zcmX^A>+L@t1_nk3AOI1}KpX&KC;%}KNCNQ-Fbg~30TnI)o4~*T+d}>B~T2W$dDnu0BJPD{`11Q}A zG!Nvr9Z++*85lC4QeX;X7f8xV+a6Z5CEwGVW1S)EFeWP`0vbc@d2~E z)_;D6oj~@)1I+Q)K!ylFO=7GHVqmP0V-(<#2ip&F!;}9I01F!i7d`4=4c(2aps$k~~9vZenI0LrzI3Y literal 0 HcmV?d00001 diff --git a/llvm/test/tools/dsymutil/Inputs/private/tmp/firmware/test.out b/llvm/test/tools/dsymutil/Inputs/private/tmp/firmware/test.out new file mode 100755 index 0000000000000000000000000000000000000000..21fe4d27ba2ee6bda3e3d5ba6e1e6e441808a244 GIT binary patch literal 16560 zcmeI3v1?ON6voeMDk#P_h!jOJZxZd2VjT(vePV+aMN8>WT`tkQl0XtmOfWh~7I*c3 zaB>khC!Jl?#o57CaJ7T+`|i7G^V-c(z60l-bMCqKaL@0)^?cs>`KM?W8Dt7N1N{Z( zxyA6zPC;)#om;zly?U>@eut}h@rUzE2O`#4!bayds+$}6v_GHZ*DS<`uuLt4v~#_5 z&~{(AK*Su-cX7RKyrSEg;a>%(!b-+A2Z)LpZ)_0Y%p`wc?9&2WfuuHIxZe?D!v zt!}NIW{Lgx`x5Fcgma9?y>aQNStF#p+2em}_4du`%IcV15*`iKOR#T4NT!qTa>;C1 zVlKfuz$}J%2{G@&o=!ry5z~JG8^hv0wg#OP=BfW8{J&x-{yD4kA9X9O=KV_jNvn>S zavI8eG++IGeR+HN(>wR3Jly%vx`?$HdJLL%Hs$;C?4rBV^H}x$`MlYA^v61U|4BKA zfcqMW*getAsmPrinter().OutStreamer, OutFile,