From 4531f5385125dd6448004a16cd80a94484ca68b7 Mon Sep 17 00:00:00 2001 From: Zhang Qing Shan Date: Sat, 10 Sep 2022 08:05:20 +0800 Subject: [PATCH] [llvm-dwp] Get the DWO file from relative path if the absolute path is not valid Extend the llvm-dwp to support searching the DWOs that from relative path for the case that build from remote building system(different comp_dir). Reviewd By: dblaikie Differential Revision: https://reviews.llvm.org/D133480 --- llvm/test/tools/llvm-dwp/Inputs/search_dwos/a.dwo | Bin 0 -> 840 bytes llvm/test/tools/llvm-dwp/Inputs/search_dwos/b.dwo | Bin 0 -> 768 bytes llvm/test/tools/llvm-dwp/Inputs/search_dwos/main | Bin 0 -> 7464 bytes llvm/test/tools/llvm-dwp/X86/search_dwos.test | 22 ++++++++++++++++++++++ llvm/tools/llvm-dwp/llvm-dwp.cpp | 5 ++++- 5 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 llvm/test/tools/llvm-dwp/Inputs/search_dwos/a.dwo create mode 100644 llvm/test/tools/llvm-dwp/Inputs/search_dwos/b.dwo create mode 100755 llvm/test/tools/llvm-dwp/Inputs/search_dwos/main create mode 100644 llvm/test/tools/llvm-dwp/X86/search_dwos.test diff --git a/llvm/test/tools/llvm-dwp/Inputs/search_dwos/a.dwo b/llvm/test/tools/llvm-dwp/Inputs/search_dwos/a.dwo new file mode 100644 index 0000000000000000000000000000000000000000..56c6f413691b1b9c26a57b823a156889c68b25f0 GIT binary patch literal 840 zcmbu7%}T>S5XWbmvqX%ea}o_b>Q0?C4Bc&PyY{B%7#?E|-PzdGb%P;e25q=?+R*7TP|fM}FuFHkey<9~ zanuB=ib_!rC<7&JSSkpmjVq;I)R}N+Xq+ibANiDX|yPuErgx?|WtYFMo9bk|H z9xT2;i4gPRe6iPtY#>_Sc`++O%!_jc-W{?*!Lt2}7g=9iqvx}lvw`TF=kQE~L+>yB E22s#xh5!Hn literal 0 HcmV?d00001 diff --git a/llvm/test/tools/llvm-dwp/Inputs/search_dwos/b.dwo b/llvm/test/tools/llvm-dwp/Inputs/search_dwos/b.dwo new file mode 100644 index 0000000000000000000000000000000000000000..c72acbdcfb41a061f015f91b2d5362650dd64240 GIT binary patch literal 768 zcmbu6Jxjwt7{~9@T7^!v4mt=?P*m)hSQ2Z67z!1HI=FOjDY@hlDm5udj1+{%fZxVJ zcUM1zU&K|P#DpHf&4cIV|9f6?;pY9pg@7?C4n`VUsDdICb5PH)j%v_3x{+ywC>jig zSH$xj(VQ5rBSy>*#-1z6GLeWZ?m6R7H$96HIt!VVHg;VPn~KetX>^X;vaB#*OfghTGE~{vN0gY;DR}F_%dS%czXCP`n}cnGRl$H_ zVGC8N?^l~n|K;mZfO{i^hX})O;|AVIwB}MJ(O!Fr_SRcQNFb>3q^;KUbvMzV(5;`< z&o|Od#A5W`85xxNEXux|lOXg*o^1y#3`&@nW7qb6HS~uDO;`T+T*89NA4?AN_qs0C zxM$2N2jEjC!4qd7cX}S5c?fwiU&Q8u#eC~WF4lMmc`;Yu(*=tQmd4Lq?D7!u@_edu P7W1v&xoGha^78x-s&-$1 literal 0 HcmV?d00001 diff --git a/llvm/test/tools/llvm-dwp/Inputs/search_dwos/main b/llvm/test/tools/llvm-dwp/Inputs/search_dwos/main new file mode 100755 index 0000000000000000000000000000000000000000..f39d615bc24b133b03d3216d41724dcb4d151a5c GIT binary patch literal 7464 zcmcIoZ)_CD6`wuZ*g!bj5HNv8Y}=$Ub#8rUuyJTfd}kYHX8) z9q3bZ33BBMLc}Gthb_S4S zI-4Ox7kdBTfNolOD`^)TD?d2UoyumcK_i~BT-}lytQ2RYL-fV^Bi(wN)~2-!KnsqU zXlZd(P)sl6k_qqvOCk1gbh9e6xVE?-2;|Ceo>#;b9LJ4SU+987zA~vsAr63i9pnj+ z2VfF^fH=rmkk5g<4DtlXYG~jp$Qa0b0mGy`yH_Y<4a&xQYU`$z+6KgN52}OuTF`*f z()MmWY+vp_Vq4*V8tRenP1xUX+}FKoSr{4u9QA|nKMDGJkb?D(m-G(6(-rtVp!*j5 zCqO?8Qbha>-|+SN*S}iT>sP0$d;QHPYNGz&@nune=h50ef7fAuXV@PM`ODn$LJF7cMMfAN|W z=Wkajg4^Q3-!w5Y%1~2yh z=u`mZzS!m~(W6)E=C%Ppdj3|GvoZ8u{U#Bc{5UpwvuE;e;rV;tj~<;-qL2Ks_~+=+ z*}5+ehYy5@!w17Ucr0d+2K?yPYuC-B`fro`==OXT zv!_U3P53O8@1ydihg6x{NM-hm_e?&w@qNR@`g`1>I78#Lipm$Le0|<+e~j9@P32=$ zhJ_{lTk4&msyg|Q`LTf5@Bpt}*vxlvOqk)au8MHduLuSV|Grnac(LQ2X38S-ZODNQC0cN!u9cIwz z2pOBjLNke!kx8mYtbD=FX8w;2_H}n}SDSmRxNT(APHl@840LREGq6Y-MMKj@|Cz{r zrz8G1BDIam>SaHTG{G2E);tVacX8Coxxj^oi!F9>?v<8rp6*gz>)}E&B_&z*N8W3{43t^!FjKAeo_^(HLikZLslWV zuBOrx9jO+7pZDr<-ocCw8e-bhZ?3O2~e)I#= z2>cb%D0ttJAUvkvkL~jQ&iHpBqrlCT_d&*giKFXVD<(Ytp9O=Z`ukP|ywdp0%63r|?1QVanFAmZ8aDP9I8DG;K(4WO36%7ix+JO=4?}F=6I$so)#LSbl@y1=y|s| zY7|C==01_*0G_u}unUi8AeY5mP-xbuK9V=mmOg5No=ZY=tT6|jvf()b!hPySK5vY> zIOm}{BW)+3(Ja`ywK{1%fgzCY$QTG!S}q0Zc%dLP*ca0l?9ZCqCUqko&s#^hWM@XQ zoR>b6k%|7fdFZ*GE5@N&3u;@0!ETNi9FwvYBV%e109$P3=3)52FQFAip#eANN|DGr z1*Zsi+ysPp5XR}T{(XbGE=sYT&Rr`A4(iGvT{p9OGL?-RDcy9k`GRf~#{`}ODGRS0 z+qSf|L(NMV={U&lkm@it`ElV+i&;#k$AMB-(s5Q6nYyQdyOHbq&b{G*UcGl$4>(St zYobt;4G7&#>97d03B$24e0A)Ep0goJmBDSfxtw}=0O6FfzAv^r5{~J+ckbNRJE#wa zBe7l#e|Ll4v@?3KV3}OWqHwvq4o~bX8zS%In3L!KRZI+81Xq?;da@MC0=?kX5cc%4abPDf*uo&6SmLwAckod{BM@=ISx8Sd>()1vHy|` zk0JPDjK%HGR;f^eZz9C!xQ+Q#F>_d6Ndkogee2yEZsUdIs z>_3k`-U+cz_*^3spNr>+&;F8nVf+}!`9(gr&)+xsyJrs*NivV&$qO&UJYC z-vna}q+{!TtY2y6!?GBKaa??9%U&-XR{zJE9VuRVN@BVJ~QxgnC?_CL4_pWhR% z#>@W`C=lcRbDVLK+Na@Ty6o#h0Ww$Nk2b+_5c15w<-xf=mLGwh^W~=Bqm2_|-16kL z#m|dg4DBxx|4=y@@?P6|;(PrM(T6DbmbNG{pXCPPFEWBcg!ta^XCB*st^)sQ;(w71 zNqYI)EAU? DWOPath(std::move(DWOName)); sys::fs::make_absolute(DWOCompDir, DWOPath); - DWOPaths.emplace_back(DWOPath.data(), DWOPath.size()); + if (!sys::fs::exists(DWOPath) && sys::fs::exists(DWOName)) + DWOPaths.push_back(std::move(DWOName)); + else + DWOPaths.emplace_back(DWOPath.data(), DWOPath.size()); } else { DWOPaths.push_back(std::move(DWOName)); } -- 2.7.4