From 6742d9eee7ac428f7e096f3f8ff636f284e5be8d Mon Sep 17 00:00:00 2001 From: Wren Turkal Date: Thu, 12 Mar 2026 16:25:17 -0700 Subject: [PATCH 1/6] Document compatibility of the `cm7-r0p1` feature. The `cm7-r0p1` feature only works with the plateform feature `armv7em`. I added a compile error to help someone figure that out more redily if they accidentally combine those features. --- cortex-m/src/lib.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cortex-m/src/lib.rs b/cortex-m/src/lib.rs index c103322b..d87e3f61 100644 --- a/cortex-m/src/lib.rs +++ b/cortex-m/src/lib.rs @@ -94,6 +94,9 @@ // Don't warn about feature(asm) being stable on Rust >= 1.59.0 #![allow(stable_features)] +#[cfg(all(feature = "cm7-r0p1", not(armv7em)))] +compile_error!("The feature \"cm7-r0p1\" is only compatible with the armv7em target"); + extern crate bare_metal; extern crate volatile_register; From 872ad7eef5e4b8f238d99d714df8ec4417ed483a Mon Sep 17 00:00:00 2001 From: Wren Turkal Date: Thu, 12 Mar 2026 18:21:39 -0700 Subject: [PATCH 2/6] Bump to asm toolchain to 1.94.0. This will allow getting all the asm in shape for edition 2024. --- cortex-m/asm-toolchain | 2 +- cortex-m/asm/lib.rs | 3 --- cortex-m/bin/thumbv6m-none-eabi-lto.a | Bin 11256 -> 11232 bytes cortex-m/bin/thumbv6m-none-eabi.a | Bin 14584 -> 13252 bytes cortex-m/bin/thumbv7em-none-eabi-lto.a | Bin 15340 -> 15328 bytes cortex-m/bin/thumbv7em-none-eabi.a | Bin 19344 -> 17856 bytes cortex-m/bin/thumbv7em-none-eabihf-lto.a | Bin 16168 -> 16244 bytes cortex-m/bin/thumbv7em-none-eabihf.a | Bin 20492 -> 18992 bytes cortex-m/bin/thumbv7m-none-eabi-lto.a | Bin 14192 -> 14092 bytes cortex-m/bin/thumbv7m-none-eabi.a | Bin 18076 -> 16600 bytes cortex-m/bin/thumbv8m.base-none-eabi-lto.a | Bin 14340 -> 13960 bytes cortex-m/bin/thumbv8m.base-none-eabi.a | Bin 18688 -> 17140 bytes cortex-m/bin/thumbv8m.main-none-eabi-lto.a | Bin 18728 -> 18452 bytes cortex-m/bin/thumbv8m.main-none-eabi.a | Bin 24416 -> 22696 bytes cortex-m/bin/thumbv8m.main-none-eabihf-lto.a | Bin 19508 -> 19380 bytes cortex-m/bin/thumbv8m.main-none-eabihf.a | Bin 25532 -> 23800 bytes 16 files changed, 1 insertion(+), 4 deletions(-) diff --git a/cortex-m/asm-toolchain b/cortex-m/asm-toolchain index cc5dbb24..8db4a57b 100644 --- a/cortex-m/asm-toolchain +++ b/cortex-m/asm-toolchain @@ -1 +1 @@ -nightly-2021-12-16 +1.94.0 diff --git a/cortex-m/asm/lib.rs b/cortex-m/asm/lib.rs index 48f3dc21..a3af80aa 100644 --- a/cortex-m/asm/lib.rs +++ b/cortex-m/asm/lib.rs @@ -30,12 +30,9 @@ //! //! [linker plugin LTO]: https://doc.rust-lang.org/stable/rustc/linker-plugin-lto.html -#![feature(asm)] #![no_std] #![crate_type = "staticlib"] #![deny(warnings)] -// Don't warn about feature(asm) being stable on Rust >= 1.59.0 -#![allow(stable_features)] mod inline; diff --git a/cortex-m/bin/thumbv6m-none-eabi-lto.a b/cortex-m/bin/thumbv6m-none-eabi-lto.a index 529cd646660a0baff58d8a03a2ae6d93122045b2..047a0345cc3b0e20f2302344754ccd60063165da 100644 GIT binary patch literal 11232 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 JpTGdY^?$+FiqHT6 literal 11256 zcmcgy3v?URnZBdfD7HLO5+{*u*%>(rxOsW>mas!4%MPZ5q6G3Nq_IY?*u)Q6R{RLN zbY$6j}&Cnq{I)u zamhyx`Nvjyor0`)kZnBW!yf7aM_q|gpVH-oR*cj#gsvi^}5x4+3GcL%DGk6 zd8Eg=-Lr>Y?QQ3B35Mur?m&`Tl;u$*$rk!@%wls`exQ)<<@)2f$41#dZ3 zlLG}@QxVw$wUv=ZWIP(0#{Go~VhKxqq@X@amLSolj&SK= zyJg&-7ZsMiA@o!4PEt^Nk)dLe>cj*XaZJu_Myol&duS@0CApj!mgJ6xivA4OUqyJ{ zcf!0yP%dqEmeE_KU5f~fx(MIv4_YG!tI5VevZOj<^ha9!z)JX_KXL%BkC83a;eeEE ztc+we!34*tgZwlPGGw5iY@*3JXU0X2tm~ngt>i%`861~V!=D>>DO0kka2!2+W84_`X?CEGHLNwe+ z;m;w4Q|~yMS~vyzG(r zQ~Jpuw3suck2=Hir({t{=1pm0VE&Yr$ze+P;j>eEs0ijWXG$N~7tfng#%iUA??yvc zB)}-Gf37IOE`X3g>4in#Cj?I1fIk>?C`(ZB+ocFSZ_NjawxCa$vv_MybkQw$oD|t} zD;$zFFWh(J?oQQ?KX2=-+A;Zn_o1D=HR30BzEkt=D?9rd)~ww1RIuX3T^*f7=f)hz z;cpNX|CZx;=Lw?o?HtFye}`Bj&vm@;Byr+ku4C%^g!hqL$C;-HabK?E=+nfN3_LCL z9IW}t(9!*Ym}Ww@(&c$6^_!$$_j?!`L7PBe2kcH z7S0ku- zJ8IR0I)8{Q@G*xSeWRB$WR$D|xfW zZW*;(`uOv)VRNtD+$}8W9WI84UTZITLs&96EPJUY;@=$!_`|_!veg+0DkH)ENY1PG z%0EQ%j~vvw9_p-BewwB(0T*;p{;7Dukgec#wdz!;;M61-qx|=X0-ti5dC-2_;c&^A zV|9`dXQZW-Z0*~&^-7N%BT(>Q!ON^_N}c~sJpW;$08dz*Kg~++>kOO6hD!$Rn*fk& zL#5~JCEaj496gZ%oJLw;K2mG}1AU=AXBE_?81=4$`j}Z2f8ADa?(~X@)A{ef1S)e% z2E&_)Cw{JQo zwDg88W4n*T>I1U}VV;%P+U2}tl7GZdm!@INFd^J+?%c(6g8ggscVe>+ve!ljkfI39`%#m5)W;M_K%>9MK)!(Uln0x?LCUl zMr9XM>16ayr_6Ra!#Oz_M~H2zE3U0^Z45MREOytj_50|pTX)_~7X=P91>JPBH_%km zP)}<%8Y~-`4fQqqs)My{bdlTOb-OhN6GLkmt!9HpyFp|4!WT*p)bFovXsN&5-4O6L zwbi@XU_)Jv`<{Tu8>p$@cfh>eTg$e3Jy3YrCa=xic%UYL3n1LV~juk|n*pWfutdwdoxu#7pcsjsc6_X6`So!0BsYJ6IYQI7=zEp zxQ%+P$zU>AG+Ixh;Q^gC(15uq=HV%xfkCfxv3iZpU^KfJi`JrL7!9juO?sC>4;NmH zaDWZ86=PtEn*#1)j81U^9(cOfWrhj3^k$>mq_em@CWD6c`8*z-35L*Ubnb>ae@(47 zQ04R1yS-KSe@TxA(&Isli9s|#NpGVuRqHfnfWWQM>0LUn(V(wrW@{1ZIu3#X2h+~% zUL_qiv`9M(v9JnBuHLRHQ$N$&}V^BM&&q z7LHuCLl8Pn&}0)wBWXL`OX5c(6vN~F#wi>m$DP6$`5NxE6b~j?g9mdg#)IuXDeG8y zjVS6Es{DqvvH@L*t7s`|r=^E@2Kbr9;s)qdCc(Y>7wM$mb!Om4{*tg}Bp(^fNIp^) zE{F=&jxk5#-;-eWM5ka9L7gbJwF4a$Fha&bw3bb08PPLH^05l#bP!5JGIlysw^+br z#)2VD7>y1=;|T#Y?I9GsasQ!liJQxOYQvO`_ZbCa#mC7HaBt0wO93HV(wLOK5iL$SJH#q`0JgALU~i6+qy$}qm|C~0PFtA z{wDR(lBS#==B?Qsj!sNmdTY;H?~J}T@$#OriJ@1|Z&|dRKLMXS!S_&gOV7-Ci91FF%4VI*DyS%Uxr zkz=Jt!X<~nxd=D)hfBfH^bEsP5lbUvfO4tGwjM_pLin%lDiM^a-Xsd92y~fA@KSik zXwSBc5fxOUEx8C)Rk`;2gPr-DW*oftGd<53I?5 zW;`>tHWpeJBRGN{l01u!3(zxThZ=*vpwbrxximLpY zz-gb(L}-;nw7A`=5a}eH_jZKM=r*@wJS3!$LLubm{eWn4#m{81Tk(DcA1sZ~-B6}@ zgKY@9uj@bBpUOYS7Q{H&Cj|A!P*%*Dy*IwB+O~XeXj#|ojIfR8c^$M(@Z7NyF3~G_ zm}hrGeK62aTNRkgxJHv!1?;;SgTd`)JS?MQz&=?ZdRy9|p5dR^a3lW3hnBBS^3RZ{ zZ-?kK%Di{rW2+#i%rja!W$C^uj&)70IJu_X+)b?C`aD7-UHz(Cq{0F`zXUc`z(%~I zd)N&3cM$E)@t*i4*bc~l3a8Dzc$2`m9f&hWg@f^^%|=pYWVOohnkTU{rDNvfdfAWLWN}pehK`j5gxz0rX^|kwX`e@U<&|f zGPreGlSdCHY*QI5Kei`m+1qO`Iy?8Godi`+P)LRr8(YPbD&+h|aHOpGnqa->=RJf9 z71mB?SZ_nztHMPd>0|0u0~hE*6}np@K4YaYd{>9oj)c~W(4d-$G#+B87g6T7_*-iv zO8{}Eh&_fO0SrmRWB5MC@aQ}YQLH<@jiZ%%&-5RmD$E1@E^aiY%tj1#4n>vO<yA(yQNw!2l6Y{BaxRgA{bdtxnCLz$4}a-JCB_1Eohs`1QS1`~)e zrosxCL4x&qjoZWMe2mYf<)76Nnvvlf>#$hw7weH3l}}7A<8~qRZF0$|qR_sj>^HWN zV)U#SusGvQ5%8kVB6ahaw47N#Qw}(uqEyX z#PZFPuxZi&Ukl0Z!q^PlBsSRhrx~{-HeSHS2r+}+Y&M(BI>yboJqc_EJ`WqSUu<3w zoBOGBY$`A%*0JN5abv61&CbV}K{a%Nja>xGz`usljpb z#M+D9oqMl}cgMmH#DqzMT20PzC_O^wp2FU6@iS$r(K5*EvnlwO$39OTI76)1MB zoFV;O=j}aWL>r~=$Edt+zar8|M-~nF$)z2v9C%9FhF*fV4bQ_mZSI2;Z(psJ8Qb8E zVcQ_&ZNquo2-^lfHHA*mlTq7is;7YxIG?&$!%b@4C^u)%?W+5$#&jJuDc=_ z%nUa)jo^R509)`elWhmIk0Tcz%ocK@l^8kBv7eE@yJhodUmt z%*qr`(v(s3E0|KseBP8^Y)k6J$?O=(ePM*ymx%uGqt_SP;we zJeD8)tysSH55RIO=txS(rEq;;*AwmEn;Yx)FY^)06H#s=HdqVou8$4sn*8%)T=0K9 z6>xRwEN+iir)62AUgNRolKyWNS8L{t^xdYawyBc1#vo|hxwu2PK5Abu#Epg_>HeI$ z2+S_W?^x4fTub&D?EaDg81pC4XZr_mlFtNSG<6o$LbN-xLs&Rg*pY@Ceo(OMYk(V$ zb9uOCB3waR0yF$B;KrEE3u}{@;fU7bgHXz-^%+=`#ih~XEdj)|@mb9LvzVQmwUO%l zdUgIRX7g-h;~_*<4`wvdnFOkpo@DnFb_jE0Ww#}qT3|wPZD@Wh8{%Ec&jG60{Qv|d zGf>hufKox7NsnbaOK`xJ2vNDYeh2TrhW4e~N@E(fI96NTrE8DlgdkkweL^9W*ZZ3K z2LE-w258tm8jOs^=Ve*5*JpqjHG$*lSsZWdYiuj`*j6s6(^>Iim_}Mm+PQf?i)nG@ zoc-lJ&@ZKP3+yk^a*ul1{pxHVo3_84m7(@f>#P}ndt?2J-&!5Nbyk)V`gg5-LH)bdv9SK_{(I`*)-((kuv=*PP1!B~ z4eb_B1=uVmoyKI;YIKk^bn9KlgzTt454VB!)dTD2=m5Z@1Wjm*aogZZ&zEud`b~103}(pNI8Wv~HKt0BQ21-C}2Pys_P4H|}9K zCUKm+E=Io2Zi&A#pT$}J=H|srX*wr@>(yO%37#w%jjLi#*(BU!+q??O>uvJ^kMBAj zfre$p;P$ypMx(*Y_`DV-$z$j`9^0L@*zWFumth(7XT!23a82*xPZSmDyw|+na{=7zbvtsh-z@wOa zZml61qkJBJHvJx({^t2RQGK)geHHjf`Bq5(qTa6m5>zDe(z26?nufQi0~dw539^j~ zKkO8mo#B7(iI}JOSP{!_DfHpxcS-pd;1Wfd7*SQ#R9)57*5qbuYwO`X(Z0D@Xte1K z@S1yBolftzSRi!sTD+QMyfKT3lbVTjFDBzQLgge3V}v1z370=-Z@ZY{vcl^}+t=3? ziuzSt;~|=QF&V=}?-Dg$?cC8V{IUW$!;mImHZDF1J7vP)Q6p%{P`^T%PpLBns8;a? zn{O1IW^Bq2o$btIT*QuJHJHgu*k*H$ zqkIAy=AF=CoZ}pMDLsDdg}Rgs;5?>&3#z7mmuXvfG+a6+RQAMgkJ&a463Xb%x?_S3 zqeJTk+Y2f9ROVwO@eIoSpXon3 zTskUL9vxaA6XfB1S6Fo=Tu5EzyEl!?zg{{Rn)z+MgkNHBhWTJQvq71Vvk^Yu^$L9) zl| zJ?v67dJjeK>S&tgXu@v`URaBgdu7tjm1(X8wxyZ&fS zS9IHvlar2(pqADZ&Bo{NN*iY{;!~Ympe-Rlm#{!c{^C4Mhf#4WTXf z#YC@cE0&q3#0~`%j}ZKT4<@Qqi7Jw>$`J5Xk0h#AC#n`DdL^pj?HQ;M9>9P122<`p zpNf@eKPUK1V)j4GiGD2I?f4f?^3kGJ$1|L?FSBp(MK0qPvSaA?oNP2}qURz>GrR5zVP2?^H!d^((#8Z zV!I91fh!!|i?#e|QZ4eiDkA zdVG!Brw*L2#0M^6^*=-U#5MK_n1;&~9ln9$?^9)pj(t9M45>0jUzMb%$`l>vMR5C6 znWAfeCWe2iOwq9~#`IK~qL(D;sWL^k0v(T^DpT}3lJr!WqJIhKc>GkEqTdTN%zvs( z(f0xkkDn@2bZ?TLDpT}YpyTmVWs2UIq^HUhy*Wuwl_@%Yw}8hdK5-2v z$Q)MT^kE{il_;PG&OXfUx8aiCRq_SY;uyaQ2f;Wh#HX6{kRi>k*VZ=IZS=VIZG?|O x4tO=XjSPI&gFj~3F!vLmxu4%Azw6;Y!^Iy9`Lu4c(PUvZxc42{2+jtM{{ys0bjtt$ diff --git a/cortex-m/bin/thumbv6m-none-eabi.a b/cortex-m/bin/thumbv6m-none-eabi.a index 30d33eb9d22b465f3b49a1248914d5fe7fff7165..e23024d863121a2ca2fac86ecbb69fd6c56822ad 100644 GIT binary patch literal 13252 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 amH3!=T}UG2uD0U=Y!*t!$%-Aito|FmlE^&( literal 14584 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 diff --git a/cortex-m/bin/thumbv7em-none-eabi-lto.a b/cortex-m/bin/thumbv7em-none-eabi-lto.a index 49b03fc6bbade9f2fa66c099541cdeb2844b60df..ddd644cda8b28f75b826cf3caf426317c1fc194f 100644 GIT binary patch literal 15328 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 XxHi6(Kk*}5{KJ83|6Tyk3_|}Os+ePD literal 15340 zcmd6O3wRsVo$ndR)+n|zQWD3JW7!$y0d5i}qqh{>AlY#UG;Bo(!9a>NdSMsak!8n^ zQ0Pd0$bidLxGD8s(z|jSN}z1(LY8JBUqAVg#2dV+$x_x!b6F>Gg2N4|ft1Z{DZT$Q zqp@T=CMh5NzSU>X8U4?hGw1xy|NNgv+F~~7sk$v=m2RU!PbWW2@|G6vQ?E3wGwCft zdsl|Lx^81*)t*{+lf_qCShu^*SLkEi)rB>UyEp7c2$hz_-#29;M8UmV!DvD!GG1|I z{-cU)7?%a$Z&db)Q~9Y~S*s%JoMbCcxe}#5;Hax{>i^N334J=!DiHedLWD9US|ovf zvf-Z$t=i`pPPQo zizD4C$Fmaeu>6-qp6GUb=NY7vxZc?o zpIn%xmJF%yT+S+f{8QxVc6_GrD3-WRZc%re5xNInvJu{s`!0R$FYqCv@`h+6P!$PQ zNn2VXjRA6R0ojTMLV05ZJ*m}9oYkBR<-h0BjQ8eq4FzN~)NYN`BlF?V6n+-_;{JJJAkVVr{6OAHm4x#dVV zW>+CvmK!^V`y%66=yvo4ilU4|(wNe$K8~qMy9S+>olA@shK}xpImn<~5_Xl++f-pT ztWqrryGvc$3;411pD5-wyU|na|gEwAr*`(4gT#&9gm)@kR!}d91xHk zN!8oSpC+J6Xod(EDqDL6n!q2=cr;SDwwh#j;Kx(jn5@8|Gx|B^nDZ{`Dd9ylJc=Z7 z)Vbp^CyWFShJb$+k}(G*9c>8F@D0C_Lky?=?Kd<4F*L9P1*LI>;-y`^bB2_eIeXZZ zR%kS1NIw{4XHEa9yg5Vq7!L`*e0oT)Mpn)q(rsB#J7Y-puwxcV#}+>=ff=Nr^z!pn z%XxmmQ~~XM$377zhC$$0lY1~MHQQG@9tQl?qQ~{+;-@jF8Fpbg=YKx&3 z{_M~OrD2p#4t_`2$p8ZM1`GF3D|Sdx9KK;5Km;uA%ggFl(qQU1SkobNwRbo?&I`Qv{e)+m=d-}nh}Z0~aC zd8c|cekPr7)|NXW zEg3E=>6Vs^v~+_IdrXeSQ~;z|K-$z23DA+8kww(yD0P-m)-lTSQ`D4`GN^{~-q&iz zw0Q$;zMpxr=xAHfXqoM>wD@RSal5o=WGbu4MLt$VTCjK|EnFl3qS8e+6_8EW(xKaC zE>bCv)T<-Go=9s?X#JHb>dH9vhd6bak-CR_H50v>5&n9H)tuC7hC+EKS=qbMGTU&O zt%tuJ8MN*%vvx^~_784^mwp~DdPiE+H>fyK9SKxKf`PWiDze2DX;eoVW09Ow_bRU- zu@WtatBkawm(f54G{TB|t|%0Dv>LObt6BHypR$J$r6=|Ef2h;wyf zBCZI?!j_(Uwq1=XF#`GD$v??zCbfC*_vbx9!+7LaQv`cLyUweq%W>+0llqid)qmQNKXG>1*x9`IVE|imiu&40 z4!7mD4_dp+Y$JokNBV8UgD}V9k*$a8QvNuhJvr3j>|5MQxi_=8nf!$WmbdL)7fR0wRsn{c|+PfSiwo{3P1g$qN8OcN2Ip> zZMKn$qp3vbt!Td1od0#RiW;E``+FhQx$lNb^6k0qS~Jvl6j+L(EcfuvB0733TPs%A{vlKS-R9XH z^fk2BdDzC?wbh<)1--stb=@O-tlNDxY>Uqeg^z9UIXv}ys)M)y!o9xwvW7-~ZDX*p zN$04kex$C}SJ$}B=WpDOUs?uVe8KyK{-N_dHI3W(>$e^)4+b~;+ z_8UDquR-TF*%(&u_v>^r4==Iz5Fl9XR>bjchIv-5lZP5FCdYxZy^P3Gu z6JzrG8IRehx0oy@n@;Z)8tyUZgS+u;HuCUnoQA<@aI;38!DP0&8JpgwXBZu8WGzOw z$p|+-jBt<*wr<40Y-|X6Hez%(3h=<&eQqlZz-_deJr;w_?X{S6tl#hT8Z6L-PG|7! zt_@Vz_=1&wU!BKS`QYCfaYshniCO4G2b9z{I!l$`z?dvXzr|}}{YJk@SKh?dG+An~ zJqo<#X{(v7j#Q2=!v zajZwbMo7BUPNTRz-41<>A#}_orOD$iDMOwpChf8X5>4EiMr33#l!F^s*mN><}ZPc(?Xe<5i9`RLGG;x^nkn?1SxGB z9SmR89PeE?>BtAw24YQ+$=Sy9F6sj(h)a{5YrhjG+D) zS{Qd_J>0*v%8~tWXldtdjI@=X^EzlN%(;C9+@iN~@ti%o>l%Z*Ybt{?C$7__RKfH; zjLGEjFkY51Fd)Nh(1ZtYWjl2{Kp97UkWO8V8>)})ZVGe(J$UhtvpHe zX$vCtPjZx-&RkLm#+0@qvS7fD=PO`i2W-;siEc7YjhWB-2=Ud^I^Da8_Q{fsziecA^@z{#}jXj{?CxD?a zzrde>9W}&b_suC;3U%oQunLL*wS%& z**F;5Jg2-zpq+P~SPxdmaOrcIIdOtMC;KHjDn+TlogzlPPLBG}wQFTeYCBx287&3R zSkk2aq5P7adNuks|FwCH?isXgQ+3wE_*cnD#N+p8jNc!V_(@T>T0_diq4tbFVCpzr z{xSuKqA2wt)MagfxA$DeI8G{x{tY0`2aj;?a-`8Dz&E&HVS=SEMm$nP;5@ zhe3z;-a~2Qz{3OomAV#XKo{2{9qw0m-W&F4#@YPSAx)gl1B!tAYA6Ms-OLjs{66&r z8mhfBA-4d#Vk)3*1x_^@bsjHc@H2k59#|Fd4kdZ@`g@gF=pq(E&}EUOE1k|p_76g7 z`u5@IzR?ENJrw6}lQh`L+%Onh$vs=XJPV>O@vi=Qj#h7dkt3fnc$_Gndr-=FX?48Y z@$q{De~?{5lidyn`HT(O?cnsz%b)XO(tDGbVEvyWyb_rB024FV4MwZgYOxv^599F) znDpKd6Us$U^J4N`Dkl8i{E;NT;1tgj(HT4efVk~ytz70{K)^ZbsmXaU8JMwWoAKHu zra4fr_+2W>~B>XFc5a&K&;tfXtOm?Ls7OEp)exm>?`D72Eg z;-p+E@?785P|mP4H%{bU8@#Q1(0WzM?`tdc$@ACZv;w$ACt@;rWu+I4(N<5ZXAYcv z1;ELeJ$j4L<~Hj5J`3EI2YqZ!B|NdDy&v!EoNX$Zv4>Vv_uaK=7pviRa&5afkm&ZI zg>Hf)QO|v8AJLhQJ70PBnFqiHi>4P3rxznD+I)u2=2{W@5xIC+wX$qW>2DnEo6zw! z1Dm2{>xPKJG}NaBz4_!QH9=>#*dc_`{mrx{hJ0XB`XB@g+f>R=`a)K+aVxn8-hQ5O zs812%zJDS7Ic#es4o2N>$8z(P>3zRH;}c9BgUesgzrwyBrLLee^mw=9ZL*^1h?MI` zgh5um!uiqoG`IhZ!L0{*S#laL`DI+^VB2Z6vkX@Gnxh{&;W_`*CZ6*JSzyn5U2)8! z#9+gRr4hOtN^y;`USHk$SU9A4&!JiTy|G9WM8R6f*5Sw#{Ccf{`h+~-^>#Wh54^SR znM-AYHLP`GS>W+{O%{)d)ibQyY_#Uz6bfqotVt6C$@Uqa|j=t8p~636;sh1c=>V6zYy88$1ZcR%jU)IB9GliUlqHnUn6#R0ndwjRu1<& zI-d{!bfyg&Tk0pW1?yALP-Y1oe<;dJJ>CN4jUQYm+zlpWj+&UvR(ZTNNPhu5K+UOr9eH3k8P@9*;YL?wo z|D=nm8qKK3x~4{cn%%YXfOPqA=_cOX4DSIaW-yIa^PahAUrKm%uwoGGbFj*%?Mq(! zT*esk_GN$RPtp(b@Y9`*_n;n1MVH0`ptlZky3&W>~!0 zz{jPgb>;Qku8SRbm>Rn&cyM8uaJ>~P_)ssFiUdJBzI`EobHt{gsq-?^d%#}?% z6|iD0tj%j=8L!z3;Y@47|8OL+y1r}*6$V3vNvv*4Hc1}(o5-eP56!=KZ!DYG{FD7( zE}I&BO><-u&;UE5+wWz)HoeDfHbKZbA)DAFcGs6p>;@ORA%Wdoe|C;+O8@r!^P4G~ zEFjZF-H&sAt2@6b`APn8zb5WdjKg;3dSHk*8m-)CbI za}3RyW7stgv5+AN;you4Jg1{v`cdpTIha7(d{MSk8C?D_o+tX28ln?3eDN7Ew(IGa zv-yw_OU&>3`lZ=F%L4~L1ZXfntJwzG0+^xB;In!43EkW~XMQ+>o*F;g=<3~g^J~~q zd9!Oc&-}m;_%i+3?601)en5ly`OJ{zuy_riH7tIQ-juLCZZtoK(d97S{QQnp-R%6p zjGE@rOt|0Q`EQbPA^xj4j;JZfX!c%`8pg<0uI&kz)aq(`JQ}f1@^%d7U!2G0`FHW= zZ@?|;X5vI;WkXeELu-SFt*NPloXsOMvC!#L8{jqfu?B937aB`Nt~LF z8UH?EkM(Q3glUX0B`~q)&xk|SQ`|yn;i#mrW@VZykHcZpiG*ziae&5x$j&b5gDT`| z1OJ`bun1yl&|8%jLCYwdUCBJ;$dsTO)wnj_ob~|(2adC0CJOc&lWM=cFu=zN`1l|n zCy4R(8)RTYi8#Row%^d*YSHUWJn>&Z6(S2MQNl#j;WNH&i7eg~!Vvt2*(SJThJu+@0pHuhuexrr0Qt@ zZE?r#eT2GuVBHZ(;qbt^zVJ#4j`4hoWZphyU{qPd-_(yP?c?T|kQ6+gS@x-UNj(_6FV3EjwFNOKu_!!n^%wvQbc&s86%@~3} zRD8=>>i1}>ok-?XIEX11UU|0rwNrxdD4tDVu#4fsO4adY6_G%jVcau)GOf z*Urm|yFrM;+Cdr{jO)r;wq>TAFhHhNXPD6dme=EB7>mX2cQY2F(aK_D5_~u1wC#ge;k$)$QuluESMuE)OCUFJZ13uu z^xd2(SYzKNEixy6l>&M)f3-1*v#^Ii87EI+oGt z1dPunG44xZ%*s7UuEbA?$=G@SaC>c_DC zW=3t_hW238O{QPSn{dF9GCnP?<*cw&Hc1VRyBqT&0k>fTMLV=9w7`VgDJE ze6bd8(QkNt;j3faHNMJf59_I#8&7OPFKw_3~wfp6HQx5%aI;Hbb(;G3TV-#iR_ z69>NO0=|K>8SQNL4fv*ii>rUjynJK+pEux}?|+?q^F7#CqECQh5kryl9bEQ%j{J)$ z^2X)J-VP=mOw5r3CrcxZG|6lwJMu5$lc=euX%y$|)sa?^5ULJmPses%4pmllIOFMN zQShwEnwV8Ds*wnZ~0LpV8BUrzzSssZC*N^{mfoGJ5r9o8Ij;im{?lHuwpJAQK*f zwfz;WZ2;DG0@il4i;qh z*Ks&YBjyMMXOH(7`7=CyDLDe(j_2)vK1YCa(ZU&&{%o)_I}WUdEVPg#fTyO<`?x@M z49xHgzYDmEJfMa9p~zqd`Z{^wE3E#E*h0o;(7Iq#%vk&8FI{;ix$?<|u%m0 zEmpnTuVYOvAo_MxNn=FYA~i$CF1 zIi=elRIT*3XP_(yXmS}S9auG%W@iD#LxdB~KEi?NEI6CMtwre)s8ZNNxJv4T*P#p| z3sRumUBXjYb_cFXcdDRxir_o^j!>l$sz|;nL&8@*B~+~zsul=O2~{r(RqKVSOyMah z|I|s;fk$W*Mz~OTN~r1&V;`ZO1{V)XJxsM7jmp%47Ebb8(#k!}rTtl6K_B2`Z^Frg zBb@v{GJCj_T*g(!5$+79;Ha^w%N+H*^4ioFoa#lDnxI09dlp%VyinF#i!1s|LfOB{ zYS~v2QlDGe<9IZ*d|=rT;`<@Z+c^k5o$-3}oqtlEeB=1}`_+|;Klqf}_Q-F2pYOWk z-)=)b1w#J{<5?`-Uxm+j;GA6^OaYE>@aGxf7FEDM{@@bF$_sEK_*kG4&t*H5i=o8N z*dsYYxE_{#UfMO}q7bWOoDbjJA7Yl2#6zN!(V7gd}bZp3Bx>$;I z9njL@Uo1sBj=y5MSc>$b1YImex*h1af3XzlcO>XyDboKA=(vBe6zTT@4dWn|BK={Y z;r_)^r27(du@vbwK*#-yrAV(&(8W@uHznv|DbgQH(8W@ub3g}{L1HP=yMczsFP0+x zhd^5h|6(c94<_1+rAYrpf-aUK{f$IFVky#303F+s`2uQjUaAr&Zg3_8U#e5X+%Og~hMCk%*e01a zP=d)@=q<&$o#oF=e@$4j(;cK*IH`S!22xE;Q|$(?`;iUsBZfUbonZq5KS#ko!YG{i j)0A01xlQ~ah5zX-{*{Yg@3ERKHm1jEXcOk66)C`@5wjp2>9i_FJas`UaPc z^==!;ZO?cE?Sn&uUc2Y!`Z|V`QrDfk_B_XNkn@wHTGgba)ObplSNqVa`k@{F($IP1 z6ODVupD;eKL)npu+1HOeI_Ib}i`scl4WFNTbgIpq@q=IROUdKMnsdxpb1KAAPnO0} z3nPn;Of>KQ_}RNBn)f_4F?93zMBSdc^MCifa6OyH!}S_B9-%gkNDE9|O^Zw)vHs2i z=O^oxdW!#?uHU{8j{Vd`&&^ZIE}l|WyBa;Xd*o54cjfEjac9d@6BpmiR_vabt^23> zXX-FpV(Mbst3Sa0$VAhWcI#dWwfV?I-4r|aWVj9LDZj+j2eqH#cVuGPl(O-OX;Wf# zhhlvuJhtESN6~P#gzRIM{5Fz5;z~`|{k5Jj7oRFM;jF*gD9accl{3dVwV|mx+A#b0 z6C36@mmRNEBpbk2ciT?{Q`!WUGocoPvGhjnts>x;r zru8>D^XWW$(m+b)bfA5WHQn?4YOR>BRAaS@h{&K#Cp+;b+H9`BynYjcG*cgk=D1Sd z3!3OX_heOSetfCbiuqtxY94|dKiL)YDKh2>^}0UHo|qCI6{+KRF;#KY)k!K#KyrQ1 z-;q2Z(#x*_d_{Bk`UF0XQ?&!2s;;9@brZfLRX5{1T6H^%@ln-d_^Ndx4*(*c=GW)( zRr4i${e;qMPVIkbWKdOiIjZp?d?H6EJJY6r41yCms0J-Qu70-8lzCp zcWO`3s1*$@$giQ?>NH#myq5WxQ}Y+V&okfU)P7kb?WawD0{N=QyZopP-+*+4+KZfq zUjk2IPi%A=-UKeFM*clc-4fs>%;)GNU0xN*`ypzsfa*r7`=rbJw4&idD0`IUf9ljd z4*V(ee_aydZa+lbn@}yPf%;P=>IZyv%^6U=o9c&z;UTSPcrVIsV)+-Hx(@-LWd0c) zqV}6XzV;u3teX8Ti~5-eqY&A`Xm#Ch$slVt8b zd|4!RojAS2!9Q1Ojyin>B_(y@Bn`W@OsP}5u9NNotbEjo6WD2=`%bZh#M&!t#h5JG zg40?D=Dc<~*!_*p2F`3>XgVLh4930RZ~3JtX?8ZeSCi=u@VlGS-)U!rxmO7xJAs6{ zO4#{PC9VQZ$YmfL9}sh0Y2CZG>EKpNxJb~Fd&Lq|lY#xVa_PY0v*j#w2BYGdmJpjTN=`?GtXpSNv0NgR$R&%pTq;+{rQ7pc zw{^r+hsqC)cxrUlU|zXnLj!$zwXI8C;`O^by#mp5M?JMN|GsT~Fax4UUFyB>?9nlG z@kqfN=^NatK&1Kx`}+nxwLLSSdahWPL{Zu=N}?#9?CHrN(C|oK&w#r#p6N}bV~I{T zmT+A!pDGp#=c*D5wcYJUEH4}^#j-@A#I`3tkm(tT4aX6-7)!}$Z6?O!5MWkFJRxHHR@g&ANok`~Gx=b2|LZ%Vy>ftfCr@`)aW!+Rd9ZMIJG3^dj z$RW-i7#bQI9UF0n;pVy7RA=1H$MbowE9G@+H=|brqr+-jGNDGcmkE;}8XOxL>hEDk zrjwamJl2(WlgYT7jHekU&>zE>U5E)AFJxkgqUUzyi$&M=-J!yrm_gv-(Y^v4yNYo2 zvYn}HK9|iFb=|ctL?|vET{;tPBA$rHJJZQn+)ZdMg!87l6tF&a!KD~WW%B8C*6qr4 z#^d=oU9?W+cjeWH=l1t7Q@S8JVKb1UcRZVMlj(dmRmjD$614X~u8jF8&9fj&q~MfD zBvWo8tIbEl=6bn-!W(pR{a#NY@8)~ixC}SpG$KTmRUAJ9@RA6NN<5i)FL1Of26S_X;|SWf6*j=Je?< z=Ffn4Fr&%O~9&nw-w3(8*ctpmpV4IOPh77}k6?osAXT zR57Ec0bRnA4V4-k;xfs3ZXuS8#|rtZ7mF2A>=9@}3|w5;{(>IJCA>s2UG(yuUMiMI z>Cp`IAzw6TSQ?a$XSy)>nQS^2k7v_*#%W!77d9x<8WEI=k64OTVOeb~7vvT7!dezuOs zn@Tz!@ha*5w=sDfsT7k(#!9+l@$qO`$?sTv$I|gwS}EqS>T)a{k9L(}9!qzunExNT zWA)1)o9|e4`M=UVhhODYY8gfcPi217Fq44ayu9b{;DoDq^28CBvVYhV0XH)vFjLW` zPF19O+Vtp?&V^M@bwhph8`oYKi6Bha;Kqm;y#4;V7vpX_3Tz!;p6}OYiv<~VaQ6IN^YQ3wcpQpPfT~4(@ ztIn9JYMvgQU97IY+waxU^0W(uHdkJKx~Sh%MvXCh&GhESudRD%Y7JoVZDa9pC5uDG z;*oMAf}V*<9X6J!1JoH&UsPWGRVDhf%j;h-`Y&Eremp0P!7bO7kML__@WBcOyG;vs zS1`EA82t9y@^!e&7`$4+V6Ssw1lO<9HG|H%#W+q>aJ=0Z{M;CDQCca*n-%GYO%zxA()!z1fBK&o(w`XkG84s(oKk;tW5+j(ss$naf{_2>kbZGUza*sR zp=UBhRa;2kHmO7|s@g;P_K-dn(#JyjWJsS3>C+*7I;78r^yYz?Zx&U{L;B?*{}mzq zijaO)NWUtiKR2X5H>6)3(ytEb*M#(ILi%+f{ko8TLrA|Nq~93QZw%=-h4h=$FqYut zENKtP;qkj76z|HA{3jvV4axbCyfq~EDW1r=Meyv?h#B`f>PMMp=SJ)gzlK1WD;uj- zeFivbKSR9(`_H8PETtbV!G`CTM*K_R6hS>#RwLH)9S|n{=c&I$Ic1)68?jz{h2Qr- zMZG5ezPv!+`=&k5u#M=+XT{#H{}Q#oL~c`UA}`eT?W(3kj;RAB^+~GROZ?O7ni73h z4IvKseZJ-Dgp&HLP~R!BU!}H`$mgm{OZ-=>Z;I@!g0Z{YG_L ziGCBJ;XxqEG|IK1O}6zmIw7^O@y?NJ27Qefyi}0L}-mL(RjY#MS>hZ+FdS~7raW4^Mm>^ z!Civy7rasM7Qx#D?-SfF_=w=+g3ky(C-~2T|04JU!5;}u2=Zw^>r*SpcS9&Q3oZ~m zRj@;FxnQ^8YQeRF8wGm=uNE8<gokPl7*?@?R0LI2~|MKZ6K)J`wxR zA}L=gm=#?n5>HcVnUtR;@){!c;mf3)@14+Z zK+1O$u|MyX@{fvqKM|Yd!&3f)$j=h7f4?Z@KNR^W5&QYCr94^-89a?dlrJG-pN~uV za*;0}V&A`1%C`s(2wo%lJBYY0+$ZIq75OnDt`kp7`ST*bOvL8?BPsud$Zv~`YN|-L z()Sy=PA~=ZdT1d+$x9dKKdP?hIVkk}?IvRWt|nrBt|wwXZYE;hZ6RV_^%4Oo?wQu~P*p94gU$3Y_c{~2NouV)a^uP+hN zkB5oqr&ozxN*yKgB1c3!G3_KeguBKr9T!97GYX0PBrBKrMS!8?d({>T?9-^^{ThUeWgxF|Id=yoY!a)`7_P6EUuji+qsSg844;%S4Rp>muuO zz+$Xx^a=T!i5Som#2B}qKeSOBbE@wZ&mcQ`0F8S6e$L&5M#_MZDjMKjp zF+O~ymHW_1M2rVta^pB$K}7#=Bck8;5z*iJoP~bodtB^aeQrX(HnM$@RFTqlU= zzcC{E?IT3=*B6QCC*4l;k3M&xU*@tM=#LB${jiyc_U|I1-M0|Y-Y*c*PSr8u^>?hi z?LUYtuQSiocT|XLm@Db|h_9pI<+g3@ zadWv5N^DQ1XncR5BR@1S;0=zc#mKW8+_ABdzTCDkZ`5~_a3gq&rL@SD_y&06paPBm zY_oiW{Rg?_b*3{a#kC(cmya;{Ft)tjbY~?7J_4@b8N5TG^?n!h4Hkzg*jo=#I|hfw zypHqNUDiH2=H{=i;J`{xPf#2xS|xbp3ZO1jb)0LoLBzHCt5hL3Q| zYy5XN78gotKa{Uv&36LI$0=0S;LVE;OvEvlxNAUT+2w6U9&a)QFX>dEGp5!{I(%eR z;bkmrD1TTwg#8EqgA~J_buso?ldvu7^nH9YkF8fHY-J_MxSWB~upPGNAYr@IX#u`r zH@sWqZXmYvpe`of$tdI9_HKNb#uxc^S0hgwe(3jeG{WXxjWTTOK{C9r_;vwr0T%Q( z?J~TFVQ2I1v3PM*4tRNewR!uY!(}K)hW9n!F5uk>3-X#L35NGau(NshS-k8=)80=Z zZ}W~rF4xa@`gQ^DUdZG%bu_#mMVZZehs8S+I>XD~sW$Je(3R`wS-xGsyB~JsHBUYa zZ#^!bTF5dw!@8j6K2P7UqC)3aW0SR^i??K4q#SuU!!^`u6&HJFm+XNl$=*Ksf zZQf^4hT}ny4DVv!F5rC?7W6kyY7B1+>}=ls7B7w^0qmQ}@k}zjJV!wl@GcfRGbV<2BkXM6XDr@#AgF2YEB?3z>wjql-tYK!0WZ(* ztlt8upyB18JJ`I3EZ&6{FV_J=1ial4IQ}M?wpXJ7s(^Ph1nL%xq2XmLoA)J)_f+Ui zd!I(X(AMmCTOgF1SC9F20WW`#kar0_OosPS*x9^?E#6kKqu-}Pykix3?+Nja3vU}q zkqj^IyV<<2TD-glnf5LY@p8SeUM87%Cxm$S3$J<7XzX~dw|S3Ryg2p;yu6ShM9|L% zD)7D$npcN~7nfn34DWx2=GB`PFYno#_VV|P&HE~Za^w4;Zx@U&uVWmiq)!|4^Zh8d z+slbZJ6?Zz1~9z)LhXI40x$oB4XS{b_n{dNKZ$fQ?cEJKo43y5&A`&|ZbvZu5BhmF z;+1PJ=daCslJI7I+MvC?FtT}PTfF?4W_bIMw|Tk$m*eg6?Sl5kgqOc-nHZ1hJ^0wX z^DN$XL1%cI;cxSHNj%12f~eDU-!9St_+il(}EAaCE3H}GXykEh2b#91vEsSj5n8kaZ#mnbh zHt%o+Ue?v-y+(Lfhj`iVHgA{3djWK&pTF+M3+6NLv#=c|LDcCh__lfXirpH~Gal35 z;$!o6TfA$bGraGGzun$jEAVnWZQi@YZXL;x4DWiB+q|nS-iyVK?c#GEoA-W+$5>1d zb>d$w*}M;l-3HMcUjD(N&AZ;>y#%(jBkyW|9}4>U5s4?^0^YNHyI@{DE_NHm(D0rK zJDYd2#d{fS4X^&oO33E=`*a0fJ~y-5`<&Qq3h`c#a+`OH#k<+!-68E2cYVL=93ucZ z227)&cJv}1&*9wfufWH&;|1i653*_={Qlf3FxhkbcF;tpI}xD9n$X6M`;*;{o#5?8 zCy|%;{tRym9E=YG-pd~{R)NX#{AkBJ(B|LsXFTr7CSDSD#s|gfUi{eMS=%I|TNaA< z;2Hj(fHIzokBPSucJwjV?^|$q?%@wcN!0PfFWc@Yekho;hN!jveWCt4**+wiSil(w zh9MZHFB9!>+c8L*6Vg9~;;n~WHyll3JD9#69uHLR5Q4D1Tk$dN<#SpSn|}N7V}kb- pOftGJh2pJV=0A&JygqzPyqDk$(;#iZ4S*KR1IFQAPCL%W{{}vTT`2$n literal 19344 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 M9^ShaJQRffKbp=>Bme*a diff --git a/cortex-m/bin/thumbv7em-none-eabihf.a b/cortex-m/bin/thumbv7em-none-eabihf.a index f3130e02287f30e542afcf122fcbfa1d235d94d8..65b50f03ec6cf315655dfe932202b74c36266de6 100644 GIT binary patch literal 18992 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 literal 20492 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 diff --git a/cortex-m/bin/thumbv7m-none-eabi-lto.a b/cortex-m/bin/thumbv7m-none-eabi-lto.a index a6a238cad8fa1d9721c45a6b98d308eedf633665..df6da2d515328e3a0d64a98c183dc5348914b796 100644 GIT binary patch literal 14092 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 UkDL6LH26Ml#jQX3#c-ql4|H6$5dZ)H literal 14192 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 F{{cLiuIm5* diff --git a/cortex-m/bin/thumbv7m-none-eabi.a b/cortex-m/bin/thumbv7m-none-eabi.a index 30dbd187f1645eea493d745f443e2993838d8f72..9c0efc69fc8f065b48350b3eb638fd788379e6e9 100644 GIT binary patch literal 16600 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

