From d8519f4a7db902d0199206f554e442d0e30fed35 Mon Sep 17 00:00:00 2001 From: Michal Gorny Date: Mon, 1 Apr 2019 15:08:24 +0000 Subject: [PATCH] [lldb] [Process/elf-core] Support aarch64 NetBSD core dumps Include support for NetBSD core dumps from evbarm/aarch64 system, and matching test cases for them. Based on earlier work by Kamil Rytarowski. Differential Revision: https://reviews.llvm.org/D60034 llvm-svn: 357399 --- .../postmortem/netbsd-core/1lwp_SIGSEGV.aarch64 | Bin 0 -> 9088 bytes .../netbsd-core/1lwp_SIGSEGV.aarch64.core | Bin 0 -> 225728 bytes .../netbsd-core/2lwp_process_SIGSEGV.aarch64 | Bin 0 -> 13192 bytes .../netbsd-core/2lwp_process_SIGSEGV.aarch64.core | Bin 0 -> 246936 bytes .../postmortem/netbsd-core/2lwp_t2_SIGSEGV.aarch64 | Bin 0 -> 11848 bytes .../netbsd-core/2lwp_t2_SIGSEGV.aarch64.core | Bin 0 -> 251904 bytes .../postmortem/netbsd-core/TestNetBSDCore.py | 15 ++++++++++++ .../Plugins/Process/elf-core/ProcessElfCore.cpp | 26 +++++++++++++++++++++ .../Plugins/Process/elf-core/RegisterUtilities.h | 5 ++++ .../Plugins/Process/elf-core/ThreadElfCore.cpp | 3 +++ 10 files changed, 49 insertions(+) create mode 100755 lldb/packages/Python/lldbsuite/test/functionalities/postmortem/netbsd-core/1lwp_SIGSEGV.aarch64 create mode 100644 lldb/packages/Python/lldbsuite/test/functionalities/postmortem/netbsd-core/1lwp_SIGSEGV.aarch64.core create mode 100755 lldb/packages/Python/lldbsuite/test/functionalities/postmortem/netbsd-core/2lwp_process_SIGSEGV.aarch64 create mode 100644 lldb/packages/Python/lldbsuite/test/functionalities/postmortem/netbsd-core/2lwp_process_SIGSEGV.aarch64.core create mode 100755 lldb/packages/Python/lldbsuite/test/functionalities/postmortem/netbsd-core/2lwp_t2_SIGSEGV.aarch64 create mode 100644 lldb/packages/Python/lldbsuite/test/functionalities/postmortem/netbsd-core/2lwp_t2_SIGSEGV.aarch64.core diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/netbsd-core/1lwp_SIGSEGV.aarch64 b/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/netbsd-core/1lwp_SIGSEGV.aarch64 new file mode 100755 index 0000000000000000000000000000000000000000..de0208c756d45ccc4ad5f84c8eafa6c9391ad97a GIT binary patch literal 9088 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 UT!=(D{?E0mg6}uZ;L6f}0nUk7e*gdg literal 0 HcmV?d00001 diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/netbsd-core/1lwp_SIGSEGV.aarch64.core b/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/netbsd-core/1lwp_SIGSEGV.aarch64.core new file mode 100644 index 0000000000000000000000000000000000000000..daee798e19c236fa7fcc71e3cd896ad8920b4327 GIT binary patch literal 225728 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%0AC8`K-V7^L(CP;W>Zn=l;vz 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 literal 0 HcmV?d00001 diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/netbsd-core/2lwp_t2_SIGSEGV.aarch64 b/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/netbsd-core/2lwp_t2_SIGSEGV.aarch64 new file mode 100755 index 0000000000000000000000000000000000000000..89394a7c084e0077c6087c1c1dd0597da950f75e GIT binary patch literal 11848 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 literal 0 HcmV?d00001 diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/netbsd-core/2lwp_t2_SIGSEGV.aarch64.core b/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/netbsd-core/2lwp_t2_SIGSEGV.aarch64.core new file mode 100644 index 0000000000000000000000000000000000000000..b268e05a2ae477a878201672f18aaa4549a413a4 GIT binary patch literal 251904 zcmeHQ37A_|*}gMvX}Zt`0SSu`pp+m>L)lW+JB8A)=cj-{(aE$ONVQAs3=ml)F26)Y zol?L6wT49v=&yr6YCx0-s8K<}9@z{CnqLG40ZG~B|IR({m*$@4HZx=j7d`iRzIpSW z^PTT}=e_5yxpQ;TyyK7V?C3Cf8E^c|SkDZ@ zK+$e9vi0q@u(eB1xBF9AYvFd$T~R-H`@Ju`fzJft2tG%ICoM|5Y@aMPj9=N>aj8)e zS<&LuuJT)3yMpCRf4E7DxU;6MU1$>8`GHD*$+yw2U~gBRvhjA2$ymV^d%Mb1v@@Ic7u*Kz{9U#@vzx;| z)x2G42HIuq?YzH-f2{d>ue`t$@km>LXhpE$`V(8o`gT3d+f@)j(X-yJVsBTQ2>(>` zcIAH|&)7m+e;!^B4(%!(<7B{!yq1nr9&)9U9tMdsJ>W7#nWdE^?9V(5anKY2GfiVV<`BQcAlZ{29^Tcq$fV z@;rna!vJr$C=kA45ye?Dv35@E?Vr2gsJ)Lo>EwA97v*A_4P$8Z(RoRQGtQNUaX9Vn zpWM?h7IhoOOT5W8X&|a*FFiNW-9Ni~!7=j}%$tAOKB}AWv4%qvPke67n`fa(6GqhW zI70{`=Bij&CLAs6^NY(3L(XH5bg%#A-ECo_j9*&c!1B3I;rA>20fqB!(HNBL`AM!{ zqpWviFspxAV%GBB{)K&u_g=JOW$&zgW~p-Zp0luL<+6Il`h!+LEAXG9z%&}Dk9OvM z!iN2#IlDoCSq+~XKc;TNwTOvQzeL_=@-cPb3b}9MLy9!TGPw;zM78|h> zRbD$WR(>Sor>5Jlskof?%?P^z_+OIacxDo=<-iA-8%CUk5Ozaj;_K^LugKAlemCU+j=`n{gYe6AL3B z^90tnU&{l>99(~_!A8u;_jg1)aqW>seHO<+#vmP!#4-frc7lp_gJ{RcOvV@zW90FP zu?ef7zJl>F?nQNCVHCb%i9FlCSbR2dzrma$$H#cQ5-XgE5C>A;K?H3en0K!+~r!Kcp zftN-!pq$$X-)8>e?va5=PvYt=%E?TjiN<=c09`z~m>R#9=>|TRc;~@ZTdV$P;=45PV~Njg z;3pDa*uYOF{`m%e8u4oz_(zG~(ZD}J{OJb1ka*`IR{u|p>%4J$+GVF`OrIm$IXiom z;hn$k2*Y@8VW)A*%L{&a!)hwuY6oLg-yO48UDmnfA9gm4RhRwq!b{(tVywHYv*W9= z&v)1Qb}?2N#t{!+)VbAjpBo-NYrw)A0qdBHDkc=cl)H@v;2vF@o! z#?7ye>$vd>^nK^d`RlIjG}rCypTF)qlg)KU8RohJ3}am{+4U2Ro4-JQi+uCfEhgSY zb-NhmoTm+A|DDGhtGaJ9J}vs~p*m5%aCrCt(=cwnZFu;bcaqh|m!R?OAjfxYhjB`M zY?sbnWsQr*C&uP9E}9PmhJUA3-))SUqL@>g#JqN7F(0OJU(;!>%T6|Lxr1_{E|7mLDr_bGl z!(TA&t4uW3nNw3IS1vN-=Bb@YXnERd%|u?iyO3 z1@h0{Zp^uc)?aqIxz11PRQSJj{+-skZ1hiUE`2RcVl!7gHO`>JLF)eJsQ<<`!*@=< z@2&F<+0RbKEutT*O=T~dGv>M@$Upm9N4>0*%0zufVfR(pJB?M((j2}1wXSvJD0U~= zapZr^|5DCW_cYC)4l0`|V$3pc5uXpC&y>f>Z=G-6Kz&=|Oi?_;JakouziZCU9mWAd z+g-?~)88@2zt#M8RDZLTQ+C#>ZAf3C4RM3Y2Rf)-r+LAgh15>0k6o$VIP=gsW?=rh z0^05Dr}FkW&#mJOnwk5%`f9Ur5F{$kl$f)PGY zehqF`TbwDidV?TpkDKypyt-!N+*+AH|yt__`(sJsG*fBF4D} z^?ZKI=dJ8l#{$0BoFc#98QM&adwg2nGhtpmdbV{Bg}I7+k0rXmKr5gX&mKr5gX z&hOb%~duMWSMwSJbOU{tK%Y%zzeS8TFR9qApOmOo>?!et-K&x$-} zIA+zV-m#&s&=dDdZcSxE1rO$xqygU84|u5ahJH4xjSC@5I-ncjZUTMA@^I1+)m)GWa3@D za&ecAoR!9RM*%N>v+UjJP4}V|&mKr5gX&S0y|3Gtsk9l(#X5J)Sa=3i!Ra%Xa%$aS^=%VCR0G1PmJcAVpAU% z1N+G1BI70-xDKop&MpNksp^EoLzKeV|+H-pE@<2a*(Tg&2h z^Q;;2`q$|>tLSkuPsWxBwQv~ieQ(bz^8HoAw6q9qt2Xi8FpjrsSHZ7s%@3>j~3BO-dyKmAa-Sok?u{l1-ZY`=IQ8P z88CuWnY!urdtZ2iK18Ia$-f^DoZuKhS7-&a0$KsBfL1^&pcT*xXa%$aS^=$qRzNGD z70?Q31+)TM0j+>mKr8TmRUrQ%`F)(Rqr~t|5=}10z>*)`&HA1$1T;P-c>&xHteq~) ztH2>3>%-r3RF9PXB#x5E?|B*k&jR^1a8cearpZTA9w(`84@tTBfyC$ zPk^U@9+YRn2Z57NUIMQG>)&UBdyba*@O!oc;2|LYeq;o^x=g;8jNhLYLwN$ozk8Sg z&jI;8W(DvP5MOs2HE_>-nGe!8g3BZiqC63{*ZYouFHo1#n(pMTM8adA(J@ zd3{yEc|8q*Z-Et51OEW8uw&)=;NR!;fNzC*FZkBrKJX8M`@yYeBB(3??n8YLd|U7k z_;%nX`1aso@EyP-3Xg(+2=y_A$H8|*eL~?$aPb~Pv7{892KQUFhA{xXGk6YMK7(Nx zdGK9PUj&~4UIyO{yb3-OyatZf-y5FeAR!K2`Nfyco229GN| z3BC{NQwkpdpT+gZ%lw#UP%pj{7EA0avVLDljV$VCgXh5a10Mw6A3P6!0C)lXK=2~? zLEt6u5O^7U4tNFpVDKvVA>cLeL%}^5-(lcB@Wa7_;75R);3jwk{A1v8@H4=Z3QvQ7 z9Q9f7Pk;|9ya?Wn`m(~S;4#$Kz|RNwoFLZ^b3gb6s1Jf)2yQAo3jSHt$G|TFS0Rc0 ze;j^%e8_?v zVoG@&JfV~ifM=9)RWFVo{+R4HchF4h{D}P`C=buJmq$_V+tXgo?NsFWvAym79N&L{ zy`19@9%wID<1*)Q3@w%8r~!>-l6!z&pbzK=27n=87#Ib{fk|K*m;vU1e4gMr5B(y+ zAUK~_nBevE2yi|RiGT+#ka2t$O7sH*z#uRLG=X7Y1Q-RzfN8{ygC~F~lqbOlz)Qd! zFvW4$510Y+dMTVQ^R6T%7QxHFDzFAL5Z?>*0sTPMBM2S>n!qqH0*nIVz$B2znFb#K zW`H^1ATSRs0E@s9unepMYe0{p$6fRcq|hd|O6m~@rcs^%PXdP^WQzTOd*Ot306YVX zqdW_q1745vLGV1Vg7N}*5yJPOKvG~y8Z zT`KkQ0KGsT&<_j%gTN5b1creTU=$bw#(@c75|{#}fdjw{Fbm892Z4ED0ayf zSOpF-V*E95W3|-53-kelKob}N#(*hc8khkN0t>(rumT(cdM=aw`hh{935)>az!Y!* zm;)AoW#ACdb2;JzLqN|}C;O z;0_s|<1puTDsn&U&z$?sookQJ{U#RM%efzp!(8o;Irqc<%(>rKzdb(pTRF>K&i!y4 z=G>2p+zb3Yu1x!NCd?uY%EbHAw-_W0bd_e=J2?uX+r=YCWi zyj{)*6$@Pc3)Cx^0p~nJQF|Vox0$q;bKZeZ*~>Z4@@jjznlE$ix9rgGXy-@jveETh z_=Me`#~V7&Ue4q7e%@Zr<2A3am-F~k4&n_6g(!{bwt$D4HMH+7*s4zJ&e!~Q+E$nLN9$DI4+`&=9sw-MN_j_e=1(H@`M z1-@r5uQyaaaGdIQ?EV}l^<8_p(!5SNj{g?BKgS8(YA>%hR6cN=(DinIj#E(bRGQZ* z$Ep3Kc^qHfUS4mgeBd~Pzqb4HJRJI!y`1w*+-@)D?Y(fDy*uUKicDPzo|#<<=k)WZ}xKT zH~BAnxw2a8l-Fm{R<^LiOl%6XhBa{SVFn#T`bYcH?Izs_E+#%0d&2ft_c=ltVJImh?p?EV~2 z#YA8)YyTAi27&qAWx09Z-d6np&<~6Ob5G0qB)`zaXhcXI5-|Z?-cl3^LUY0Wq!Q=8U450 z*Kcy`=JUXe+vipO?dI{~zqH4Tz1ZAu@E3N!@|(^5YPTtVyEf0ySYgjE*wNfC`zgC0 zZy)t}_1EV5)sP==zxk(|`|-Tu`R8+3AKWj`tMs$Y<0UW-_Dej|+)tgS(Z4kJ8*tdp zjlbG;j{l?i`WQ^u^-DPTMV8t9QVxEV#df~|2fyGVyI;=1&wqz~9C-)7*sttOYXoODU`*!y+TCH-@I zzfQW8ZngV4>EcuToOFrZVvpyfi~rYlKPO#cciH`%bjjuIeo=@0q^a!JQVxDYOYA!5 z9Q-O62k+P8AF;Qqyw-esHV(7<1#8XyVkg@D42S)?d8pm5&^8m?PvG%I{0}MKfi;YIolr3<8XXW?rZl8I`|C+?S4+@71ddGzpO(%zvAa~ z{t?~B9xs6BEciSi^?LK;tmh4>Gy7H6HTTQBEdBU=A>eTRP<_Sjmvp#(;PVu|&J8`+ zykE|b&nsfDHuvM-ooB!BE6x2p%6Urg<>r1q#n1Q8=6(Ui&v>c1pQ-p&Uu^CdQT$3T zH233q%Hz#H-`p>z#LNDpxu4T<(f_*rIN@|$jIOi$IUN@VYIZ-T<6`kOyPwl>F@A)7 z-a8!^vxnRLoQ{iz(yx;)p11A!Iq71)W%qN^CHbb^&q$L{B(OHlE1 z(j`989?waa+&sIVlP(oSKPO$Xo7v+z>5|*r?&qXSWvboJNf)2u=cG$yianl_E}{8$ zKPO!hN8A0JbV*OP`#I?{u!Y^vNtdG6?&qY7q4+uJ5}Iz0=cG$9Z1;20#Zdg5bV*FJ z$8*vpxwYNTNteN`?0!zVRJXMIIqBk8{G4=&9&3;1q|3lDc0VUwq93sPIq4GH*6!z| zOU7sSbJC@>jor^l7mwoSq)YWUdpsvy{EDBGF6IYiJiab9F1H^SV-ELMvpd-Hh&%Wd zx3~Kx9Qo8-UN*9PJpp@sr+h=Z+x?vKjnB0Er5whU+0E`Z=-^kJ zVfV{B_|2}%zMZA ztn}-Y-@xAXex33w?q&CL%Fj^zobn6pX^)q2xZm&lv3-Bw^u3Q?@f&oA7f}524t_z! z&*}S!kmBdV_jSBKV>A`Nf^zm$VtRPie~_zkVK$1`xBiSuGiDSrHWD}3K7>G1uy&tdz`uCezUfFH** z9pWWtHve9)tbC6dy0iIlG5Z_YFORFF92c`Qn#Uiw+TJcd!gd}-w?PMe)8De|QF8F} zz^|Ua`hCB{a{&eAK7Yw!J24-!=TUa>t3GJ=bJ~t`AGdE$6^D4yGwgm&-!DWTwfF0^ zeI`nFKd0?8s`ynM^7B1nk5_Z>%P9Ie&DX*IvB&c|e7_J?{G9YN6u&&4tKfOUn9JGw zEjjpw6hEi??fLK7;|)2)3oCw3>$m(}dpxK8bX@TZIqc7?-?7Kz@7-As#-!rs^gN75 z@pGDgnd|NSI?ca;;+Jta&gHMO$16Dag%!Vq!}n_CYwhv)Ju9pSV_flzIjrBoo9ywD z4t{yXkDu$|{upc5*yF_=zQ;)_ex}2CJ&Ir1!7rm6hxxe*&Wo|2jKlj<^W#lX@iQI# zN{V0F!LO|N6&?I4il5hEz6>dTAqT&j;um%BGnDhOq=TPF@vAzFqpI{9#`9Rb9vI`w z^Ko$pzp&z$a_|c%epv@UkK#Az;Fr14KA)ZDRZ{WuIBZ8z#V_dK7gGHAIW^Xe(Wm%1 zZReRA?Bj6S&XbBCKbOb-F~-lfANQTErwY&5`}H{-FJsTz{Q?etekESW!7ud}dpzD> z@pH=FNzI=_8=5c>PoMwVvxt ze}1-wSs<@B#==?qS@q$?5)JS?_`pJ0?pY+!*CR2Ga*mV!sw~d}2Y?x%?-E%b`i8{n z*Cm#~lfcT?Wcd&<3coTq_m@L?Y=m(F4soI%m)8q?-Qr&;QL2GwCDE=@^~1zUi2^C$;a&l7csr)PrN@*)cYE^s1KbZ`{VHl zKk=?V@xDCKXXQefUkS*5BEA@t@D*4?{Sc6fMzuu!GLOVXvcD{_2&@8qDOn!`Mu16R z4p;&X0llA-?E=6s<7Z{L7&mJu5@%g`J&1ZScBl0u>Uo{h$NIwSS;XF0d{MWt_@aJe z@kNIli!bUo7GKnFEWXqGd_+63@c$w3{NVpTU@pDZ|7HLDto?1zlXJV;;r8jd=;=?LPn>1oCq~Vekl$pCgZhCxHBXK0im!D7Is|74RyM|1ZJ#iX4{*$nRzKg9m{8epVAa4CM6~ z1?TtB@p_D*JPzdbm;z4&`Tea~@EnleOA#;6dQ_2ona60L5`lEJ^Sbkl+700GH;D4xQC=U-lnBJ_-0Gf$DtApqyVGm;)aKcBEvWJa_@f!&Q-wI~DjJE0f( zb3NzjQ_4BdfKtwR29&;5p#a_%>xl#jMwj$eFO9QOarsP+8<= zg9pJ?sG$E4D&qIc{`q%0lHmM19cl1G;GY3M6g&rh7Ak_ZyG?Q?9SkqB_pX{!*9VOo={V9(pCgxt-dd ze;0Y26fh0U0JFeBVEJn@&jNUn%kf_BL0|>tn|l2X zp`RMicm+BF$8{Rksr;h8?nF<2oTr&1MvX&k-*-eEJO|;|IoaqC*S-rEbuaAc>+N3F zlXPeyi)rp%)abz1qm5Do;=7TRz1@q? zPP9m#{P;cyci|L&s3E@ijwP|8Z%J}?_c^^Q`S7vJ^u z^{?#h8NvRazyISNo#Oj8Td%)p(|_Lbo@FE00}U%1m{a^jLwxbwV^4o?a!IS5C;5qU zGtOP0Q~Uzr7naHM!=uoMuV)yukIUaL%RM16`=rDo+VSz7{Y}I%j+cIMVCe+OOD)P?lIhyE7cxWp9;!-k(cM-zKq&c6`Re->Y(e z`M!{Ko-+hA`oWcUe)P-jQp=^EccsKZw6CFE3I0J~3K%+1`e%SSps`%8KW=9#?L5e< zaIS2h|BOVw&l>ohe9tO#zTZCD_bqcAzQ2n!HURF2{h4#WqkT^-$7#3U(Y_~ktoj}8 z`*_Ey-_gE*c&z#z?R%}qs^8JRUwWkd@&pfGC!f>g-FxX8$<_Ta&v)}>`*U7A|7#Nt zuwOsn`<&_)_Hyo5MUEeMrFs0JiS{`BeURz3m#cA^2VOnU$}j$k#Gx4nS=_gy#Mo96 z%TpxgJ0)5V?}>|tjoDnPoJ&59wlV+F)R~)^MqvCqx2Y4%4zfLweN6uH1ak`6RI<&;bO(!$9rT)j#)c(bK z(#wCm0%G4Nrh>SF73ZbmzQ$%`;{JfREEm_=;#yc-uZn9*aos1b&BXPSIKLFvA>vv= zoX?B%KXG0xp1%{%+WE-DGj!s4Iq__qIA8k^*^Xp8k@?AXCfkKx zCZ5$1&w+_&zQprg;#sbJ$iy>R;(SazdnKN;63qn58WIbdH$rh0=LrCk$s))8)O4ytH>@TTTONu+2v$ckbRRZ zLv|(ERb*F_ts(ms*;=x1lV!=SA-k6BI`t<~$bL=s z8?xV$70G@__It8Fkljso57{5d?j}Q)Ew*{e|oqvS-QuO7=IhD%t;${hjPNvVV|0Pxb=Yi)2G&FOmI|>}9f7 z$X+G;7ujoMHL`VNuamt&_9od|WN(uVlZmB+tdndU*?6)EWSfyqB=e9>BAZM$g={L> z=48{zrjvQewjlce*_LEmk!?-(L9%Vgd}P~_ZAZ2}*$!kMBHNK{Co(_T&Sblg?MgO- zY&Wu*WV@3E$o3%nFxj4Ddy(x;wh!4XvLM;MWV6ZkBio=3d; z$qpksoa_iPldOwuF4>V}N0H4VJDO}hS(xk?vSZ1PBRih#1hNy!P9lqt{TJEEWDCen zAv=}qG_sG7MafPl`zYDR$j%`9IN2x2y2)Z>?^gfkQ(qU5T}bv>vWv)4WS=AZJlPk> zzDV}pWM3k?m@G~9WwNi3eU&d=D_Fb~?k>$v4AiI(5`(!^L`ya9&lKqHmknAS1 zACvtr+0A4>A^R!W&&cv*w~*aR_H(k^$bLcgOS0R^3S_?`yMydbvb)HBP4*kI-;x!{ zen<9uvOkdBO?D62AIa_|E0Nttc0btzWDk-(MD{S*BV=W=Kao93_88gYWKWPiN%m*5 z3fWU+Pm}$H>>09W$^J_AH?k_(|B?Nj>^ZW3kUdZK0@;gXLu4-{Iff4t-&<{rtj%)OEqnOl20+JBsc_I_EPJ{H`RJkIqg z$p@HQdrjIu)a3Va=D#F{FwV&9l24P(jHP07(=uIxaW43_;6{EY>(ln&KHzrDQNIH? zhKEtmJcV8pP+$6h6lgQ>@E7HW$>0~D|0&?y-#GBd34ZGnWHy3HS+N!BCjz$thJPqq z{_E}G6{2YH9JxYX0}mq}w~PE#M&@zU#AKyqk_79xAwIq_EaUl6z7D*D9Z^13V9u32 z#eOR9$9cXhualEc$oFYw=g8~v@Nc@T>+9@Ra=zRJ9=&aMtGs%#oZo}bEtGz{N&h0^ zc+;|e2=Obwko5-Qhfp7RQqH5h5hsQA#;0W5p*v-})Ndu$R?D~-pnd8*nV)~Q{M{Yz zp3<*`IOTvGXX0`>&hRmEeDUpMoX8UU{RiJCWxv74WxLcVGG5_}(!YYZ@fW0D{xVsf z*jxHxGc=0Rwy?J7=(lCRwasO`(l*jR1U>UtOV0b3!J>>~&XwiCNwQsGy5!NXN^b5g zq6eC(D!2wTgKD{pEe6@KpA&5nO6b% znm0)Q82)cPdzEY#+)MUf!1hu2tMrRt{S;o5`4I-<18Hhjs&)pB}7__%~$y4Ax7L^GAIV>pKkHvshoAfE-5_?P5>Myv-x!`YW!%7*kk{XFoH$wPUpQH=*P}4r81fHd{U^{ai2M!Y699z#USD zo3K7j&I9WqiFsd$NqrJ0$v6p&CxH1`_%_C|K(5Cqj#D-4w@u8`81xA7`skDpMf4>pywbtpM30xaYk@_ z&z^yCVjdR|C-&cRoCDZj{R-RnQta=G*kAkilI^Q#KX`!T$t82Gc`=0X<@c54y#J}= zU5hL~V~U)|shKk@{(i-hPp)UTv;=FJXx?srqg z*KtQTU&5Pse$~EUKhMzXXLRdF>-F!c*Z42|dyY%bSG`_epa)+z^*lJ^X?eeWQ}^?q z7T^5a#;=oooA`X;-O@X7{>I1Ib{?DRdw}VI_x1NSt#mEiB)?y6<)_vs$7o)v^LzZj zCY~po=zF-#o9}JjAv{;2t|zzfB)-pgOFlXeecmL_o3j6{ua`IF`J=jjf4^>brLVlp z^JI*UukTmAb>9D(`)7VW?A>1fqrLB6Zn1qvFMgNz7n|t3cC_mu_CEQ(VXUrSMygNs zO1V8R#q)q({6k6#&pnF&V-f#h65m&TKb!#8pC`lz{2Pq*z8&$72Y#=jC>O?@|4+u4 zE93crL0|+J2XfqT#(w*$eKzC#e>BbN#-eQGd5kRI*k_~;abN=I1NwKB&*gf-c?^T+ z%XZ9X(M!5!_4j{<`GVe+=PX&&>py#W&pACymi8=M+H0+w5}q$*KgI&eCmB~>$z|^Z z-|P1Levw({^sJn$ zYX!6d?=uB5znAYV$lNW_yhi>XV&Xc90grsnH$GKj@Z0!5#mSQU;papBNY6ilcgX9) zu=2a(Dj#XQ^snvLnZDmiu9owDZ=`Y6)fqlWjynQO0AoP*&w~d-(x2ax(e8C8UpMl3 z<4DJ0J}%eq0hHh$>7^Nepc@dZg~)mTCgq|pv55MS_QUs0c)b2==upyyS8u!^2z3?&-%7kiiu62lN65 z*2;D~4r5E)-vIi6iPxncbAF!+`^RV6D>yHx>_r1iMZ211yNc$81H_h4l%D>$9oe$n~eg9cI z{#VE0H-05@;)F}a_iVFS#rv}X9L zKN{JZIgB*Vk@Jef9Xj zozHLk#BsM@{H*!o-)(=~3;*}GAAbJGu1|ez!K1(a<;zRIEdTF031nUcZ+E+Hw>|5t zadZldbpA~+PCa#Wk+t_&D4^HRSg5$^V!T`HCye)m@Nt9RkE4!^k7H^%b8g4)KjHU( z@OxhPJv3>&w~5=ei=O%!PxDB=0eO6Bl~>>r>DN5U=u0Q#y?IV82S=D!@oQs~*A_^m zfcJ?Usw6hj`Nqvg>;E=R6i3@`wEljP;P0N&XQ9Hd}f*8VvheM^mS{h zi$CI>dM5pTko28sy>~S=Z@k5&FFDX6K8yFK1<#i6YkmGA`Ht2UecQ%yZ)i9X=W~0} zw$&27K%SRcFMK6u{(bE9Dp@`N%mA}M{ypvzz6Y!TbEqE#=79xZ5m*A2fmNW9!n+db z-nDhloHl%GXf#mk)qiw?E8ZPQZkApqp*T19lZk5-p_ABG@bw3M9Mw{O2Jh*=NRFSc zdqz7CM(VHqny((M%e$jXyVoc0b^DRd6IPS2k4M_B-SLgIpF~C;XGMOa*?;r6{!>uw z`^Al`k?LByMZSkDWZ?HvCQ6K;d;r+)diLEaj~9#qycg83EJ0=YG>zrb+lPn0am4z2 zXJTFQ@9&OuoT80b2Jt?+(YC9;!*+hWmu|HEMc-k&0krd5qg}6AZcx5QZ=`vQ)X(dc z|GzR)f27qC_&q@*jhnwkj*pRkwL-o}59n2}!!IvP0xMUn=-;DdIvY5|HYl+dj5Kea z$4A2AIR)Hqs21?RD1RS_e@-*se;DP&PdE^0! zMW7e`o4^v{48os}oq?_8eeCLPds*8_mKr5gX&H5F?9u~&+HSf+Re$NT-$J*_+U>Nv+ z0mn#wQ6v7p28*Q-WD-SIl^>O-oqDSEuaQA;0`YH`hAIBgvj2YjS<*%%HNJo2jn*zP z2EKa6F&0mN6IeV2e$|y%T0_r*Q-2mOfFFD542xI538Yl=uW`@acUv_kIQ4Jw6!>n( zTx#(GxcrY&DzdULjI+)>Q~HBb{}$&LoKXI*!-V)LrDEmE1(t73TOqi0$KsBfL6c-3dBRJUuyP!ZTSZI|INjT^7~yEq^eWU z3TOr1CkoWC|4`F?mo?sE0)TXOq-aN@0N{(8-oUq5ZhZ%(~u`>SdP z_x}7JTm14zC;Kiw?UQdm@WG#6GV^P{+k5f9j(u&ro*zaQ-2S*4Pjjt+RzNGD70?Q3 z1+)TM0j+>mV7&shZRLBG)|co{S^=%Vf2;!dKAOkRze^I^Q@)q2{`EUMXw(X51+)TM z0j+>mKr5gX&sNDmewq8+tzYPVcjs4jd49I5S9N!Od6(xG{Xci>S95uOnZLVRztD5;&adq9{F480w|>6o-JM_F<@rTl zaJPOnm*Ih>lYe!cYbA;=a)3*HvN4L*Zlumhr9F3yF9;Wr@Qs5xjetjICtw88t?A> z$}Z0@Il*w3r-TCERo?rBX?$)p7^87N}xLd!F&)xZzU7lZZTX*Z{+s@tjb&adq9{E|DmTR-1U?#?go^8BKHck5Skd48Fl-K}3}7kB4Zc6olu zUEQspZ-%?`%ey?k=x*-TujcanGBe$+UubuC=T~-le#wBl_4DoF?)>sD&oBC6ck5Sk zd48Ea-K}3}FL&oxc6oluz1^*!Zy$H(mv?!7(OK@+ujcanGC_Ci7uwg|`ITLsUvl=? z=*Ryr!oRc1T>V`oC+_(BNBhbAQVNbXzEi&=EqBTEmps(n z`uPrXcYb-7=NCQP-TKvBo?qq&ck352-JM_A<@qJM+^wH)uDkQgyF9<>k?z*7=JNb9 zN4Zmpsnh`uUD`cYb-7=NCP}-TKvBo?qrfck35A$=&&tU7lYu;%@zX|K;xd@-ELW zda}FqtGPVC%mR1o7dpk=`ITLsU-DFU>*qVo-TCERo?rAM?$)p7^87MUck35AeQfgM z>+!LEeyxoB%#X@E8M(jFUT42kf2aEgN#v!*bxVG}kB!axRmV44?xbJd<@rU=aJPOn zm*T({&GS~NE6R~_GIxs!fnm*~8&hz3$F0@ACYjXS!Rzn#=RcoaJu) zLUDKJS01DM_;~Y7i%^v;tZIt$!vnm?XzF@=Ua+ zRzNGD70?Q31+)TM0j+>m;QgzBx6Rb~d+L#fsr++}bsaHoqz&Mwp7-ZIG~0^9VG29h zIhSkH3TOqi0$KsBfL1^&pcT*xXa%$aS^=$qR^a`oz_WDYpgP){2k*aO>WsAlS^=$q zRzNGD70?Q31+)TM0j+>mKr5gX&fCIoRa1dAkmVg!D5YU)_{(*jA5NHA;z!)$AOaTXg zS>PbB04xD3z#*Wq8TtqMfkB{aHdCF5RzNGD70?Q31+)TM0j+>mKr5gX&9o;29f=P@;-qFoa<+u-M4bq(j^Pk1l0Q8WbdL`OBe6cyY$TNz7>YS_4Rgl$@u*L z>0Hn89oyd|+ZhF*Lw+L1Mf>!v*k|9_mIueL_g|6i`Ty28s7HS6AL4$wK&g+a_3Q^s zwy4jvsL!{kFSn?#wW#;~*siCNz7c9sA8k>eY*C+SQJ-&7Uv5!fYfN73s^DXMjE$VA6>U}?LG5!|y(H8Z|7WJ7H_4yX{XR+%GcD@#E$YiH>T50PeYdw5e~bEPi~3}X`b>-Ze2e;Wi+c5X zPUSC7#Q6ETwj?=UpBskP=oF2-3UWCD4o=;|@+(Y~ekSVE2o#+r>(&0_6Qq9ysMd3N zbu;NV*eP*fyu|y^z=v{fe+KwgTmX#W{)SR)bQ$YMY}G*r9+&6W_IXn5ko|L<(68+E zVTH3Fqxk)|r=NQ2sSezT@Noq&-J-qXKISxw^{J>b=Kbh^@2vv$?H_3ruzjpw?|%6{ z$Dz5>BfF!Lu&g)dnwDSXoEa9HhAijpKXQVsR~j3UpYCG$hkv-M>_>6n^5jezH~d8z zxAXzo?t<%NgHneq=jM-hNq#k6q*-y;?%6+f4Ubs1V;y*0wf!%DX?WN$JPzAsNZCJx z!To2*9+pp%IE-Z+<@MGU+2M|)Ut*pFMTN=_%E70?Q31+)TM0jkbc+vnSCUu&~{=z%uJ-)8%Ko9%0Dwhukn=J?xepKr5$tKJ;*#<8QNlzRmWvHrt0DX>kbc+vnSC zUu&~{=!rJR-)8%Ko9%0Dwhuko=J?xepKr5$t>6cC_JR_u)?DXk1IT>@U+4+3ePD#ukfP6%L=b5yryu^Gs^fC z9#D8l;bDbG6&_c3QsHTZXB3`OcwXT}g_jjxRd`L|o@bTuD?Fg^kix?Xk19N_@T9`i z3ePA!r|`VOiwZ9*ysGe;!aaXg#;@>z!b1uVD?F<3xWbbPPb)m5@SMW)3NI?WtnjMB zYYO-LO&Pz!0}2l*Jgo4j!s7~0Dm<<5jKXsY&nvvB@Up_I3a=^LQ&q;V@PNWY3J)th zs_?kNlL}8OJfrZO!t)9*D!i=ls={ju_xztSeuW1V9#VK%;ZcRh6`oXhTHzUm=Mx?Pe^J^xU~uke7vLkbToJgV@x!jlS5 zD?Fp{oWk=8FDksO@T$UV3imv(j9=jag@+U#R(Mq5afK%po>q89;W>rp6<$<$S>aWM z*A(t~K^eco0}2l*Jgo4j!s7~0Dm<<5jKXsY&nvvB@Up_I3a=^L^P)0-g$EQKQg~S5 zQH949o>X{R;TeVJ6rNXjQQ>8UR~63J^^7m#xzx1sJ$eT{=qaA{oW1PUFK+RIXFI>i zE$pa159)SK*%w}TgZ>zWdj+~Z-&Xk*CK=Xq!HkC2KA)eW0Y773Wfn{AF8##g$P1~2 zpT8*VZEs(1x_|R>^I(Va!<(0uW%^;v_ttyhw}dB#fS z4yF1)Zg?2~YGIW{sB8w61w|WL{A7!%%%rl2DCnBzUp@Y^adR*4T-y7ouNKllK7bWJ(ZLc>@?zBiNa0Qv4E{)eh-TB>8U_p<48zd3d7W?|v}h~9zvf$ya$LBpX_ws31 zY@V5N<>ad-UF}&jQTooMss)oDnmc9gAbSz%@GpIa4 z<#|zn^>^gj&IP<~M6qapJo$NkXm2md7mK(}$}gbu;E#rf4;2AUT(8q*R34{t{ELjJ zmE))K1eNpL;_|zwJWb_c%TxXl{XS0RMJhLy@>i&QNQrYZ`Anrr?-?8(_KhdfHLcXS z`oov)5nk(`d&TaT2j*sWn|t*x$F12pPLt^I$GXa4IWysQdEkoOGrL{A%Ub`D}W1ov-2^NAMcuS%vHNyIpe5r&b;uEKRr5M6wICcIL)bV&b)HQRl7zW{ZrQ?M~Z@l zvS98bT~zdV*P5N@mXCb+p{~atJ5nUkmD%l^GrL42s=0a>N>hyUF3NlG*5Tn4eU|HI z?Kmnj9;ZLPpAQcwWqD-v~`7LgnFK3=a$W#UlF6 zQrY7TIjrqGiuMO`UfxD^WvUw#&O9&0e&r;ZnPSJ%HN}`nRU)3~|HR(@xeJamjMB}Q zA0WzviJvZx^hD{eVfl(}b^;mu_Vlb=6hCl(V_YZguBm)cUw5LXKTe-Ez6`#x+WNmS z_L4m?TaTVMrC;Y{qeGmFEnL*Su&1xLds$C%y;GA|y*%EDtFUCso7cW`X zGQ43w>PW4c#UE&hFLI#xeT#aQwj97n^Di{S7wbjD?_arO`B^Q7Fw*!#4e>Xl_={F7 zUD|za?~=3P{e2tjg3p^-6DR%sZ>?XyVlMV36Dzxy_xAN~EI9f3IWW*EezqaLn7d1t zEN`j36;e1iEKc!_x7X({E*V$$b}v3V(IR>Bvz@dMcZwfwh(DS95-a+aBxiS@)4Q^7 z$%^Gv;IIsCZvWA7r}+7X_){nr;?q{PWcgx;*rJ&CSM1^x-xyx6k2qe{<1g+#hue+> zo#MwD;&0v%Ki;#lyT7;fbNbx3Q~X>*e6e3e{%5XO+21{yAvneN8JAi6L9u_EuEbw? z_C{7PCk}LqA8Uv&jv>f@=?bwETHJf462_4_#m_aw7yrAD_O$JPDU4G+^>G!5f0*=o%H4(%lqAJ|&%zw-OZ|8wu3 zB6$LQXfIiwcukgP4wO6zOwW=$4PHRIBCrHZp}q_rM!Qq)m2oR5523sYz7+Wwz?)G% z1Pmf>2zUwnl8EC6ny3#04yojeSUJQeq_K3q@Ef?P?}7T@1|IM80_B8?-=D+h8}-p)zKVIO&c(VmKr7HffeNkm<$H-aP9!Gx zE5T!Lv2HDK`|Pu_oWH+dW%+$)<^APzz5Tvfw)Y~JmP^j{-m@hy?7eY+u4n(_`(!)L zr;wEGx&Qj}iKfh~e3{ha6|Za;K34jFYwP2C&;LMZ`3)F=$~hj7&-|=x7uZt9;re=i z5qp0oHypg(dS06;-^YFgd0qb%881`$t>u>o7EkqCO)8V-*mPw58uYcE3+MP;Z+=GR z%jKLe*K>Q;QC&Zw4!f>JkK_e<{75{1&h^ISL7AU&zig{z`&i{EB*5eCzFe*ko@c4m z_W62B!nDmd&fiexE4MEw?f3ujnc^{k4e!M%?Kj7J`#BEJckVBCMaBC5b%Xhi^N#xO z`GK>J-#t=pN20y>R?R$9ZZDh{x2w{Nv_;>fqqT5*&MOI>#4{637xWu|AMXc*uNAA| zzNE;5*MEJ!@;DGYo88$q&-nf2B1f^lYo%SS`dZY4pZ&Ze$G?++ek;oFBBb#<2z5W) zr$+Y%m%nncd|&#EEfF7i^6wciR(>S)O-;A|J_DB@%HO+k2aL+Nxp=JcMezlG!?Hnq zzrADt^M${suh*LL(L>M*)TLqEsSO%YLCg8jtdTC$3OFe6rblkq_3g^R zkBf)!{UkpJ!`qQRYd`+Z0Y3)#U%)efOMssRW`NfLr(YxEZ3o;RXabJ|egxP9Tn^-X z`RPdhJs!U94Z(r;8~j`nKhMPHS6t59v$}WV=Lq->nw+l`=j9%ML|EVGdV&!(ysi)X;6E(-rJ8jK zmKr5gXc<&Y9?_2mjEC2rre@*)T1%N`_ literal 0 HcmV?d00001 diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/netbsd-core/TestNetBSDCore.py b/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/netbsd-core/TestNetBSDCore.py index 6d30374..320a566 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/netbsd-core/TestNetBSDCore.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/netbsd-core/TestNetBSDCore.py @@ -168,6 +168,11 @@ class NetBSD1LWPCoreTestCase(NetBSDCoreCommonTestCase): backtrace = ["bar", "foo", "main"] self.check_backtrace(thread, filename, backtrace) + @skipIfLLVMTargetMissing("AArch64") + def test_aarch64(self): + """Test single-threaded aarch64 core dump.""" + self.do_test("1lwp_SIGSEGV.aarch64", pid=8339, region_count=32) + @skipIfLLVMTargetMissing("X86") def test_amd64(self): """Test single-threaded amd64 core dump.""" @@ -193,6 +198,11 @@ class NetBSD2LWPT2CoreTestCase(NetBSDCoreCommonTestCase): self.assertEqual(thread.GetStopReasonDataCount(), 1) self.assertEqual(thread.GetStopReasonDataAtIndex(0), 0) + @skipIfLLVMTargetMissing("AArch64") + def test_aarch64(self): + """Test double-threaded aarch64 core dump where thread 2 is signalled.""" + self.do_test("2lwp_t2_SIGSEGV.aarch64", pid=14142, region_count=31) + @skipIfLLVMTargetMissing("X86") def test_amd64(self): """Test double-threaded amd64 core dump where thread 2 is signalled.""" @@ -218,6 +228,11 @@ class NetBSD2LWPProcessSigCoreTestCase(NetBSDCoreCommonTestCase): self.assertEqual(thread.GetStopReasonDataCount(), 1) self.assertEqual(thread.GetStopReasonDataAtIndex(0), signal.SIGSEGV) + @skipIfLLVMTargetMissing("AArch64") + def test_aarch64(self): + """Test double-threaded aarch64 core dump where process is signalled.""" + self.do_test("2lwp_process_SIGSEGV.aarch64", pid=1403, region_count=30) + @skipIfLLVMTargetMissing("X86") def test_amd64(self): """Test double-threaded amd64 core dump where process is signalled.""" diff --git a/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp b/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp index c257957..1c79705 100644 --- a/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp +++ b/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp @@ -628,6 +628,32 @@ llvm::Error ProcessElfCore::parseNetBSDNotes(llvm::ArrayRef notes) { llvm::inconvertibleErrorCode()); switch (GetArchitecture().GetMachine()) { + case llvm::Triple::aarch64: { + // Assume order PT_GETREGS, PT_GETFPREGS + if (note.info.n_type == NETBSD::AARCH64::NT_REGS) { + // If this is the next thread, push the previous one first. + if (had_nt_regs) { + m_thread_data.push_back(thread_data); + thread_data = ThreadData(); + had_nt_regs = false; + } + + thread_data.gpregset = note.data; + thread_data.tid = tid; + if (thread_data.gpregset.GetByteSize() == 0) + return llvm::make_error( + "Could not find general purpose registers note in core file.", + llvm::inconvertibleErrorCode()); + had_nt_regs = true; + } else if (note.info.n_type == NETBSD::AARCH64::NT_FPREGS) { + if (!had_nt_regs || tid != thread_data.tid) + return llvm::make_error( + "Error parsing NetBSD core(5) notes: Unexpected order " + "of NOTEs PT_GETFPREG before PT_GETREG", + llvm::inconvertibleErrorCode()); + thread_data.notes.push_back(note); + } + } break; case llvm::Triple::x86_64: { // Assume order PT_GETREGS, PT_GETFPREGS if (note.info.n_type == NETBSD::AMD64::NT_REGS) { diff --git a/lldb/source/Plugins/Process/elf-core/RegisterUtilities.h b/lldb/source/Plugins/Process/elf-core/RegisterUtilities.h index 26b0fdd..d3b3373 100644 --- a/lldb/source/Plugins/Process/elf-core/RegisterUtilities.h +++ b/lldb/source/Plugins/Process/elf-core/RegisterUtilities.h @@ -57,6 +57,10 @@ enum { NT_PROCINFO_CPI_SIGLWP_SIZE = 4, }; +namespace AARCH64 { +enum { NT_REGS = 32, NT_FPREGS = 34 }; +} + namespace AMD64 { enum { NT_REGS = 33, NT_FPREGS = 35 }; } @@ -124,6 +128,7 @@ constexpr RegsetDesc FPR_Desc[] = { // The result from FXSAVE is in NT_PRXFPREG for i386 core files {llvm::Triple::Linux, llvm::Triple::x86, LINUX::NT_PRXFPREG}, {llvm::Triple::Linux, llvm::Triple::UnknownArch, LINUX::NT_FPREGSET}, + {llvm::Triple::NetBSD, llvm::Triple::aarch64, NETBSD::AARCH64::NT_FPREGS}, {llvm::Triple::NetBSD, llvm::Triple::x86_64, NETBSD::AMD64::NT_FPREGS}, {llvm::Triple::OpenBSD, llvm::Triple::UnknownArch, OPENBSD::NT_FPREGS}, }; diff --git a/lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp b/lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp index d76a892..948f52c 100644 --- a/lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp +++ b/lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp @@ -112,6 +112,9 @@ ThreadElfCore::CreateRegisterContextForFrame(StackFrame *frame) { case llvm::Triple::NetBSD: { switch (arch.GetMachine()) { + case llvm::Triple::aarch64: + reg_interface = new RegisterInfoPOSIX_arm64(arch); + break; case llvm::Triple::x86_64: reg_interface = new RegisterContextNetBSD_x86_64(arch); break; -- 2.7.4