From b9baf09512756943ced419aa5ec71bf435681e09 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Thu, 4 Sep 2025 11:49:04 +0200 Subject: [PATCH] linux-user: Populate sigreturn_region_{start,end} in all vdso.S Mark the regions which contain sigreturn syscalls within each vdso. Rebuild the shared objects. Signed-off-by: Richard Henderson --- linux-user/aarch64/vdso-be.so | Bin 3224 -> 3320 bytes linux-user/aarch64/vdso-le.so | Bin 3224 -> 3320 bytes linux-user/aarch64/vdso.S | 2 ++ linux-user/arm/vdso-be32.so | Bin 2648 -> 2724 bytes linux-user/arm/vdso-be8.so | Bin 2648 -> 2724 bytes linux-user/arm/vdso-le.so | Bin 2648 -> 2724 bytes linux-user/arm/vdso.S | 2 ++ linux-user/hppa/vdso.S | 2 ++ linux-user/hppa/vdso.so | Bin 2104 -> 2224 bytes linux-user/i386/vdso.S | 2 ++ linux-user/i386/vdso.so | Bin 2672 -> 2792 bytes linux-user/loongarch64/vdso.S | 2 ++ linux-user/loongarch64/vdso.so | Bin 3560 -> 3712 bytes linux-user/ppc/vdso-32.so | Bin 3020 -> 3140 bytes linux-user/ppc/vdso-64.so | Bin 3896 -> 4048 bytes linux-user/ppc/vdso-64le.so | Bin 3896 -> 4048 bytes linux-user/ppc/vdso.S | 2 ++ linux-user/riscv/vdso-32.so | Bin 2980 -> 3124 bytes linux-user/riscv/vdso-64.so | Bin 3944 -> 4104 bytes linux-user/riscv/vdso.S | 2 ++ linux-user/s390x/vdso.S | 2 ++ linux-user/s390x/vdso.so | Bin 3464 -> 3616 bytes 22 files changed, 16 insertions(+) diff --git a/linux-user/aarch64/vdso-be.so b/linux-user/aarch64/vdso-be.so index d43c3b19cdf6588757f2039f2308a8bce21aed9c..4089838b30535738e89252a146a039af54ed8be1 100755 GIT binary patch delta 372 zc-osG`9pGoKI4y#1`&)RyJD|o>HWC-e5%H5Ca1P4+9vm zd|*HTO(gLzlMC3aeeD<-{(ppsFfKq+=?=tPP?Z%(;!z0o%pOSM1%g2FiH*YbwL%Ch zZa^gkfOs;J_#3D=2N17B65oNOem|1<3AlK2vVl)>T1BB=K7&dMgGvQMab|i^YDsBP zUVKq%dS-r}bbN71Vo?c(czkMJ%H~S;B*uvoST^70P+{f-`IZle#V2#{=yT41T5)Z% Q1CKdp9+cNIxq(Xp0NrRve*gdg delta 303 zc-s3RIYV-SKI4py1`&)RPZQU!U8Q??61%0t;jr&#CkKX#p4vQz@jlDs)ocd7LW~Um zKQe#;;{pZ*kOpEd2$Q7(Nn8)1p4kIQ+(i&5KCw}_K2V5(fd{Jb22@f2h|`h8-$2DV zfVdV(d2fi%n(a9M+`kWb1GgeJrz+=uS1m(3%e!wLG01Lh}+W-In diff --git a/linux-user/aarch64/vdso-le.so b/linux-user/aarch64/vdso-le.so index aaedc9d85e568d5dadc9c394e9c4459f1f0c8c88..240802821c32943170f7de64f8a0b3ab2a21cd13 100755 GIT binary patch delta 284 zc-osG`9pGo2IG&7n(>SxE{t}Xmv61yy2m1;okeN+zms!1<2TP?yu+d>!~g<33?En+ zP=F>>{LAD_HhW1sAe)il_oY0kQaGRvvB68SD^|Ym+}R2~RFyW|SxrfSl257}AgzHD2Uk@GeFM#i?fJDcY)-eH-%g3Uluh=GBD zk>TV21&j0QW#V!HeY3rXWVSTsld!zzy#662gIV2Q+c#GGuR;_ Yt0sSB5}sVZ%rbccj{>96Ob}J!3=B*^pt`t#I18xq29kQ14Ge-1 zeiu-GK9J@Rg6N+IwFAhwH(7y8Su_pEn!tyiGNaVw30xuo9N{eY diff --git a/linux-user/arm/vdso-be8.so b/linux-user/arm/vdso-be8.so index 784b7bdb2a9308671bbc4c1e38ab4eac568ea6f7..6446a96fcf63747f1c171a1bc99210d2268d971a 100755 GIT binary patch delta 322 zc-p%mvP5)(GUK0#DhEX5v@5rDpV-zdaE;ROb}J!3=B*^pt`t#I18xq29kQ14Ge-1 zeiu-GK9J@Rg6N+IwFAhwH(7y8Su_pEn!tyiGNaVw30xuoH;pXJ diff --git a/linux-user/arm/vdso-le.so b/linux-user/arm/vdso-le.so index 38d3d51047372391b3125c3f9f6ea5401f04bba1..d34e577b69e6cb22a90982570d5e66a1fa22e195 100755 GIT binary patch delta 309 zc-p%mvP5)(0^^^Fiibto-btLS^tfAl`qJz2U8lY?Z_Q&mz46Bp7TE?C1}NZRPy><+ zkoeYpkj;+AOE`p=|-R`1t84?R22@AXM*YCV#orLHy9D>8yFBk5XkQW z()mFB96(wKsDB=iPGte1YJso8cso5s0LKAvxK=C@P}DOD~^6rG%k4GrcIa zq_ik6z9=<4Ge0lBxFoR%i*RaQ%H}e*I%dubK*#X|&61e>ms6UxgN=dV-eg%WWyZA0 Hj$GmZNiamS delta 239 zc-mVcdP8J_0^^2>iibs{A2M=DJTKY)!fEEqs*sO2HQxVB+W6xL%j7$(GW9|X3=BUQ zAb^qK<9}%&-N?egpa7(q7`JJTF4KS7n|(K aCC!?_#=x*?@xy0IuFLc1|}=f)rNnd=!qfQ8}zMs32;n<2Ffds_m2d%Z2vC0qkQQKq=+6YIT!5s$ z9;^if1VIAH$==QuN!}@X`3%LG=|!m}rA2x1MXBkT`FZihC5c5Pn8K-fDVra#Ff(p` n#QK$yGXZE49}tU9e!wop#;O2hc1_|?7F`8ov>-X35kvq0-=kzJ5{@jp{@LTJl;I7NjX(ad)H6T<3&Y3%JV5#! zD@=r&K^aKiL*gR?ka`Os{R7HpWME=&1kxNVFcq8(AxP>4f$HOcbO_KqW*{vDG_Qbx zp`KwfP(TDK&;q2l1NmZ5{vkEH(?kj_Tp-v!d)Nc>Mw4{|{H ztc2Cg;*!Lo5=`OLyp+uc x*cuo&+jE>{)KXw%VBlqdI1v;S0^pE<_!$m>l7ftr&A5~#1c6SeLy}>H(g5a+MTYYp!s=SQWathS7noo`vD#e+D$b z10`$NP{oy@;tgyJ7yz3&7C_7h6mMWe6?cS*voTD*&CV+s4Ho5M_`rgyE^jg;hd5)) zWI<+e#u<|ff#kBujzDtPVNv@fGdie~+ zndwETC8b4q@kOcWnfZC~#U+VFC78mgc`2J$a5OM(R_9V==IvmD7{>?1qLV{;wK+LB SAtLW4ck-Guew%!dR~-P>i%Eb0 delta 205 zc-m`_eIY$TgXsn5MlCx=5mA9%)#h=o$th|*U-GxV_f~Om__Vo((Sc2rk>TV221W)H zz%|*BLtIh?!e;ouf+}l1Igvx0(RZ>Svp8eolrs6;8I}b)nI~%^8vBoYiE@dr0sJp%}^F#P`rq<9z@ z*d!Pr0LW%g2J&@~_;3JKZvn(VKzv391|}fo$iTq-2C9S$h(mzF8c=x_Ae9BvF9^|J z&cIO53evzM1hJr4}^L~X$B_-)+=y<rE}y?ln^%=DtvlG38Q_@dPG%>2Cg;*!Lo5=`OL zyp+vn*jF=dF5~>ls0ngA9}tT$Ks*d`3nvgWBZ7_tWUtZWDcnk8oOVEd3sSH$f(QW5 CKS6c? delta 281 zc-lK6aYlTCGNaE#l>;J~u3G}Hz1nkb!uCykg)t8^X6|Be-uQ!?t^NlC5HK<@Faaqp z1_tIg3=jZhGspskHK6h=K*|^@#~{e?|09rcU|?Vcspk;_Vjvv=qK<4ksJUmKF9LFac@Q45aXE-c$ diff --git a/linux-user/ppc/vdso-64.so b/linux-user/ppc/vdso-64.so index ac1ab2582e4675979ffca3ce90dce17df579ab2a..b89f2a0e018a7bb6923db267a746006d341f6bb1 100755 GIT binary patch delta 436 zc-q?`cR_xFKI4Ur1{RDWTs14(R3|H4uzIPrn<4t+7Q5Ac<(q35C$O`yF#P{Gu~FER zhk=0sgn@wl1OoynBZ*%?5@&#Ev|walV1fuSHXzA60x=g<=?f(B5J8B>`a}VQ$t$3e zAbuf|_#7nhb|mo@B=NaO;s@Z4V_?`UfaxO+AU*{Vj|EF?K{DtDl7`4-)RNMoy!fKj^vwLc_~Mepq7qEu)V!3 zh-;9vfOs-QTn#L-1<9a=NE#-<#5ebIH8XA&=22nh)By7NfS7->1HT>@=MSio R9g{2g&6v10Oy0n+007i_Cb$3q diff --git a/linux-user/ppc/vdso-64le.so b/linux-user/ppc/vdso-64le.so index 424abb4290b7d3100e9dede2f3059483608ba703..22499d2701530ee2aa003ae5fecce695441a5f77 100755 GIT binary patch delta 383 zc-q?`cR_xF2IGZ|n)Zw$d#8TmX85vf$%g!(v+1T^wTi0NT-{v5IDx&Mh2i6W1~k9} zB~P%UiYr6KFR(LU0Bq)105Ky26GHh(KXLL$CUMC^ zAWHyf>l}7u*D)}(PgZ0Wmz)cgJ-`lg2Lx=MypdC!@zmslOyZ0;CI>Q0m?bA0_;?wb z{=wP6xVfBLk(sxH31T!K5DQOU b%BRg4!37a{Klvt~Ij1`}gx4}zl2;x8nUzS1 delta 220 zc-p%lze8?<2BXDBO?yU>es=TCa!hWME=wU}Qi6 zT$39)#U*8dEJ22k{~6GL*5r>&;*wTCmH-0}!yI;qC=XONV6q~!xMUhs_5f6t1u9!J zS&&Pdaq{GYOwyA>m_;{F;HqcbEWo3{%&Wl!QNahq{F80@wK;!qLPT~_Flp0~Usl z|4V_i1S5pc2;|oR=?Sa|{tO^JgBhlSi(xg8bYMcrA4D=wkl|zf|1&^F3D5uzAT0#6 z@Bxti!NR~00p))I(iyA}r-1lOj1ULI)QbW6F-Y=SKz;xcpCLKf#lJWt%SbPuL8YRo z%-AT?sK78j*QmfCKGA6MN>)Wvc&IQGXQmgWmXsFd#TTWfXXfX{7ndX!m0${|=A~?& z#oooZS&8!-BcspciQK}Ib+`q1uK+E60CWI9&~ov~p4`%GTi6*G>=`F#aVs%?p4`hV F4gg=eVvYa+ delta 322 zc-q?{u|#}=0@ELkiAqk4&J$DTi!jW8dws_KY9IfGb=Q{hIhCuqgj#KuU@TA-}Lk7hssK_EX3NS6Tha{y@}1|EhgApL`dfgu9Q?*q~qKzSYr-=1L(kkNpo zVFQqkK`3B20;B_w_zcO(i8*Eg*`9j&3@R0yH8{E$H*ewm!pP`6S&>J0@*Zvh-ZMbu g2Y`M8`Au~4O>Sw{9(D$Xn_zh!9s$PG$+A4+0RB`z761SM diff --git a/linux-user/riscv/vdso-64.so b/linux-user/riscv/vdso-64.so index ae49f5b043b5941b9d304a056c2b50c185f413b0..cc6f7e974be67bd08ed412eccb9af22138385e56 100755 GIT binary patch delta 453 zc-ng**P$>$gYm>f&3s0mjWgL9MZUOZ%%7)STEdup@5PH(j}Av>WiW2u!l=l~8v_bRfQV157o9wZ zLxiz(@Ju^QqzPKc@s033uH7{lJG0sJd zo71?Jm>GR0ck-EwDzHN=yubvZ`GHt`@>M=NI7`rHuiw8@;j@&HMm BVw?Z~ delta 329 zc-rewcp*1IgHdCmWmu)4hczqpe!T9$NxJR8Bl=4WJXSLNh2_u zi$Q@ERn~Q~Ay76N$PxtVWk3UIlP5BZOI86{LJT|%6WAc4JW$!b$rCxn8Rtw+WEN-K zFxikb%7 diff --git a/linux-user/riscv/vdso.S b/linux-user/riscv/vdso.S index c37275233a0..1d780db7717 100644 --- a/linux-user/riscv/vdso.S +++ b/linux-user/riscv/vdso.S @@ -181,7 +181,9 @@ endf __vdso_flush_icache nop __vdso_rt_sigreturn: +sigreturn_region_start: raw_syscall __NR_rt_sigreturn +sigreturn_region_end: endf __vdso_rt_sigreturn .cfi_endproc diff --git a/linux-user/s390x/vdso.S b/linux-user/s390x/vdso.S index 33324924771..c60e9ed086a 100644 --- a/linux-user/s390x/vdso.S +++ b/linux-user/s390x/vdso.S @@ -52,6 +52,7 @@ vdso_syscall __kernel_getcpu, __NR_getcpu * by all users. Without it we get the fallback signal frame handling. */ +sigreturn_region_start: __kernel_sigreturn: raw_syscall __NR_sigreturn endf __kernel_sigreturn @@ -59,3 +60,4 @@ endf __kernel_sigreturn __kernel_rt_sigreturn: raw_syscall __NR_rt_sigreturn endf __kernel_rt_sigreturn +sigreturn_region_end: diff --git a/linux-user/s390x/vdso.so b/linux-user/s390x/vdso.so index 64130f6f335269b03291653d006225b365be9cd9..a669a6b7dda7b60bb8aa125bd70c8ed3384da841 100755 GIT binary patch delta 435 zc-rfbULZ3;kBLiRqk#pZh})fO-I~!HOHa>f*qfa!daD0cMEm9%#s{n{EDZlYPHYr5 z zr?kL8Q@wnK;>`4-)RNMoy!fKj^vwLc_~Mepq7qEu)V!3<9vsb#n@@47GIMqSjo|}g ck;y-J^f^~R4gNgYfY+RJHk8*gxqw>&0C=KFSO5S3 delta 305 zc-mVa(;+=UkBPHmqk#pZ$eP<0^W+mAZmVidw^)#U>fWD6>!)n4VSK<^&&crqBLf&P zHZULn7Zd{l%L^oNS%i9K2PAQ0AqEB>2$KyaCIiII2yxaYNaB%Dab1uGIj95^5a%Ol z*Z>um0OD3bpv4m#g>@$(*(8IcaVe6<6EK@L-{)v%+?>p%!px}w