(p75v$2yg3`)62{b>=vBZxz3W zxtgA*Lp?<=zi0QLo6k>DVm#Hn@#wjyFg`l!jZLc#8{n|I3XOj(Rykn*46w4!bVfD5;d9E$9_G*SD(g*mR%77lVU?P}@w?XhT`)XW z8n0p>I)CdK8=v-i-n{j#-BZ(U;aycK@KmfaHBaM0r25Y%LUL)+9rdbI<-vP3UHRE@ zW$N;C>dH1e{j03;kNrD}Wvw4CRI%o9a%Dfo>KYu{_h2GUyTqGDi9FJ%@<%LK{C`|} z8hZu)1?eF6msdjt*s65;S6rFLwx|=fnX-g!Q>XKBwe7HV1_@i2PAhSR-Nb&8`+?YM zgSHrdXQPZ?bo=pRdMf7IdC1d-Ki1B%uwZ=?m*M>x?83ZH z$L4wQ*ctGC3i&Yab&xB?`%&L6;2nZYUh}ou@P1gz`hiTxWAnW9YvSd*dYE?tGX0rk z;{7=aU>EStK&GAP8^inWC=17XA~w&v7&^n-1IJ}N)`MPd+ zW3UVJJ|COs#jQ2q{Y#LBc^`nTQa|$<1^)uxM_@-@+@5tZynLn!^S%_D=Uoa*6YuTF zhj|}^j9Y(@OuX+#NtpLLkjZOK0}L5C9&0en`wVpSXOiK)#skje1=5O!hS zh7d0vg#upAi*UTJKxTiKWZF=R0@ww-tq`a)bI|b8SD3eT<$S!aht9ynQR@=M^5w1KxvHypNz>CEh=` z`uUjf;;~*Q!@J+==l&2czeAgNZ$y3k3*vnWLM7f2-!6#v8OV$`rCI0und2UgcjLD=zFolkJnYEJ*A*rc?=IxSyaOTLtk|($yFXt7UcOtg+$5-V zYP9AR-$iMc6TRWBv*y(`A>NB%YvN^p;a|Y3P_I(F{Pv80LA?Cie)6udc)tmwaJ<*A z^zFDmvmxG1A>L2>{(^qKPW*{GPBWeE^X&rO zqS#$2dK2$QQ6ACuvD<3#^6VhYdoaYiEyQ~l z>WBOJ<|@3m`*s2EZDP0G;=L8+VcvT}yjO*I_e#7{UEPU#Z!!XqZDN|T;y4U{d@kj> zL9D0hClxAS|*t+=cUP0mxY6O@P$H>(e+z#99fBXpIV=HCu|LG3>8cr zy7*8NzAuR{g3+CYOt@cWa3enfJ>$3*KjSZD`MVu23bZrH_`A^ZcTFe0Z=;O%^bApLuwhIAUJ5U`K!a@j^6qr?t=Ddqu7F{GT|rJqwZ6!!DeRt{E8&-GtH64xh+^ zWbD3W`J0Aa11g%tIGA{*7Vf`>uK9Rf=uNzTYx%o*8NTC&{2AUaS^kdVq2)OIu>T4n Zf5%Z5ra@}J1NJe@1NvEqA9-8x`(NK4flB}Y literal 18076 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 X$6upEwN#GafPK8$$=g!VYXtr;vD0{% diff --git a/cortex-m/bin/thumbv8m.base-none-eabi-lto.a b/cortex-m/bin/thumbv8m.base-none-eabi-lto.a index 166e4eb9ec9548bf7f97f9f4bf16b4826888aafb..d0a1098ecae803e638d96be3062685e62b2898f9 100644 GIT binary patch literal 13960 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 L-u;VOjOqUeRfLc$ literal 14340 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 H&lICE$XcP&@<9R!p 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 F{|(izdQt!Y diff --git a/cortex-m/bin/thumbv8m.main-none-eabi-lto.a b/cortex-m/bin/thumbv8m.main-none-eabi-lto.a index 5ff66960f701e2b98e98897a387d950482359eb8..918489e9f32c6c8c0e539c397636b334460f94e5 100644 GIT binary patch literal 18452 zcmd6P4OmlGn*Ygn2#`b#8Zh8R9S5w+&37W$CIpeT)`?mzZEeZTm!JqCAR=wugb%~` z$64wyT{_d*4XvZrc4q15cJ0)*d`TJ0w2YnEWnKUN!LO>1ZE3aEwe9S_=iXcr!0-0| zJex=Ex#zv-o_o&kzF+4(?=?M#^1F)fm&{RTX$?g5M@CNx<~;UD5Neawq@&w7B+inu ztg7P8o1E3AO^Y^BC1nfC%F8?pJ(RO#VQE$QqH=^#uC4Q=UV)Gl&YcOQ%KE>m*y&n)o@>W0zzInLh;;m#D)57 z_!9-^Ja6siKPZ%I%)2-Z2|p5ulhgSB#~Dy8<>u~+&)qH8C`@AI!xGJ^rh*Q4x@~(C zf0;^?JGY`=JY{aCWqY&yVUEV#Al{`S<}7VGi;^>Q`N{J$=C`a|N6dN4vOOWWNAy8b z@~Y~487S~q8M@SX>P60 zhO4`KOlW4)Y*aw;C^5<`C8UUGOxzgw7Wa+{?y2WZ@Ik1nHyM6)V)H^OXym;T-+3A)uh|ewEJrHVmy`?w`&c=(l$O66KkuyW` zXTXr48o(5K*st1FGS#smT}=H)=mM$)ZbT31Z=;|fa1}aZhP2_Q^EjvzYGXtC#R|p5 zA#KZj5Frv8jScA+(g(E?P>`)sU(tKSjobzIb^jbTC5R581 zr2RWzM#uq_=#a`5#L;iS0#pX2qo)fd4CzSPB$WQkK50;gvE(!o11n!$g zX+bxy#fRSUV;VRM!&f3-a@ADF_bpXI|6+}b?n8>H)O&+ z(_>LO@*uo84DJ|8M^{W3(p-aB@oN}(KNm){4Vr4w+EmF?mbWy=&0E&Tw@q!d>`_VD z#YY2ASesF+w-n6Ao~0K)5^}lHCl$ZnL=dL8muCK$$F18iPhnsA4?y3xTCux?AP$+A zntvta*8O31>nW&)bC$OMBV0YbTJbehiyv6}{3jxAUF|l-WerrzbGsgZPDJxtGr=dA?c;)!g+8e%>t(2R zY|DS#2BXT}pqNt*)i0L*@iI)|p`zAyT)nn*%HLoL$BGo+LDi9--^IfZa<%1HobGz-ukD=$>XId{kM-VmdF0+0BQ#i0#@yh)K zk#WKH)^)hL=kHqY55s)t7Q7*a=N`{hxZTkBH+fTj0@cqRQq1u}e8Ov2@UU8mUF z4l^tW1S^Gdei8T|yk0qW#qc>h{)K-D{<@+vq>nrx;e1S$V40=uuwH^E0Blm!bcnH zO#?mI9kwL^$hX}&XKdL`Q0-|xB7vEPw!nDAqS_3Rzb&}#v|M_rQ+n1ey-d#OI%Z8f zGcsdnB=sZ=pddNBqkhT3`k4(qre>RYpeN^0m$|8ZWx zsqhBRr_b^dzs^2vTXKj8ZiRWE@G!i6m~1VKvmms^7fSx%6Y1xqY-Ct^!6Lg5hNtv! zc$ND^Fqfh>U=@sT)gZjeV1v~>+yl@pfj2c^=?#OUlsarpJK3f3&UKMe?8}fc=;SPE zORwLo6jc_4io&61190yft(=_Zo}AVm)1YlJu+sn_mQawMluM<-P(SQST@_S#m#-(K zpA)jrhlQWpWmj-l(zCF?yyPwm)MMq3Glrh;DGl~zF5ni7)Z z-0uEA62WG^COdaaXp&>Pfg`{>NsmY`& zH)WNUI2ZXVvn=$9j&y2t8mHFlbn2XLr(vOM{pLmFB3CI@ww_qNeC;Dd#$9xunX|cU zV_Er@vin`-eoy7rG8a`)T8+n}QF}FJuR*KRlX|b0bQyFSqu!`Dt2J(>VYP9Sf3sEt zi=T2lZ0N^N`L|}_8D&-aU0HZqSB++M9-=kn@Emj}9aErqcc;e}fj^Q!PmRQxjn); z;=bf&LRn1KId*r6>)L_vh^maq5dv73~)5E*)73U!cGo4Ef@YCAG*bGI3|a~ zDJ2}fB(#cZpQxq34tn(azTgc9ykvCi*GYfsK{v)3Pg*Uz_^@b5ijv)fbA327W&#i-(pp19_*<* zr|N4@JP#|&F07Urn=)N@+9CbKE*l|aXRyJNePWkh=?DZxTVaU=mb4}WRsh?PLf=b0 zrh}a9-Staad$=3HD63A4s7?^7GZa3a52kffs=;s{(?@3mS`x8||F}1LA3hM5gm0OBx!X5Yj{Y z*~|J{R!SN&;S@cRicnFJ6ZDSHUjp(`1LCCx@is7WuLZ$ZYsWPJ+0qzDjh-Sk6yfcvSJ1SES&>8~7u3pZpE*`UPmT z+XOcZHOAEq(l*4FAeqPSa)=xLkQVn2DMf?j;hBVxzgQaJ^#(dOs7#}}4U`c~p(lhs zP{m^EzX77^D58GAlQOGGgU;mE>YS9>=<(2a_C@hT(lI=7{~h}m+tX)Mbtz8rR3~}E zNM6EQh59gew5{R4dGFAr=dCi3Mtj%4uDLED?-x8>IOZ2|niv^dRfts88YTch_HY5dMb@w+KMexnq8 zb1(dO>CXAFcGf-dqbUYUuswjKZAU;J+6>wZY7B03pk#3C1&)I_S_;i~8+}#dAu|BC z0TCNTK!-A!DV@PU8oXL^Dafr*IwrT_sNCZIfX`OYe3r7N7=oJ58wdd=gB-pczGC4f z=eqj~h&ite6V4elo#CCZc>n6bc#!+oDuz2jRyj_5F_vepfGp!5mb*GAS-G1F=k9zY zZvG^G#h~OFGfkgYz;N7mf4OUPiu&!yJILyu7Ni%1`+=Rr>tZ;}KV50cWoR z?jFjl)2k_$+U4??bRIp%JzqLc{3q3NdCKB8LbsW;7GHAI4W8)Qe^K1H4q4h02ig-M zn6pxz0Ln5@1w%k<*Sw#3hMU#ay|Jwao9&kgC04PY;%lYKz?#CwM;cHok6baO&pN}> zmAEz?A;(Lzn|l@o>Sn$UNOuZHRD;$FLB6J;zvX#Lem)1C0*k(4O22i+@)3QceM`?G zcm&g)N*!t+CUSwjBuFXRf*kdKj(>MFepoI&MOw+@RGs4x4|IkcbVg?!|50MQWTxQE zFsR?EP8A^(UzG0S^&;!X!ODPAxi7mzD(CT36yi5=7=Ey*upT}fqeC8sxv>0z?I6Fe zvW1u;Sm$eeJjRkS??nyQBm56m4ETR0&HpuJmE+%r7F<6p18@P}g^_X_Jzh5ju03g_ zD2kQ=*_aFrMrDAtU5{bg)%Ze5;|rV{*{;`aZM&ZECIP?S*mnIn#&)5&hKrhe(iIQE z+*!;Rf1qdAMBAloe9R|!qNVXMN8>o#wP*~(hFKWH4`>WsJ}=zZ-tB z`yfn1*ts34TBA!sg(?pm0t*MdLrBqbdBT>6ts>&)uNjU%g)H%ml}AaUcR5Z%46Fuy zv$p;kyaW8hI_C)}$K&;JOT>SQ!Zc>5L_bPBXH{{xGCXI5dug7N_R@GgJSqhLi3MfL z1Y;Eo7&cU}s8qXQ0p#^iCYRSs^IpCT^g!C{`+sKd7a+y)aME#z2Gb_J7n}6LHK}`B z;@@^i9>33xM1g{tEnIrl95}{{bBmu(pA&3uo>$K;B1Pa#)n%RMW*q984;G_T+}(}> zPec5BulT)i{GOKI=7Iv)9#Bc7vuimh459+J7{rGM;|1s-FgBKFZ2z$z1-y7P>DxLp zvK--n-Iwn(lOVd?1g{HS{ATKmGI)FTDk6mtt_uFuJeBFbnEsg58lkC4O)^0QN(wGdypkYEgrCPvI0B={Fq^C8iLtz(ecjlHf}?T z;tCf)>$i}B>+kk9&IATisG5XLoJSpcsj7y92n&SbBbYG$W-Jfh0+Wn8!vrscV?6Z; zCLWB5UPEcr8ns$)fJHy0VKCWqdrXEcNy9h8H<*@j*)BUp%CH?rqVK?YbVJQb89SO(7LWnUYglODC2ta~`kWvIIsGPz^P?!}v2v&X}M@K3ZsC}4#F*eXBZqY=`{W;sq@77Iq)1*Ebq9==`-!)p@S-=sEJdzpLY(a zExR3oz;Th{bXbZK)ERAZe!WM$f0m-DelfEAJGS2P!kxU34|as)Ff-`qNj?JGU6;}k z^Zu3toqd0J+Wfxy9S$N?Ef4k1x{9}PQ%_pczHF!UCYJa4&?X}9*bE>6E${A4&hf88 z5ASG`6Tb+x*+^*(5EgPf)v)+v_&Q%PX1i}D>rYsdp5WX>*5A(MWHs~JkxQ&D6OY^|< zncu-IpX3DgWfyX*60Lr7<(Od2f$f zu{EjqX1M)3gWGf81Gm3U|9-eN1A;8S-4EydzU=r6OI$S}+8Xf{MFv!Ve}MOFhQJiy znKA^cns|%t$E|7SI0^lZS!cqthERgTI(=0;1iq)QwI)YxQe$erHLWv{a5Y_eJ($?( zm;vpF!?S9wTSX9OF&?7B0!?&S0OAA8iIS&l;*rC=`%%5Aqh4n}7fd@tKj;+wpz2`4 zRgUy}`wWG@O;lk&My2&yOX#Q#9j{p{ZhX8j;&qtMhklDA3`60VW9O`^6ojs34Z+Dc zX~MFE*NcoSHDIwqAJK6gPZ{Mb^%S{Xl&g4xy`UpIAX?*^0JCU}CYM`d(n9Q4?=*Xu z*v@vvJn#0Zr&1mbd@Sd~@i36W^5Fo^O~Yz&8fcMY@efP%~Nz)Uyke48#PJ=81RSw_N_q z$AE7-fNz|@H~qjjF9P4#;-SIx+wx6bUQ*u8_~wIxyW*Rs@5eVQfP+|l1BMs$&BwbO z6Jms9qkW%XZMcz^=EzbD%V%`08XI@@QkzSwHc^!uC$6;ExNA%Uz}T(PdPuXGG?Fg8 z+T&(0?u$Y=dA-Gm-c{c8tGtNlbz^sfi4%ScaY8mc`0X3CD{;Fe*VvkC!{5!lR%eRF z2ag2HZx|np^?7e-=L$l1Y3E9AVCR4a@aXj>H~48D59!jV&CbYL;9L}+oB0RT)}-p2 z*}2P%o%{5A*tvh1@%`*vY)piStG>MpP2juY#>WGVMGz%XUhhme!=e4%EO^t5O#&DYwPG(VXkm` zu5dE1&Hj0m*JdBMJ6^lkfA_p*kC9adv)5V>6N?^$3PSo!Y+nq3!4J!+_EwlpSlv&+ zjE+RBO_bUUkv;?LV`|lAz-(R=vzx`11g#~4)_aL9+3!5I^vipTEfvJzD28)>-z&Sq zCFA!+Xh0)TC5$27dyDw>G3$8DcN3Tn)~qxYn9bwTQcmzW3@#mb_vVP~=0~xc%x_FA zsh2aomzCWZ-FDg@<+sz!GU<+W+kCU)2heRlZwWKr9foHtn#AtIMeRXstOKJlfyp8m zVdipcNZ2AW8_Xm`FTKXdy51YbXfl8OY&9LbtSWA-y5T;@ZDNW?;QG2WXSy6=mhVN%0Dx0e?9?l$+G5Nw>@FAxXE6!Kg2a(arpk zE7qhdtWJYxB8ROb{vp}imh`;skQAkX2yQh8$Yc9$4=Ap5XQ7x~?$}sEASHIcE!GEP zeAvl*1<~c`_`QOtKM}iE0C@v9@?df3d+ZVhL*vnS4PK8+@6nMO9S%ZFYd9ChVzR6; z`u$n%^k=z~{fP%wM)msxcj>#%FT8vGekXP?fPJvr+Ckq9?I2ABm<(#831T!xv%#rW zn+ zz{qIwXiRRS7P7}k3If~=M)RT=P1Ze(9TdD-EO_%??BI~|j_u&}>HpvCAPwLh*+D?+ zc6N|$0(e3a9x$9&XLRaeBZc%bc;-j(oGhD+9UKr&AGm=XTpwcx*WaxjJpO~)!7<40 z+zv*7nZSPI>>%3&u!9sR4QO~u>m)TUl8X4P-Y9mHc`;%K-z;f-^Iq)W@jJJJ7k@xI z*cS44+|mwKdL|@6KyVRgfRRT>sY$&?=k`E6(dlCStSCk|vxDbylg_a^?GEhV{HN~R z4z7p(SX&QCDq!pXv(++%$*-wbL&#Vxswjq~^i^vbgnfsQbO_?b5DUh37yANMC~03{ zD&s>nlbw(gQdwM7xwXIUc|1lV4(Ct?wbp4cF><#jiiwGPQ^9Y2*L-}r6d=GFY7A%WdjzXq}thKQyf zQ^t}O%XWFPW@>+b1`5NjW?yD^*7>^3a39__ZeHC0?N?iNGVR-X%&_kc4g~DGzuO{( zEs>Nqm+K@uP)Yl#!K@5%4V+Ra0)Dly(x+QT~w+e&u71=2u-zm&G| zdOPV{vUkUF$%+@-VNcl_U~}@AePh^|qJKC}JK4WI@Its95}=rrMhNalavNW!qvWtD z&AglF+JMQ6>ZSLUswQMb;nlmYsHh6(MVTNm$LNKeXQ$cefz(Ev6Vexb4}oYN!}y$# zbzP0?CdqIMXKV}p+40FXZ_~*(wZVkt>5tLLHa59bAesVX2v=k^(>u;>gz{6^ia!aA z7RhOhYuJBZj6W-+a~c^m4+EO-1{XpZ;&Vsjj0^F||Utrt20PjO6+BNGtG zz(J&7;xL0}G{2Eqs|x5Gk*X?cJbz2<-FdbrN{_xpSuH0tGgPj z?+MfPr|t&Ri;I2`OdkcFWA#YHpMGJO#`KnKO6!m)uDx`egvnn5{BFRhkiUd40J5Y@ z>omDYolZ{~T{;sai$Yv3b<97!DX%`$)%eUk;X3m4-Qc<->j%O0X1p4{M_#=Fq%^N$ zL|tB|S*Ih-Mki=v0~=SFcL$hObTwAo6QrPF)WUUeiUl^?|}V%zH+gTmd=H{>Agzi4V) zHz-)$8Na48KESgm`1QBWEM?cZ8=j`^J6fh>l1j0uVDr0T*SI%a#~%{G*W%0^Z@iA* z;+?QV3UdS+%+csJyL8~UP-;CyCk>JHhIi5&aWW?UjpfZ=&rQ017yirsqC59rZZ=1p zO?C5F#TIYLr1uCkJV%dSuh+mgH%=o7k=RJAV*Bmqm}g7MOYvG~sBSV1uH z7L8Osy8*o@Ru2CxzyM7$c{4@e5pI|1RZ6KYyM42X{;wuR3JBp*o+jeZkI*eM_C zNDN9ZOu6RE3d-M~rd;`8aOx?A$@*ka@wcSHuF~N2U(KlbVp~wTPuWKOeK4gn`OwI| zpz8mo3{81En09gIHT9o@#NJe8_x}sdK9*+kUk}b5nN|35TqJ+clYr27@Q$bQTF(R2 zbWTS$*lI|wqw_f66cxfB{^4>S{GE^ZG|$0Boc!_w9V-Y%AvUEsPq}#J4OZNa>0Do-B(l6apOwq)s-fsW_PmMk610H(7gOBVre)maYUkEISZevUF9XAGT!a=|IQ)%$6+u$C37I$SfPhJj^y6T`)B!P=pEi3}`r@9Sz+w zVK*2i1U>N8NbG|lMDD;#|CqHec2#M2mGN2e5$f27zy=i`N;K+4>P4o7_&d>s%*VM4 zE30s>5&?m7jn<8W<~saY4}907H^Ns@2H2)C!Y5KDJtUd9Ntbc_f5sE}#5Ve$^1vr- Ni*EcKFMg8<{SWU=R5btq literal 18728 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 Zmqqvue2>OyG8oNFp>xNsRoMJS{|^rSC#(Pf diff --git a/cortex-m/bin/thumbv8m.main-none-eabi.a b/cortex-m/bin/thumbv8m.main-none-eabi.a index 9971923285f75280fe73695ce4b97ae3b144b01b..d921f985e56ef01b8cafb01ff9245dab36a8721b 100644 GIT binary patch literal 22696 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 literal 19508 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 diff --git a/cortex-m/bin/thumbv8m.main-none-eabihf.a b/cortex-m/bin/thumbv8m.main-none-eabihf.a index 9e07c40f7acc905e249ffd7fe3bf8eb1b3aa1957..37dcfda81715a474d725e2c36f82433752d3597e 100644 GIT binary patch literal 23800 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

%kb`W>jR-!Y#iQxDYh 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 From 2499d14cd19b46cb4cc59f2669155f40f4fa477b Mon Sep 17 00:00:00 2001 From: Wren Turkal Date: Thu, 12 Mar 2026 18:41:30 -0700 Subject: [PATCH 3/6] Bump asm to edition 2024. --- cortex-m/asm/inline.rs | 312 ++++++++++--------- cortex-m/asm/lib.rs | 8 +- cortex-m/bin/thumbv6m-none-eabi-lto.a | Bin 11232 -> 11232 bytes cortex-m/bin/thumbv6m-none-eabi.a | Bin 13252 -> 13224 bytes cortex-m/bin/thumbv7em-none-eabi-lto.a | Bin 15328 -> 15328 bytes cortex-m/bin/thumbv7em-none-eabi.a | Bin 17856 -> 17864 bytes cortex-m/bin/thumbv7em-none-eabihf-lto.a | Bin 16244 -> 16244 bytes cortex-m/bin/thumbv7em-none-eabihf.a | Bin 18992 -> 18968 bytes cortex-m/bin/thumbv7m-none-eabi-lto.a | Bin 14092 -> 14092 bytes cortex-m/bin/thumbv7m-none-eabi.a | Bin 16600 -> 16640 bytes cortex-m/bin/thumbv8m.base-none-eabi-lto.a | Bin 13960 -> 13960 bytes cortex-m/bin/thumbv8m.base-none-eabi.a | Bin 17140 -> 17112 bytes cortex-m/bin/thumbv8m.main-none-eabi-lto.a | Bin 18452 -> 18452 bytes cortex-m/bin/thumbv8m.main-none-eabi.a | Bin 22696 -> 22672 bytes cortex-m/bin/thumbv8m.main-none-eabihf-lto.a | Bin 19380 -> 19380 bytes cortex-m/bin/thumbv8m.main-none-eabihf.a | Bin 23800 -> 23772 bytes xtask/src/lib.rs | 1 + 17 files changed, 174 insertions(+), 147 deletions(-) diff --git a/cortex-m/asm/inline.rs b/cortex-m/asm/inline.rs index 3444c62d..98dd005a 100644 --- a/cortex-m/asm/inline.rs +++ b/cortex-m/asm/inline.rs @@ -11,13 +11,13 @@ use core::sync::atomic::{Ordering, compiler_fence}; #[inline(always)] pub unsafe fn __bkpt() { - asm!("bkpt", options(nomem, nostack, preserves_flags)); + unsafe { asm!("bkpt", options(nomem, nostack, preserves_flags)) }; } #[inline(always)] pub unsafe fn __control_r() -> u32 { let r; - asm!("mrs {}, CONTROL", out(reg) r, options(nomem, nostack, preserves_flags)); + unsafe { asm!("mrs {}, CONTROL", out(reg) r, options(nomem, nostack, preserves_flags)) }; r } @@ -25,12 +25,14 @@ pub unsafe fn __control_r() -> u32 { pub unsafe fn __control_w(w: u32) { // ISB is required after writing to CONTROL, // per ARM architectural requirements (see Application Note 321). - asm!( - "msr CONTROL, {}", - "isb", - in(reg) w, - options(nomem, nostack, preserves_flags), - ); + unsafe { + asm!( + "msr CONTROL, {}", + "isb", + in(reg) w, + options(nomem, nostack, preserves_flags), + ) + }; // Ensure memory accesses are not reordered around the CONTROL update. compiler_fence(Ordering::SeqCst); @@ -38,7 +40,7 @@ pub unsafe fn __control_w(w: u32) { #[inline(always)] pub unsafe fn __cpsid() { - asm!("cpsid i", options(nomem, nostack, preserves_flags)); + unsafe { asm!("cpsid i", options(nomem, nostack, preserves_flags)) }; // Ensure no subsequent memory accesses are reordered to before interrupts are disabled. compiler_fence(Ordering::SeqCst); @@ -49,7 +51,7 @@ pub unsafe fn __cpsie() { // Ensure no preceeding memory accesses are reordered to after interrupts are enabled. compiler_fence(Ordering::SeqCst); - asm!("cpsie i", options(nomem, nostack, preserves_flags)); + unsafe { asm!("cpsie i", options(nomem, nostack, preserves_flags)) }; } #[inline(always)] @@ -59,45 +61,47 @@ pub unsafe fn __delay(cyc: u32) { // for more cycles is okay. // Add 1 to prevent an integer underflow which would cause a long freeze let real_cyc = 1 + cyc / 2; - asm!( - // The `bne` on some cores (eg Cortex-M4) will take a different number of instructions - // depending on the alignment of the branch target. Set the alignment of the top of the - // loop to prevent surprising timing changes when the alignment of the delay() changes. - ".p2align 3", - // Use local labels to avoid R_ARM_THM_JUMP8 relocations which fail on thumbv6m. - "1:", - "subs {}, #1", - "bne 1b", - inout(reg) real_cyc => _, - options(nomem, nostack), - ); + unsafe { + asm!( + // The `bne` on some cores (eg Cortex-M4) will take a different number of instructions + // depending on the alignment of the branch target. Set the alignment of the top of the + // loop to prevent surprising timing changes when the alignment of the delay() changes. + ".p2align 3", + // Use local labels to avoid R_ARM_THM_JUMP8 relocations which fail on thumbv6m. + "1:", + "subs {}, #1", + "bne 1b", + inout(reg) real_cyc => _, + options(nomem, nostack), + ) + }; } #[inline(always)] pub unsafe fn __dmb() { compiler_fence(Ordering::SeqCst); - asm!("dmb", options(nostack, preserves_flags)); + unsafe { asm!("dmb", options(nostack, preserves_flags)) }; compiler_fence(Ordering::SeqCst); } #[inline(always)] pub unsafe fn __dsb() { compiler_fence(Ordering::SeqCst); - asm!("dsb", options(nostack, preserves_flags)); + unsafe { asm!("dsb", options(nostack, preserves_flags)) }; compiler_fence(Ordering::SeqCst); } #[inline(always)] pub unsafe fn __isb() { compiler_fence(Ordering::SeqCst); - asm!("isb", options(nostack, preserves_flags)); + unsafe { asm!("isb", options(nostack, preserves_flags)) }; compiler_fence(Ordering::SeqCst); } #[inline(always)] pub unsafe fn __msp_r() -> u32 { let r; - asm!("mrs {}, MSP", out(reg) r, options(nomem, nostack, preserves_flags)); + unsafe { asm!("mrs {}, MSP", out(reg) r, options(nomem, nostack, preserves_flags)) }; r } @@ -107,14 +111,14 @@ pub unsafe fn __msp_w(val: u32) { // In any event, if we don't set `nostack` here, this method is useless as the new // stack value is immediately mutated by returning. Really this is just not a good // method and its higher-level use is marked as deprecated in cortex-m. - asm!("msr MSP, {}", in(reg) val, options(nomem, nostack, preserves_flags)); + unsafe { asm!("msr MSP, {}", in(reg) val, options(nomem, nostack, preserves_flags)) }; } // NOTE: No FFI shim, this requires inline asm. #[inline(always)] pub unsafe fn __apsr_r() -> u32 { let r; - asm!("mrs {}, APSR", out(reg) r, options(nomem, nostack, preserves_flags)); + unsafe { asm!("mrs {}, APSR", out(reg) r, options(nomem, nostack, preserves_flags)) }; r } @@ -123,48 +127,48 @@ pub unsafe fn __nop() { // NOTE: This is a `pure` asm block, but applying that option allows the compiler to eliminate // the nop entirely (or to collapse multiple subsequent ones). Since the user probably wants N // nops when they call `nop` N times, let's not add that option. - asm!("nop", options(nomem, nostack, preserves_flags)); + unsafe { asm!("nop", options(nomem, nostack, preserves_flags)) }; } // NOTE: No FFI shim, this requires inline asm. #[inline(always)] pub unsafe fn __pc_r() -> u32 { let r; - asm!("mov {}, pc", out(reg) r, options(nomem, nostack, preserves_flags)); + unsafe { asm!("mov {}, pc", out(reg) r, options(nomem, nostack, preserves_flags)) }; r } // NOTE: No FFI shim, this requires inline asm. #[inline(always)] pub unsafe fn __pc_w(val: u32) { - asm!("mov pc, {}", in(reg) val, options(nomem, nostack, preserves_flags)); + unsafe { asm!("mov pc, {}", in(reg) val, options(nomem, nostack, preserves_flags)) }; } // NOTE: No FFI shim, this requires inline asm. #[inline(always)] pub unsafe fn __lr_r() -> u32 { let r; - asm!("mov {}, lr", out(reg) r, options(nomem, nostack, preserves_flags)); + unsafe { asm!("mov {}, lr", out(reg) r, options(nomem, nostack, preserves_flags)) }; r } // NOTE: No FFI shim, this requires inline asm. #[inline(always)] pub unsafe fn __lr_w(val: u32) { - asm!("mov lr, {}", in(reg) val, options(nomem, nostack, preserves_flags)); + unsafe { asm!("mov lr, {}", in(reg) val, options(nomem, nostack, preserves_flags)) }; } #[inline(always)] pub unsafe fn __primask_r() -> u32 { let r; - asm!("mrs {}, PRIMASK", out(reg) r, options(nomem, nostack, preserves_flags)); + unsafe { asm!("mrs {}, PRIMASK", out(reg) r, options(nomem, nostack, preserves_flags)) }; r } #[inline(always)] pub unsafe fn __psp_r() -> u32 { let r; - asm!("mrs {}, PSP", out(reg) r, options(nomem, nostack, preserves_flags)); + unsafe { asm!("mrs {}, PSP", out(reg) r, options(nomem, nostack, preserves_flags)) }; r } @@ -172,54 +176,58 @@ pub unsafe fn __psp_r() -> u32 { pub unsafe fn __psp_w(val: u32) { // See comment on __msp_w. Unlike MSP, there are legitimate use-cases for modifying PSP // if MSP is currently being used as the stack pointer. - asm!("msr PSP, {}", in(reg) val, options(nomem, nostack, preserves_flags)); + unsafe { asm!("msr PSP, {}", in(reg) val, options(nomem, nostack, preserves_flags)) }; } #[inline(always)] pub unsafe fn __sev() { - asm!("sev", options(nomem, nostack, preserves_flags)); + unsafe { asm!("sev", options(nomem, nostack, preserves_flags)) }; } #[inline(always)] pub unsafe fn __udf() -> ! { - asm!("udf #0", options(noreturn, nomem, nostack, preserves_flags)); + unsafe { asm!("udf #0", options(noreturn, nomem, nostack, preserves_flags)) }; } #[inline(always)] pub unsafe fn __wfe() { - asm!("wfe", options(nomem, nostack, preserves_flags)); + unsafe { asm!("wfe", options(nomem, nostack, preserves_flags)) }; } #[inline(always)] pub unsafe fn __wfi() { - asm!("wfi", options(nomem, nostack, preserves_flags)); + unsafe { asm!("wfi", options(nomem, nostack, preserves_flags)) }; } /// Semihosting syscall. #[inline(always)] pub unsafe fn __sh_syscall(mut nr: u32, arg: u32) -> u32 { - asm!("bkpt #0xab", inout("r0") nr, in("r1") arg, options(nomem, nostack, preserves_flags)); + unsafe { + asm!("bkpt #0xab", inout("r0") nr, in("r1") arg, options(nomem, nostack, preserves_flags)) + }; nr } /// Set CONTROL.SPSEL to 0, write `msp` to MSP, branch to `rv`. #[inline(always)] pub unsafe fn __bootstrap(msp: u32, rv: u32) -> ! { - asm!( - "mrs {tmp}, CONTROL", - "bics {tmp}, {spsel}", - "msr CONTROL, {tmp}", - "isb", - "msr MSP, {msp}", - "bx {rv}", - // `out(reg) _` is not permitted in a `noreturn` asm! call, - // so instead use `in(reg) 0` and don't restore it afterwards. - tmp = in(reg) 0, - spsel = in(reg) 2, - msp = in(reg) msp, - rv = in(reg) rv, - options(noreturn, nomem, nostack), - ); + unsafe { + asm!( + "mrs {tmp}, CONTROL", + "bics {tmp}, {spsel}", + "msr CONTROL, {tmp}", + "isb", + "msr MSP, {msp}", + "bx {rv}", + // `out(reg) _` is not permitted in a `noreturn` asm! call, + // so instead use `in(reg) 0` and don't restore it afterwards. + tmp = in(reg) 0, + spsel = in(reg) 2, + msp = in(reg) msp, + rv = in(reg) rv, + options(noreturn, nomem, nostack), + ) + }; } // v7m *AND* v8m.main, but *NOT* v8m.base @@ -232,65 +240,71 @@ mod v7m { #[inline(always)] pub unsafe fn __basepri_max(val: u8) { - asm!("msr BASEPRI_MAX, {}", in(reg) val, options(nomem, nostack, preserves_flags)); + unsafe { + asm!("msr BASEPRI_MAX, {}", in(reg) val, options(nomem, nostack, preserves_flags)) + }; } #[inline(always)] pub unsafe fn __basepri_r() -> u8 { let r; - asm!("mrs {}, BASEPRI", out(reg) r, options(nomem, nostack, preserves_flags)); + unsafe { asm!("mrs {}, BASEPRI", out(reg) r, options(nomem, nostack, preserves_flags)) }; r } #[inline(always)] pub unsafe fn __basepri_w(val: u8) { - asm!("msr BASEPRI, {}", in(reg) val, options(nomem, nostack, preserves_flags)); + unsafe { asm!("msr BASEPRI, {}", in(reg) val, options(nomem, nostack, preserves_flags)) }; } #[inline(always)] pub unsafe fn __faultmask_r() -> u32 { let r; - asm!("mrs {}, FAULTMASK", out(reg) r, options(nomem, nostack, preserves_flags)); + unsafe { asm!("mrs {}, FAULTMASK", out(reg) r, options(nomem, nostack, preserves_flags)) }; r } #[inline(always)] pub unsafe fn __enable_icache() { - asm!( - "ldr {0}, =0xE000ED14", // CCR - "mrs {2}, PRIMASK", // save critical nesting info - "cpsid i", // mask interrupts - "ldr {1}, [{0}]", // read CCR - "orr.w {1}, {1}, #(1 << 17)", // Set bit 17, IC - "str {1}, [{0}]", // write it back - "dsb", // ensure store completes - "isb", // synchronize pipeline - "msr PRIMASK, {2}", // unnest critical section - out(reg) _, - out(reg) _, - out(reg) _, - options(nostack), - ); + unsafe { + asm!( + "ldr {0}, =0xE000ED14", // CCR + "mrs {2}, PRIMASK", // save critical nesting info + "cpsid i", // mask interrupts + "ldr {1}, [{0}]", // read CCR + "orr.w {1}, {1}, #(1 << 17)", // Set bit 17, IC + "str {1}, [{0}]", // write it back + "dsb", // ensure store completes + "isb", // synchronize pipeline + "msr PRIMASK, {2}", // unnest critical section + out(reg) _, + out(reg) _, + out(reg) _, + options(nostack), + ) + }; compiler_fence(Ordering::SeqCst); } #[inline(always)] pub unsafe fn __enable_dcache() { - asm!( - "ldr {0}, =0xE000ED14", // CCR - "mrs {2}, PRIMASK", // save critical nesting info - "cpsid i", // mask interrupts - "ldr {1}, [{0}]", // read CCR - "orr.w {1}, {1}, #(1 << 16)", // Set bit 16, DC - "str {1}, [{0}]", // write it back - "dsb", // ensure store completes - "isb", // synchronize pipeline - "msr PRIMASK, {2}", // unnest critical section - out(reg) _, - out(reg) _, - out(reg) _, - options(nostack), - ); + unsafe { + asm!( + "ldr {0}, =0xE000ED14", // CCR + "mrs {2}, PRIMASK", // save critical nesting info + "cpsid i", // mask interrupts + "ldr {1}, [{0}]", // read CCR + "orr.w {1}, {1}, #(1 << 16)", // Set bit 16, DC + "str {1}, [{0}]", // write it back + "dsb", // ensure store completes + "isb", // synchronize pipeline + "msr PRIMASK, {2}", // unnest critical section + out(reg) _, + out(reg) _, + out(reg) _, + options(nostack), + ) + }; compiler_fence(Ordering::SeqCst); } } @@ -303,34 +317,38 @@ mod v7em { #[inline(always)] pub unsafe fn __basepri_max_cm7_r0p1(val: u8) { - asm!( - "mrs {1}, PRIMASK", - "cpsid i", - "tst.w {1}, #1", - "msr BASEPRI_MAX, {0}", - "it ne", - "bxne lr", - "cpsie i", - in(reg) val, - out(reg) _, - options(nomem, nostack, preserves_flags), - ); + unsafe { + asm!( + "mrs {1}, PRIMASK", + "cpsid i", + "tst.w {1}, #1", + "msr BASEPRI_MAX, {0}", + "it ne", + "bxne lr", + "cpsie i", + in(reg) val, + out(reg) _, + options(nomem, nostack, preserves_flags), + ) + }; } #[inline(always)] pub unsafe fn __basepri_w_cm7_r0p1(val: u8) { - asm!( - "mrs {1}, PRIMASK", - "cpsid i", - "tst.w {1}, #1", - "msr BASEPRI, {0}", - "it ne", - "bxne lr", - "cpsie i", - in(reg) val, - out(reg) _, - options(nomem, nostack, preserves_flags), - ); + unsafe { + asm!( + "mrs {1}, PRIMASK", + "cpsid i", + "tst.w {1}, #1", + "msr BASEPRI, {0}", + "it ne", + "bxne lr", + "cpsie i", + in(reg) val, + out(reg) _, + options(nomem, nostack, preserves_flags), + ) + }; } } @@ -343,59 +361,67 @@ mod v8m { #[inline(always)] pub unsafe fn __tt(mut target: u32) -> u32 { - asm!( - "tt {target}, {target}", - target = inout(reg) target, - options(nomem, nostack, preserves_flags), - ); + unsafe { + asm!( + "tt {target}, {target}", + target = inout(reg) target, + options(nomem, nostack, preserves_flags), + ) + }; target } #[inline(always)] pub unsafe fn __ttt(mut target: u32) -> u32 { - asm!( - "ttt {target}, {target}", - target = inout(reg) target, - options(nomem, nostack, preserves_flags), - ); + unsafe { + asm!( + "ttt {target}, {target}", + target = inout(reg) target, + options(nomem, nostack, preserves_flags), + ) + }; target } #[inline(always)] pub unsafe fn __tta(mut target: u32) -> u32 { - asm!( - "tta {target}, {target}", - target = inout(reg) target, - options(nomem, nostack, preserves_flags), - ); + unsafe { + asm!( + "tta {target}, {target}", + target = inout(reg) target, + options(nomem, nostack, preserves_flags), + ) + }; target } #[inline(always)] pub unsafe fn __ttat(mut target: u32) -> u32 { - asm!( - "ttat {target}, {target}", - target = inout(reg) target, - options(nomem, nostack, preserves_flags), - ); + unsafe { + asm!( + "ttat {target}, {target}", + target = inout(reg) target, + options(nomem, nostack, preserves_flags), + ) + }; target } #[inline(always)] pub unsafe fn __msp_ns_r() -> u32 { let r; - asm!("mrs {}, MSP_NS", out(reg) r, options(nomem, nostack, preserves_flags)); + unsafe { asm!("mrs {}, MSP_NS", out(reg) r, options(nomem, nostack, preserves_flags)) }; r } #[inline(always)] pub unsafe fn __msp_ns_w(val: u32) { - asm!("msr MSP_NS, {}", in(reg) val, options(nomem, nostack, preserves_flags)); + unsafe { asm!("msr MSP_NS, {}", in(reg) val, options(nomem, nostack, preserves_flags)) }; } #[inline(always)] pub unsafe fn __bxns(val: u32) { - asm!("BXNS {}", in(reg) val, options(nomem, nostack, preserves_flags)); + unsafe { asm!("BXNS {}", in(reg) val, options(nomem, nostack, preserves_flags)) }; } } @@ -409,25 +435,25 @@ mod v8m_main { #[inline(always)] pub unsafe fn __msplim_r() -> u32 { let r; - asm!("mrs {}, MSPLIM", out(reg) r, options(nomem, nostack, preserves_flags)); + unsafe { asm!("mrs {}, MSPLIM", out(reg) r, options(nomem, nostack, preserves_flags)) }; r } #[inline(always)] pub unsafe fn __msplim_w(val: u32) { - asm!("msr MSPLIM, {}", in(reg) val, options(nomem, nostack, preserves_flags)); + unsafe { asm!("msr MSPLIM, {}", in(reg) val, options(nomem, nostack, preserves_flags)) }; } #[inline(always)] pub unsafe fn __psplim_r() -> u32 { let r; - asm!("mrs {}, PSPLIM", out(reg) r, options(nomem, nostack, preserves_flags)); + unsafe { asm!("mrs {}, PSPLIM", out(reg) r, options(nomem, nostack, preserves_flags)) }; r } #[inline(always)] pub unsafe fn __psplim_w(val: u32) { - asm!("msr PSPLIM, {}", in(reg) val, options(nomem, nostack, preserves_flags)); + unsafe { asm!("msr PSPLIM, {}", in(reg) val, options(nomem, nostack, preserves_flags)) }; } } @@ -441,12 +467,12 @@ mod fpu { #[inline(always)] pub unsafe fn __fpscr_r() -> u32 { let r; - asm!("vmrs {}, fpscr", out(reg) r, options(nomem, nostack, preserves_flags)); + unsafe { asm!("vmrs {}, fpscr", out(reg) r, options(nomem, nostack, preserves_flags)) }; r } #[inline(always)] pub unsafe fn __fpscr_w(val: u32) { - asm!("vmsr fpscr, {}", in(reg) val, options(nomem, nostack)); + unsafe { asm!("vmsr fpscr, {}", in(reg) val, options(nomem, nostack)) }; } } diff --git a/cortex-m/asm/lib.rs b/cortex-m/asm/lib.rs index a3af80aa..8991cef2 100644 --- a/cortex-m/asm/lib.rs +++ b/cortex-m/asm/lib.rs @@ -41,11 +41,11 @@ macro_rules! shims { $( fn $name:ident( $($arg:ident: $argty:ty),* ) $(-> $ret:ty)?; )+ ) => { $( - #[no_mangle] + #[unsafe(no_mangle)] pub unsafe extern "C" fn $name( $($arg: $argty),* ) $(-> $ret)? { - crate::inline::$name($($arg),*) + unsafe { crate::inline::$name($($arg),*) } } )+ }; @@ -126,9 +126,9 @@ shims! { /// handler gets linked in, this causes a linker error. We always build this file with optimizations /// enabled, but even without them the panic handler should never be linked in. #[panic_handler] -#[link_section = ".text.asm_panic_handler"] +#[unsafe(link_section = ".text.asm_panic_handler")] fn panic(_: &core::panic::PanicInfo) -> ! { - extern "C" { + unsafe extern "C" { #[link_name = "cortex-m internal error: panic handler not optimized out, please file an \ issue at https://github.com/rust-embedded/cortex-m"] fn __cortex_m_should_not_panic() -> !; diff --git a/cortex-m/bin/thumbv6m-none-eabi-lto.a b/cortex-m/bin/thumbv6m-none-eabi-lto.a index 047a0345cc3b0e20f2302344754ccd60063165da..069882d10a044e88200fd97d3f90de131e444026 100644 GIT binary patch delta 1297 zcmZ{idrVtZ9LLYS_uNt_>=r4d^nryHdu2RYOG|-lo)*GbQnk!2uw}Zwh05b@xM`*W zgYlFZ-7!8AxA2(J5F)S|gBlcYnM-7jbObgGOBoOnvf*MdGfLFk5+7Oc{P#Ke{=Vn? z{pEzpL*>KY(2aI4LgT?RWJbj-LXMTLz8B&kJpU=Xz~lXUT|d|HC>Ub*&mn|1y2zJ# ztQ%sF_z>b&&g}0NKsb1SU9RNCw${lZ9;3?H-)nfQQ0uwkC)Vh2#G{~*UHF!N__Yq#XR#1wy~n;d zg;3~9XWu;@uU%m8Tt{env(sA4$4VJw=cjqGt*cMP+wIGlFm_V=KJhYpfCX>sV zo0p&OGrOHSy}{rzo4vVCU7pe7G30rwt6a|dnw+ZI>Z)3A_VId`Pp>!Xoj#M-lW#B^ zjJiCR$?NucpYR!UMx)UicvJKXl|aQ+fXFF|?a;spBpg@@yvrORXuIMoy8=HDmnl9u zTP6fR_Ob8_AnLU%`qcmoTR=O`B#e_sd&ZlFomyrk>yf^bQmQWMh)s_6cqGcLFo(in^n7p)?pD8E7@U*@x3Tm8 z$Ik!%b~0-1aM9_ZU-gq)3YNC(? zw&VhuUkLyvINY;=$YiVMYN>i>e+W@h{`T)(`j48gl34)kl>x$q39SL!A3H`{ml!Lx bO}2r`t!zqdCv96|Y};wps?32oZ8ZD~V$+!c delta 1297 zcmZ{idrVtZ9LLYS_uNt_c+0qy(g!Q7tXIaXrG>#3xP@kqWQk>L1DV@OA9p|inGk#g z7~?fSX4FH>mP`WocsNK zf8X!P36=-TC%&LB{^aI)`&>7fw!Xmgz842N%`p(>jdADi;`5gWjvvH0G{yxmI$8%- z3Nbz$-i-!0>Z}vx75V*d~5G? zA;zE2b0y8#+23m_$JpSi=YlO*z0teSjalE!Rlkby)MaM?V`>}sy&tPj_jL|NL-_F! zxAHY!e5T(ygE93wS2Bke&-d?QaI7bzTu8*F{^O7E-@tp^+#S4lE7Ch6c^BF(`DUZr zoLeQhT^^T55L~YPIaOwtyUHneaF%{P(tpM9!Npznc`g!SinfD#$1%eK#ZiQ6niM&+( z%9TAqZOz zOVduGg&R!`2xBLllc&j*=#fF3CmV!T#sdVmCKvO=`Yj8{;#Di$4% z|CSC0nV_gqGGPe~M*Zo)-Y7>_g@G*KytN9NU^cCj;{`Ts-;*(rTcx@!8dmqgw820@}NHYH*!3nib(o1xSXrxT~3~nwno9IE3Ha5jU;79S#lPF?Q#O}odtA$;+jN7-|JFFN=I-)D-i%yJmyID;*OobT6h=c3Vpsww}>@+*OgPrgn zJK_KBl+^n3qTd}j#nV&U#V%z$U2IDs7CVZ5OlhXqR+u#sEhcH6YL|9KZ1*hsXwT;` zFhK`UgWj$l{*r?L43@#ljvhOIrBn{Uecc9`C02Q$Po+LQL?9w{snGX&kx$k^@ht2z z0~%im0J(5tc#|g+i`}=6==R(Q>PQ7X{rfI!&$7443;+%*0pUc1AqUy_UZA&Dn5~_% ajh_o=(-`_`+bUzDcF4b8&3f+{BH>?Yh?Qyp diff --git a/cortex-m/bin/thumbv6m-none-eabi.a b/cortex-m/bin/thumbv6m-none-eabi.a index e23024d863121a2ca2fac86ecbb69fd6c56822ad..ab9f1415a2b26db9f4cfd6d1e0de4d7da0128fe0 100644 GIT binary patch delta 1281 zcmZ`&TSydP6h3EWcXnoHm2!7YEyGKix3$f+C9={4!>mZ3D(Hd_W)PNAIS}QBp*=)l z9DJ#VGBHY!RwR`ODkzEQA))63^TKdZ8_;#kDn7f?ATDs&H6=K9e~rdIRd4ZI%OGvzE0> zsTKpEZD)5v(k9eSF%OE~gW7H8m!c1%kz`g?)`#Q}dd(KT#-+466+V-rs0uMq+W02f zYqJxrmh}2gGzZLxmwU5lH{Qs0G`sU8VEDCB>j7?f4W3N`u zcvmZCe5>U$q9@E);i+Lf?vY8qjT4>%*3%x@_vx}9)n&5J#%^8aqxSrbUd?*BAw4?` zX*eo4)@L*tc$40z)p=6AYIB1NX^lTU&+w|l*sY`kBDndD@H;6(m*VD~R^BnyY-$ep zxA0m!TX(9d2D%kx;dVXmRxTE(hSU_(1AlO7T7x^FmAefs>{PW&x0kOfw68iaXG6B# zJ!dOz+c;;dY`aaYkIy~<+dqiOz~n)~8Qh_PKtLA0JN}}*AcNn|pm%=Ii+08DE~$v| z#sz2av#WgJU*bnGAhA4)4~s4E`95q=TnitP+VAwv{O8yeiB(hmOxJ@MV-vyLl-OQ= zBU}X?!WzIOVI5#Z*b6Wv>;rf&oXVfBe7Q>i3WU=DYJ~#;2ZhrCP77xMTouj&xF@^< z;I;5dfFHs+0L$bn&4VoGV_yZZTLy&y$ApXchm3XPA5jr#y6_st>C9>iCux@PA+;4* z_>?{}zM%cZ7A7gd_>Oj#SjwkNnkwm3zGl+q(oW?^CXJVNa!IJnLY;;fmr!=d!VKzX z%%PNW3yY|SF-*T0*VD;07S_-g#(HWATi8g`;a#|gLTfENOhapTanCH{B-K^SuwEA_ T#bIiW8S24Iv}l6JV(MoUqj;+3j!7(%~~xmNUYG*(zF8@#?I z)-I(%76AHsUiC`ahWY{KA<>Fo(t}sS*7s1q!~9P41Jpk;r}O(M59y~?h?$hF*D-eJ zHH^pgAmeSljPadbz=-Y;<5KrZ#)w;-a~9rpFJ%4JE%kmw>T3;gHdz=m#2>Nz*G41j zc^>K0>X8n+1rr0F4IX?%AF`VLnpfQtcA=K;Q;R4bm=$GX2xH1@Km?7Cg%73@U5dtj zw_P|ttSAog9y`vCImK(OA+=6XhZR*=QFO-8IbJm*tOfL-rs+$PPZ@C@UT6>B>KvEZ zahG!(vg6M1W~T>Km)Uun^Y&4&^VQDzL@H0vKp>FDKjp8K6Q_Mi=TFKxm2zTeca4dY z&b#_k&c8!)R$^UDSzj!xgsn3eR$LC}6Hk@?vPuJ7dOl@+I~25DJaIa^DlOW@r_L=P zBCG?P6*d4yguMV`!hV3y!s+~{mMbCyV6ku(K&x*)vM8tMs}*h(K5J89z*6F1QW<92EZnYfEaL+#j0nN=npqmxzb+~*bJB$X}w Y&U$Wj1wNtX>LRY`sb0i=;?+6-0XYoWC;$Ke diff --git a/cortex-m/bin/thumbv7em-none-eabi-lto.a b/cortex-m/bin/thumbv7em-none-eabi-lto.a index ddd644cda8b28f75b826cf3caf426317c1fc194f..e85cf8e9f59cb94139ff69782cacf9392f4a2576 100644 GIT binary patch delta 2024 zcmb7^c}&w+9Khf2*WZt`K*8S+5URW)R4794QZdZZN{h@*Jn@*=0}4ez4n?L8XhGtp znX>l_)5Jt{hu3syvx#gvs%D2X-ZN@8QsM#X!oZm<9?`vmj_Lek{`txK9-sGphj*2C zRfmUeV2Uar?7x})(*}Rib*h>hsDsd)X7X&p=vTu{dKa%MOo46wBx$N)$}uKsOnW}Y zSYN}5mqX|s%6{<3k0j47Wp=HGaL{3D-G_6#YPnk&JIYN}U*h1WwM_CF2_#-hf5}^b`%;O$IFciam&K%3A%TtzIP^aN2vHyw>AOL7~<42!V>gngqRm22|>a!w+rss zqVDm$K(LTE3#=uu_Lg~6r!MGWYgxc8^B5860%ZYZmTmDjjvIp>%Kbqjh;=cc5a_Hx$=4OWWEvA6 zfn?z-x0jttQ1kVo`NOgcUY5;B2|*j9yb-z+k=PJC>(Cys_qw}2x`3ed<;{k2)H`;T zaEE5D2mtf8_{Xl)&HD1)E&#gyJi;?Oyt+@&+c6T}>exW{nwUg_C_y`7qlufSEA}a& zL0!T$LWOP%6Ub|cC~RC0bqTVU(9pPO@i$qX)Za-EOD;~*p6j4NBMC0Us24Qu#AuOp z`~~U;WN-L#1Q$ngXz)c=8t|P;YTQKLFQGzrep~<%_BiX{-i%ylWSNt>-_71f6;LD0 z%v*=gr|N@q!H0E04edby_;veb3BSkQHq;F#raU29q#O@0!a=`g!qvv>ZItOgH8(as z^kl9Q z#7qQ}j!emIW^<`$x3_Ne_KH6my|m(;!^3PbM{(nGpkY0KY+zxb?-dM6$CB^oAZhX` zs$Rs_4{yK8Fg&c(&{qvhEfk`~lAbB2o$P7izfJq{Mw|AHoZzdPM)M>YTC^$UELB^% zt`_ykRQzjM?C1j?FOTC%!a|WwJ{^Umu24J{v5%j3^Ucw0FbC&`C2ST=YuQLC6hWb? zGT+8W9vyxXIruIrlF_fJ2dR@T_9SXe8xvxiHL7Mq2h$?)?H`n4lZ7}qS&p_y5|CE< z9(BRRUKma&{Z~TiKM7;WMLzQxC|}k@bym`y!}ebNOZFL2KKrB8Ks-Bu2*tSY7Y!u^ zKEpohvX{P$Vw8EY9W4?HfQ@sgB^~r^bI3da09Rmh)9_cdPMOH-GP=-yWe?@uFxQJV zsp7&%zJcdEE?ufc->D8L^b=V9^PlYh45~znwyO^*W=vpbyhhp`htEFIy<4ND{{}Gx BeKY_7 delta 1958 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%0DxUc<+2zxhu4 aXx(YnwpYcLRbs)>71%`8jvsQl&GA3?TA9_)*YjA37JI1%^XZI{y>`ADnLY`24pusmNpj5C@rQiPaH2$4hZ!_0Fgp-M zmV5?O!&Q)8d2*Q5BPA+5yf8hgxfo3=RfHskZli3am?m@f3)l{^*nf;|$E%cbOo?w< z;-b#HLF3{)yp?~pR%$IC=Q3@bmAwImcCJ{j%Ge0&1l`x9+BNG4+=YY><8dNd2Vy9^ zLBrA7{}u`tX?*j)%8=l5rlsJP-WEI&+|xY7la=G-ZmH~~`@)=>Pg`r?m@fF0Qqg>p&f{jGh;gv{f<#w-hl#9G)_CFv# zB^;f48%kQIxKevo8+1pfDr~3h7$p2iprc&Ix+2mbp|IG0Rmk)MZ3Gv$&CJ!UD>(ys zdOFv)YlQDbT_%e#+V6s z(#R?ax4pKFylk`EYVN0StKd_%NF>_2o!E`w213LxMkL@)3$fjga$o6+A~+SdmbAVX zHL$Rh?O#=H@d%XPf!2@T#pfi9{(9Oe0Ds+!Oh>r`(d572NSQ%Iuzhz_xG@p(`5hsM z7=lMfdB7p!FEE&70LA2xxe+||5OKOkM9SFnD3r1PH>21-lXWL@JA;#fiN5O5nUq94 zE+ml$1IQe`9!%)vCW)lGyO(YRk1Mx*oG(1Dx_1sw zEEoxn$oBLEXsQbew$7iK(%pq_KAvl6@q|=J8*w*+ryU|bNKcvCYo39K_|!&Zbua(U z0Xbb+T6La|w0QJ;rl4PYC@b4@P*3q{Unt-?y3~BpKRg4{3P+?{&-fc1M`^8mwx6DI z?R9*JIO10F99lXhBT(6E$nj*}eKzkr)OtCY_j0d!ec7HzrQyBh;FLxq6y951) zwwh_~9|^*GT9Oo)NBf7{ecAWe@2k19m%i-j)-~!*SAMpq?-M@XW_M_Q!jWO>A(DDt zQWzn^LlkoGjTe)j{i?|wP(bBOQrS&~Lw+);yk&=miK`^f%w*zmBHV8iBjT_UrH#sH zD5sK2XQKDvx|$5=NU%-_b-qqYtGlJ;$=)otQVyb4CZ%u9mXdrbo07@}Dnp^H(Ni36 zFLTk6jJ%qx`$|&zuQ^mw*m<_(TxMcFR=v}z)G^_E!oLguAv`bqM0i!m>m2K63IoD? z;b7rVVWqIqWkR)xFiCiyaHepM@JGU@g-e91g})NMB79xAO}Jb5rf{Dn4yA)492LGV zJSY5Ecu9CgcwKl?=*7X!ct+GaI~<2OtdQ1EW*9QsX}|BVd9(J}JU!;fKO=!VAJn!Y@fYx5W12Czp8&NoeIH4$Kp~AN#i+PMgjFOCS3^SIB>cVThe-Tv9vA&@!t62gq9f*)kxZj99LITE$-X!(|ByPoXNYq;(cAUgDWtr$}#NI&STDev9-D1B@ z4#NDuBaV|I{F5A_)Tg3f6WfFNa_&+pheX3gVh<&UDK%R3Cb6fI!fM`dV}keskGS9tpjSyj!Vi(Hq5{ zOpd|)&k)C4;X>gO8=%yBvPP-bMc*a%KC)J+Bch)W`$Mu`sZT`zLhM^&qo2xYQ3}fp z|7%r@>hvbOJVLNO2awSD&jFX)gCv&K&qyqrbtIOJJ;SgHc>Cq7+an3HoaewEq|_L4 z2nL_Tr2Ui}hJ8h1QaZ_z7)!ET-L347#^6S{fiP&}NDSI6a*R@oNsK`UiEnSFqsxdH1stR?j^eb#(dA2%23gC^DxGjkh)=40?I_;6#)xn63HH~!ol zYYdwE#>ceZ>>VFBUE_nMu_>mD%#NnG+1?a1<;^iY+-zu$oAu2>GoU4=Yt5>bxOt%^ zXo3@BdXiZ@A#N5;2%4L)W|{e|ar0zr&|GSrsGl^|ZKL!r&G*|%eH*b`Gt7#%QoYFR zXe-lO%qhIP%ne%}Jh2QPHW}{@^W%wS&Xof5>cnBX#2kiHVm`xrn#pZ1L*=^mGT*vl T9JJ=~_EI#z3hG?5r@iq1^N?G7 diff --git a/cortex-m/bin/thumbv7em-none-eabihf-lto.a b/cortex-m/bin/thumbv7em-none-eabihf-lto.a index 76e994980ccabe346b1b1437d0c1439e37024a8d..215284367e1a349de05f0662aaf23b7a44d77dec 100644 GIT binary patch delta 1965 zcmZvcdrVVT9LLXnl~=(E_ZEaA7Y3ykg+d<`9J3E-iE{&WAi4#(1xkwoMYQ50<)zD< zY|fnQtPL+2{Z>1Dn}0A5+meHPO_d^R+Q`ESrz$PK$~||NP|l{hi4a;7?n)A~JKfLA0Qhua?WlNLIgBuYF>iOv_Q8mpR(C&xh=6bpsp-f}m z^$9{(Juj_gSPOYC1#~aM zhSfQj(+IpJDUr9RklpQuSTn*(Iqg!jthU#1z80-Xr10^X2stCxjj&Zi??QOpZnW=4 zVz-7~Gm~W-dsi5nzelXhq^~YR_V<_q<{|r`i}}jsEbG{B+O!Dy?OIGI!#3a0W@<6H)hI zh*%}O(i(yTpdkc{`mwh=8t_V{JXLYs$&=ibi&=MQ` zCQM31%7dXN>_)`ht>JeG4-j#!bHM-x0Qj_k?9UIp4=>Yn_%7ux{FeREyi7+@xtQ6|jPVf>L7wUG1>oKx0JGRhgqiCXy%%otL zAK?kr5#eYy07l_^3FKghfA_H4Fr^ry4ApJMYPdaeuB1~_7z;q@mbkSCp|t&?q^vDk{J|D=Gntw0Ur#!$AM-ATUQHbUs-V1jw&Km*g>~fv)IeOa=Eu z$Kw|g;OXc~)EOOf2EYAoNBafAS2 zs;pf^wpRLA$>QPJ*dIxYp0U8rxQK|O27U6sICvw7>hlBv8fA14=mwhw@Kjt9v0N;H zkK@jg4n5=WsjrQxzkR8?Al$3YaxaVDi;;)3nZvMH7J;3Hv!vnJNw`tQ5c16`cdhgm zMiyl=Mcyj@AQ$SS;wR$N@?CZ(mqc=?_L+YZL&_hRpUINrP8{akPNA7i~mNe8HlE7x7b;O-Qq z&{@fhKb4y)F~pIXq28wgcTV3-y7Y|8mq@G8m*0$#m*uCH_!5Dh8J!8oI+9vS zkDI#I^UTx~JX7o2&#SM5!pM|1(%G=i3A~y z-pro8j$AE#ptwLD?m~xxDZ_%x=8jJ-gM-t=z7(h63%x^!$e}J~$fv7%PFM9zhtgg& z?yg`)&f&)%laLW?Fp zs^7@0XQ)7-Rc-A6NaQU3vC!F~Jy delta 1963 zcmZvcdrVVT7{Jec@hDX)-djLGZdoZ6CiD$8I4G3P7^6kRIky2VP@aP#445DwsMCqr z+_`fz8bd*i;xw3UIx%y=%$8tWkU2G)uquuyx~$H^6rJp}i1_;Rm+$+|_dDNtxEfpy zT_&$a&Qi*jYRzi<`#In*K4ZdcC{$+GrHOtC|4Rb8sc=Ow3TnR$wpN5J8 zgw#^Z>1HzGV zdII71lZ}Q2Q3T#xETN6*UwPqpLk7LS2nDoh+C6B|?hNh*!nVXT+ddQ>&Y=HASeTS1 zk3&`C68f={Woz3~cBc?H9vDqa)d-KLh>B5kdn{L@W!XdVsrUAw=nW-3j<7ZQjNzd_YV4oO6_uf-N75={csPD$3s=;EPNaHCQ6Jhwz#{tFM3zlBk}4lX z(qFtq-^oFp7V32dG_7}*()aSvkdNu*W`qIDIhzG_x~1Rt3BtOS^aD5ktzS@sJc?Iv zBLyspyhyvr$3|wTwJLd@N@KF*<>u$+TP(S`2}+YHH_v3YGWnhtd8yg?HPY0fsTXE*Xiiahb>JJV4k zJ`+R~*Nb5kGfX`aP>-fu?!N4@KHS%C6;@*8D!pixN5lAvMzk+91~~#)JP`E;AeFy0 zlI(5s>CCXF1ZQDXUrFmvCGfz!^w8_-)gl0L_C{BP8;BR3=)Ic&b z0ARK>P-55VVqG{0!QYoAZ0(^y6ArHAyr@<@kB0Z>4^oa~#^EUvoSQ15Kv!=pa393I z@F?QT**tp)>x22bbjLdvE$bCpZM4(DIH5wM2~AwH868K(r%u09M&5=l9spiFUK>OE z(PrA=CQ($(IOdhGmjJ6mf%g`yc^@&{BTL?&)6{g;n|4@d1HN3kOF*_1_;iNT@RH~k za;=V83vCfWL8nu6u@7)C%a1zc@B=iO(P@y}t0Uosh!|pw;las>OJt#rDfDDtp32_v z+U(zj?(D_(D)BLlEY&lmFiRSQ?SV;>Kx`}gOv(_WJH+;K$sLT;>lwW}il18olO@9G z@K!M_mn?=irKiN>9nARjJ*%I&XODN5`dCeSBkuOC<~@cYr4Z9YfdbvGMlp<0$e}p; zXr${PsxaAI^e<$k^}S+uuRHytGV+nIh(p5?hb%d@;7V)We^yIsmw@- zaN3T67gSZ$ND4E8!(U~gFDXWU;8t7!+tg>si%#kyG;53@Z9hko0JLV1Sv{LqChy1; z0C0tEB|JaUc}*m7(15`)%@En+m)Qd^$A{0E`V*$NU7STj?}TI2L<%$Ux}KfcQ#}RR VZInKh(G#!n8ZD&l=d_2Z{{i%fbNK)O diff --git a/cortex-m/bin/thumbv7em-none-eabihf.a b/cortex-m/bin/thumbv7em-none-eabihf.a index 65b50f03ec6cf315655dfe932202b74c36266de6..bcce5526ca1b46929c0769a696b99d3a3886d4ed 100644 GIT binary patch delta 4758 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 YhWeZFft!ji*hoIQdI55qRulXG57wAgHvj+t diff --git a/cortex-m/bin/thumbv7m-none-eabi-lto.a b/cortex-m/bin/thumbv7m-none-eabi-lto.a index df6da2d515328e3a0d64a98c183dc5348914b796..eb0f9dd0c14c34f813967382c7140d90a6b066d5 100644 GIT binary patch delta 1841 zcmb7^ZA?>F7{|}Oy|=tosCY^X6nm?sU<>rU6bM^iphMxM@rl9dSDa9n<+?Cilzl-sk22 z{Lgc4r?=DF(?z$zS}(&)j+c7wvPp9O`oNiu4D7y8*o@l z>8~f)q<`beKpRHo*3zz1`0L@7FpP2Qo24Ua7U`E~1)N%jv43n9zl5<)2Dj@N#t=4N z--v6n6ah&gMu&yy#@N=Oho51d^jJKf5N~KddT>9FY0*yhVQ|3GMwbia#wM(Pa z>2$TBI8Fvd-3Ro2B;#s1W0ph`06lfe))YkbToJ2WGzVSI(W0~5-m1F``FB|nz^&-8 zfvp4p;DZ&^31$3)u7=n#`#doSgN9hQWB-Dm{QCF@;uzoq>Hc-LZA?2ytgeyl?W$-B zni2q@!8Nl2C{5fZ0$4b^GO0da?9J_EXmIW*%_Z=I2EW2HJ{!qkNjfQzL z*0%JxP(n&3LAa5MFCfNIIsY$0kIDskgciLakdQYr(Lup5H57qEs6AC6{n}*89V0uVX<)s0KVq;dJ=k-@om0%0N7{Qgz!78dm*w3v*Zs6wxW{- zhSDQ!KjGiQ`q`*7eq{Ig9>lf z@Ja&R8%zKY1leB!V_!QP9mtTgwxkHrg^a6I(+F&uj-Hr_KK;z-75r#)amXk-O3?jd zu%ANS48Ce`v03pB3#2Dk9--HS>9yzRb=T-B>{jHFTl|?biYp}qC&LfSFJmmbIH_?p zHBjhAK6xtnZW%fwIZtgLf!n9Y@32gpm7Dl1vvfisx|KOxbkW4SNc^|ygl)Fz#LNjk ztEqq`D>NWc)+MUdzM~a+bF`cr1aJ2C9nBH3WJ!s5=NF>`*)8g+5jgd@ThvFp#h6f@ zB-tx2+1W{{)$xg1cXaTX8-=e#8Q#U*MW|uXF{qlbQygAhsv(l=ONtS}Q-zUdP zR^woa3S~;WsZdrGRX9Oiy-Z(4-Fde39=41EpmRC3Hn^k0KIc^~0N0o)(hxl)o+6WV z%1WYQ#V{4wy*z?MO3~bz-@xOE>(?95Qsq&#c@&x-|EB(rQEmfLsE(_bjKU?)k#^G) MRi7C$sE4S(0hu;DQUCw| delta 1775 zcmb7@drVVz6vuz}_TGX8q2jN!Sg^NPUPb7G7O3K&&nQ`D88h2ZvCvYWRE9#(F&(uI z$0l23zwQ+utIin57J_#8oDqo04E`Z=Y$MCU$|LAt%Wy-sA?kjmGSv9b{`}tG`JVGR z=bqD2-BR7rN;i7!PKIGl7=O9WCdr76@bp%O$-ZbzNn(+1Mp@GR!%R zQFD+@x-S%ZhOzYK7>^#ouOo%kH1)|WU-YPZTNtDTkAW$D{%OEZ*ZWlDuzsj+8fsMK<`-7dFgs+3vkEVV|V zwD}f=$5GTBK;J=9t}47=A3*|;NnJ44aFK&6VqI9i2=%R0p)PJ`@!$&nAj=Q91$)h4 zCjkKXXajXd&Y5g=hK^d6iorSH46P_R6#tVulQSs}0WKhPZ#FkDd&0#^o8&-iK@C?M z1^^8PbTS~8mYyoF8-OnMp4i@_ex?)+@}w+|koJW| zClG`IDfj|n1Ip(=AQDl&Af1RuuL>k&FAsep7^M3Aun+Bt5hVJw+O$y;2+5-4>}D?w zTqNlCKaSy82GQl18 z_J8@CC1|yH4eD5NUNWucP0uf8-NItd;>Dcb$62J6M&qCDN)@mijS_TO(o5A3!TPyw z{|t8f+f%#kBsWF+{*_Az|V^0kbs$QuIzd`U8ZmoT#h&3KT<6B#Y4ky5i2ncgJG&+!W@hj2 zp2t1s-us<DoQd9Cj2i24|EH%ZZB(F2&(#AVRij+mf zQ;|{2YfMuqeHO-Vk9Q+V1?^3+R5lD6+f~ZZsTvvVKGMz$mp4>lP-T#VK}S(!jOw_H z!EQ}j)}oQ`zF6%M7;Nxp_S;r(KH#z{gh2XY!(FL{nJ?`-T`SH&0Pdy2Y!VA^8S$`4Q-QO|%f4#r|W1V(bq>M7v7P8{hKKtH_7?n7uY{#lAFLj_D>r@`G~~u zGu?k-TVH18vItDWGPLCz(1e*E3l!5>Rbl2nh#pFqO#(mD&Dt{cbWd$ZLr?V{7@Z|H zH2R^z?g)My8VQC)(J|dDA>-GlA|RvUQ*$1I10yn;LN_bRMP_N425w22naAP^gz{o^ z8LfiuZVffiRG4`a09{J31*||*&j_hBY}uvw%;)fzYYuIra%NMA>o3=}` z*hP24g0--AO?_&WdO~tb8Q{T+hDXm358t`C>36fxO??$7&RW;(TQCA&RNVX;t42*k z|7*}yb6x!HhEQYXegnXtix(`JM*=Ci&)MbXRvUP%3E}(0<%h$$j6*cj&07K;d3p{vrz~kHy4_8J(8r~$)Lc z17^vqz|{M>L+PgZ>B0V(<|0mG;IZLNfmtqBPnx-rZkEA1cz*=>5u6uD?&R=q836R#h5Jgy!LkSmfP1}`Oe92w#vN8gSA zDT)G;qrWbThRiDaYUQVj3S*&PnAu?yDT;?q^xAz@rA;NV(Ahv0I@UWoFW%tspPEFN zN{Mc2<53}7cUkc3I z=+5C+0{LOe3CIsKe>`->WvAkiK+)gJ&#`1*c6x914j+HJneBy#`CdDMFn|9)!*&Pe zKifM;RUTb8>YjZ61d7CK7kNQ>R{4tZ_sX}G7nL6?^Ke&id`wxQtWb_tPEtd2W|V7{8mooCFLKLe^b7v z>{s%jaR&;N#maK!IAxsD57AWsfu28O0u2c3XwuR{02tr^!!91U#+sZ^@L%>#Dz~@<$||FaJ?} z4F9PpSNiPWAsa-t zseWf5`|>zDjUtECa9nvtd0y=wl2b*lsJ;Mi7s?f6T4W4~iB48|202aS6RN*O-oSa%=w2ZmQzB{eQKHZYAnduqZ z*qX3!gHM8=nUOIo?U@-pc4u3{-rSP0$(afJ9Jm#n*_tt1?ZMU_yJ1$sPHD@Sopx7S zkJ)RBXZDyU?U&IWwq{ljX8w7!C+&N)=9uU04egW70lT_=eB?fym1TBE`*?HS{_5fLi>Qd9qki#6WZJCL9|=!Z(Q4t7CX{eXBur+XI!TdRArxd=BH{|m4UEAk zo5~A>1wSx@9jVN?p<}Y4pkNnA6bzc-7%?D=y6QHA#%##gWMk@7O!ohu_j$Y9Vv~D* z=lP%Kea_c&&ii)rR@1k|>})YpcFk-zJC5Ad5DR2=QLLyr)sm=AiTHJqnW9-(XS6l7 z-BeL2`oDuJL+eb5Da~uoxG1SvRU*X+@zm@n6Db*K8p`OiB(*fvi6EtHZ$L{~o$1Pb zxTB1Zr$@>_|MJ0Iplgu|M5zorWiOR988nk}17fwRQ9F`b?78@s;G)U@SVX*w%TY@5 zGZYO5_WQKWkb+hi#=GoVC2tn2b!`4nAN$ZXq`nsuIfS2AVNB{cDj(4Bj7cWqA}#oN zpDxbt4;c5Z(!yVdA0XTThAcFNhr#o#pEdcH9O;(-pZ=;OKSI66gG=dvcx8+2sJu+z zqWWvm{xE&U8~+#JS=Q@K-XBR0Y`V!WaHRi`f+E!8UaNap{7P8uY@KKPo4_@!FEV}y zX7OFlWSL2B1oyGNe84Dz+rk)mPoV8}wy)B4TICx2x1i-Gp#Q)m3&B>_e>Nb--Y`V6 z15NAM{Mdlz{b6(7ooM!qS z9F$QsI+XcaY>5JLMB&eloX=MXccsKbEtw+Y8H+KbSmKzFau33Bc$um7EL8! zk8V&!4AFU;bHhrlVa4@WGGG1Ouw5t1T=bl|Fn3LDx=TG_xvAuMFr(qYwaT4r;9T7B zJDKRFmUUsSYwtX5*imugt1qdXfckyVGMpEGJus@wf(HToxp?7}c_h%~V`zw`+dtdT zV-0Rjx*YjDm(hr3I(bLH<99F^WCX=%$wCia9PoH`kcUg7up8bcy7q6Y7h^F_IRDU% zM-_pN4;oBPARb^1^!q_xIrHW*&dEpadC7%=?#M@Gk!b&6Lh_iSejsx;z;(ciWMf8;gb%#GW^E;wDj)ioLYS9vN2VL;7tf#ZK5C zWh&`&I`Vne`3y-E#BOy@*)y4nv9R`;tzL!TZb@)75}Rb=UIKcT#vaMgDE0Ne6PGX DV59W9T92`Vh3P>e}kj3)KarsP38 zba;8;>yh%LDydf@<=5fjAaK3LSri4Hrouc5h46SmRQYnGoQsrRyK7jQK35`TmpvRR zpG3;Nk+L=Fd@GeAJheSiKHFr^Wy&Z$97z|PG!D`ZGslZxySTAkk?R%bnucpnB>i(! zom<-89m6;02gk67UYp1%<;%*~ly4~CQT|nVMd{(R^Z7hwk+M`dO!-Bn`=Ww>Q)mZr zgElNsE>eD7xl)-`u2*hUZdPtn?ojSg?pHppd|LU8Bd+P^Rlu9w&E&N5jPg&)_muxo zexNis2V4Q32eMFEq8z21q^wuAk^vt0stWU!ol3qk8L&&qHz)0N%0PLqvPb!l^5@F^ z$|sdiE1v@cq=KAO;f(SxB!2%UaSvZrJ%tw%?F@-~XEcccO;k3kKA*$|wp8^MYOf{n zO1eY!Z83Z%F~BYr9#My5B)*hhQvEfx-y!k7zNEVQw8rys42pUcSu8S!gkGn%`|2(g zxl#26Bw$5`HhLeU{9KyrKHLYX6HI zCi1E3d3e{*E(=(}yMH8!K;zYJB1ehLQvGXcFC(i(Zdd&~YTreU7TK*Vtzctek{Bn!H|QlIksL&n72{@S~aj%aq?%Js|5u z?os`L&<^BLR_aBb(1xSRlgd}M{W3XO{eE+Y!^Uw!X=?4}iY{{pndV-F|<1 zx7{<Jip zNwaT{&CKFsWI}7Vo!#QwgRNP!$5yq?H;>p=Z4*tG-Q6}OF%2i=oA!9y7<1UZ-Bx3E z+aa@R%tqUQ@`rXQ$|ZIS%G>P$l;!pu${Xy*uDq_j#;ms;D3f+=drjibN|7D*r|o0R aQTsxBO(r>9yCYx14_yg%SN;dY+6Dgr diff --git a/cortex-m/bin/thumbv8m.base-none-eabi-lto.a b/cortex-m/bin/thumbv8m.base-none-eabi-lto.a index d0a1098ecae803e638d96be3062685e62b2898f9..5f23227b7dc59849a6bf38f9a65a200257b8b3f3 100644 GIT binary patch delta 1618 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 delta 1895 zcmZuxYitx{6uozLcRKs%c30Y3no7!|wH4UbO524}*sW39CZ!OGS{tJ+iGZO2Q|nhMh6082G@qv%1HQ@)wXz+((0|{zk;<@wK0Pc@D=YHqh zd%wrbeDfoGX@tj{wWj(^%UxVOJu>M{pJ8JO6KQ8|Fo=w*Tu53CV*g4&kBEDi1ATTN znG`JX5VhgahFAm+6&{4`)rPGhO7DjGoFt68rK7eLTv{f7Ew?}s8$1r$9 zgnqlT?b-thz76L)am_1TdqBanaQr&lEmyksfGGShmN+51xXxa4k*d&Z)77k(Xhcao zS{+B)zylH|*m&AvNe&gI5qq^3YmuanVl*voC+jD{=Oo_D`mf+3*>(?yGvE&-?sKNI zk7$eCBJv5W3m!_7ww(>@aJO5Iei=rk7j;i@xC(ra#IIe|K_a}iJeo=NSxE^{}Fa^v6*8o4auplIHYe;H$gk+Yzg4wB1 zD8%om(`9$``U0Nb4lnz{LC>13Cvp~Z_je1SWyNgMM`xyiDY|KBPLcp@FXVm9zKv2h?==BIzG< z`uDj)jU)89LY*UQ79orseDChy_-q>_$Ng6jfWu1~!2w|2S<#tixP`-ARY&!o@ zTyzsMYO1_gn*8G`FS^PwJ8g$W*@&FyUFF|r^0$4}O*o$~0XsbAZs&*G4rg8I(BH+4yHBhfD5Dx!>VHPO4mw-9|Ryn^VGaGXf4e65bCQMjJyUg1?lJB1sG#)T6^ zDph-Z_T_lg%L#R){s7Ob_S;N8r)GiY)#_Cy|EZ>df2o=VQ=^zV*f6LWF;(6;s6}FG zAE+#*0!@QlsfL(rwO6CHm8CROihliSpfz>R9t8k6r+p8_9Jsb-V6sTtrd zb?aJ_pHN4D&#I*@CXcE~;JAveGx-(u0`PUk>rFnao&-**h4o#0N~Mw} SY7gp&{ qbz$}0sSC(&Z(YvE)#I(pFxO=3&1D9T_A6YEI9*EN!J8z!9r_PZ4JT6o diff --git a/cortex-m/bin/thumbv8m.main-none-eabi-lto.a b/cortex-m/bin/thumbv8m.main-none-eabi-lto.a index 918489e9f32c6c8c0e539c397636b334460f94e5..af5fbf4c6f96d6ff7a9814a3808a1ad80ca0437f 100644 GIT binary patch delta 2228 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 a6u^fHc9M1*V~0*l=xoLtX#XyYNAw@5YqVbg diff --git a/cortex-m/bin/thumbv8m.main-none-eabi.a b/cortex-m/bin/thumbv8m.main-none-eabi.a index d921f985e56ef01b8cafb01ff9245dab36a8721b..afb447415f49785e461dec8e2b4d336283d333fb 100644 GIT binary patch delta 5916 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 delta 5878 zcmZ{o3vg7`8OP7r&E~Z?%jN|EB9(-vk`NUEc`A=2&bYqiVHrRLlz~w{Bbf2cj(vo88-jF{uC^$H9bx%+MLHfJgcMH=XjiCBss_X?<0`@9-YFfJbj1;+AUN z&NhFkwh6;csOki(n{Nf3mdOqz`4+f-6*>)PK>z`ZY|)r~bIX2_qEyFJ2$S5h?Ydkt zRJc2gaTI38dtF0?C&KeMz0r8DYpC#2c(&1dSG<=-7Y;&d3HmaH{mEiWWYm*<*+8k?N40_*A}|hC%8Ab?&O_touYfAbZ?_|IQ6qp^KV&uvrcUU5A%JG&5`m+ z>w8K|>#NGziOFu^gm2N#X)rGh?>n^91uWzHn`V1jU!7@Ar4`}XF}*mJ*~2LU6iM}h9O|ul`hFt9YMvVqZ_zgbWx73;eOG@Y*mh~<&JTU+zh-jS$l?; zu$GQc+UweGz@^H}+v!<(ES-BJ^tj4UV1)T9y?qXyd44p3PW~aA=@jhjmMRd3ZMUta z*i;8Q#0H7(H9f9#T*2sEXQ1Nd% zjH`6b48R-@=EfevOI)Mf0cN0X;66Yb7Pb{pU?X^}A!0WS=E$drDX{%;BY4&!;=pAQ z9bnt$Ow$cK0dp)jlZL@`r4Vaf8Rt9n;;;Q=^98J4x~66^m#Ul!T$+$FQ|2aYY-i zD7w`&wR6{BVkK{15&6;OmGG&o%1S^ zgT*FXkQ;p0i`r(R3Ipl>JEdGfQemM1QmEP% zg0M@8GSW+P+AH*|m*!hfd74UJlzQJQ)f{VkBF=aL%VW$NLYeP9>B&}Uf!C`AR$|XD zcy%rIYM<|y7CuU)1eu=jiv2LJ?b=s+0iVvZD=B@Gm-Qnr>n>0Ev!}f0DO)||kDjuR zN;PU;qAPq!ZLGWHUWI4=Pm6x(1$-$1%}2Voq{Uvx;`P-jwMV#D_@VHy@ZZ8uglB|4 zY+;s97KVgb!cM~OLVHm`e1F%DsX^ixDXbCJ38xBY34bn}Cwxlyv~ac1-cL}`Cb72( zcMIRM#24<62q%Rt!n498Y;g84RhTO*6!sMM6%G~-7nTVth2w<{WDJS#5aFl7*}_MJ zj|mqGmkXa2{#v+JxLNqRaHnvO@PP0z7-P?PH6c$4zZd>jn1Yj({v2VRu!rzQ;Z4F3 zLSA54u1h@kPop`A{m_c>x;CF~>mEhPTa8F9ztHPRH^9oVoxReDHRcYuGovn{z|O??fzdS0WXW= zPvk(Q-Vyzf*eA(BO7V8g2AmV7@OBJ6pB$o84-)?C#2!WtQ>t9_dg0VG+5fX7U@3XC zQooXb7lqBD?;%Gh^?~R|gkOs8#}4t0!c>xIKqp~u(T9lyS%IJz0Tm>hwtJUI%> ziNpZ^hAcD+%_s=N=hAb0Bi)SMo09+ zX6xvvd9KVcLrNohiFv6sY8I6{rcYU9#TduDSQar4f%)YTz0oW#kD7Zb9OI0Mn4{oA zaAKunE`s~P2P-0`yvi}3S48y3W>RI;46Js{$CVNNxfxRxHN9?i%-*VqzG!Z$j+(r& zj(NR0VwQpZZjG4K8pmwBHKOxP$FWg!4%X_i5#7h6)kMvwwT@X*6VXG=d02=Q^*?#t8F~N! diff --git a/cortex-m/bin/thumbv8m.main-none-eabihf-lto.a b/cortex-m/bin/thumbv8m.main-none-eabihf-lto.a index a9eda3a4c75ea744d3de45c8211fb4da8a1e5e8a..cb57086602d4041808ef7efd10f765a312d9c8b3 100644 GIT binary patch delta 2436 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 F?q71u5KsUB diff --git a/cortex-m/bin/thumbv8m.main-none-eabihf.a b/cortex-m/bin/thumbv8m.main-none-eabihf.a index 37dcfda81715a474d725e2c36f82433752d3597e..ef199b3a438e9cfa9167b0a60e250034227cd979 100644 GIT binary patch delta 6012 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 F{2%I`3}FBO diff --git a/xtask/src/lib.rs b/xtask/src/lib.rs index ffcabba4..5ede2427 100644 --- a/xtask/src/lib.rs +++ b/xtask/src/lib.rs @@ -20,6 +20,7 @@ fn toolchain() -> String { fn rustc() -> Command { let mut cmd = Command::new("rustc"); cmd.arg(format!("+{}", toolchain())); + cmd.arg("--edition=2024"); cmd } From 0d2a810369dd4660657b1bcf66f9f50074726706 Mon Sep 17 00:00:00 2001 From: Wren Turkal Date: Thu, 12 Mar 2026 16:13:37 -0700 Subject: [PATCH 4/6] Remove blob build/check from xtask crate. --- cortex-m/asm-toolchain | 1 - xtask/src/lib.rs | 203 +---------------------------------------- xtask/src/main.rs | 8 +- xtask/tests/ci.rs | 5 +- 4 files changed, 3 insertions(+), 214 deletions(-) delete mode 100644 cortex-m/asm-toolchain diff --git a/cortex-m/asm-toolchain b/cortex-m/asm-toolchain deleted file mode 100644 index 8db4a57b..00000000 --- a/cortex-m/asm-toolchain +++ /dev/null @@ -1 +0,0 @@ -1.94.0 diff --git a/xtask/src/lib.rs b/xtask/src/lib.rs index 5ede2427..23c4aecb 100644 --- a/xtask/src/lib.rs +++ b/xtask/src/lib.rs @@ -4,124 +4,7 @@ //! //! Also see the docs in `asm.rs`. -use std::collections::BTreeMap; -use std::env::current_dir; -use std::fs::{self, File}; -use std::path::Path; -use std::process::{Command, Stdio}; - -fn toolchain() -> String { - fs::read_to_string("cortex-m/asm-toolchain") - .unwrap() - .trim() - .to_string() -} - -fn rustc() -> Command { - let mut cmd = Command::new("rustc"); - cmd.arg(format!("+{}", toolchain())); - cmd.arg("--edition=2024"); - cmd -} - -fn assemble_really(target: &str, cfgs: &[&str], plugin_lto: bool) { - let mut cmd = rustc(); - - // Set the codegen target. - cmd.arg("--target").arg(target); - // Set all the `--cfg` directives for the target. - cmd.args(cfgs.iter().map(|cfg| format!("--cfg={}", cfg))); - - // We want some level of debuginfo to allow unwinding through the functions. - cmd.arg("-g"); - // We always optimize the assembly shims. There's not really any reason not to. - cmd.arg("-O"); - - // We use LTO on the archive to ensure the (unused) panic handler is removed, preventing - // a linker error when the archives are linked into final crates with two panic handlers. - cmd.arg("-Clto=yes"); - - // rustc will usually add frame pointers by default to aid with debugging, but that is a high - // overhead for the tiny assembly routines. - cmd.arg("-Cforce-frame-pointers=no"); - - // We don't want any system-specific paths to show up since we ship the result to other users. - // Add `--remap-path-prefix $(pwd)=.`. - let mut dir = current_dir() - .unwrap() - .join("cortex-m") - .as_os_str() - .to_os_string(); - dir.push("=."); - cmd.arg("--remap-path-prefix").arg(dir); - - // We let rustc build a single object file, not a staticlib, since the latter pulls in loads of - // code that will never be used (`compiler_builtins` and `core::fmt`, etc.). We build the static - // archive by hand after compiling. - cmd.arg("--emit=obj"); - - if plugin_lto { - // Make artifacts compatible with Linker-Plugin LTO (and incompatible with everything else). - cmd.arg("-Clinker-plugin-lto"); - } - - let file_stub = if plugin_lto { - format!("{}-lto", target) - } else { - target.to_string() - }; - - let obj_file = format!("bin/{}.o", file_stub); - - // Pass output and input file. - cmd.arg("-o").arg(&obj_file); - cmd.arg("asm/lib.rs"); - cmd.current_dir("cortex-m"); - - println!("{:?}", cmd); - let status = cmd.status().unwrap(); - assert!(status.success()); - - let full_obj_file_path = Path::new("cortex-m").join(&obj_file); - - // Archive `target.o` -> `bin/target.a`. - let mut builder = - ar::Builder::new(File::create(format!("cortex-m/bin/{}.a", file_stub)).unwrap()); - - // Use `append`, not `append_path`, to avoid adding any filesystem metadata (modification times, - // etc.). - let file = fs::read(&full_obj_file_path).unwrap(); - builder - .append( - &ar::Header::new(obj_file.as_bytes().to_vec(), file.len() as u64), - &*file, - ) - .unwrap(); - - fs::remove_file(&full_obj_file_path).unwrap(); -} - -fn assemble(target: &str, cfgs: &[&str]) { - assemble_really(target, cfgs, false); - assemble_really(target, cfgs, true); -} - -// `--target` -> `--cfg` list (mirrors what `build.rs` does). -static TARGETS: &[(&str, &[&str])] = &[ - ("thumbv6m-none-eabi", &[]), - ("thumbv7m-none-eabi", &["armv7m"]), - ("thumbv7em-none-eabi", &["armv7m", "armv7em"]), - ("thumbv7em-none-eabihf", &["armv7m", "armv7em", "has_fpu"]), - ("thumbv8m.base-none-eabi", &["armv8m", "armv8m_base"]), - ( - "thumbv8m.main-none-eabi", - &["armv7m", "armv8m", "armv8m_main"], - ), - ( - "thumbv8m.main-none-eabihf", - &["armv7m", "armv8m", "armv8m_main", "has_fpu"], - ), -]; +use std::process::Command; pub fn install_targets(targets: &mut dyn Iterator, toolchain: Option<&str>) { let mut rustup = Command::new("rustup"); @@ -135,90 +18,6 @@ pub fn install_targets(targets: &mut dyn Iterator, toolchain: Optio assert!(status.success(), "rustup command failed: {:?}", rustup); } -pub fn assemble_blobs() { - let mut cmd = rustc(); - cmd.arg("-V"); - cmd.stdout(Stdio::null()); - let status = cmd.status().unwrap(); - let toolchain = toolchain(); - - if !status.success() { - println!( - "asm toolchain {} does not seem to be installed. installing it now.", - toolchain - ); - - let mut rustup = Command::new("rustup"); - let status = rustup.arg("install").arg(&toolchain).status().unwrap(); - assert!(status.success(), "rustup command failed: {:?}", rustup); - } - - install_targets( - &mut TARGETS.iter().map(|(target, _)| *target), - Some(&*toolchain), - ); - - for (target, cfgs) in TARGETS { - println!("building artifacts for {}", target); - assemble(target, cfgs); - } -} - -pub fn check_blobs() { - // Load each `.a` file in `bin` into memory. - let mut files_before = BTreeMap::new(); - for entry in fs::read_dir("cortex-m/bin").unwrap() { - let entry = entry.unwrap(); - if entry.path().extension().unwrap() == "a" { - files_before.insert( - entry - .path() - .file_name() - .unwrap() - .to_str() - .unwrap() - .to_string(), - fs::read(entry.path()).unwrap(), - ); - } - } - - assemble_blobs(); - - let mut files_after = BTreeMap::new(); - for entry in fs::read_dir("cortex-m/bin").unwrap() { - let entry = entry.unwrap(); - if entry.path().extension().unwrap() == "a" { - files_after.insert( - entry - .path() - .file_name() - .unwrap() - .to_str() - .unwrap() - .to_string(), - fs::read(entry.path()).unwrap(), - ); - } - } - - // Ensure they contain the same files. - let before = files_before.keys().collect::>(); - let after = files_after.keys().collect::>(); - assert_eq!(before, after); - - for ((file, before), (_, after)) in files_before.iter().zip(files_after.iter()) { - if before != after { - panic!( - "{} is not up-to-date, please run `cargo xtask assemble`", - file - ); - } - } - - println!("Blobs identical."); -} - // Check that serde and PartialOrd works with VectActive pub fn check_host_side() { use cortex_m::peripheral::scb::VectActive; diff --git a/xtask/src/main.rs b/xtask/src/main.rs index 01da649b..224be3fe 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -1,20 +1,14 @@ use std::{env, process}; -use xtask::{assemble_blobs, check_blobs, check_host_side}; +use xtask::check_host_side; fn main() { let subcommand = env::args().nth(1); match subcommand.as_deref() { - Some("assemble") => assemble_blobs(), - Some("check-blobs") => check_blobs(), Some("check-host-side") => check_host_side(), _ => { eprintln!("usage: cargo xtask "); eprintln!(); eprintln!("subcommands:"); - eprintln!(" assemble Reassemble the pre-built artifacts"); - eprintln!( - " check-blobs Check that the pre-built artifacts are up-to-date and reproducible" - ); eprintln!( " check-host-side Build the crate in a non-Cortex-M host application and check host side usage of certain types" ); diff --git a/xtask/tests/ci.rs b/xtask/tests/ci.rs index 6e4023d1..410e59b9 100644 --- a/xtask/tests/ci.rs +++ b/xtask/tests/ci.rs @@ -1,6 +1,6 @@ use std::process::Command; use std::{env, str}; -use xtask::{check_blobs, check_host_side, install_targets}; +use xtask::{check_host_side, install_targets}; /// List of all compilation targets we support. /// @@ -98,9 +98,6 @@ fn main() { install_targets(&mut ALL_TARGETS.iter().cloned(), None); - // Check that the ASM blobs are up-to-date. - check_blobs(); - let output = Command::new("rustc").arg("-V").output().unwrap(); let is_nightly = str::from_utf8(&output.stdout).unwrap().contains("nightly"); let is_msrv = str::from_utf8(&output.stdout).unwrap().contains("1.59"); From 7b512d3e6f956ffe0a365ae5151dcaf2dd17c242 Mon Sep 17 00:00:00 2001 From: Wren Turkal Date: Thu, 12 Mar 2026 18:54:31 -0700 Subject: [PATCH 5/6] Move asm code into normal code. Inline asm has been supported in stable rust for some time, so I removed the separate asm build infra and added that code to the normal crate code. I also crated a mock of the asm functions that were needed to run clippy with a non-arm target (like x86_64). --- cortex-m/asm/lib.rs | 140 ------------------- cortex-m/build.rs | 2 +- cortex-m/src/asm.rs | 46 +++--- cortex-m/{asm/inline.rs => src/asm/inner.rs} | 64 ++++++--- cortex-m/src/asm/inner_mock.rs | 129 +++++++++++++++++ cortex-m/src/call_asm.rs | 24 ---- cortex-m/src/interrupt.rs | 4 +- cortex-m/src/lib.rs | 2 - cortex-m/src/peripheral/scb.rs | 16 +-- cortex-m/src/register/apsr.rs | 2 +- cortex-m/src/register/basepri.rs | 6 +- cortex-m/src/register/basepri_max.rs | 4 +- cortex-m/src/register/control.rs | 4 +- cortex-m/src/register/faultmask.rs | 2 +- cortex-m/src/register/fpscr.rs | 4 +- cortex-m/src/register/lr.rs | 4 +- cortex-m/src/register/msp.rs | 8 +- cortex-m/src/register/msplim.rs | 4 +- cortex-m/src/register/pc.rs | 4 +- cortex-m/src/register/psp.rs | 4 +- cortex-m/src/register/psplim.rs | 4 +- 21 files changed, 227 insertions(+), 250 deletions(-) delete mode 100644 cortex-m/asm/lib.rs rename cortex-m/{asm/inline.rs => src/asm/inner.rs} (90%) create mode 100644 cortex-m/src/asm/inner_mock.rs delete mode 100644 cortex-m/src/call_asm.rs diff --git a/cortex-m/asm/lib.rs b/cortex-m/asm/lib.rs deleted file mode 100644 index 8991cef2..00000000 --- a/cortex-m/asm/lib.rs +++ /dev/null @@ -1,140 +0,0 @@ -//! FFI shim around the inline assembly in `inline.rs`. -//! -//! We use this file to precompile some assembly stubs into the static libraries you can find in -//! `bin`. Apps using the `cortex-m` crate then link against those static libraries and don't need -//! to build this file themselves. -//! -//! Nowadays the assembly stubs are no longer actual assembly files, but actually just this small -//! Rust crate that uses unstable inline assembly, coupled with the `xtask` tool to invoke rustc -//! and build the files. -//! -//! Precompiling this to a static lib allows users to call assembly routines from stable Rust, but -//! also perform [linker plugin LTO] with the precompiled artifacts to completely inline the -//! assembly routines into their code, which brings the "outline assembly" on par with "real" inline -//! assembly. -//! -//! For developers and contributors to `cortex-m`, this setup means that they don't have to install -//! any binutils, assembler, or C compiler to hack on the crate. All they need is to run `cargo -//! xtask assemble` to rebuild the archives from this file. -//! -//! Cool, right? -//! -//! # Rust version management -//! -//! Since inline assembly is still unstable, and we want to ensure that the created blobs are -//! up-to-date in CI, we have to pin the nightly version we use for this. The nightly toolchain is -//! stored in `asm-toolchain`. -//! -//! The `cargo xtask` automation will automatically install the `asm-toolchain` as well as all -//! Cortex-M targets needed to generate the blobs. -//! -//! [linker plugin LTO]: https://doc.rust-lang.org/stable/rustc/linker-plugin-lto.html - -#![no_std] -#![crate_type = "staticlib"] -#![deny(warnings)] - -mod inline; - -macro_rules! shims { - ( - $( fn $name:ident( $($arg:ident: $argty:ty),* ) $(-> $ret:ty)?; )+ - ) => { - $( - #[unsafe(no_mangle)] - pub unsafe extern "C" fn $name( - $($arg: $argty),* - ) $(-> $ret)? { - unsafe { crate::inline::$name($($arg),*) } - } - )+ - }; -} - -shims! { - fn __bkpt(); - fn __control_r() -> u32; - fn __control_w(w: u32); - fn __cpsid(); - fn __cpsie(); - fn __delay(cyc: u32); - fn __dmb(); - fn __dsb(); - fn __isb(); - fn __msp_r() -> u32; - fn __msp_w(val: u32); - fn __nop(); - fn __primask_r() -> u32; - fn __psp_r() -> u32; - fn __psp_w(val: u32); - fn __sev(); - fn __udf() -> !; - fn __wfe(); - fn __wfi(); - fn __sh_syscall(nr: u32, arg: u32) -> u32; - fn __bootstrap(msp: u32, rv: u32) -> !; -} - -// v7m *AND* v8m.main, but *NOT* v8m.base -#[cfg(any(armv7m, armv8m_main))] -shims! { - fn __basepri_max(val: u8); - fn __basepri_r() -> u8; - fn __basepri_w(val: u8); - fn __faultmask_r() -> u32; - fn __enable_icache(); - fn __enable_dcache(); -} - -#[cfg(armv7em)] -shims! { - fn __basepri_max_cm7_r0p1(val: u8); - fn __basepri_w_cm7_r0p1(val: u8); -} - -// Baseline and Mainline. -#[cfg(armv8m)] -shims! { - fn __tt(target: u32) -> u32; - fn __ttt(target: u32) -> u32; - fn __tta(target: u32) -> u32; - fn __ttat(target: u32) -> u32; - fn __msp_ns_r() -> u32; - fn __msp_ns_w(val: u32); - fn __bxns(val: u32); -} - -// Mainline only. -#[cfg(armv8m_main)] -shims! { - fn __msplim_r() -> u32; - fn __msplim_w(val: u32); - fn __psplim_r() -> u32; - fn __psplim_w(val: u32); -} - -// All targets with FPU. -#[cfg(has_fpu)] -shims! { - fn __fpscr_r() -> u32; - fn __fpscr_w(val: u32); -} - -/// We *must* define a panic handler here, even though nothing here should ever be able to panic. -/// -/// We prove that nothing will ever panic by calling a function that doesn't exist. If the panic -/// handler gets linked in, this causes a linker error. We always build this file with optimizations -/// enabled, but even without them the panic handler should never be linked in. -#[panic_handler] -#[unsafe(link_section = ".text.asm_panic_handler")] -fn panic(_: &core::panic::PanicInfo) -> ! { - unsafe extern "C" { - #[link_name = "cortex-m internal error: panic handler not optimized out, please file an \ - issue at https://github.com/rust-embedded/cortex-m"] - fn __cortex_m_should_not_panic() -> !; - } - - unsafe { - __cortex_m_should_not_panic(); - } -} diff --git a/cortex-m/build.rs b/cortex-m/build.rs index fa1a5a13..075d5c03 100644 --- a/cortex-m/build.rs +++ b/cortex-m/build.rs @@ -47,7 +47,7 @@ fn main() { } else if target.starts_with("thumbv7em-") { println!("cargo:rustc-cfg=cortex_m"); println!("cargo:rustc-cfg=armv7m"); - println!("cargo:rustc-cfg=armv7em"); // (not currently used) + println!("cargo:rustc-cfg=armv7em"); } else if target.starts_with("thumbv8m.base") { println!("cargo:rustc-cfg=cortex_m"); println!("cargo:rustc-cfg=armv8m"); diff --git a/cortex-m/src/asm.rs b/cortex-m/src/asm.rs index 3f8fd0e8..8b84a5b0 100644 --- a/cortex-m/src/asm.rs +++ b/cortex-m/src/asm.rs @@ -2,9 +2,15 @@ // When inline assembly is enabled, pull in the assembly routines here. `call_asm!` will invoke // these routines. -#[cfg(feature = "inline-asm")] -#[path = "../asm/inline.rs"] -pub(crate) mod inline; + +#![allow(missing_docs)] + +#[cfg_attr(any(armv6m, armv7m, armv7em, armv8m), path = "asm/inner.rs")] +#[cfg_attr( + all(not(armv6m), not(armv7m), not(armv7em), not(armv8m)), + path = "asm/inner_mock.rs" +)] +pub mod inner; /// Puts the processor in Debug state. Debuggers can pick this up as a "breakpoint". /// @@ -12,7 +18,7 @@ pub(crate) mod inline; /// exception. #[inline(always)] pub fn bkpt() { - call_asm!(__bkpt()); + unsafe { inner::__bkpt() }; } /// Blocks the program for *at least* `cycles` CPU cycles. @@ -31,13 +37,13 @@ pub fn bkpt() { /// please use a more accurate method to produce a delay. #[inline] pub fn delay(cycles: u32) { - call_asm!(__delay(cycles: u32)); + unsafe { inner::__delay(cycles) }; } /// A no-operation. Useful to prevent delay loops from being optimized away. #[inline] pub fn nop() { - call_asm!(__nop()); + unsafe { inner::__nop() }; } /// Generate an Undefined Instruction exception. @@ -45,25 +51,25 @@ pub fn nop() { /// Can be used as a stable alternative to `core::intrinsics::abort`. #[inline] pub fn udf() -> ! { - call_asm!(__udf() -> !) + unsafe { inner::__udf() } } /// Wait For Event #[inline] pub fn wfe() { - call_asm!(__wfe()) + unsafe { inner::__wfe() } } /// Wait For Interrupt #[inline] pub fn wfi() { - call_asm!(__wfi()) + unsafe { inner::__wfi() } } /// Send Event #[inline] pub fn sev() { - call_asm!(__sev()) + unsafe { inner::__sev() } } /// Instruction Synchronization Barrier @@ -72,7 +78,7 @@ pub fn sev() { /// from cache or memory, after the instruction has been completed. #[inline] pub fn isb() { - call_asm!(__isb()) + unsafe { inner::__isb() } } /// Data Synchronization Barrier @@ -84,7 +90,7 @@ pub fn isb() { /// * all cache and branch predictor maintenance operations before this instruction complete #[inline] pub fn dsb() { - call_asm!(__dsb()) + unsafe { inner::__dsb() } } /// Data Memory Barrier @@ -94,7 +100,7 @@ pub fn dsb() { /// after the `DMB` instruction. #[inline] pub fn dmb() { - call_asm!(__dmb()) + unsafe { inner::__dmb() } } /// Test Target @@ -108,7 +114,7 @@ pub fn dmb() { #[allow(clippy::not_unsafe_ptr_arg_deref)] pub fn tt(addr: *mut u32) -> u32 { let addr = addr as u32; - call_asm!(__tt(addr: u32) -> u32) + unsafe { crate::asm::inner::__tt(addr) } } /// Test Target Unprivileged @@ -123,7 +129,7 @@ pub fn tt(addr: *mut u32) -> u32 { #[allow(clippy::not_unsafe_ptr_arg_deref)] pub fn ttt(addr: *mut u32) -> u32 { let addr = addr as u32; - call_asm!(__ttt(addr: u32) -> u32) + unsafe { crate::asm::inner::__ttt(addr) } } /// Test Target Alternate Domain @@ -139,7 +145,7 @@ pub fn ttt(addr: *mut u32) -> u32 { #[allow(clippy::not_unsafe_ptr_arg_deref)] pub fn tta(addr: *mut u32) -> u32 { let addr = addr as u32; - call_asm!(__tta(addr: u32) -> u32) + unsafe { crate::asm::inner::__tta(addr) } } /// Test Target Alternate Domain Unprivileged @@ -155,7 +161,7 @@ pub fn tta(addr: *mut u32) -> u32 { #[allow(clippy::not_unsafe_ptr_arg_deref)] pub fn ttat(addr: *mut u32) -> u32 { let addr = addr as u32; - call_asm!(__ttat(addr: u32) -> u32) + unsafe { crate::asm::inner::__ttat(addr) } } /// Branch and Exchange Non-secure @@ -165,7 +171,7 @@ pub fn ttat(addr: *mut u32) -> u32 { #[inline] #[cfg(armv8m)] pub unsafe fn bx_ns(addr: u32) { - call_asm!(__bxns(addr: u32)); + unsafe { crate::asm::inner::__bxns(addr) }; } /// Semihosting syscall. @@ -173,7 +179,7 @@ pub unsafe fn bx_ns(addr: u32) { /// This method is used by cortex-m-semihosting to provide semihosting syscalls. #[inline] pub unsafe fn semihosting_syscall(nr: u32, arg: u32) -> u32 { - call_asm!(__sh_syscall(nr: u32, arg: u32) -> u32) + unsafe { inner::__sh_syscall(nr, arg) } } /// Switch to unprivileged mode using the Process Stack @@ -276,7 +282,7 @@ pub unsafe fn bootstrap(msp: *const u32, rv: *const u32) -> ! { // Ensure thumb mode is set. let rv = (rv as u32) | 1; let msp = msp as u32; - call_asm!(__bootstrap(msp: u32, rv: u32) -> !); + unsafe { inner::__bootstrap(msp, rv) } } /// Bootload. diff --git a/cortex-m/asm/inline.rs b/cortex-m/src/asm/inner.rs similarity index 90% rename from cortex-m/asm/inline.rs rename to cortex-m/src/asm/inner.rs index 98dd005a..ef905985 100644 --- a/cortex-m/asm/inline.rs +++ b/cortex-m/src/asm/inner.rs @@ -1,11 +1,3 @@ -//! Inline assembly implementing the routines exposed in `cortex_m::asm`. -//! -//! If the `inline-asm` feature is enabled, these functions will be directly called by the -//! `cortex-m` wrappers. Otherwise, `cortex-m` links against them via prebuilt archives. -//! -//! All of these functions should be blanket-`unsafe`. `cortex-m` provides safe wrappers where -//! applicable. - use core::arch::asm; use core::sync::atomic::{Ordering, compiler_fence}; @@ -68,7 +60,7 @@ pub unsafe fn __delay(cyc: u32) { // loop to prevent surprising timing changes when the alignment of the delay() changes. ".p2align 3", // Use local labels to avoid R_ARM_THM_JUMP8 relocations which fail on thumbv6m. - "1:", + "2:", // not 1 or 0 because of https://github.com/llvm/llvm-project/issues/99547 "subs {}, #1", "bne 1b", inout(reg) real_cyc => _, @@ -230,14 +222,14 @@ pub unsafe fn __bootstrap(msp: u32, rv: u32) -> ! { }; } -// v7m *AND* v8m.main, but *NOT* v8m.base -#[cfg(any(armv7m, armv8m_main))] -pub use self::v7m::*; -#[cfg(any(armv7m, armv8m_main))] -mod v7m { - use core::arch::asm; - use core::sync::atomic::{Ordering, compiler_fence}; +#[cfg(not(armv6m))] +pub(crate) use v7m::*; + +#[cfg(not(armv6m))] +pub(crate) mod v7m { + use super::*; + #[cfg(any(armv7m, armv8m_main))] #[inline(always)] pub unsafe fn __basepri_max(val: u8) { unsafe { @@ -245,6 +237,7 @@ mod v7m { }; } + #[cfg(any(armv7m, armv8m_main))] #[inline(always)] pub unsafe fn __basepri_r() -> u8 { let r; @@ -252,11 +245,13 @@ mod v7m { r } + #[cfg(any(armv7m, armv8m_main))] #[inline(always)] pub unsafe fn __basepri_w(val: u8) { unsafe { asm!("msr BASEPRI, {}", in(reg) val, options(nomem, nostack, preserves_flags)) }; } + #[cfg(any(armv7m, armv8m_main))] #[inline(always)] pub unsafe fn __faultmask_r() -> u32 { let r; @@ -264,6 +259,7 @@ mod v7m { r } + // Should this be safe? #[inline(always)] pub unsafe fn __enable_icache() { unsafe { @@ -286,6 +282,7 @@ mod v7m { compiler_fence(Ordering::SeqCst); } + // Should this be safe? #[inline(always)] pub unsafe fn __enable_dcache() { unsafe { @@ -309,12 +306,15 @@ mod v7m { } } -#[cfg(armv7em)] +#[cfg(feature = "cm7-r0p1")] pub use self::v7em::*; -#[cfg(armv7em)] + +#[cfg(any(armv7em, armv8m))] mod v7em { - use core::arch::asm; + #[cfg(feature = "cm7-r0p1")] + use super::*; + #[cfg(feature = "cm7-r0p1")] #[inline(always)] pub unsafe fn __basepri_max_cm7_r0p1(val: u8) { unsafe { @@ -333,6 +333,7 @@ mod v7em { }; } + #[cfg(feature = "cm7-r0p1")] #[inline(always)] pub unsafe fn __basepri_w_cm7_r0p1(val: u8) { unsafe { @@ -357,7 +358,7 @@ pub use self::v8m::*; /// Baseline and Mainline. #[cfg(armv8m)] mod v8m { - use core::arch::asm; + use super::*; #[inline(always)] pub unsafe fn __tt(mut target: u32) -> u32 { @@ -430,7 +431,7 @@ pub use self::v8m_main::*; /// Mainline only. #[cfg(armv8m_main)] mod v8m_main { - use core::arch::asm; + use super::*; #[inline(always)] pub unsafe fn __msplim_r() -> u32 { @@ -462,7 +463,7 @@ pub use self::fpu::*; /// All targets with FPU. #[cfg(has_fpu)] mod fpu { - use core::arch::asm; + use super::*; #[inline(always)] pub unsafe fn __fpscr_r() -> u32 { @@ -476,3 +477,22 @@ mod fpu { unsafe { asm!("vmsr fpscr, {}", in(reg) val, options(nomem, nostack)) }; } } + +// /// We *must* define a panic handler here, even though nothing here should ever be able to panic. +// /// +// /// We prove that nothing will ever panic by calling a function that doesn't exist. If the panic +// /// handler gets linked in, this causes a linker error. We always build this file with optimizations +// /// enabled, but even without them the panic handler should never be linked in. +// #[panic_handler] +// #[unsafe(link_section = ".text.asm_panic_handler")] +// fn panic(_: &core::panic::PanicInfo) -> ! { +// unsafe extern "C" { +// #[link_name = "cortex-m internal error: panic handler not optimized out, please file an \ +// issue at https://github.com/rust-embedded/cortex-m"] +// fn __cortex_m_should_not_panic() -> !; +// } + +// unsafe { +// __cortex_m_should_not_panic(); +// } +// } diff --git a/cortex-m/src/asm/inner_mock.rs b/cortex-m/src/asm/inner_mock.rs new file mode 100644 index 00000000..3b36e6b8 --- /dev/null +++ b/cortex-m/src/asm/inner_mock.rs @@ -0,0 +1,129 @@ +#[inline(always)] +pub(crate) unsafe fn __bkpt() {} + +#[inline(always)] +pub(crate) unsafe fn __control_r() -> u32 { + 0 +} + +#[inline(always)] +pub(crate) unsafe fn __control_w(_w: u32) {} + +#[inline(always)] +pub(crate) unsafe fn __cpsid() {} + +#[inline(always)] +pub(crate) unsafe fn __cpsie() {} + +#[inline(always)] +pub(crate) unsafe fn __delay(_cyc: u32) {} + +#[inline(always)] +pub(crate) unsafe fn __dmb() {} + +#[inline(always)] +pub(crate) unsafe fn __dsb() {} + +#[inline(always)] +pub(crate) unsafe fn __isb() {} + +#[inline(always)] +pub(crate) unsafe fn __msp_r() -> u32 { + 0 +} + +#[inline(always)] +pub(crate) unsafe fn __msp_w(_val: u32) {} + +// NOTE: No FFI shim, this requires inline asm. +#[inline(always)] +pub(crate) unsafe fn __apsr_r() -> u32 { + 0 +} + +#[inline(always)] +pub(crate) unsafe fn __nop() {} + +// NOTE: No FFI shim, this requires inline asm. +#[inline(always)] +pub(crate) unsafe fn __pc_r() -> u32 { + 0 +} + +#[inline(always)] +pub(crate) unsafe fn __pc_w(_val: u32) {} + +#[inline(always)] +pub(crate) unsafe fn __lr_r() -> u32 { + 0 +} + +#[inline(always)] +pub(crate) unsafe fn __lr_w(_val: u32) {} + +#[inline(always)] +pub(crate) unsafe fn __primask_r() -> u32 { + 0 +} + +#[inline(always)] +pub(crate) unsafe fn __psp_r() -> u32 { + 0 +} + +#[inline(always)] +pub(crate) unsafe fn __psp_w(_val: u32) {} + +#[inline(always)] +pub(crate) unsafe fn __sev() {} + +#[inline(always)] +pub(crate) unsafe fn __udf() -> ! { + unimplemented!() +} + +#[inline(always)] +pub(crate) unsafe fn __wfe() {} + +#[inline(always)] +pub(crate) unsafe fn __wfi() {} + +/// Semihosting syscall. +#[inline(always)] +pub(crate) unsafe fn __sh_syscall(mut _nr: u32, _arg: u32) -> u32 { + 0 +} + +/// Set CONTROL.SPSEL to 0, write `msp` to MSP, branch to `rv`. +#[inline(always)] +pub(crate) unsafe fn __bootstrap(_msp: u32, _rv: u32) -> ! { + unimplemented!() +} + +pub(crate) use v7m::*; + +mod v7m { + #[inline(always)] + pub(crate) unsafe fn __basepri_max(_val: u8) {} + + #[inline(always)] + pub(crate) unsafe fn __basepri_r() -> u8 { + 0 + } + + #[inline(always)] + pub(crate) unsafe fn __basepri_w(_val: u8) {} + + #[inline(always)] + pub(crate) unsafe fn __faultmask_r() -> u32 { + 0 + } + + // Should this be safe? + #[inline(always)] + pub(crate) unsafe fn __enable_icache() {} + + // Should this be safe? + #[inline(always)] + pub(crate) unsafe fn __enable_dcache() {} +} diff --git a/cortex-m/src/call_asm.rs b/cortex-m/src/call_asm.rs deleted file mode 100644 index be569994..00000000 --- a/cortex-m/src/call_asm.rs +++ /dev/null @@ -1,24 +0,0 @@ -/// An internal macro to invoke an assembly routine. -/// -/// Depending on whether the unstable `inline-asm` feature is enabled, this will either call into -/// the inline assembly implementation directly, or through the FFI shim (see `asm/lib.rs`). -macro_rules! call_asm { - ( $func:ident ( $($args:ident: $tys:ty),* ) $(-> $ret:ty)? ) => {{ - #[allow(unused_unsafe)] - unsafe { - match () { - #[cfg(feature = "inline-asm")] - () => crate::asm::inline::$func($($args),*), - - #[cfg(not(feature = "inline-asm"))] - () => { - unsafe extern "C" { - fn $func($($args: $tys),*) $(-> $ret)?; - } - - $func($($args),*) - }, - } - } - }}; -} diff --git a/cortex-m/src/interrupt.rs b/cortex-m/src/interrupt.rs index a5c4b414..939c669e 100644 --- a/cortex-m/src/interrupt.rs +++ b/cortex-m/src/interrupt.rs @@ -35,7 +35,7 @@ unsafe impl InterruptNumber for T { /// Disables all interrupts #[inline] pub fn disable() { - call_asm!(__cpsid()); + unsafe { crate::asm::inner::__cpsid() }; } /// Enables all the interrupts @@ -45,7 +45,7 @@ pub fn disable() { /// - Do not call this function inside an `interrupt::free` critical section #[inline] pub unsafe fn enable() { - call_asm!(__cpsie()); + unsafe { crate::asm::inner::__cpsie() }; } /// Execute closure `f` in an interrupt-free context. diff --git a/cortex-m/src/lib.rs b/cortex-m/src/lib.rs index d87e3f61..caa2ecfa 100644 --- a/cortex-m/src/lib.rs +++ b/cortex-m/src/lib.rs @@ -100,8 +100,6 @@ compile_error!("The feature \"cm7-r0p1\" is only compatible with the armv7em tar extern crate bare_metal; extern crate volatile_register; -#[macro_use] -mod call_asm; #[macro_use] mod macros; diff --git a/cortex-m/src/peripheral/scb.rs b/cortex-m/src/peripheral/scb.rs index 81e1b8b5..6e13abf1 100644 --- a/cortex-m/src/peripheral/scb.rs +++ b/cortex-m/src/peripheral/scb.rs @@ -316,17 +316,11 @@ impl SCB { // Invalidate I-cache cbp.iciallu(); - // Enable I-cache - unsafe extern "C" { - // see asm-v7m.s - fn __enable_icache(); - } - // NOTE(unsafe): The asm routine manages exclusive access to the SCB // registers and applies the proper barriers; it is technically safe on // its own, and is only `unsafe` here because it's `extern "C"`. unsafe { - __enable_icache(); + crate::asm::inner::__enable_icache(); } } @@ -391,17 +385,11 @@ impl SCB { // Invalidate anything currently in the D-cache unsafe { self.invalidate_dcache(cpuid) }; - // Now turn on the D-cache - unsafe extern "C" { - // see asm-v7m.s - fn __enable_dcache(); - } - // NOTE(unsafe): The asm routine manages exclusive access to the SCB // registers and applies the proper barriers; it is technically safe on // its own, and is only `unsafe` here because it's `extern "C"`. unsafe { - __enable_dcache(); + crate::asm::inner::__enable_dcache(); } } diff --git a/cortex-m/src/register/apsr.rs b/cortex-m/src/register/apsr.rs index e83435ce..a2b720cf 100644 --- a/cortex-m/src/register/apsr.rs +++ b/cortex-m/src/register/apsr.rs @@ -49,6 +49,6 @@ impl Apsr { /// **NOTE** This function is available if `cortex-m` is built with the `"inline-asm"` feature. #[inline] pub fn read() -> Apsr { - let bits: u32 = call_asm!(__apsr_r() -> u32); + let bits = unsafe { crate::asm::inner::__apsr_r() }; Apsr { bits } } diff --git a/cortex-m/src/register/basepri.rs b/cortex-m/src/register/basepri.rs index 07084cd2..1a647e4c 100644 --- a/cortex-m/src/register/basepri.rs +++ b/cortex-m/src/register/basepri.rs @@ -3,7 +3,7 @@ /// Reads the CPU register #[inline] pub fn read() -> u8 { - call_asm!(__basepri_r() -> u8) + unsafe { crate::asm::inner::__basepri_r() } } /// Writes to the CPU register @@ -14,11 +14,11 @@ pub fn read() -> u8 { pub unsafe fn write(basepri: u8) { #[cfg(feature = "cm7-r0p1")] { - call_asm!(__basepri_w_cm7_r0p1(basepri: u8)); + unsafe { crate::asm::inner::__basepri_w_cm7_r0p1(basepri) } } #[cfg(not(feature = "cm7-r0p1"))] { - call_asm!(__basepri_w(basepri: u8)); + unsafe { crate::asm::inner::__basepri_w(basepri) } } } diff --git a/cortex-m/src/register/basepri_max.rs b/cortex-m/src/register/basepri_max.rs index cea38383..d75597c9 100644 --- a/cortex-m/src/register/basepri_max.rs +++ b/cortex-m/src/register/basepri_max.rs @@ -11,11 +11,11 @@ pub fn write(basepri: u8) { #[cfg(feature = "cm7-r0p1")] { - call_asm!(__basepri_max_cm7_r0p1(basepri: u8)); + unsafe { crate::asm::inner::__basepri_max_cm7_r0p1(basepri) } } #[cfg(not(feature = "cm7-r0p1"))] { - call_asm!(__basepri_max(basepri: u8)); + unsafe { crate::asm::inner::__basepri_max(basepri) } } } diff --git a/cortex-m/src/register/control.rs b/cortex-m/src/register/control.rs index ceca042e..9e9d2408 100644 --- a/cortex-m/src/register/control.rs +++ b/cortex-m/src/register/control.rs @@ -174,7 +174,7 @@ impl Fpca { /// Reads the CPU register #[inline] pub fn read() -> Control { - let bits: u32 = call_asm!(__control_r() -> u32); + let bits = unsafe { crate::asm::inner::__control_r() }; Control { bits } } @@ -182,5 +182,5 @@ pub fn read() -> Control { #[inline] pub unsafe fn write(control: Control) { let control = control.bits(); - call_asm!(__control_w(control: u32)); + unsafe { crate::asm::inner::__control_w(control) }; } diff --git a/cortex-m/src/register/faultmask.rs b/cortex-m/src/register/faultmask.rs index e57fa28d..6460c6a3 100644 --- a/cortex-m/src/register/faultmask.rs +++ b/cortex-m/src/register/faultmask.rs @@ -26,7 +26,7 @@ impl Faultmask { /// Reads the CPU register #[inline] pub fn read() -> Faultmask { - let r: u32 = call_asm!(__faultmask_r() -> u32); + let r = unsafe { crate::asm::inner::__faultmask_r() }; if r & (1 << 0) == (1 << 0) { Faultmask::Inactive } else { diff --git a/cortex-m/src/register/fpscr.rs b/cortex-m/src/register/fpscr.rs index 68692c73..f2067314 100644 --- a/cortex-m/src/register/fpscr.rs +++ b/cortex-m/src/register/fpscr.rs @@ -293,7 +293,7 @@ impl RMode { /// Read the FPSCR register #[inline] pub fn read() -> Fpscr { - let r: u32 = call_asm!(__fpscr_r() -> u32); + let r = unsafe { crate::asm::inner::__fpscr_r() }; Fpscr::from_bits(r) } @@ -301,5 +301,5 @@ pub fn read() -> Fpscr { #[inline] pub unsafe fn write(fpscr: Fpscr) { let fpscr = fpscr.bits(); - call_asm!(__fpscr_w(fpscr: u32)); + unsafe { crate::asm::inner::__fpscr_w(fpscr) }; } diff --git a/cortex-m/src/register/lr.rs b/cortex-m/src/register/lr.rs index 0da35d9f..94a9a55d 100644 --- a/cortex-m/src/register/lr.rs +++ b/cortex-m/src/register/lr.rs @@ -5,7 +5,7 @@ /// **NOTE** This function is available if `cortex-m` is built with the `"inline-asm"` feature. #[inline] pub fn read() -> u32 { - call_asm!(__lr_r() -> u32) + unsafe { crate::asm::inner::__lr_r() } } /// Writes `bits` to the CPU register @@ -17,5 +17,5 @@ pub fn read() -> u32 { #[inline] #[deprecated = "This function can't be used soundly."] pub unsafe fn write(bits: u32) { - call_asm!(__lr_w(bits: u32)); + unsafe { crate::asm::inner::__lr_w(bits) } } diff --git a/cortex-m/src/register/msp.rs b/cortex-m/src/register/msp.rs index bccc2ae8..301e1bd6 100644 --- a/cortex-m/src/register/msp.rs +++ b/cortex-m/src/register/msp.rs @@ -3,14 +3,14 @@ /// Reads the CPU register #[inline] pub fn read() -> u32 { - call_asm!(__msp_r() -> u32) + unsafe { crate::asm::inner::__msp_r() } } /// Writes `bits` to the CPU register #[inline] #[deprecated = "calling this function invokes Undefined Behavior, consider asm::bootstrap as an alternative"] pub unsafe fn write(bits: u32) { - call_asm!(__msp_w(bits: u32)); + unsafe { crate::asm::inner::__msp_w(bits) } } /// Reads the Non-Secure CPU register from Secure state. @@ -19,7 +19,7 @@ pub unsafe fn write(bits: u32) { #[cfg(armv8m)] #[inline] pub fn read_ns() -> u32 { - call_asm!(__msp_ns_r() -> u32) + unsafe { crate::asm::inner::__msp_ns_r() } } /// Writes `bits` to the Non-Secure CPU register from Secure state. @@ -28,5 +28,5 @@ pub fn read_ns() -> u32 { #[cfg(armv8m)] #[inline] pub unsafe fn write_ns(bits: u32) { - call_asm!(__msp_ns_w(bits: u32)); + unsafe { crate::asm::inner::__msp_ns_w(bits) }; } diff --git a/cortex-m/src/register/msplim.rs b/cortex-m/src/register/msplim.rs index ac6f9ed6..bef85ccd 100644 --- a/cortex-m/src/register/msplim.rs +++ b/cortex-m/src/register/msplim.rs @@ -3,11 +3,11 @@ /// Reads the CPU register #[inline] pub fn read() -> u32 { - call_asm!(__msplim_r() -> u32) + unsafe { crate::asm::inner::__msplim_r() } } /// Writes `bits` to the CPU register #[inline] pub unsafe fn write(bits: u32) { - call_asm!(__msplim_w(bits: u32)) + unsafe { crate::asm::inner::__msplim_w(bits) } } diff --git a/cortex-m/src/register/pc.rs b/cortex-m/src/register/pc.rs index 0b33629a..e3a51ef1 100644 --- a/cortex-m/src/register/pc.rs +++ b/cortex-m/src/register/pc.rs @@ -5,7 +5,7 @@ /// **NOTE** This function is available if `cortex-m` is built with the `"inline-asm"` feature. #[inline] pub fn read() -> u32 { - call_asm!(__pc_r() -> u32) + unsafe { crate::asm::inner::__pc_r() } } /// Writes `bits` to the CPU register @@ -13,5 +13,5 @@ pub fn read() -> u32 { /// **NOTE** This function is available if `cortex-m` is built with the `"inline-asm"` feature. #[inline] pub unsafe fn write(bits: u32) { - call_asm!(__pc_w(bits: u32)); + unsafe { crate::asm::inner::__pc_w(bits) } } diff --git a/cortex-m/src/register/psp.rs b/cortex-m/src/register/psp.rs index 0bca22c3..e66a5be8 100644 --- a/cortex-m/src/register/psp.rs +++ b/cortex-m/src/register/psp.rs @@ -3,11 +3,11 @@ /// Reads the CPU register #[inline] pub fn read() -> u32 { - call_asm!(__psp_r() -> u32) + unsafe { crate::asm::inner::__psp_r() } } /// Writes `bits` to the CPU register #[inline] pub unsafe fn write(bits: u32) { - call_asm!(__psp_w(bits: u32)) + unsafe { crate::asm::inner::__psp_w(bits) } } diff --git a/cortex-m/src/register/psplim.rs b/cortex-m/src/register/psplim.rs index 8ee1e945..40cc6342 100644 --- a/cortex-m/src/register/psplim.rs +++ b/cortex-m/src/register/psplim.rs @@ -3,11 +3,11 @@ /// Reads the CPU register #[inline] pub fn read() -> u32 { - call_asm!(__psplim_r() -> u32) + unsafe { crate::asm::inner::__psplim_r() } } /// Writes `bits` to the CPU register #[inline] pub unsafe fn write(bits: u32) { - call_asm!(__psplim_w(bits: u32)) + unsafe { crate::asm::inner::__psplim_w(bits) } } From 29ef316414ba579540de15c0649e784e1bee4a51 Mon Sep 17 00:00:00 2001 From: Wren Turkal Date: Fri, 13 Mar 2026 00:05:46 -0700 Subject: [PATCH 6/6] Remove the precompiled functions wrapping assembly routines. --- cortex-m/bin/thumbv6m-none-eabi-lto.a | Bin 11232 -> 0 bytes cortex-m/bin/thumbv6m-none-eabi.a | Bin 13224 -> 0 bytes cortex-m/bin/thumbv7em-none-eabi-lto.a | Bin 15328 -> 0 bytes cortex-m/bin/thumbv7em-none-eabi.a | Bin 17864 -> 0 bytes cortex-m/bin/thumbv7em-none-eabihf-lto.a | Bin 16244 -> 0 bytes cortex-m/bin/thumbv7em-none-eabihf.a | Bin 18968 -> 0 bytes cortex-m/bin/thumbv7m-none-eabi-lto.a | Bin 14092 -> 0 bytes cortex-m/bin/thumbv7m-none-eabi.a | Bin 16640 -> 0 bytes cortex-m/bin/thumbv8m.base-none-eabi-lto.a | Bin 13960 -> 0 bytes cortex-m/bin/thumbv8m.base-none-eabi.a | Bin 17112 -> 0 bytes cortex-m/bin/thumbv8m.main-none-eabi-lto.a | Bin 18452 -> 0 bytes cortex-m/bin/thumbv8m.main-none-eabi.a | Bin 22672 -> 0 bytes cortex-m/bin/thumbv8m.main-none-eabihf-lto.a | Bin 19380 -> 0 bytes cortex-m/bin/thumbv8m.main-none-eabihf.a | Bin 23772 -> 0 bytes cortex-m/build.rs | 22 +------------------ 15 files changed, 1 insertion(+), 21 deletions(-) delete mode 100644 cortex-m/bin/thumbv6m-none-eabi-lto.a delete mode 100644 cortex-m/bin/thumbv6m-none-eabi.a delete mode 100644 cortex-m/bin/thumbv7em-none-eabi-lto.a delete mode 100644 cortex-m/bin/thumbv7em-none-eabi.a delete mode 100644 cortex-m/bin/thumbv7em-none-eabihf-lto.a delete mode 100644 cortex-m/bin/thumbv7em-none-eabihf.a delete mode 100644 cortex-m/bin/thumbv7m-none-eabi-lto.a delete mode 100644 cortex-m/bin/thumbv7m-none-eabi.a delete mode 100644 cortex-m/bin/thumbv8m.base-none-eabi-lto.a delete mode 100644 cortex-m/bin/thumbv8m.base-none-eabi.a delete mode 100644 cortex-m/bin/thumbv8m.main-none-eabi-lto.a delete mode 100644 cortex-m/bin/thumbv8m.main-none-eabi.a delete mode 100644 cortex-m/bin/thumbv8m.main-none-eabihf-lto.a delete mode 100644 cortex-m/bin/thumbv8m.main-none-eabihf.a diff --git a/cortex-m/bin/thumbv6m-none-eabi-lto.a b/cortex-m/bin/thumbv6m-none-eabi-lto.a deleted file mode 100644 index 069882d10a044e88200fd97d3f90de131e444026..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11232 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 z zygc&>^TtEG30RtZ*$0>gynNPg#=FM13wRH}j=V{HSPbvksE2vihj{U*AMoCRdYE@! z;-Og=GrtERK^5@ww+DGMzFEM#7jl>ve_N>SxSsh8VDfzf{`eo{%XP+hrWoE=e7k`6 zA+gJep~?5#XbB4!u+z3F3y6~(n9B&um^+Ch+vIQTL$Ni`qA5`^kRbHE>m@4x#b?T<@ zfcOL6Y^508GpK}l_ki~Z$jG}DAH(|=>c)p5E`if=R-_o+8<4~CVz_A>LmT69?>6z? zN8R|Ksy>Dj?MyMcpQ0fg?`gyvhm!HO<749e0(JVB>;F%%X{@mFrT$x%-3xe7F?$tM zItJ~2iZ7xmC(HwwG#K5>kTJA#VY{>ufW~gCwGIaRl;X3QDa?aqv$YOlYZmjp26~h4 uh!yWnJg7Ypif4FJR=izn{qq`*-?gE5ok$|&u9A2Fn+F-=WW)|#R{sO#sma*@ diff --git a/cortex-m/bin/thumbv7em-none-eabi-lto.a b/cortex-m/bin/thumbv7em-none-eabi-lto.a deleted file mode 100644 index e85cf8e9f59cb94139ff69782cacf9392f4a2576..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15328 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 YZOFjXPiyewWE}H=epcf{JI=@d2G@S#xBvhE diff --git a/cortex-m/bin/thumbv7m-none-eabi-lto.a b/cortex-m/bin/thumbv7m-none-eabi-lto.a deleted file mode 100644 index eb0f9dd0c14c34f813967382c7140d90a6b066d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14092 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 R!9Im~KtJnn(XJWS{{mIlj8*^u diff --git a/cortex-m/bin/thumbv8m.base-none-eabi-lto.a b/cortex-m/bin/thumbv8m.base-none-eabi-lto.a deleted file mode 100644 index 5f23227b7dc59849a6bf38f9a65a200257b8b3f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13960 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 K)?d_OO#c`8e3xMW diff --git a/cortex-m/bin/thumbv8m.base-none-eabi.a b/cortex-m/bin/thumbv8m.base-none-eabi.a deleted file mode 100644 index 709eb5ad94486cd4b31eef5d7963d455a2c98920..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17112 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 F{}1C