From f458c13494a380721662ad74539f9fc74eea8382 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 11 Oct 2023 19:25:07 -0700 Subject: [PATCH 01/15] glibc: update abilists file generated from the latest commits of ziglang/glibc-abi-tool which contains glibc 2.35, 2.36, 2.37, and 2.38. --- lib/libc/glibc/abilists | Bin 210530 -> 214842 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/libc/glibc/abilists b/lib/libc/glibc/abilists index 538183b11e790735b4f6359a96636f7489288bd6..5e98c564ba32958fc66dbbc99a9d648ee3df4583 100644 GIT binary patch delta 42464 zcmbS!cYKsp_I~c2nG_(6R1#X~HI0^D=?DS)syIw0lLC{O$;>1WR%wcDK>~N-tgZ^^ zD(X@K_JV-AuC9D3u8I{w*M%?>+aN=RD^*=l%HW zUeDec-8M*!TR(VhPdPYD4hfS(!{o5tyZTEx!cGfUhzgZm6)9~#TKBq0qTNSjA3FV` zu*5hWE^A#_mwXb$uZrFu$7b3#8g~_lLVLQ|!XBo9! zkQS5IVN+Wt+DJOX$f@MY-8(^)#q?XY;9Ow9KW|Yh|{@&5uFT-4{3I} zy*0kt+_120{!6D~|IaFu(qn9gsT6xN zaBJ8uUU;`XcbwJd_xjyVr_~vD0Y8v?toR!b?z_Vd=!K7jSGMM;jJNVkey^48`%aY5 zv^EhPi|5d$q90@8cy;@xVXE-;88k8rx4PGa-COyEtQb|>*x=H4fjiJw3ESoIy6q01 z&)Vp9I2|^h!?<|6ikdxw77T?I{Nr_5Msa1rY;oK3^Q{#Bt4QeQtg|&X+VBudLX61o zUhH%)rh)TeLeD)ZiejwuJl2|qmN5L^D!E!69bK+=_6Vo9UlIu>4?em3fJjQx}K8>9zqp0;8S*GGv6;akYVNw4*RG`vtDC_O_daAvPI+h03OtwGC zq@>Q(v|~d9D@il{Ba77R%VtsT2{G1W_uFXwR+&bh92LdtjM*G-_dBirhDHaUiQ--> z#P#G84xy2@9Luc@k|6ZmZYfZ}z%y zM`uUMVwL6ZN4qx5;got#ILXl}%2ippS?$Tlqx2~Td1&yDM_t5n33A(ZgE%}-OVn4VCQ`f zf4$r1rvp<&VJ}`3pT}Y6Q%@&9mwhZP4zG6!pZ(qoT@4P0L+@J|oY3}Gmp+Z^M6{XO z#)}ejZNM3gsIxU#u^o0tz_fRI9X_k8soCLet#LQn8eGPucha+0$eR+`NV|I{IvgvK zq|4a1K7j*M>+7<|a4@i^vM0r0HDJcH6o-e8l4r54!4Fr-=V_PS=B*=Jn9%ER<$a^+xfoM9 z%^fb1EZPI9j0<@tr@KyNcoT47D=4qO7($PkWTB{0yUnGvZm29qEb2e7g!()2JU_oB zdzWFuaBf2k0-mkI{lcj70{+)-gK>7;VMhcz@>2y_f0aGdptnkCbfPRYHF^EC?iur=3=@UXh%ksu#>%f%C-(O- z;qKMib7dxXT`oPHATEu-mAmdi6fN2zQ^Vn|U3L$ht&s(4-o9d5aU5RGYjbfxrm3GI zFzmfdM3AozrsY{63fVr)s;s7rPPgEE@}DU3U!tUkuhrLrBV6aQsd+o|lCfAmEQYaW zI%eQ!)wK0~drUSu3|a`C`WXXZ zvo(k2UL`W z!wjP24%obQVD!NpQL0Y-)lB7I$t3#vXE`Z@<7#f`*R%Q5x^UigXrl}3MIW_wQiZA3 z;Ztj#EuupoW2sMsi)q^N(z*xaNQu+kA~Kzsh*IfXYr_v#*TJ%hDh1zTa>fZtq3ARNdgJp+Ei+ zQ773`loE6g3^Mr91O9$sRte;)uyfHNFRD@KSR5e>e@H4SwQ$`+naAKWM-)!{3PRa}wTVylNu zsj^##(%rY=0*oDKZf|Lh!<}%v4nDb^;@$!9J~mX0p$n&_rDqMmalq@+&CiOlDreYK z)%&rkP9Us)@?@*_yUpQVJe{?U3R`5lnZq>Y)X5@RY6d8qJ64$K%n*^$gJTt76CbIj zVmZ{zP!v9EsEWBFQTQm!CrWAJE22z&GoeEL^WzwGXHyIvi3R3*>_a(5-8;LGwrvnq zqXOQl83$S$94_dwwIWW`bhiTTIt(b$(=| zs)zJ&RqM2z*&Pw!tv;O0OWSczfV+jEK9WNadZSVUMWWA^1-MJ9t@ZU zFsI*P0KD@3E5aT^=tbxQVDH#o`XS0xLG$uO2}d5<+E)ysT8o@c&UIo?AHa8bU~8S- zWvy-^nUb+6234KQ^|KvRE~nPyIJs3}k6sjRyZ+2B?qYTVYv-UdIFr(t0a zuE0NfJtN93@S|=o9W9duL>01F);3bxR+(<8^)v%39BmP~bf*w~sOopvNc;$q-W!qB z0E$*`04mb&7E?cIwNg{PaH#)#VyFpbLFG0i1GZga0G*F9O&-L@(pXaLpGLV1_29Gu z2o=A+GhbBE9mC`xDtSbdvD06oH%I$$0~pshXkH2cNYj^MwA!(zSS`Ogoc?{aNH?>i zHR7K44mluN`zFRBY$~+%OR?8C zzWPRIwT+R?DtS*ZXV7M*&4JqIh~z{KpuF~auhkydlGbbzL$Q>f9FqA_z++as)8_M0 zdy&kil{q3gtt%)C@e{kq6)BTPS(|F@E&fm|>#`1dtvF$-t)-@6qQKNx?W620IU=Io z=dj^cD5G8ETNn)ZRnEkO`PzQ!djoH6fv~#oJ^(>UyFoPtJURL;;(Tp?uO?m{cAB$E_Bg>KZ;4x=TJG5i)T2N zcp7uy^^hQjt;TOUYpR{r7UM*R#AYwDfQ!6IEes>D@amqVfhzuo$tgjT;AEEfC-8G> zJA#d;?O7@94q^)>=V=l5_S1vDTK z4PGeb(BiMfZDvjhf=opzja@7wV?&eJIy#glis|rK8KG94nMo_Z7ZnLek!otY8N-MN zD%H|eGw6eV;^RlA$jGq)gKO~_nF;e4I*)hw*=e|IYiz9@KF>~D>O`R#AiqXcoh>x; z1sH!!P;n`mJTWsXK)bJ%Nn#IeUm~Z_)tAZ?GeZ$0(R$q;24Hx|-|;O< z0uR;eSPA`bwJehhbJW(x4D!rEOn!PxFI93~w)8Zs&7TaV|GQU~Q_Qa-Sw*bKMhLuj z4#=V-d&86dhe`U8hi;d}NueBxajy2z9iPZc>Gv2@FM7=+#?#_oM2xh0DL(@EYT-|! z*sQH$f8@cXM(}!9uejA?OgzFcdyF}H-dbp{buD#jsOHQD+=kWlXFw?LzeEPl;J*jzxn8Z*jT>U((FvB{}YH#!e@@t(XXm+f+ zHAsFb$HQa69t4OsP+SJx5VnhYJd0Fm&DXF+_aE~aR`-b3U?TXN^vEzEj=8^p;B0U? z0||=yU~5HhESrwPo%9qPij@_VJ5TneSyuqJ-DxXTQ8fe196MCbZ=)>L9h*!s(K4c^ zuOp9Nt4az>)OY5YO!yWz%Fz)Xa64{S9SyuqOp09MaM``B9t3jGwV+m!Z-Wd_4^K(5 zV9n~hbaJ+sO!Kdmr62*R{7I3KsIckEe=UO^_he)FZ=VV`t=JRyeFas$BpzQlEBa{7j+wlHYYil+GxB!+53)47G zgZpOShK%?;8qv!%McsQ%v1&VIp}+lGB+#6dIO5aao6Ko_pOHq$0zqi=*3=@$u!h`?7G;Tw3{8F@etX0znL}x+K!z-E1|QbEDn4$ak`T zvLsx5(+%qE+v)0bN+BI?h504->mSQ(6eCi@t?X1=x0O>uEwJr;lPpm`Pb#Ccr$u&Z zhh=fp3xqs7!&Qcw7W_v}HZ!yI(PB{)#hAAa0o9|CiUo%^j}{hV0ju0Y(Ri>5>64$Y;it9b8ZP`Y_PfoP#o7)Y0)oQEK+%xTxJf7trx@unqMU41OTgClM@p)_X_(%_UuPa0fa5v z)s|&R^x^xk^#!YhSq&Um%!zm{t$apKHNi;KuD_L-U_%;G()v4OQ5@5mK2K-Sh-U2& z>AjF)bnqzDK3=A)kz*=Na8>Gs)rBbwgYc-6zh=^eb~nLYaybb!-|4(ET3!m;Dxp9Q zRqZ=^syEIhr}O@yRAVG{On(O>Qfs3^yfs@LOBj0;s3UJ^EP!(n$4D~hk?m|r%<)TW z3msjKShqZHB;8mFOaAh1F--mKjtVtzVqf7@S%>?nipLYxyG^C3jm!xcC?;rLb{vC+ zMzvu2cri`1sEn^l0)&+T{W_nG77PO81b1OJp}eNHUNMP|PKAm5)WcM2fe&^2_$U`7 zu*2^t4XxGa31=~%F1-}q=JalG_Q&5E7r~@9)|~Fk5=9o^J!dsN^H-5hrf^d-#l^`A zwd?2<*EeY}kEAY!8<7jxQ=#hmIAQaa;99 zYPaM6z_l%ZTX>BCedHNbSvD^L?Frk_S(bXGZIn*r4xG+c{T~nS1!wC*!pSi7QCj}9 zm~3%&1Sj?IAAO>c_I)IpkhQ3`p%pY~A5xM3I~zp{rpkPzx*i{DLUxckL4>d{K}^*Q zG#6iJ-XD;Q-ak!L0w%QZrMjM7@B?puE{AZ*f=f(v<}m=L6_qk6u7fHvjD3e1(@-2A za0^|+?4)bKpIv=Olyy|Cx;PCiCKFEG=_V5W;nAKSmuZx)7EeKquKmYSBwQ9c`K?Hh z3$yi7s>`phG{7MkNBZq0*^den#SG&}eJ|7Exylh(Hyj}@G%_zozlVe1F`tuT>BtB` zK;}p-%_!M8=;%H8aliAj7p)s4M(etl%Yg!}=4w>Ma|N_EUuKg05joz#`LdF7&dF3Y z(;BDle{Kd%e-IUb6X}uBdKrT|rjEQ;NSFQ->&9o1_P-z&V^f^|jsV`KnU1XO_@@8# zyos(e$x=G?5FTd5Xx!(N6*42-<*T=O9khFd7+_%r1SuiFsQrxS9d4urYF^AF0cU0| z4X@Q`LY85VdU~+Zwi=X3i9|lk_iN6f)-jEh}6f1t%BSQq6W4FNZO; z?3Xh7;Z;#$an=N4h>_+TDK(q$Ewptfn3BAaA|9q>=ZMhNl#q8{@=j$B95xRFR;!cR zr;DNVR5Pk~pZ>Ei9Z2E)8V^|_2M()6Jf3dCQ^LO)y6)m55r4)@Ue$+xV>RidySmNr$PBnj-~NmiqdF& zw6kA4Nh&L z>CLrXcVn$*N$5h@**Ec)ML6xijpOq)<)NY;?w^d31pfvf)-KGhy30MBvbV^haG%3b z6Z||XfU?<1XQ#@MRQ;q#wpih?5!ykg5AVpCI~}Kv6CsJB!%Mp#Mv&NI!!fwn)*gm zeLGwmPB}o3kJi6~L8I)Qz8I-yUy-ZEB$Q~raDjx10(;Py z!z`S|s-qDg{vZzb%*U4?Lg8R2cI{_QntKNY1I$a?~5 z77|f!9T;Old&lg5mY zc|x;`dHn(rCJ?0p{5xs`M!n~mRWcJ5Kd%d4$w24KJqc>w@+90+1Hg1OJ@yYVNG)>p zqbQP-x#CYx%ooGdu`f%21VD>AP~9vqM9!P>BTVSkGos4aevPl8r>RFZ`}8AVgFW@4 zmW$BT%Zt*-%SS|SDssrkO@GH}>U$X4h`S7q3hT1lQ3R?1Ww0ifFY%^3bewz1* zEQoJFRf7>nZ6L>KSFLl(D>VbkyAT!@x9dzX|Hm$r!otFKgq3B7h4tG7!Vu~9t}vAD z!g}Ce_+wxE3rylR{PUJD%Pu;37-g?zx5Cv|!!ZHIlWR9DVQd3xNAOS!nWDEi8+-^n zkToz?Z}!s`JIL|bKZ0|avtA?*1EJfc#K(zCS1SnHr6Y<KticL&iZQMaSuEp^O%EGc~yytkcV8XKY0IU zS)Re+tXpKV=jobC0Jm>CCa0Ky9jJUSO3(wG(h`5sHC5S{kdb_eptHs+a|XbKP_Xaj zwXN1Ao;qtacY=9^pU$3_$uUUymvrX)w0o&6 z(|G^Ff&$JIBk6BzMDozOPJr76NTIX;z@nqD!KK=;?N%D_sz@HteQ%5h(r#IY_XR-4 zD1FqbkikQ6HR7Vo7lBRYJ|?En<2S%v@JgssTangT+)$nHAPL% zU)jSHr<{Gp(U|u^R8^(RGLAct9Gyhu&#XoLk)>@QCuefmXKS4(kapXKXNmwfyM&<5 zJQY^zUmOZJ>8o+z{NT&OX>}@uCx<1=^B69M81Qzr^|4|)@tf$Y=8hdoro~{y&;BXJ zj^NGJ;darIKs{aKygRz$F944B7CC_&y)3roIC|y1J%0*yS3I~hf>SySYmg0 z{6+%4*=lX7yQp+xwJz*dzo^yTW-7>>Zp2Ekx)^kC!A%eH9H0~Y%Kgqq*M2b0bFw9oHht5f}HlU7fUI<3c&~I zt5co%TOlGbG9y|U4IK|}XuTi7MXM)i;kG*^MC`m$H4`ZhM%j9{JH;X~DJHK}yTN>sPp)hzm2L?`#7{sTfFz=wDji2MxP zGt()Zc@y6xV@ssTOeO4~m1`h`d3@Pr8WiYEIgR%K%N_#k<#wz_4YQIXk>&TG_T?hY zkR&jWP}P?VQ+*%rK~L{Q0%Ns+<$i8~?AJ#Z0Z}q*vVtXccwI>F&#-`Q1s!_|=zPjG z6{`12{~Vm1iQ^f%hMbE|=_7NesJjJ`OpS|i3#cl7h6uS6v1wHVL{JDQNFKc`6EOhC zDHk$weT>^Tj7|Vg)!nYCeJ|E*%3wJ>j#)kw%-oBNh1p3T-YQp^87=703G`o=%bU`Z zbz%X(L!N8IOqDgcSYtFeoNS7}O-xP2Wde{X;GF`tLhF*)CpCB};{%|k$3_8`qxf83Tt6)tP!}&PDT9Kd@&`Sw2L76;>bn+9F8K2)KG8mDzpOjPj1y8)L z>2;cu-kDm3@1dwGL=LTZSw{3S@*jg%P&xm}H`WdnS1xwSfP9nK-Z(ojaSOoHH~%;MCjZ}(OZ-!~kU{D^n1tp(eLzVWR%28klaTmW4p#Jx2pzZ=VT! z&lwB=(u^WaO#><`EUaDuL@h2AHl3sQ`IwUB}Wl3Dt)6W_0<(CqvB^KtNoJ(XBd8=`%Pzd5lL}Lg?THJ-^~@qd^L5-026=l zk+U+9?gd^j!Ds7Q)|;!v7?w&ycMbu#yG2e-!nJZ(SsJn?6ggZ>SG}jtqdVUaeY9-c zYek!g19{)crXe(^M5IG8)PSqh8em0N5dCg-d{GG!UqD(Npz4X{!Meh(d5*L6tiAOILO}2hlHL6dN@@~F@prE zQz8TMgV)UAh6$=4-y48LfXb&LM_qFdbjWyCI${-x>iChAa6AC74H!5^xXCnX75M%3 zjiQ<|ZouMQ@|`G%tYxCL0ae|m51|wqG+iVN2;`=Qt#zq01#{Nj#}GFf?&PAuD}Ct9 zQzFfT;6<4}Q7)?0foBRV@PFfSl{k>Z^%sMJ8S^nTEsgJk8e+rErFJC}<2w3d+7S0$ z_JG1*S)6Hd0$_i47pmr*n#|Ib@U;J-)ddL=ELG*vmfyhiHID~7)`a>6$}$$(T7*Rz z`wwJutaJa{f2LYkTQeR6@+7tU-t;OF5BgDnwe`tULfRXCS)u;tH zzY$TY^s`EJ`&HR2DI45bkU_4?%vRU)Ea4rHMe+d{2>20f!a&x_v`^PhqJHu9BXX#$ z<;o_Sr+Ofp(mQGngevQ`FDHtHlyN~$r0g3|@g4M4F%(@9bn~@h zAg!!KJn4UbWq32{aShdK-gBer+Mc2;0uc~q55(~+ET!Nu6J}4K!)Sb>jk&TkC_bc`~S*g~ZFOP7094?Q)RiDf# zo!NkBv6A>4uq^)VB$|6SnlvsM9!1~2B%{gtkr<-d@61%+C8goW3T7*?#9FeGVx)5L zcA+{M^_P}uG`9tMW2Rtz1{ys+M-;REI6x%Of;>5bnr=pOO6~QqN!04il=T*3(2K8t zzS?@5%+bwWIug;$CRBp&{7h!{(K^$hjCcn!*QL;P)c~++WtnQ<5~V(wJd@^r4$`at z?I7x*3(qrG`)aJJ{OS_=CKZ+aQwcJ^m&@U2KbZ>~^Qr?$IkY-YmK#Ld(GzkQG@qTY z$uMGl(A6K_x^mOIcoZnU{XX?buQK}R3Q-sykRhFoOE4igZF*TGGNxd=$3iB3Z(0v(9L@mb*??n4EMBHtsk1Gc|fDW&h)w3{(H}u&>TZ;e!E;{yMnT-LMbcSAE8i9#dM`^ZG+edzrl#SP;Q`X2&fnPW+S7V`Z;1ZGhcT}8L&!5Rv0JOHjl#OCl{G+l2U7@-K!uAyk zYIC=ksjd&owj4KgqEs~vg3HuorlA?Zdgr zjRv-hf)t}MsT-&O#S|MQS&dumrmZg{6J!X@2yDRjVlEfaPyx{tQ~&R=#s60vqY5{A z)X~zkemeC)ApseItETIEqC8=xcR!aI7NqBnC3G?iNNgTLbAPKA<}{;g6**%_4X7TN zMy)$rV!~0QwsnZ|$s0jZ9vm2{UTTH6VI&wCr z0l$gKDC`H?rH2~~m9Ez6I2qun;0PL)_-cKDwyCwC&WhDd^XH6ZO;q5x}6_?D>5F(oX1Hl`=oZZ4o5RRGXXdn<&= z6o0)JaT{79k9LPanvXub08F4h6a6Tu0X~TZUutJw5%o_(#WplOW0(Ut>UgqyHtJ zt~d{F6t_$FE`@;)dJ*YI_8&w%Ju_IusBg}WG#j`F84#`;PLD4IbyhN0_EN*=#DHVO zf^+T{vYxw0jg!~tYpE+nI;s39L=Uz|@Y6QZ?s}#Qq@&wKJ>%?6Npd z#qBFn=RX;he2Zl@R};E9GP=7I;CbR1SsV!y&~5%4qjc?C_ZO%;o`p_>GbfHjsnmOn zsN~KcM7ut;V2QkhM^nVnTk*0G5?UbdU|SB#n6%yu0I#<<;?)w0t&~L)RZcWcCG~Q1Aq7R<4wks-PEGx&?++FA zK&L8_Q*QcUJ|mo?ybW!|hk%>7IIrTjlq;J#iSF?MJ)eGjtWk5>a5sSQ*_jCxzZ~j! zb`#&e1FEjvk69VLE=i@~ugKykqoVAzde!cy^J%R^R3sYf8G1%R-e#iX)aO!d`?6Sn zZ=u)k0gIdQDu6W?JZ-e{S}_hz=wDw!arLC?oDReyt%>UP9oyGSBH z69g-Dk#vnTjixiZfU3W(5-IAvm`dJ|1ezXan#jpDy0LpsCEE)ikaEjKno+RB+L(1I z9upCYN?OS3rQn}s!mWDJb_L*Y_w+YA{m!+-x#|bbrw@q+9rd$x$z!_YBnJ1n9xM=R+h=2EbbO8t7e+=Tu@R_j0}%m#OQ0wVQ`--@(eT>q}ELp2>&SMw^; z5TCh2k|%<6o+|hhRaCo zOFHZqX#z{ZCQ!QznI3q(C|7IshrFVs=5`8 zL*T3$O;Ee&c21Tfx}Gi(c7wp29c{|lI6$O;!(F0NMYVQAI(Hc*tFJ#Sq0f%V2^k#w zI&-`KA-|!Wk)~qmbBC6Mo88W3s$r}k z;W0;*+r%U_a#JGt;=$+n7jt9a<5*K9z%-&j^iKc--2I#B^?{;4rMxQoWB(AZunZwa zv}@BAF_SyOjy#_f&b1mVv?iZVq!qCyvpRh+oLc`2VrJmiOSo}StvOOg_pO4${={D^ zNvxNpkb-GGl;&3=f?v24!UfGVU0)?Gp{xET3!{B4b^s}>%MFDz*kT^i6c;Ufk2Zi- z_c&+3tvzh2Nbv&)U6s~V0-N(9X_C$8!wNL$Y|KIH#i_x_3Fe$DqA{~^?6O}-PKAiB zTi+h{GjJadJXBr;QlOomi(<63t(;R3iS*R(Z4FK>h}$6w4YrwgZd4%1V`1Ufb&oPn zDq(d}$U*|Et0UeLy7nBH(y?wd@87zG=kVB29(k>B)6F6ajr?_9o2Oo90SiV-ocbX7qs= z-I-nQ5P9vXj4X=okIcUDHryIkls10=fg0!e&^DECf_UB7_8xTGRWgo&oDTy!aFOZ2 zQTx0yGPPrH0MIVz8Y->Kc7s@>*~$X>#n_F z2ipi~oHk-jy#!l%8S7xJ%6RD2ydSVQZ`7hqZ0;se*t-^n5?VB&+0Ov;9=u9Mrm^@f zG(lpF$f9~J7pLQeq9m5B4cd%g{}}ytBQPk>`%o{Wm4c>>AUnw((be?w|k+>J%=0o1X@j#dRVGNq~O6n!DRkkS;2dP=DKT}BC zM}x(DwGfUl^JzJm`!JZxKv*(-9V8dl)BkA>Hz556Qj9{Q$3~l}dRa^}6pm8@NxnWcijJhFx>J%G4MHm@3flD`kV>B?M89}$88VVz zBcktAUmfh93U^_kd!v@?uZNNak{_E||CbVyTOj~E<3^?Lw+PXsUS3&5FWoFE!vijx z`;yvE$>MNq4K7Tj0yLqFH_af={W1en7y`gU9Z1PkEicV5rK!k| z`$QOQvJ;>+kv6%J?y_cE^?fQ*&8Uf^u}nxwX5<_Ig}*A#=&W3<6-s9Mn9<#bc} zHF6#U1I%pGWwDp;6C*A9CaJt9$mXVp(y8=aQ5Np!SiO*5ctRF(`}=_ANy@$>iT1r9 zmZ%@!MbA&PS=pAA(3}+HerWBoC>5KM$>r)!-w}`+fk(Y~1``uI>g4`ZwQNE-)hHQf zOacLeo3HNcS)x^?aZ$)5QPCdY#tt2Mbr5Sdf7>SAQ5~apRKI>HX4Xs7kxfvEnQP%P zP~c^4Q4~zU=kQo_Fri`WXw3rhR0UnpMKv$%A#MehJL$mtVvL!Ycxt>(PSRncOWQHM z`ZLDAAP%V2iftbUpg_NwS`)z<7xUDv^AQ7B zxI;G=LLQ@0xmz03m8)T5yEh()2d|*K9MDJYQIBrTWrGY?&wP%PjL|*4^gPMHebAxx zGCRD%g$hZXu4qCmpr#y*RfqbHrgPh634{l+V?{Yb0;FqD7VUlrv2FhsBG>E;XnZX; zA6iNop;J~pR+kUT@*z=l>`90Q&MuLCRLq50{ji(dsS=taYhf9TZ(}~10k~SKPTbaq zvdf^ixcSNo8v6~Bb4*X5yq$>u2mXLzb}-DURijfhYk0BAQ0Z4PWfYd1XUw5u*3q5b zh7<-p%-ww{y%1|E0`NB+bqz!(z%_b6C#)3viI&MEwf~zGYE2e5(8`U-cn&+nWSw$e z-xFJW<#woixJ;s%9^SqVNhkf#jQZw=>%?uSle^#q)yjL^EQ8HaTN;PZukq-SJ@#7} ztvn?ATWT4eXepn5-qhzo+^^X;j+TEV`_ohXL{^HyS1-Y0g%}03Un^5a*6KU&Dj?CI zx!Y$EDAbK}iq*O=rzhe*F0Q5T+gEA=m7&9zYWoRC+`!K8Ed#W^ZPCS#$+}ANbu_90wWnW;;cngHq2@FLy&HSZ6mjpy z9uOnkqtT^qPvQ8m1E9jcco_V z!-iZpY?u0Ie)ER?5tLjE=W*c+S+3!f2?78*`4nh9?`Tl~1cu`gQjV584Sw8knYZtp zq;vceg@B3}h|!aNzf>mmz%K>o0&v0L@MmDrbN?YKpghBm&@!#{ZqVpyaWBoyk@-bN zb9zUPs$(D^64zxrRLa_IJ%q?>fLk4T+0$!))Efe1yBo76H1^pEJ#VcZs{6=@p|mp> z;i_#S!jCO75yv{HA6C|{N^q=uP(uy~C2N%|8OOW?|GX>UC zy6A5ArQcbhOrXhMdEo-Drt%z{J=a z>((G@DhKl3yGM+m5s#oW&&1;8QL>3PACeU&uN|e({}!v-^b)4-BIwrL;8DG=idAMF z8O2?Yumz2r&$qE zJJj>{mOzOCo-H!Z?7&K?IM<{Q`Y%wU4{RcRnG52+wXqj{_#^7tdJp6^A`84NGa%!- zT0Es4h07l|SWLn&g&Yhj(xj34;Xh-U?dI`}>S*Q^_0YIvqm%5BWiky_N~jah{s-B^ z@!z2MUwaD7vuSiGO}IhMz^Dzx-A3CY2kq(&P`N4+OZC%b(5t?m4gPgs&SYA77cg17 zxs2KmV~P?q4<#Uctig;6IkHz9v1JXt@Cbexlb;}GTZSSXpHy!*QV+#>W(F}Gq6kfY z7Ug}U+{|kBj>ZjqcPM#hjDey@-ovJ4K2oBNUspkQJ&kSrZmFDFPy@FU^rW4?$qf-* z%I>_3F&* zl|SK5R=g$6qrm_NCRB$U6(o7U`kj5vs8x)k#(RL#2mS~*2=k}w-^7vpBpWk6-ut^4 z&R|ndRouA~HJh0q%07Ym8h?HFuLkDOgNoHpe?d9|5!cx!;i8za(6~MI>0~a^nYmNl z5mYjwhb@8!o>FpzDV3!FT+gQUzsOQc4JO-Q#7FwGP#um*2YvQmt;p$%U^`f*aK&hhu;1T+P--I}c5^y6lDq@y}HB zHkwHvZ-V1J|H*{D-8j6EiC}8WlST22M?&*NPn=9*O&1Ti2KPx!=q(}Ha|ToR~@Oa(2W>D&ZM^%#=fCMrkN$H9M}qEKo^57 z=RhO+Guo@5CjrA_Xy!E6gotJ6(Atwht6q8*P8stG%yhXxB*@`JIk`@xPsVWBZpf*I z%YB`O929-JqVrWhP41pA4!>|IgHed1is;%3M)RdrQ? zs8L(<6X>@!h!&5u%f4)JTpLv5UMZtbCnH@yeg!0vt@=rLQB>n2Q)$$TFaiksu$=GX zvDO?GrQBX(;NTkc$QmR@8?ILCLx+fNd+4)H_A_z@Mr9p21G%G2m5~N1#Pilao1qTA zS)oq!Pl<5YtF4&hqz>Ghydkz9txK2Xec6!&=V$|~7z?nI6R>6%XJ0)UP^xON^5UqY zjY!UU>dkCIrES-PQ(3$DN80xrn)T;?DqYlfnREtR&RcmA)iuW02B-qLZVF)|YfT}` z9H{522OL2Me#cP`;&;04?{J6HHoaX=DrRXzCdAIl8_vAD!OVA)Ns9 zjcVSjiFEESNVjJmE0ayNGzM`=CAepB7oLUeZ;E^~=6bTGn&rF}HT1Q36D&c`W=`Va z25izHpnwhzg+J2iQDEYZ2{r!kM?}nq_svSZnNMrl;h;{J$Slgb6B>Yw7dQ&;6p;}4 zaRU@uvpnj|b7LsxSrFa*`}B$nh=PNU+@j|$@I<-{Z=z)hM>@^5$MUAsHFhGN@_~4I z<}t48id2Fot!oqA>=g7@4c;OU9D}4wx;fo|h8C=GW)j$R8dwReRgqg^u{mvCbe?V( zZtj-Cgq@W#btEI%`cAniz-#CX78X!w8dFcY3aEIyEvj-(tlYE;;|u$YDQ^ zK_ZprMB&KQ-y?@$K8Ze0zK+whRy}b%Bh^S7yCz>cAJBq0dbCPR?ydWKLM>z7>o8CF z2s1sHh*Hj(-bKu|?Oiy=s1z^12??O>sUayWj=5-K0(1L0(RO_lL3eKwvBH>Y-OD=F z?d|9SbUuZe#L8ze$%E%R3>t=1eE%=g0`u&ke@20BGpw4$UphBXzYdzJMx~BKc^dgI zolKE~)YcCZY2aEp%HnTj%^uH<(yi7H^8DzmUUIMr8K8cL2g&DU;w;^GUmM8Y{y#hK zncBy4(V4%BAtwB{s#=_?=By5_q~vFSa`qtTiRI{6T;*OoH6ZwU9;$#tU;1bqNx zNz&DTIbz7Z{+*Bcc( zd|y2wJ>)T9zC1G$%^Mtmd2A$}DPQd#GMUAC5mb-bz7|=l!Ou@5_xo@~1CD^*y{-sA zmZ$wu)y*h4S70x%`DTC z*$a1L6M)m9lTM%`f0n~3{|aFE$@35uZb~hqM<2p1C4Pt2%)^d!I`byV4*6H%XPlp% zeoszh2*xEdizZ)mEQ?IrwOGTy?@@(kN@-CuNWOr4Fgr<41nIu!%KdvW zUZ=y~f%)KiI`|N?Z?Vmz%a(?KmD3?qLXlQ`CMQzm6EZ`;dH}845Y&RNe$t`_v=yMp z(n{q!E!x$zO1qHKn`P8N%=E{7Bm;& zMFf})r*3R0Ve&ailh3+<)aB(o>g4<;<@vp65Ijbg+&aYn?1Hn!TBx$ilGN+>P2x@% zy8rLkk#()8L*eBwV`OH*pxFqJ3_ z!qTrBs>;F?ilvKCBEmh>+Gl_tF>WVXJ^17#9#)n@vreHsa{m@&Y}xia5c$E3G4z(n zeJQ36G7~{>JRql|MbJ>&%-jN{_5Ynf-_xnQN@YC?3D}rQXa$QYIvEl|EGq`iMbh3j zpn-3C!es3+QY$tYt6A6ipT`~})$!1fKb zp=*6O&08rmpall>`3-cYe#6PtJ3)ns647^35L0#}>X_?qD0GY@A2)@xuG5PJOMp+K zkq@=+>1w|_lNQ!seKubYf3MrkHcy2LX-SN!lAU?)pfeBLT4S}3c0Po{P5YL3_0b4d zr^83ZI|xk;fsP)MdGjclqq6d+)3PXJ(D&UqOPwB&X|e0B4(KV(8VKZD`_uRRL>kL9 z|JRf;8ah%8$uasXL(Bu@rDh^R|1u~+)Rf5gv*RNcL-d0^HX5IgmLQX8yIdrpDZNXE zNXvGis{hokfjHdQBd#%x(={f_c}fmIWdG)?iCUy}#cWZ=I#hlGhDA$#nR0-@X&t}9 z>1-jk26Bde30V5>-G*w*$wZYi$gi9~M$_BXLXUUGJG;0`uDZMZsEkXCM;jXdZkDCb ze(>YL)rH4K82T#sB}gRHkokG^D7ruB_(PnJ zLHw*v&Q7387h0EAp&6*CR8+)4aE>N5L!iQiSCx~Hui48WZ$F;OFUJl&8ap}Mko4#) z9WNFc$r{=5dWRf9YJ41kq@gKAHQ$j%<9myuaNVPAw4kbfa|dcq>Nn@44!dRXl6n zOn>eLwGfI&F1(SbjPC6#hB95iudrePF~vLp#8&oak-%-1MzNHKd0=FBp}MdyoQivz zl4!$na4bm!L_Z!Q*ftbg63Td>S&mdgv~{5e=)hs-d{uUDB|T9ju2JnjoBMPx({*SO zxMz~bY&sT^cvv>jbF)xc=J%J~^D_2_V?d=10ILWkeTAka7T}|?W3DKKmZXz`V}do{ z0=oZoC(_|33iN#s<$0fYjTK~nfw#7xJdTO*>xR?OEpilu76w@1nNCUJd$dWb1FQ3f zV{Ze~-Mc?gpu^UfrlHFBPvatBFfk1E0DKnv_C;D6GOkc=XE^geG`NG*{whlbx&~@G zy9RJjxK|T@(=nb}-SJT0R9!&{9=_nLD-b78(PF@4M@I|mr7ddUoFsL5^Ce?1V(&WY zYMn0-(Qb#Q&gd5S8<&@&f)kFa|~#;PaZ#z+#qUqj8KrDHL(hJINi}a-wKf*R8!zfegw1I=u%!`pUQO|9@sg)HeqnxkIZ zLLkdOu@e;)%_Qz?5tB1Ij!XBg1Mi(ScNG1pfTI%<9Qio&aK?^mowMsg+?%4q!}VX`+~la=780 z5v>E_sIE(khUPQ5B5gPT56)lLpUCYR$TxNtq;F-R#+6{H-@FO4tUdZY7pWdS98ik^ zSt}8!MaXt4{1)ur)}EMW^-eS`y;;OWXi0cyKg?hj&(B3MK7s~kW86ZsztN+GY2kjn zP!jsGdB?ziRK`L){1FdU`R7NnFjiA$H64_h+BvZWJS{g!^klc~uWm)|;8pJAF&PFl zF_yH8xC@^O2&9bRr_h*j_i_TloLg^+rDHLGgv)OcGxZ+9>XzcA9_W_MO%1wkuCH}g3DL3)fh(qP z^1xV}A21%Skg*nWJ8OM3v1AO(OQq3E)Dx(tFHDsT67lxmOySdPA1+@h|Dm$ z!L>NRbz=CN%4sT!^xN>FtUwh6uNLv)ZFG!c@c`ytosJbu@A4r41N~-1Qp#h<==c2s zANJKxVzl~pZ;@{L;n4?Xp0Gk$&tq=T&<}?iBb8U)2g>~)Z6Fbwp9J!{dpSmq;_au= zs(wN;Qvp>`Vk}2v{RV+Tdhwh{8WNB*g@6SBNj`#|N3U?dm`!i~R}NNh4jnMCGd;Oj zkFIMqV~a~ftID33NV#{4;k^SXYsUJ#IJ6t?0Z(&g1>ClK zjvTw`fbjEt&}h151$rU*{eAqnMRevaiUO%Lho7%4wh^?jl|lIMG&*5@)_lk~}@ z%xT_{I58Nn87At{XdQCcVAuUcoF{w;b56*h^?PHr$dtuQD)HYV*-^#NUoS-hzIDcM z_2|YjmG*KuH-DJb_?rf^YQsVs{s~h#bqi3+-FJ@pBvvp_uVy|D-67z^zRFpjdN@W7xiqYK=blbU6htYlhieKdFFw596^SI+P5a*4kUlWY_ zfdN3BeuMsa64PnG;4MW_(rEimM}aq_jUp%uL{4SAb}M$4EXoM38Yj5ANZzTKqQfPPz;Ud^J|14py7JAdl3S_Xqr`l z(>mFL`GsSr^ilJltkf@qLAiI{K@7^stp~IEODYqxQ09a3=IPx~jP=oTZn}9JJqdr~ zl?YcWY9PCtA_p2(Q@kh(lbuJP>-$dO9r!<>c2FwO*>Hlo)0V%Bg3h;KvCr4ZkP-Kv zUWsA?ULwTWCDaycY%Q8hR<<}yrqaWrwEp(48^EIWp59me)0xCcfH52Zl-MW0!0cKtWq-vp=9q!srO$$Upc#Ts>=asF+ zn&YOk79>u;HUc&AvSP+o6b+psdIPhu?v*`!=Ydv79BJgf0lf*!-x6b@IF;Z|G*TOCHOaywQ&9u^CJ!@5YV^zzFp1F3_Eq!pGU=(OWD7lUHI|`%0H!c8yM4b^jD~TT6{t`}) zSumlS2mR~$2K&*cK^I1fp?W9>hto$GOhosbENGyeIUxPINnA>&9tJi&`q1@zO8hamgsp~8WVVg{qJE9fjb=>WJ%?B3@~er^;)({; z;F!~@M`c+O`xm&DuFnPp`t6^vW&<6g)g4uZYQefufZckosw)45r`#b+J#adYK73G4 z1I;@}VPtf3Viv{wu-sP63#$Z5H^jdk-oMKr;p%2%3axDKuz~-PV5mKD6AivW_sj#d zn(33#2xvQgl$DT9=<4TXhecwi){)&QU(h(VH?EhLQNI!>$C~@yq*m=Ql)&_l1leCL z9ugDJ@2?BNj#RusPBwv1(>aoU?e(=wK)T@wC+cJaQ%DRbYH*KuYk{l)8llou=~SK# zsmZ!YBy=fJeKOwj%tXPJt;iA9jc0mYYL^@g12^EzPdyWjx3~GZ<4dixgTFC6MO2;^ctuw!BS`ROTgsafyRrlKTL#wHnNp}K=$&&o_uMDocaA!Tnyxw z9rzo#P6_N9$SQp*{bi$X7?C+jUHc)9QOGs~^WBe-2E!l$X1fghhsX6AJ?5AX z5a3#@z@J@F3GpbV9qgW-y}l>g^fL_&N^W8Orgd>6J(yFu;&8c9)a z%dtF+$uIz#{{cE9-}rct@dBd3s}VwA)dgDSo1~RTT^s39ZPPC|42-s6ky*Z;MqRf! zN&Ualt~|Qx>RRXgPI5CRB)OT$g$$4xG6{r)%)tOcNFpj&feO>%?(b-5PPGWY(5bN1Q$ z+u#1a<@d&O8B`GgwVlP_tZhq1c;E63#K*DVOp^g9e}tyy45ntFFR_UUZCqg$M>9lk z;{k&@Gi)SOoq~6a!9wJXx`~dp#*l+PBlPekvkdZjEoY?8%e-eC;$E0R1&y%iW>z6j z3MGFi3bSoWj@JUm>HAAYpz7=orRr2ksk-a`E>oeWC$XTB#$2u5Rg^p*lguZthJwf1 z!_nAmoJL$6*g9K4XzG8yRJk_9LwR`#ykWBe<1}mmL&7$Uioh=N{y|mhE>W}lrqPee zO2A$nfWthQ8A`q9tAo%R)bepFVUq^|IRKuVQ?_7W0F-bBr;?D}8$HdTS|txUDi~Jg zIllyxl|#m4fDLXEZaf_-dKaY=X9bT{0{=Q&hnDL1BhXO$Te1kD&zD(+_eQ7D@oiQ{ z4DW1xtPF`6D13H-WeYk0M{}DQfu0$6b5Sef#6l|a(;|?!XP^!{8z3VYpJxwceJQ-J zd6vDHwm)SRhBTP@UjtBlxeRE;s46Q{Vt9(jD5-xvR3{;C7C_F)SbRS$!kP5mscbI8 z0@WXC3MsK4=dOGj;XVJ))=JIyiZ*AVeXe+V!n7w;mWF#Cx#ysKa=OU2+MrH-ejL4f z16aIAtKmw9fT+iHDewW27;YqC1_okj(p|WSkXga>QWWaY-Z`*BLT4?3s(&ZSv-tJ~ zDe(NailNq);80|Q+%i|rlt#67X5XW6IA~CZ;+y! zW{o~uU?YQl$dvqWbX10(eri;bk@yLj48xG%y=7Fs0jn8>l=d!nQ2ZX`H~MVL%;qz%uD0b@6}0(9(X zYUx?(_GsLwzdu{1W_+GY;tG_C3Wz?dEwF~CBgD%quOV1w(fd=aYFoF?sJE>B0wj(_ z+k#zeiidtCi$Qpu(EKuV!LMBYmAV5#)%DQ3_!UG_r<8>q& z)^9MvEEnysm1Rm7xRy&hRL8uH2=>S>WbAeR16GL?T(cTxS-d&YM2fqa| z|CZ!zI<>^|N1LsQw*7#evolG!xZP(G<(DRKLpG4UNkDRzcctaO`Bm7a@%e{7Ll-!( z-I!3(eTHm(m&5LWubq#*!P8R@z_agPC_)36Aq+yaHoNsXpdOB|RC_PUqbU&>9KbQ) z5drW@%~5}_{15H;9P8v#_G{RA45jS)S1czE5`+#e?tXs`fdAR;*z6BfSQ9s|6Qz!h zWob-JB^oVXyOkvYL`lsl?m~ zDgSTQtY32yi6eUOE!m(94}ICJ!GCM!OXK)<mJ03g~dPNQEei zol}~#2F6eG(PLx)!k-5_&^oZ4w4q$G;af0UlD-xWzotfyy&_KzZSEFTNhS@{?WJL9 zAb-2jiOEpypStL?>#>AJyzQ$Fu8yXNInWYn#@k-j3b2tWK6G=GHPvDUFW?Alo)~pc zV-(HH1v^;xVq$}F(7alDn`R8K_V%W->Dnt)1?>r`?p?_$EdxcS?g(E*WY0kaH3u(~ z*YxQ!m|wcpxgX4&Gd#`NglnM4v!^_EWnxqtY%7NY3{Au$I@Ti!G}xgDwM@c<-s{nQ zF?9Leh(`+#Kx{DT9|$z5TiU!KCHuU^Dljlh<1Xtm^~~?eDJ@0B*qpLqdqb^wrNW=< zd7jtaG#3L|dAe*s;t~F~RZ_|OW>`66-oAlVJwu0fkQnyinof7D9C&L;(|B{NO>reNq0A+ z=INe-(DMd7^&yfZ##9GtM3_|9QrE*MQaAk;RRsqi z;Jlx7F*HI=Z-KnpMoo{3a>SP|eX5ww>igfo!0xROiP@sl4w~_q$ai!%x2$Yhs@5!C zj`koDrzcyi3h+w0x|+Gf*FVehRLoojq2nxy;jK0R2z(#M4L5Hw*K6E|fBep>jQ|im zm~S!dlCMrJTmx+bC_|uU)M6EdnlWkp2mr8MvVEM#;~OjuO^SvF&Ljt2IEAF&_knCa z@mCqjg;uRh`2ve!^cpD6?oGiWIo*l5yzp$19+3l=H_!gkXe4brh%@58SrC!sldhK< zd(k5RO)*s6|3Qpz8{}t@QuNY)zJrhGxlKgEu9QTwCY9nR{Yf}k0K;RC!m^tIsv$OmBHjb^cJoc;w6Gtgm^B7Hic2fX6~^qS=#NnH z*6e4xE8el zT{Rv(;f6<(Q1kb)+XS-~>Bbw;Pt)n}!8sz+*S*@^td8y|R{NS~g2y$#X5`>RoIM6* z17e|ph zG#OWlIUWb?z7{dCYdT`!3x7nqVC;N2VTeM?W9pQ_+8>CblP>tl1Xa9lI+YxPQ1RX2 zupFy~43VKi;)u9&i)i3d&ZRjW-SqKno)FVA1CC^zQ$w5Lpo9#I?G#+8)i;Ca)ohey z$*-evUo;y{7G`Ylq_Kw6Zo3+*{@$rpB!!j%I~q048i~RFri+Jq@ch6VfD^p>@Y-Zx zLI_hloCy;hwA$&N1ZeNEgwGovVqO0;5{*$DnDJ`o;Yrk&kEh3wqIz=uL<>g;k0TJA zj}7GL4_Op<^HP|&Ll>EYm4dIGCRM@S*Xhu{Xy|=_N{dtwVdA5wL<-Awa<+m83*{Y{ zK5L}(wREhXx(tyf*NVqf=%ZO$=pB2toBe~>xu!5oR?>p?IG^?PymY)o&o(qlVEq1@ zkfj`5;2R0($+HX)*tH9^4iI0~SUIY2O{y)Hh4`xNPgskC9-0l&|1O?0AhFF#Q6+)Z z^u*m(qWU*i1a{+!X8svLk)|qTn8WLdfKtrpTj6-M7Y0A&3~~*#pzz0*R%mQ z-B-1!v-cIz=ufQt`~j}TFP4Cac^9p)5#=HVn-VH0qiaer5Nd23Ghu;PYAZP>e zBSe-2+fQf}!jVJ>K>92b34M$jDlT)w|e+em2`}0=Ni33)wr3v2PK5WDQQGKKp zp~9wBv5Yrd)v863pYGXn3kD;h+C>!Aou2PwD$s5~SX{8Q-z;YOX<{1twh@S_QL45z z)c}QA-&<)`y8%M_YeC%k%HJwMth0qo2GdM5a&3mRL%m)HHys{QPiz*`ur<(+)_HAs zj;IQ2b89zvPhjdxx2|*|AmB>8gSTo-%?*Z!s)zoevhKQ-?s*&zK5gp1HTN8yCI8OrFvd10u9cO zCj8mzg#Hg(W()zp)!Lntg^^)qm<+-?4ps4ipSts{sq|?r5b$~PMe%4|Nx7RLZ)A(y z+I$vXz0jcsx0}xQiLp%oFcu)~sN}qBZrxU7A(c4uV20!8QZg(R+0;Qzth72PSJnm|4ewHcXa!#+uY~ z`=@aV#O(`Rp0GhhC|fWv*R?`Nxu!YnLnBDuOXwJ0l3(W%>`ZMZ5zw@%8?&4M!Wyc8(skv)V(hO0R{02g zU>lDr=&~C5B5k@w6i4ARI=n}Yn$_8Grxv-xd-l!@bq()n>#G}ASKHipR7OTn^UQ9m zn^j7A)M|ur!yUXM_0YWPF>qQNdRt}_4tqQh`c=p7s6sI2FsyrhVRxX=KkWw`q+UQA z(TuqHVo+f@?ReBGb>ce*kqeupLf4;$iU*QLTKkEW6MM0mc?V|c?U9TAPp#>?G-AX$ zC}@zeOU0FVcuqhl^%jV{uRX-at;8^4mIcM2;<}duQ$Clm~En# zCronaN%reiW5fi5Ab{K%pq@B9Lc2QoF|pjnF-}}`%#|ZfDI9X%I0%OMWH1Rb0YXX)0^V~-D&~vAGZU1Sa}5LanNdOnqd@TLBunr zIQ&4?nIkU_s%;dtzHC~hcH?;0bB^SG`c8oGx&ii5VkCqe^^A1)dK(4N4AKeXZKV23r?vC2$X z_x%Mq<)Oy`xxdqeZK$8rv_mlV%r33KtfW8f*(<`lC^(UJ{~k;nn|tsKZBIZr?sI|_ z&SIeF^YI=Ydd;ddT6cDAw?*6O#9@5d^lt%Kyxa}JhSeRqap|F>Va#|eK55UssHOj}L11=&;!Jb6H$rl%K) z3hoj2Qr_nv7CyBxn|1|BKe~cI82D!-hCzo#WRrP3!=29wbmm!vIWP!=RNz&Uxi8_? z^_YM}UL~Nby(LzzFXv!JUisu_6E%LSi;l3b6X?LlBFzHhqpGs6fgdLV3fnuCW{)clUHiMQq^JYN3Tu^_ zm$axKJ@SKZqqB4JOR%|{fpedE01X1xs-RCk5SU7ZL<@a05gyiBJ5 zm>`$Xi~`w6$Ma=}AMkv{t)r=O7S&|S1vGPvTt+iS$|iE9;s0I~E3c%zqvbT}iIK&0 zN20vOg=w%A9wF49%QyJ=`uOeiIpDq{0Ke15QF0ND9E*m{;Y(y1#Yf9u(UT+PT&kWR z=kTBA(V0>Bp6_yGE0v^47qz(LHS~uhc}Xo|e#=EZhZt-bt^- z;8Oha@Qp9KOyL!g<0U9KA?0GLzdOe1TVm?E#D)7kjodvatOrKjSeeoT_%Xk(nr zA(1F+=<%@<2MxVE5l^kpC2yi<((tTijgz;~!gO3}W{jNu!V?8@l%SwEyuyG?v@{Mm z@wqz^a8Gz!bEzp2&wYB71T>T`>t0x#Cr1mCSs3v=k%%AJm@MM~yGPUGIkFC61B|Cr zk@(q!k+_nVlkpU$j+M=HQz{nB6$yBtr!J9KaoN<`2q_c$u>-~o@bURC`ZPse>)<Se@@tMzyiiU&!K(sSR%`vxShA6@pWtR@$ElM zkk?W{7H*_u6z-vIBEEQjE-vBe4E*(xY*|YuBjtRWl7!XkjFwrQxn_BzS RYg1vlW($6&vtwlD{{u(Y_htY9 delta 37954 zcmZr(1$Vnp`4%EBt zB9*OEXt(Wdg+gU3l=A=1eG}!szuoRGBs1^bcjPB3!g)g&1S?v^wo|OKAU%A|u0Qb32#%e9i6l*1CF|ui4hfdUf$Ens>bj5?-}! zUXof+Iay73e>xqm5h;{wiTwA@X&AZTMcd6(B zh4C&|b3-kDtk1E~>7V4#n7X>gB`)L7A2g1Op4}#^)b5F9dg~G~CDCScd3|RO%dzE_NcZFM%#`d4L9 zGR`9}_bfxfpW+IO>0Y-SN6Twv5G76(ap^Xjx5JCS>un5jdz+`O-Phzu$rKqYymZVelIi^>nPY8m`rJ;R zI#yqn%obi-+v;3mb9?l&l-v1P${jRwogA8Cvo*MyYhf#Re0|S^&QB2;=5~j-j-sr1 z9&oTgm48m6Xr+C(iX^rB=m2u0i4?N~c1A5fh$8y@R~bh;mx(fZ;SyP5t#5QU`kXkn z@w9TdETYVR$Xw}ZQ{tX-wenjlEng;bRjRjy7Jes2SR1__SPIn~m&0l2Z=%`)$MZGQ z{1%aDaV~W_mQb`6r&IBO3?|#-GIY!$_gPQL@8f-J*=DP2tglx$?W?4e?XrrZ|CEzx zzC*$|aDI`nVV}1?KOi8N9kQNkmdX0icuUx z281^GmfC!+9WMAXWtGcVdiZNOk=i}7lg^12#jq+IyRX@AR5q86gmOEcYQ49dHwKD#~RJTi9CHIMz6ym9$O5{#QRFN2$F_t>m4H@2^}U z#;EPZf#uOE@CV&*37~%u$uLwaE$Oxl|UJkOyGj zh4lL+IN-g@5ux7NDTZta52EccvYlff9h-&cUw)(%X(?EBd{bqy)#LUz93E(LE=6J) zFN;mceQIk#d3?RAxw-YMSiE|_s0wY=VcNK)isxlI<;I&5!yI;Zv%Aq@cQr0^s@?H% zs&ZQn4Y*MRsiA|5Qzwi=0Pishe+;+T@RVuJ6r9I*QF7V{8%(jy?dbaykds|?wJuwo zx2+cD_h-O00S~IGnQ`<=7%X-DhoXvhJti#bJx{(_TiO1Xim2v{C<*s2aX4FBZSH1I zYjXqD{8QxVpsglfT!;tNTnlS(EViljheptnePXgox}=QK9kO~;E9_&*-Es<@en^JV z%u0=2rIqya}R7opM%F<$VbD2Tw^0-G8AhjI`Atr8)g6)n-%seX+E7 zi_A6Qc&KxYC<#JdX|Hc|IVtaT5lfN(7Q+JJVN2^3w+$?dY*Fqe1!F5&_? zO(Oo#u4$qof&ofhcZi^qr*Zes?h^^>u65aT;sm_vhjXJ%Y(+XkE#8eNbI1lbaNfhR zl`^-=(e%q*k;zh%|*&ObRYd?6y$sjJh1 zo7&tQE{vp2cTEt%R9`BatO)OQP8S0h<+;v6myeZ&>e>A2c$N~ez&d?kz3%FoR-GfY;{gRyc3MIRS&bo37qKeQfbqc1u@ ze!`>g{grY%ZSN3ilr_MVByc=i5o-nR?@in&r?f?PFYg?U7%}boLeuWrG6&J|z zK#mc0jjgKl$|BkuFD3@!=-Ta#K3e&zC{fuzBpH!_-Pr^qrqao9X;_*yhSP~P;9jK7 zfPfwNPiKHy{M1A>=Y>GZC=wAA{)B7}Mc8-yeNC->D2o=%6Dd?vW{OuYugz1t?+;O9 zlaqyq4wy`(baao1qJ-13C{eq0KlIh)Y@%%!iDH#|ubH+MA^$lVo9qp^B9Vs6E25Y; zWd$3sueqs~4$l-t($+wp7*iRN)8fb%lU zj@niqN7EuClWrV~|6S{{BR;dYA)9-e^7x!p`g>*S=H&^reSn-1W;{US`O)VY;(VB@ z-D$6Fw85&}&5Uka10n-BO{>5DmqEYgh${7~D^azKn*qR0`_C7#vcX9^zm{bgKy)5E zGOWGM|4@3o3qX6RI(jIDMtzI;lY2Z6E}2A!qeTJ@{032A*Eks`JMz@w35Aq;LJU`z zWe+fMw%EFEG+lc+p21bWjc0V?u9?Pd=e~37fr@5W-?gSE9J<#NT$P8u&dYvw(qX*;LY)y;%0PIFD zWo;3qo8|}$y_hWu)9^w4V+fEbHl$DqS@CWp6C z&afU;bAK$&odrA_RU;<_!`9unnWkEG?2jU~U|<`E>JS=uLdHlO#)0RMc;{Jg8rQjy znE{}!^zC;t)w~49M*D>vOHXD3JFd=_*HH^Fi`8LAhF_?nt}de2o)L3s=tH7}LWheA zlh^4~hjtXJdD8-^VI68sZ7xw)7piT0%Bk~GQ5n+I=!QGugqBiXARu^f>_pWvYbX%; z{_%MB$Os963%yP|kRhT?F^M^%R7F~==;$zjm{0F3Fli4j7sJ%~WpR}GqcGD)L8iD^ zU&G=?ml0Ft!v;!M3m(W%K**jj4w<;`L8)cePox>`Vg$t}nJU%Wvnqq&^uPjkFSYzB z%hkM4vq~ziGJ9Z8wEH8(@``&b^!mG^nC^%Wxqz}BFYPGa(x@)nlpq>t z-%qj(Ct#)hK0Jb2VFGGlgsJwwlSNIVMMgHB(OHh=k7a!ePHj%=P*a?8??|!Kd)jtJn?(2s405Be>n}J9(m*zUAsl$;a^q5UVj|9wJ+UN^7 zQ5G2>S0YbbC$Dw6TASP4b^X0bU3GCjt?C4_JSWwZNSAfWB=!8QQ7YSB5Q~T1Wbb{k zpg`ts;K~DD&cTEu@4Q(eiOkvJN)znZFgs-zqiO4UJh%mwR(1G=Qd(Ik%#j*0_5?q* zb5R9VJ_1*XohXOJ0e+wL7-?ONoCc?@Zzu7NOrg7niz{fW7d|z0jx5}`57_HSh%5~8 z_!jbs*%mcZ)=Mbw_MIyNL%NHf9rT~Wa;ExrQC1v-{IgDA|ENjGioxpb1Bsy=GTIO` zkZve?Jn+3IN@UQ*QKl-Iy9?iYnM)3lOPXlyw{l2)JwUCIll*|z!5|#x0#xDgG`n0q zJj9&eMJn0G;2(e958h(kGT4Ys7U;*m?RHt1q=O{aZw`O`<^iv>)K;&qe56R(AC9Bv z4xn~e;1Ls*?VV7Sw0E@H`EF_iV-1ZsHPTRr|16|K#WIw}{val(yEc?t9Ij@slc8rR zefNnREL{z>c7+(N>}$(XIP&1k`=r$+3+?WPHiKo_H3|>s-1FeAPoF4_&TeW$U}myt zrB7EXIx<#0DiUIRt-AE=x^x6mPFdY{Y2;c5VE7^xy|a*7BX9(Bk_V^a`*C9ZF9AH6 z%c<+GSvOWuT(qKA^5bp=6@2;3+u6H`!Dr$cTCxJXV`35|6-h*a~vjymjPL=@=9^X>R*_H$T zPpd=$HGU>$(VJnWGIiJ1VJ1X=T5%ZV=9~{lr~?y95S*4L0*sctBTKDbR6ezCy6Ra( zuWVbm3Mw6=jx|)%|1xBv3C~t7$WD%Gb$V@XFRs!k%6C%GTY$MUt|_OmDIzVU-icbJ z$?jcj1KY=ic0jodZTn+tsaOUAb}$GzEq+jUZ{>@0O9qxyJL%b;oLF) z3b4P=&ilH6rjC}g)agft!T4;BCQnznLt`G2ne6E)7C@dRx2l>{!fC+M?zT6PJq4x6 z(KInN&9m6q0m=`LQyZSt{HNT(C_9&_O10;w@gqz$J#nkviJKzN!=gaVkDsnCI68qwx65>9x;*V|RJBr0R0rb9 zIm0PyW2q{+#jB>rRE8sI^*kHuj5Nj54gY}s=n(k)G8sq%7Ro?tJ<|T-W_7r+(1e(# zTFQ#lnNy|o?bk9n5MQyd*$YtnnV4h+7IQXvXj{1`9=9m3zY}T5g-{2|hFRvWQ*Lha zwfm7Po!%&_%WAc-1-)Z$gw&(RU=nLh(KQp@X{XvOIeGbIEi(bBSie4hLI-kz*L_T61I)9J#wVVyl^_%;!NcU23yfTX9H`ensMg~8AinE zf~nvA(XM+@ivKCq6dN0Lm@2?E=u&MI~W0`wF0*1D~LPyZ=L39miG< zKlj=jdN^(sZ3V^s;Z)lAi%6CAMtnD_gZrP1H*qk|`%ftyzZf{|z>LaNE{po-K+VNF zn`uuP`_&Opja-cEiI0x~LDUZw)6E597?mHD!(bv_6o~8pkg*)&$o_X=&Vyxgx^)RU zDDI_Hl_ZLUeln%BXRe5ib=3i__4DiSOmJjimIBqjt4q|ZtIELy>tN9L=k(Dqg{aeh z^+mE!w9zAJxT!y0N-VS4&idfq&78g;1xsvP>aF)S`r{$JFSqq+J*|vK2%Iq zul!I5S8a#UZ1`g+6`mua)LdsFc|xVxgnObx$)cJb{tE?f*y3z@Z@kP>xBnPQ)9fNz zRopyUC$*a0VleIhQ6x#^@+^m}Ftf?3lOY2sH&9fXnTJq^ql*T?I(&^tFYNJt*lr*M zACd`k5sPv)Nx17efQdz)iY)Mhs^OhcQH}1duz&}NNTu^5xjvOM>5toB-(&7Yd>SZC zMO+1$)%Mp)$2bg{p-N|9VCaLYU1o=Tp?=9h&EiSCYQ|` z%@eD1@o?r(keDl;u&CKzWz!dNA|V#UNWY+Dqvvzw^kH~J$k?8a?u5y%mA@QO2PLxLve0-PG7ntLz0O>e_{4Xx=|izc{}Z*%r;mGD5eyy*6CDTK}s- zqGY^SOqc!(M}MR`l|PJW8?|E1L}p&q=Np$%)T2Og>vkf)Yl!{S2XVB%Ld08L-30;K zg+?AYHc2E(SE~|eXs>7ld;YgDQ(n5m+33O{_btquS^#`~jrASW`6IBrcosFNGMB2| zQ;VY;nhd^)*+1Q8rU#CQN!;&kZeZpWp`2TL0ZhFH+^<553e_`*LX`JE(Sc1pG_}Rm z=tTotB$kFh-xepf| zu$}8rO;kcBAcmCC-Vu26<=HaA%uz%)>^tY9gWNHD3VN3=ryE4o<+z&UrAT`XbkmnI zRoz!Ihb~DsAKO~?&W-4aa4&zEs6ghzFo`yASO_6?tc>di&N%06ECrD(kM% zwD@Q4|M;^`2-G8YlOhu{c^*9}j)Vgm6*rL(1WE?eTn8vDG zUyq6BzCr(Z-KbvJoTTPGJ&Fpek(^)&`Je?0Et+1}-RD3pR+%ua8;jEIzsad-HX9QU z{W>hTXb^C?zj1|TT#A<^1xTj%qYJk40ffnU)5eBFI0 zUI0j(iaPVR_%N{F@LaUup%SX$)hEe#tR>wVX;v z??Oag6FLD5AfAPNK!GN0QLxgsbL7|{+A~>P(c-eYFLA>)hNv@iVx_OJdM6`lJ?p!ykm0G*SnV{JxjP&daop z;k;aiF2sYPbRnj*VVOW2Q{GK5>#g_6pkZtb{eGXLCLFdqHv^aEGgBRG#K?MEs}9e? zt|IS9rS|ub6}~!wDjvAXqTW6or`AP{inrDED09Hw+Z)|=;JZOgp;KkrDFBV4IY;A7zw|jLg zlYa--Us;E)@qvM&B$QEJdtI{)6&BT8AjWblH&8tpQ620+ieBt&wYO_Qil>bZP6jCX zYXxG7_fB+9%fW%Dih;p2dm^}=sVUKP@;!-~?*|!97vCtN%pA>h?~3OCO_Zr;+Nx+< z5q=wj97{L;G{Mr<(LahPBOE_dxdu&)^AJX6Hv(V%6Wnm4T^EOhj`Ld!8_I7_qAQba3jvG^R%KNK8HsYUF}3S#`(iX*p6Vu5 zBAQfPJ#_GFCy~zXV~&~*PlnNE&&Tb;{?w1}UxELQpkY7C>3{}kIh+XwzRa2>N29Cj zSX@u``6#+Ti~S(Wf+gQFJ3ff+`*I!;~2HzRE9pPe3(^< z`e;oiJ$)ds@bG7uNh9e#984IdUAeD5K^ULHG8M{6tPMTm?zKQ!v&dvx$$=-Yo) zEr)Ih4_EHTgD9s%7Es}2S*=AJ&(wy}cMB0hJrS0muDhYNpp>v14CPK{I zl!9WPqeImPVmghU3BdJNZAPNz(3~x8c0Whw=g{b{dt?rGQ`o!094Omt9tXHUNSCq_ zOcN}2m%X(~<(({4TMk&%*ewNge3}@>-N)I-A@I0(GwdO~p;TRItAeHs4%v%#oN$wz zp`L%VoUY9iMe5X)Ll`4&13lLY)LGdWm&@%kh>{W~~uf72OBo%a8NF6(znjtm6>>FOdNSKfpc>6sB= zWS=e-6X{=J$gzmQ&=UE&+aMdlhf&M}qEgh;vC#<4+_;Q8i`GOHsKkjPTIj&%bo>dV z$2b}%zEqW8FoW(IE>_@tRPHZj6gL(>vfyXPCSfOmba6X+ZnK0OVPHdiwVD?@g1)&J zq{kIOxaBj0t@LptaDB*;7T?a2<-!^l`Vjx^H+ zm+PulqptoxrRiE)zW}O+HdkYlesIBc4mZO&2*uVo)KKXVDG?~Yv{OSMibrr{4F-kyG|T6xl;E91t>_Ir~kYyu9@d(Fx&21NGnp1z9Dm%n!_qnv|Rdy_pbEV$5(NI?P|}5 ziL|0a4&xfl!{Nn7xd-L&u97X!DA`gqOveq{8XRt0Z3mhlS_X-aFm9Rkqi7&49!byS zfVjaGw4xWy)B#<0A3)d#FUX65YC1YJoUXVH0m1bXD1_B3M79aN zRMfR)Xcb4SDEG@wm{5vE0_?>$;k!NUs&i(c7H*CmEs6n%0gYKmV}c%v$ntZRsT%TOt6K2hXo}q|6BA*}=)d_>4sy4jYM^5Wfl@T_dhR7K+01ig zoLceEkzm_3n(LcG>G_`kzYe@F6T=vJp>A$P{S3_(YM@z@lU3@AJo~e)n zPysQmKYI$exovwOOh9fnRJO;4iMRxQB#@o*9(5ZP)M=#yX&e~q#;mo zuvTwhK0)oTD}yYjzRuU-QG3b?)$OGffuLi$RZ~hHNJZ7F;oDOe$pNbJaA|56mg!?K zMvt4KUK2%0UG16m(*6U4`#WttM`vKK`~HiGrp{-}+-9-2sZUBAch zqS;gs#8`qA>*}OElXiiZp%bxkib{ESvije@AmES0asRLh&S&{lmmc)^<8qP}U|sj0EH^>-(v#KHmn{`^NvfC>;#bJ@ z>2@a@4-~G{CztzB&z}gC874ewT}{arCyn_G7kNto9_D}#MJV0&tQZ&Ht?BdAW4g+M z=!V5sdAU^8hBK{nl_kO-ea&6Tw2QrMaH`DrO3d}(M>xR7>t-P?#lQ>xRv}HFA|}G& z?TyW#uTX5e>-q`CKYCpZj^@s{4LoIo)1TbcWl2>rTok))4FB@{KvhLwnk;N|3}UO` z?H*^Vx7lrX(J^5vRtqjS)7tH_Leyzd$ma`6X~uoXLZz9o0cKXiIvSlWKjHqM$_h`7 z@;?EHXAFvj4*wT*_s^fo>4>dMS?@?SVc-gGv6u#^KUPlxDh#F@cgZOA{D>-R8w4_q zwbYV;7Jc@HX;y@>xyzbrrKrFxXVfvsHBFC19^x&WJ)N=Ggvg8+~2+NYHb5I6 zf`n7gpoG*zZtAmfr%CO;EQ23M8aE1&(rEcwIgQqDLa4w54&4WGU+o;Cd-UM}QO>#`fSvgmo&aWUuDJyNfUyK0wrpR~*P@0y2hP4eILRXK#eMWr@ z+!?qA1wwYh2+d%S{X?|Cz8wq|K=hFWI_*Qf81bMrnvcHMtWO7bVM=Job8=pg2SOfS zW3!t?mZ_Nb<;p22>y|+M!-AJJE|Hex_mXge_9*nh!=9E2!iDmwz>sb9b5c zwR=ULX^EHRQnP5&OqgS2njCKwjVy#nr-$RfqP7f>31()TRZVhMny#AqoJB7sHd70S zZ1L)Y(jmh++1Iu%wmG`08jY1$rO^9Npxoe&2<#EHug&hmF+wz7fIg|#JV5V+ykgX= z>(npBqiMedNbYczh)47Ah5Nx!gW#TZqaWDV8zEiLqaG)xgSP*!6ZvWIZ)JttlV&X0 z=eo6L0JcF?g*3{LHbAa}%Nv3#wA!GJI`%yp2A_U0G`UkefE0m4=!$n;Q(tsqs2IKR zQr13Bj-qWL(3u_h0yw*9=!OAiX8ng#X9$SkoI2wgXo!;{6uwCOAgUG zj2i5FQch;^nU#KAC^PB%r_l{}H_~Af01iuNx#|X>_i)Esm7bRtX9!xkneFKq*9FOK zugM(Q*sLm#6w|3k09fF}4U}~Yib71?SXJ)4c*@ud)@V%)hMqLU(2}0qYfzEywinah ze}Gp~hd{-+mW!mAdVrR`(rmgg#59A}e=n=8IP3b>4ps9>aaiLL98H%zrR|Y&cH~x% zgYz7#ciHLH;jwz0Az=Y}5L?fc!4^H!p*pWGB`B4u_1ql|FOdmQP8uph)-xyKmgxa9~!ep#%kh-W0U z=v9SXUCK0*M^Ea|(L$MGsa@u5#mvaeLb~GyeCLNZAbj2Y+X(vc7Z51*P$9eeWvcDd zM71G$!1D>m^J&UM=Fsw2^}#jM=!jQV1Osq2YpsQjT%#{WTbb3-nb%gT`MX2t`brVO z^vz%c6ZI>2nUygH{WLA3ZuvN!ZkP@AO8V0YmO49N7Dr@RTL)kiODhsI716&-kG?Te zJ&^-*5UNk#FDuQ98Nk9!bWNz~_QeV()RJjRgI%z{XTDgZa%+Ll|cf!d>S?mTFX@#GK(Jn7SHYdi^7Ap`@s;29L)JJr=}%$kUjaq1O2g9 zR6+;I0xyX!(TO!8K3SJgX9Gf1pj!(n>Ckp`N9P_-r1|qOkbw4f0&TuQOwt|9acjUl zp1Tz-IQ4QNjyh^E4&uHrkr&oAcEeGK23{%#LyOB&=(hfPih?Yhg6*9ks$L7KD0~Jg zHhS1e%Pzu0)2(Oj2i2mO zw0$=wB%10f#1eJrvLZE2h0(Ml5H^M;-+IlW_|Y^3pZa<6wge`#%Jgb=fdA>2&; z{x_1w6o}EF1Q7M2DAxD=5dVyB! znwxkq#LNY;E<)2@l1tRyw@UFHh8&vSM=nm{G|mkxJ$=%q-ZTQ>~8LZ*dk9V zyIvxSvMxzfpLAx3v=R-xc~-Kc=cI`Vv{}ri>;5AqaS8bU7OutX#84!@5Vff`nFWLXp;rvx27qj)A2XN zpjd;v?sM7d>2d9}f2ee`?A1!=`XrQN80u3ehZbs{{L)!+N*G_D?jzSVd+0B>xR`QN zWu=wrbv>DqPgfnrFbM#GHLAbGu=EA9-sy63l&)<2pop13PN@-g??P9vsl?5H6XyoH zdKIs9`EMddxffMZ_PcP!+kZ?7@~a}28Wj!(Ci*wT?YcW6YBddg@G|7|_8P=7Th$1a z*Bpl7%DCxzBZT86t>X~mQtHImR-bfFmVS6zoo%8X8U{Iq5eo^nfI|CRC zhwAY4h@3eu9t;wraebXvAr<6}Ge(XGJfB&jlfaVw^=V=Po!kc@^xScB07dLVkUpI3 zABCe`Kgv=bf`;-r;2@0KN-UO_MD$;U+OFivOCI(2t_^;mEp zbL9eLoa#(OlcCYaeMC1)LaJ$CvYew6X~g#+SGT2@@+o3J8cF*;(Y)@u?J&WNt7SP- z*2y^{K7P9fymnWg3SH%n$Jmt<1z*WTj3;)6w{ZO$0cxUG2}Yk?2!J-~9^@P0s|J$9 zNB|BN>4MR%l)I)ek4S$yr>eGkH^!cZ1DC4hcq^4G& zgE54(kPXI?8)`$#l6v$60a=Et;g1(>+8|jnofn88Ikp)8aOD7F|2Ilhpk(&gw76UY z6bOQj7RRgY=S|Wil^0H0i$P5~>Gbyp$#Dgsu5P%0e?QXx4OK>OmLQ?Bsw-Yazh+aB zKFy;S;L)tv02BIRrVig$I{XI`>hVXwSj-4Uo^1MHVldMP_1KEwQ04DeSQ%Tl+tr!# zk~FqXzgd(c(}Kn7>3nIiA*c*)6PWAky`T|CL!6O!7pg6&)2%A)or!ddS47gU!|+_! z|CLU@6r}V$wQ=07F|KXj0#SfT^SZ_c^uKu0oRcG(RkS`_CTf0Fc-4ZTY4k|6X@G_K zf0wSk(lW&K1Os672YOn0q1C!{PaB4#c`lfqt`{qVJWY0hKtNfZf=vV61)zyk!?CPe z_{E6Z>D8m4yaj;{&w)A%F1Y7wOmjRE1<=jSS-R*^1f0vm0kA@D6D`K13a_XDRpA7s z#TpxRpko{wqcQ5q&1D?oDf(Uv(O@G*DGeKdGkWH3NNo1z%c<(wmnyiatTnqleUwNw zL3mILF1MK`? z0e8;aU8YxVsIYiYCc&n1`f{VJ$9b;!UpbW=mQ{YlJ)uyC6>5nQg(hxiViJ%dYB7$p z;e{faSB*CRnv`#G&E={Yj5@PMcL6kBSO`Rt~OfhPzt-#9UIhZRRY7Ycf!g176bhxQ{V;cGZ zRqr8cXCJJf+e1VtPad+NhVW_uV^mmg7SIa)UY)4%Z^0bi_^(J*bLUvq%}?R6My zu=qqSMP3gp8I&%PD5w*h`^Ptd(AY6wE{|_R0Pj&``lB)ZFdjdoHHT|{9Zn~9z~5Vv zOx0X?fMwEZd3t&PMtCljrc$8RPE#3Vn7xCO(cICGWx?Grpj+OXmS%`5`=@3<0mZ#i zb$xLqWzK@Dj8!sEohk{TxmQ6YFeg*w(24Pomi_O57(Wsjp?8)rNOf&Wb^yfzWlC{+NsLr<4ROrvb(6vaBaS1#$)t3=qMX+urBOKa6 zZqxqVqExh~nqh_N!Rjm?q&-|LO3dDcO}MzsLK^cql7CY~csPU?y2)dV7C~{Mp3hAS zGWG=kr(y#S9X|$tn>!Lm@z$?07~Ry?F0R8%e_OjBflL1=YH|qbQs%G987LAd#U6R&P%zP$hq^LML-+ z(_%LkTX;UjtZl|lkt}PC-8_b!qqCooVWg0=`o48t4a03$Vpg?01n&K}Mmb&2-sdG^ zYIoMl6ERZMk=M7Sp)ywuXDytCTM`odCaX))%EVDn`A4!wQ(N@YyDUMwP!0&G_c&a3 zuNRt6oz(0cqfcE4H`iU($2ZBuu}oV)Sc`vwOk<7`jTDCyrsHqacPT^tia~Dp>TiYc z79v>YtX27lNOjZIIR-6$VviWlihC9L(HOO>CBK*}ECbK>Xkoeq;{BhrA3Pf2fKGfb z2A7_txndlH?n|Bjnh|2q#^`%aKoU$a)~U`l)gZRK9=ij?R%D5u892DSjJaRU*lViJ zGrkgP6fga-2cY@bS15pCpdphPQd$FsJko0oz_3R!0M?9=Tga`Ptr%zO|FyifqNz7H zRYxnUc`(7@ZKddm2L1>Nff~gx@T2HkMV@*)EPDiCZ2u^zl|g6Q`RtK0Ma{ZDiCVuE zK0QqwYt()Q2=40s9dU^n^lhljgY(t1P}Xq1&0c7n<~?YEzyW)vSfGmz^4wob=!a1d zTAluQoM=!3rVmgnCrbcH z(gOYCuxx!Q6Qs=R>j8_KPl?%DO8d$P>^#WZFu9A|3gb*ztr9nu(9TqbIsA0 zbySy6MSJD8N?w7q@_%LANd)pSBQ-T}O{+ZLOy}9^U=zFV5NyYZsBhy^18b|ax6!nA zd7-J*-bj0Hl^~0^S!h+DEDT~vQ=2bu0t=cl)AVxy~;TeMR(Ejl@? z!|oFL0=rVQO8Uqy0nVBi4nT+&+oyaqQWArR1U3YSg8cPecdw%62{D}Yj6BpXJ0Nem zKi0quT2HO!y)coEj2G6S-mU;>#KSfy0R4(UXG^yhboHioaC}LB6H{p33o@DEp|ATd z*QpQdCqpcOK#6>kqJar6$3VJWy<&jN#!deMz=rZBjm~*f&ZA2iaYVbam0T7>CootR z${U%w^t0UgXx^5n{#aA3u8cyNQ2+!wOe78K$nE=#G#|(<;x0OnKLu-l82-{{*8;p> zJV6c_h)>2=jkCfa`#;RXwXm+$@b!xsiJE?on1Ff78h|=xc|)0HAto z<5E?(y1IAUe}Z9-s^y6UvaJWXmUx92h<@P74q0l^D@QbiAsz#GT0Ke5rWs-I>J|$c zY3ELrUJ5IO&GAM9=+OFJ8moIWo*DU*986PLhxl|Zpy$>iS#Cwy#A`UB&p?NT@hz4j z@$}t^*8*8UXQAW2!>(9GM^Q1R5X#RqRTx_Z^>8|^zmXMH+V>DA?Q{sUh*~b&`9IV& z#zZt$6y&Q@j~3C49bj=jYezkYj-XlMs-hkpNW;=h>9i#kBN7jlRZ`BE=(UG!4odYR zn7Pp;J2#LXb75dEIvGRs+~bM+yI7{C{;gc?|F(p4J7zrr@_KrI8n+s8oN_Wv z6V;^ARdmY^cr_IzD_3TkF%6;79i)OP>h2gz(_$=B(yf55^DGxAeRpjT1sf|cKKt=p z;Xx~9?rt$utr}iRIbPYKv;0LlGFESV@H9im@6_I!X9&d4yQ#_0&9X>P#ots+EjvJq zHdKt(N^teZ+L92SV{ZU|27o3u0xMlyoQ=f~dbG68FM3`{2j7zUkSJrzK(D!chid*M zULF2-mcMcBW@dmJ*JOJJ)y9IKlIe*VNP~aXRq=u@W0u}vw0KHj;GLJz;=LlBzDvNi z72AAd-&3%%cc#g>IDew<nI=qM25ljF0qhBTPo1ciAYyui9zq?CNU7>TMgkVUn+Hf9$SyP)++yaB0Y z!+`?eU$3FNqAj=Jo*-pLaQPkE5AG-uK~_Kf{&@|U?{jKF;^{>ILn6c|PUD)Xy5fMC zqRzRgxqEKZO0~CwSo*#cpL7xSK0>HrG&@*1zOWC2O%FdM(u@()lNetywmP^d>oE~0 zv77)~H>0$!z}u}VSj}7|{j)$;V49>`bI`SE0h8$%;ymjd)#baVL2^6l;uo0cHi23E-&X2W4#qu)|Ojzf#CL2KSNZ( z10(3oDL~4a_ITqTGTG|i1p;P1mJ9iQQJt1u1%__yC$aQ@Wl1)kRsM@*{pPyAjMGGLJcKvmM?x@lae;2b<>DVch5Dx}=_BTPpo4sLXDZ!U2cGK{lZZjXgtbb&T~2OSZ=NosFJF`eK~7#6V{`b_y3Ip_n34wL zTc;}DFQd}iF`&F}92_KhR5k?W)oNN`m8q`HgCX-#^y~`U<>H87_4o0^X+W?km=;V0 z+xqw~aMeSRxVc;3#{!q#6Rq@90?54McaAYLnXCbLR5Ffl@9eSuiBRAp&Lo(zQ8ixz zlHUa$vj;PodMU{@!8uB1>Yrwj*G0cl6im=eRF{|~beg<#%l?tW1j=IRCT zXvI}%+O7{q`NmlWi}zfM9JyJ;=csD$t)|jCk&NnCF~H{)qWUC}ik zN3;KLwM=wh4HisGviq^D`+d1;OG9Xu`+Zwj%-KoK6Q~Ee0L_1OF`4#?G=Mq%gzZ{?uYz-?Be9hkIt3m0PE~xirb!^4u*$Yuu`|r;GRTB z4P!!iv}`aWSAST<2zUah)>vqSdTMey_N;*3n=>gLTMq?6_~t+wUWEuCVojyyCdWc2 ztpvc=M!2t1Ow#LuU3#061xUTEj#gX*3JkryD*wi4tV+#cezt$WF_vNXe>nWWjiqIA zIOhJr*1sMZ!wund;1wAX+;cqN#=FeCgTj!PpEn7+;);V3lDNX^|INHJiB6u9Sv0y9 zqGW6*3!%4XAoX~X;Z-@ASSbJtq)&IE#nH4_YoCfSHUkMj-%WwK8`_(3>UKK=IvQeL zwZJh!e+DWOww(TImTQ)ZEVbkIj6kk+al>TVDh3AWNYDQ-H&iS@U-XL-n=uG8!)QuRPlUtd;-UWpIEkXe)6=U8aN)Yz~> zo?8q)TY3<=2w0uBo?^jDiJD(M9Xo3vJ3x{#@%~U=0suKlM1)_xhu#DPBwjtpH2^Dt z`q3ST3|=SpqBeqJKYShFC6>{vPd1d%))pMqo6n)C_K*eP>5}g-yn|>1{T*cuLw2c} z8L#$CoWUv$YzF580-T=zJmNP8+n1j}8om5^a8yq{Bqv7mGFBs?_~}0N0u6=2#?@;* zllD$^*iyJDTTTdE>S^_%Q>3;&U&KSmiQU3P9suaRH7}cPDXsn#!#%vPug%@K)L3Vs z)qV57$4o`Lqm|D1jE$h!2o_JpgX9P`xV4SDY`(O|6b5wSHs~ zC9IGUaZG#kKQzwfDRkKzkiYzri}j2TmcvE{{Dlq;OCz}B%pwDyN?BBGa@04dzns_^ z_yc4uL#M~Vq>X#Adx5`v{##L}zN}Oayk5ku>cbbiHy2&j)rF4QJ@fj?mDb#bl1vtcQ-gOq8==9*Zj*9T@$?T6jp1 z^qMhVHok>MV}!S>(L(P&2ED_$7CDf9%|zvehpcQvODO#ol)+m^$Sz{4{?q?h+G?LyKs~#YldctIbq)hb+}vE!b67qr2As zkoE2f<14!&0UEFDx{*!-~m89!2b& zSv00+A6WM{`jbmvc%e-~_lFzNn}veW*N)-j!Lld`>7O|VJSjh(G7`iNmGeyn!{0!# z;W!}HG7Dob6H9c_mj-U;WDzzs1}s>8zS{B5co2=e zuijU0tM@RwYbXp@PjJYCjW{dj$m(#|Q#ZC+N4uX!)aBQ7(8H5NfiXd>Ydk$=jJ$9x zECVAWxI?$mp}{C3M(FMV4C_1!e5z^Ym~X)!bEah(?M%GXVIcO-;e``(N$vsDVq2?v>e&P}Zcb`CC+6-a+7$q}x-oXD0hWU#XX9PkJ4edx z5D_fZ#gs1=Goq1?0(rc6Lm6#+7c?Ul@Tn8GC8sfVIs3EgmT;SpCul|`_Noy4ZNruZ z06#n*s5_ETDxLc=f_qXkY<XQ>i44roCt^n7*~f*C92@lWpvRQnH%K5%o8UBt*yWr!cLj6?iqY!6Rt&2>r6zW ztb7h^4fxHh{)`yKZ@&nlYad6GM045Kr_1rFa2&4Q&gwAez}T4x{YrJBcBQlF3|h|m zk3$bsSotM2#$HJ}IvVxrA+v>I&fu$Gd<0>Sg^a56o;daRFR_q_<6vk{Gw8)@zDD&O zo{x^9HtE(xhyzdVL~`5r0${SCeB$1I(45f}GgKzf##vZ@2*1F;RZUh=f}W2#i)Eqx zCj`c*u|Iux0>HVpD4d3w-!h^lBj~@{UG6q4urrxP3S-eh$n&TpX9YuA!*5ne&}7yktoSntJCvSfw&<%^uJ#J?N7V{h9&V=8)sS+XktZItS|>4@THQolQ_@ zzNtuuF)#}6iqKvD%smKR;l|=JL$}QDr`eAYDXY;U(F2)uPLjj|J8*rNY%(wPG}!bG zYn}EG$^A2!o94-~!A9NLok+T16mA)*%^#kq{1Gvc2Ruw*JLbGCt!4~a*VDSwVlaK5 zCCj9rBd6J)VD=n?WxVx6@1$MYqq*ZXz8I><;25&=5+_!>dF3mqR%^w6_Ae)$U#^$`pb20si z1tkYrQ*uy}gHc+4K!#^ZhX+FJHgl7l5~~9b6ifcF!$F3}PI#gi#YgWj9k9KD zny}G`PTvcP=kq{0CX%CKT~AQt_fq&@F~K`a4F|vT5}Bnw8*em9m1#?Y%Dy65ZJ9DE zlsmbY{>CJmsS|V)f$c&yd%q+3hBZ+5k8LVN5niM2y=fzFOur= zNu6W-2#FhXc-X#XgYnm!S~HT$^nMQ1|`%%4nI5_ALhBTeoaH{dJzG z;=L-sm^`%yn;%C{1VYf@oPrYQvj2&2x+4m)@7Uex#C?bfEp%e81(FDsYA7Xs~D$lIa(FsK{3%@m*3TOFp3s-m0t6O z>h`;4f*yj^=4;XQT@Q)WSd8BFGbEQWn~KG{A?m%4CXweyh&=Bq64w5!x@pzN$ihRW z$}y@YsF;?2E{B@A4FsJxcmbvZGWdNPy#Xjn6^w;T%+C^7VgBUW}PYuXi7)NPomS6MA3&_EozT4dt|WI<7WWZ!eF`)-4X zKB*lQRMlqq;Jv@2AVB#ULB;L<9Y|{ad%3i;0|B5lNyf)w)U|*3R%weWO&kM66Jy}( zk*_y8WhH9-rq5(4*fKr$(0{2XiG2_y{rWLV#jzSxL%7YG0UO? zm-7C)AbN4MEbs#ayg$Lh1saxo94rIf0CVj9=~%NLHdB^NpFumFmjF1GGSc2PpJfeG3kOvG#QnTjyicpab@_m9_74`Nf#64Ar5GgMD8{OAOCr7XsTgXq*Dca? z8ycXA>S#ec{k0giUDz`vYD(f*r0aI98q?f^R$9OOk}M8dh**PHWnfSfL{-iyIa%Xs zn7)aGj{>9PoLj!(}+JguwK4Na^BN;XTp z6@-;~pyI%78HF5AI#{d@khWOP#iNvvJz=4bRhX?P#hN+kLRiJq*JgAIj6z90k}?E@ ziXn(O3kq`jro-<*tR1o0sy@J0WL6sSvSYo~J#sLn&_j!&RNQ|D;pH91!K=ucL9rUW z_qL;e?P}ZI@pSxeVzH$OBfz!1utJOe>GQcFhQ2?5QFHd;ivLy8Gzz-(}EJ{xS;zN6juhtl%rB<8JP z=z76doEjN7$mqpgW5>;Z%%~jYnw4I3JxNI3aloV-eUE|GuiN1G|t=H-d<~&)v_C^ zSSkT=Fuw_p2k3&ooW}nh)IAi!dt@W=Gx&FRXGr@k!WK3k^^|KK0K9Ho(N%pAIG}x> zY5s@7(=t(DG#oU%I`3|jB_E>oi%rjY^c0o~(U1Y){9hQ7K!+A#5AKQCN#Ow9{$*md zn0cruO(kCTMt6=CGx^P%h!Liy#a>nMlGeSN)jbEIIpwA3_8s(|6d3{dn)xdp3kU=w zGNGYssLUY@EvD~k&}sbgqRE>0h-K^sY}5NanlwJtG?m|qQBKbUf;{5FCBA>E*P>)BMk|etP#KmPoz8ubW0#N5Qi|J+!?l zreOIEzwi_jMyk|O9@vD}sWrD_oB{8EQv3gi#rgM~45FOYX#;%H$vBxz|3U*q&3iR9 zsEgm?*K*3v0Qzqkq+G|xK$$W(6x}i`mQqDmRM0Q&XkYP5WFFj&)$%uhg!=J!^d{U# z@MU@V$#ifZUpxj_sB#YS4Km;$)mdK!`!n{4;EgiLv}U3luZcDW0KA)!@kEa*k#4BQ z%p!IZn$_JjfaZK4N{!cRV1J0AUsGpV)6}VnmGtnx@lp^TPgPR}CaeD*7!K3M@&Xz# zRD_P~gT(Y={=Th4_FfFTE_T=`eLgY`>{%@~jDImgJSkQz;=kJ~W7;w+LS<_5h-W^s8q zysrD*5bIQA98{J()bRK!QDy@8RlASlje(fR@nl-)nQO7CAM<_at6;>;UQousfj2v- zdCMvTnGA!4Ql`Mlg0@$y=#OkMOWJGoIQOpE5J942T9`(L$_2WA$Y0)ugxROVO(vfsA6bocC=&^So8?3?=mb`JYvhB78v>hCeo($q%2f@5M>$&WJ?4s}gerX7${E3;Zu}L*)>J z32AUF=#k*<8Kqe9-Szu^5eLih`~Mk3gR?7Q-KSR(P1AKeFtZ71qRq&iz`VdNjvt@DCoE*Iu%~g14A-ErHh~*qD6;t$KmTkNf|q3)-4t8fP*%#Ux6YFD4uB z`2bY0=rIEh9qHYA$Vf_`CgxJcbHINXKD0#ocja}_GW6-!V0(7%gSPdKQ{xyb{9jvF z8XiTJMX7q}qyr%f*+_tdB_RuhB#?dWtOk@#!XhFet3@{lDu{FLt4^RB|L8}jtGepdtM~3b_ndQUXwx*5 ztP*29s4hTHN62DQGEF%l- zAihMxjkbRB;w2wje259Ka0x{? z!Fn!4kmE7~X=%AOfa5V3qt0EUhs(_4*>tJ_P!epB1}RUviG=`ldmcq^q7dkg8Bq;l zVKlE=FQ8_jWua=%iYoh2qStR=b;mXuKv#ajv0UttcauMe3TQs1AP(DFz>~cZ*`AjR zu;l6Tvn)xsa!Kn`K=aJx02!X~LD39)6+3oi7i7wA!yZ;hk* ze?!9V8G<0Au7FcUejo;Ov9&?#*GExQyBaI+P(P(?C@#fgmL8a+Ta?I%{lb%;#J$#T zMQd$Cp!R9CueqKb$>8x|*m0+?)sy^-49;fFtxyE3SZR}NK^+p_77*Z1g7kX-I*3sE z!03PzA+p9{PoL1sOnWzJ@ifvMW$x(6;6mJ|vcfHyk7}R_xd58o&eFni$F`VuF$y9I zh3ncs3SO(hK(m>RpYNq51{mGi6+UPK2Mw6{VFQo+YY0NwV|e5~xPD}LSgk71E7MjV zA-7rjIBL114W*7(z(})h^X1%#e}g8zh?{^lbZ^?|1!J1FS*sh2C&=oqp7V=)Jb6A%`Key!T0rJGR;Z77Dwn~ML3 zpr31Go!3&h-%fYyUA?%J-Z-nPPWK8TRus82{%BKu>4$83HyEvVlGDJ2u z$buH8>iwJ%%wiC^o3VwwzS3a#son@Sp{A^Mr2OM|rZIex^%CN(SX9kn{e%SRloL*R zdI)0m#}oA!IqrNea$pl}*{CN1cTyG)?>Fi>12IEXVak4PszL`A&6;9EdH;7{Rw_S) zQSJIoqJMf9d&=(lsKDsX$zOA;N(#O%@)-JbJkqG=Y^*m=VW(u*1YX|ZuSP9jU^QXtOFjF!DsU&XC#WMg zE+)I6S_iK(;L&af8s?k;jKYWrh`UzGLTO31_H?B*C-{-=+~!YDlxR^dtT17Qj>1Bg zKc~+L#9L>p7C8nv(sS(qmhv-$Nd@;15;QLcQV|nr(&05XH$wMzMmkWBh^;s+S)Qyx zOb#~>l?SunEl>enJn8I4lm(2`E`)7f_kT_A-K)#P9HkAqcd9lP=jXk{)*%lpTEmwB zJXR-qLx6>}1)@6ZSUoeyCa|^7mW);w_+dI|#%$q+PdyE6RFUS}He*Kp{50lsuY)GliXr2YUzZCk%C7wyNWr1d42ZaE;26Z+u&W^Im3IiK4h$NFL zVSR=Lo;H=}SuPbN^C~!gfVZo;0?a1hbqZ?p<>sBdZrFneojpO~+E%zJiZHJ1|dG5y=P)|w1c#bpB_?OLs+a|4`u=kyo;95)(wr;E!r~+Y3l(~x zdSoPB_!%zsz(6}+L1`o!8Ks+z{%Xru3h4S&;Vg=fMMxrI7OPtcZ}A= zOm}d;8kPBgH0{kZfQ8qS2FU%L7Ml5s&R8_IYsy@UNPNv2gKJaQW>k@!YqLkY4!E;RA@PW`^kfnQdxqgpF9yXc&PkJmW&2jl&*# zqZtWxOec5&VLVf2ugzOB% zS?OSv9O-lp>&rZjTiltMV~c-y1d!&ihpE9jxSFIz za4$hCddrL;k*!7fcN=utjcYxCHVgG$i-(_@4&2d*a@^#T4`fhJCs7c|Z}XqQ5s3Yi zf?ho~RkD;Ma2PD4hoYp06;GLVcIRh7J5WwnQlIuB1PJd1Vzta$i0JS7v0T~y zx{Ex&Y5;BT#Ghbc?<^Yv6P4;p#(HG;Q##f=pA}`z|;^$>WplD*x)O;Fg1 z0C$L&mS9#K7)S6fqU5&6hUqHCtJ|mG%&)55c^3ufY2er#DMP$o!Db^!X`DvmtxJhp+ zW0fm<8!I&aws4Q%5`F~+Il=L?jB8#X+}Y@)rB&#wSNo14`$J9vC*ddBKE>pkA?f z8|}Xg-jZqo)`&q3%0Ljg2>f0{1ol=aYEY0=%TVF(fj5qcQr%N@^l|ib#Kex>kBBvA z1&XLEKfvyvu~$nmqtj-29SZJ<*OC=Qn;xr1@OmXfyGt#i7jh8+8}wbJ4VH0l`ZxoA zLuf7!p~;R%fEG%Jnh~88*5bsKjqoO8PSj3!CL}RN$Ptz=R&IWk9Qc~=nI_TJBT&Rx zzjKzobB5B*!)QfjkoY08RaOwR@hsYDjTxEP)nx!Kgy=FL7gVC9lPZO(jKiI)^O)-j zvxA^R)l=F6Y{PT%y6)`jfQT^mV=YyjP;freRUhBFT7;17;)&SQ306nxl)~z3_j6i= zVRl$oZbdZ`;h;d>jOi=N%58K!_>WPVULav(%Y{o9xpuz4oRaUQ8b8X8?7n7O9$7`P z{e_QnV>x(~WengN4LzRzP4{=k+lb5p<@IFQD&1sdApB-g5z4Bta5DoKe0qvxKU%+b9&a%3#dpbNw);@qr+1i^1WB_9s?}L8lDy0Fz zvRVc0Huj^5({VHipMl~x8jd@wo9@__Oj`oPGImMtDx~AXZq?KM8J%@p4~r4IvZjwY95nlyUf^ca zks+^c0I>L6CmCgp8kr>L5Gv-c^J4?pX zrB2Nqrq4bU+KM==^%JeHRzoeM$*xnTskFcBC$1 zqmWPiZlN*Z*f`NU#9JQEie?)>tOJ34zq4f=TJdx<$VSM9sr7OAR;?+7mlbQo=|Tc} zZ=s2KFS)KZkwz@nLtVKlF`G$JGUGsEwgc7WQx)BYO=VG`bCK8bUGGaK9h}q9!eBrX7Jpr%Oi0A0=mDg%e~ zX;dF3?n0FbwV^*UU_#~|B?9Qp6cJ9>!f@=lG<-QbAHTJWPjx9yMAFw$qKx9w#Q zDg4QjA*PvG56bK~l#j&}S};V^Qf5AU0z54^K6WVXvvxRQ2(P)()pb3PF- zU>|3}-8~a03h8hi3FH}_1+aY4s xp596P;k9rP2IGn{By!E8@IdiYC(*qjIFTC3XL2wG&*$PlBS+#%XO9qL{trjxoX!9M -- 2.54.0 From 87b3e2317294186ba6625592eb55760fd99fe211 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 11 Oct 2023 19:53:51 -0700 Subject: [PATCH 02/15] tools/update_glibc: exempt some more files --- tools/update_glibc.zig | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/update_glibc.zig b/tools/update_glibc.zig index dcc797f59fc21ab52616a48a8821ea014604e1d1..cf43736c8a45b06d933ff8031497106ae77cb3d8 100644 --- a/tools/update_glibc.zig +++ b/tools/update_glibc.zig @@ -30,6 +30,12 @@ const exempt_files = [_][]const u8{ "sysdeps/pthread/pthread_atfork.c", }; +const exempt_extensions = [_][]const u8{ + // These are the start files we use when targeting glibc <= 2.33. + "-2.33.S", + "-2.33.c", +}; + pub fn main() !void { var arena_instance = std.heap.ArenaAllocator.init(std.heap.page_allocator); defer arena_instance.deinit(); @@ -62,6 +68,9 @@ pub fn main() !void { for (exempt_files) |p| { if (mem.eql(u8, entry.path, p)) continue :walk; } + for (exempt_extensions) |ext| { + if (mem.endsWith(u8, entry.path, ext)) continue :walk; + } glibc_src_dir.copyFile(entry.path, dest_dir.dir, entry.path, .{}) catch |err| { log.warn("unable to copy '{s}/{s}' to '{s}/{s}': {s}", .{ -- 2.54.0 From 2314051acaad37dd5630dd7eca08571d620d6496 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 11 Oct 2023 19:54:18 -0700 Subject: [PATCH 03/15] update glibc start files to 2.38 I went ahead and left the README.md file deleted because it had broken git hashes. Better to use `git log -- lib/libc/glibc/` to find out the patches. --- lib/libc/glibc/README.md | 9 - lib/libc/glibc/bits/byteswap.h | 2 +- lib/libc/glibc/bits/floatn-common.h | 42 +-- lib/libc/glibc/bits/libc-header-start.h | 2 +- lib/libc/glibc/bits/long-double.h | 2 +- lib/libc/glibc/bits/select.h | 2 +- lib/libc/glibc/bits/signum-generic.h | 2 +- lib/libc/glibc/bits/stat.h | 2 +- lib/libc/glibc/bits/stdint-intn.h | 2 +- lib/libc/glibc/bits/stdlib-bsearch.h | 15 +- lib/libc/glibc/bits/time64.h | 2 +- lib/libc/glibc/bits/timesize.h | 6 +- .../glibc/bits/types/struct_sched_param.h | 2 +- lib/libc/glibc/bits/typesizes.h | 2 +- lib/libc/glibc/bits/uintn-identity.h | 2 +- lib/libc/glibc/bits/waitflags.h | 2 +- lib/libc/glibc/bits/waitstatus.h | 2 +- lib/libc/glibc/csu/errno.c | 2 +- lib/libc/glibc/debug/stack_chk_fail_local.c | 2 +- lib/libc/glibc/elf/elf.h | 267 ++++++++++++++-- lib/libc/glibc/include/libc-pointer-arith.h | 10 +- lib/libc/glibc/include/libc-symbols.h | 294 +++--------------- lib/libc/glibc/include/signal.h | 6 +- lib/libc/glibc/include/stap-probe.h | 2 +- lib/libc/glibc/include/stdlib.h | 55 +++- lib/libc/glibc/include/sys/cdefs.h | 21 ++ lib/libc/glibc/include/sys/select.h | 4 + lib/libc/glibc/include/sys/stat.h | 2 + lib/libc/glibc/io/bits/statx.h | 2 +- lib/libc/glibc/io/fcntl.h | 17 +- lib/libc/glibc/io/mknod.c | 2 +- lib/libc/glibc/io/sys/stat.h | 2 +- lib/libc/glibc/locale/bits/types/__locale_t.h | 3 +- lib/libc/glibc/locale/bits/types/locale_t.h | 2 +- lib/libc/glibc/misc/sys/cdefs.h | 120 ++++++- lib/libc/glibc/misc/sys/select.h | 2 +- lib/libc/glibc/posix/bits/cpu-set.h | 2 +- lib/libc/glibc/posix/bits/types.h | 2 +- lib/libc/glibc/posix/sys/types.h | 2 +- lib/libc/glibc/signal/signal.h | 2 +- lib/libc/glibc/stdlib/alloca.h | 2 +- lib/libc/glibc/stdlib/bits/stdlib-float.h | 2 +- lib/libc/glibc/stdlib/errno.h | 2 +- lib/libc/glibc/stdlib/exit.h | 2 +- lib/libc/glibc/stdlib/stdlib.h | 143 ++++++++- lib/libc/glibc/string/bits/endian.h | 2 +- lib/libc/glibc/string/endian.h | 2 +- lib/libc/glibc/sysdeps/aarch64/crti.S | 2 +- lib/libc/glibc/sysdeps/aarch64/crtn.S | 2 +- lib/libc/glibc/sysdeps/aarch64/dl-sysdep.h | 25 -- .../aarch64/nptl/bits/pthreadtypes-arch.h | 2 +- lib/libc/glibc/sysdeps/aarch64/start.S | 27 +- lib/libc/glibc/sysdeps/aarch64/sysdep.h | 2 +- lib/libc/glibc/sysdeps/alpha/crti.S | 2 +- lib/libc/glibc/sysdeps/alpha/crtn.S | 2 +- lib/libc/glibc/sysdeps/alpha/dl-sysdep.h | 23 -- lib/libc/glibc/sysdeps/alpha/start.S | 3 +- lib/libc/glibc/sysdeps/arc/sysdep.h | 2 +- lib/libc/glibc/sysdeps/arm/arm-features.h | 2 +- lib/libc/glibc/sysdeps/arm/crti.S | 2 +- lib/libc/glibc/sysdeps/arm/crtn.S | 2 +- lib/libc/glibc/sysdeps/arm/dl-sysdep.h | 25 -- lib/libc/glibc/sysdeps/arm/start.S | 2 +- lib/libc/glibc/sysdeps/arm/sysdep.h | 46 +-- lib/libc/glibc/sysdeps/csky/sysdep.h | 2 +- lib/libc/glibc/sysdeps/generic/dl-dtprocnum.h | 2 +- lib/libc/glibc/sysdeps/generic/dl-sysdep.h | 2 +- lib/libc/glibc/sysdeps/generic/dwarf2.h | 4 +- lib/libc/glibc/sysdeps/generic/libc-lock.h | 2 +- lib/libc/glibc/sysdeps/generic/libc-symver.h | 2 +- .../glibc/sysdeps/generic/single-thread.h | 2 +- lib/libc/glibc/sysdeps/generic/symbol-hacks.h | 3 +- lib/libc/glibc/sysdeps/generic/sysdep.h | 4 +- lib/libc/glibc/sysdeps/generic/tls.h | 22 +- lib/libc/glibc/sysdeps/hppa/crti.S | 2 +- lib/libc/glibc/sysdeps/hppa/crtn.S | 2 +- lib/libc/glibc/sysdeps/hppa/entry.h | 5 - .../hppa/nptl/bits/pthreadtypes-arch.h | 2 +- lib/libc/glibc/sysdeps/hppa/start.S | 2 +- lib/libc/glibc/sysdeps/hppa/sysdep.h | 3 +- lib/libc/glibc/sysdeps/htl/bits/pthread.h | 4 +- .../sysdeps/htl/bits/thread-shared-types.h | 4 +- lib/libc/glibc/sysdeps/htl/libc-lockP.h | 2 +- lib/libc/glibc/sysdeps/htl/pthread.h | 14 +- lib/libc/glibc/sysdeps/i386/crti.S | 2 +- lib/libc/glibc/sysdeps/i386/crtn.S | 2 +- .../sysdeps/i386/htl/bits/pthreadtypes-arch.h | 2 +- lib/libc/glibc/sysdeps/i386/start.S | 15 +- lib/libc/glibc/sysdeps/i386/symbol-hacks.h | 2 +- lib/libc/glibc/sysdeps/i386/sysdep.h | 2 +- lib/libc/glibc/sysdeps/ia64/crti.S | 2 +- lib/libc/glibc/sysdeps/ia64/crtn.S | 2 +- lib/libc/glibc/sysdeps/ia64/dl-dtprocnum.h | 2 +- lib/libc/glibc/sysdeps/ia64/dl-sysdep.h | 23 -- lib/libc/glibc/sysdeps/ia64/entry.h | 5 - lib/libc/glibc/sysdeps/ia64/start.S | 3 +- lib/libc/glibc/sysdeps/ia64/sysdep.h | 3 +- lib/libc/glibc/sysdeps/m68k/coldfire/sysdep.h | 2 +- lib/libc/glibc/sysdeps/m68k/crti.S | 2 +- lib/libc/glibc/sysdeps/m68k/crtn.S | 2 +- lib/libc/glibc/sysdeps/m68k/m680x0/sysdep.h | 2 +- .../m68k/nptl/bits/pthreadtypes-arch.h | 3 +- lib/libc/glibc/sysdeps/m68k/start.S | 2 +- lib/libc/glibc/sysdeps/m68k/symbol-hacks.h | 2 +- lib/libc/glibc/sysdeps/m68k/sysdep.h | 2 +- lib/libc/glibc/sysdeps/mach/i386/sysdep.h | 59 ---- lib/libc/glibc/sysdeps/mach/libc-lock.h | 9 +- lib/libc/glibc/sysdeps/mach/sysdep.h | 5 +- lib/libc/glibc/sysdeps/microblaze/crti.S | 2 +- lib/libc/glibc/sysdeps/microblaze/crtn.S | 2 +- lib/libc/glibc/sysdeps/microblaze/start.S | 2 +- lib/libc/glibc/sysdeps/microblaze/sysdep.h | 2 +- lib/libc/glibc/sysdeps/mips/dl-dtprocnum.h | 2 +- lib/libc/glibc/sysdeps/mips/mips32/crti.S | 2 +- lib/libc/glibc/sysdeps/mips/mips32/crtn.S | 2 +- lib/libc/glibc/sysdeps/mips/mips64/n32/crti.S | 2 +- lib/libc/glibc/sysdeps/mips/mips64/n32/crtn.S | 2 +- lib/libc/glibc/sysdeps/mips/mips64/n64/crti.S | 2 +- lib/libc/glibc/sysdeps/mips/mips64/n64/crtn.S | 2 +- .../mips/nptl/bits/pthreadtypes-arch.h | 2 +- lib/libc/glibc/sysdeps/mips/start.S | 4 +- lib/libc/glibc/sysdeps/nios2/sysdep.h | 2 +- .../glibc/sysdeps/nptl/bits/pthreadtypes.h | 2 +- .../sysdeps/nptl/bits/thread-shared-types.h | 24 +- lib/libc/glibc/sysdeps/nptl/libc-lock.h | 10 +- lib/libc/glibc/sysdeps/nptl/libc-lockP.h | 5 +- lib/libc/glibc/sysdeps/nptl/pthread.h | 12 +- .../glibc/sysdeps/powerpc/powerpc32/crti.S | 2 +- .../glibc/sysdeps/powerpc/powerpc32/crtn.S | 2 +- .../glibc/sysdeps/powerpc/powerpc32/start.S | 2 +- .../sysdeps/powerpc/powerpc32/symbol-hacks.h | 2 +- .../glibc/sysdeps/powerpc/powerpc32/sysdep.h | 2 +- .../glibc/sysdeps/powerpc/powerpc64/crti.S | 2 +- .../glibc/sysdeps/powerpc/powerpc64/crtn.S | 2 +- .../sysdeps/powerpc/powerpc64/dl-dtprocnum.h | 2 +- .../glibc/sysdeps/powerpc/powerpc64/entry.h | 37 --- .../glibc/sysdeps/powerpc/powerpc64/start.S | 5 +- .../glibc/sysdeps/powerpc/powerpc64/sysdep.h | 18 +- lib/libc/glibc/sysdeps/powerpc/sysdep.h | 2 +- .../riscv/nptl/bits/pthreadtypes-arch.h | 2 +- lib/libc/glibc/sysdeps/riscv/start.S | 2 +- lib/libc/glibc/sysdeps/s390/s390-32/crti.S | 2 +- lib/libc/glibc/sysdeps/s390/s390-32/crtn.S | 2 +- .../glibc/sysdeps/s390/s390-32/dl-sysdep.h | 23 -- lib/libc/glibc/sysdeps/s390/s390-32/start.S | 5 +- .../glibc/sysdeps/s390/s390-32/symbol-hacks.h | 2 +- lib/libc/glibc/sysdeps/s390/s390-32/sysdep.h | 3 +- lib/libc/glibc/sysdeps/s390/s390-64/crti.S | 3 +- lib/libc/glibc/sysdeps/s390/s390-64/crtn.S | 3 +- lib/libc/glibc/sysdeps/s390/s390-64/start.S | 31 +- lib/libc/glibc/sysdeps/s390/s390-64/sysdep.h | 3 +- lib/libc/glibc/sysdeps/sh/crti.S | 2 +- lib/libc/glibc/sysdeps/sh/crtn.S | 2 +- lib/libc/glibc/sysdeps/sh/start.S | 2 +- lib/libc/glibc/sysdeps/sh/sysdep.h | 2 +- lib/libc/glibc/sysdeps/sparc/crti.S | 2 +- lib/libc/glibc/sysdeps/sparc/crtn.S | 2 +- lib/libc/glibc/sysdeps/sparc/dl-dtprocnum.h | 2 +- lib/libc/glibc/sysdeps/sparc/dl-sysdep.h | 23 -- lib/libc/glibc/sysdeps/sparc/sparc32/start.S | 3 +- lib/libc/glibc/sysdeps/sparc/sparc64/start.S | 3 +- lib/libc/glibc/sysdeps/sparc/sysdep.h | 2 +- lib/libc/glibc/sysdeps/unix/arm/sysdep.h | 2 +- lib/libc/glibc/sysdeps/unix/i386/sysdep.h | 2 +- .../glibc/sysdeps/unix/mips/mips32/sysdep.h | 3 +- .../glibc/sysdeps/unix/mips/mips64/sysdep.h | 3 +- lib/libc/glibc/sysdeps/unix/mips/sysdep.h | 3 +- lib/libc/glibc/sysdeps/unix/powerpc/sysdep.h | 2 +- lib/libc/glibc/sysdeps/unix/sh/sysdep.h | 2 +- lib/libc/glibc/sysdeps/unix/sysdep.h | 22 +- .../unix/sysv/linux/aarch64/kernel-features.h | 2 +- .../sysdeps/unix/sysv/linux/aarch64/sys/elf.h | 2 +- .../sysdeps/unix/sysv/linux/aarch64/sysdep.h | 52 +--- .../unix/sysv/linux/alpha/bits/typesizes.h | 2 +- .../unix/sysv/linux/alpha/kernel-features.h | 2 +- .../sysdeps/unix/sysv/linux/alpha/sysdep.h | 45 +-- .../sysdeps/unix/sysv/linux/arc/sysdep.h | 18 +- .../unix/sysv/linux/arm/kernel-features.h | 2 +- .../sysdeps/unix/sysv/linux/arm/sys/elf.h | 2 +- .../sysdeps/unix/sysv/linux/arm/sysdep.h | 6 +- .../glibc/sysdeps/unix/sysv/linux/bits/stat.h | 2 +- .../sysdeps/unix/sysv/linux/bits/timex.h | 4 +- .../unix/sysv/linux/csky/kernel_stat.h | 2 +- .../sysdeps/unix/sysv/linux/csky/sysdep.h | 50 +-- .../glibc/sysdeps/unix/sysv/linux/dl-sysdep.h | 9 +- .../glibc/sysdeps/unix/sysv/linux/fstat.c | 2 +- .../glibc/sysdeps/unix/sysv/linux/fstat64.c | 2 +- .../glibc/sysdeps/unix/sysv/linux/fstatat.c | 24 +- .../glibc/sysdeps/unix/sysv/linux/fstatat64.c | 37 +-- .../unix/sysv/linux/generic/bits/typesizes.h | 108 ------- .../sysdeps/unix/sysv/linux/generic/sysdep.h | 27 -- .../unix/sysv/linux/generic/xstatver.h | 10 - .../unix/sysv/linux/hppa/kernel-features.h | 5 +- .../sysdeps/unix/sysv/linux/hppa/sysdep.h | 16 +- .../sysdeps/unix/sysv/linux/i386/dl-sysdep.h | 2 +- .../unix/sysv/linux/i386/kernel-features.h | 21 +- .../sysdeps/unix/sysv/linux/i386/sysdep.h | 264 +++------------- .../sysdeps/unix/sysv/linux/ia64/dl-sysdep.h | 6 +- .../unix/sysv/linux/ia64/kernel-features.h | 2 +- .../sysdeps/unix/sysv/linux/ia64/sysdep.h | 49 +-- .../unix/sysv/linux/include/sys/timex.h | 12 +- .../sysdeps/unix/sysv/linux/kernel-features.h | 34 +- .../sysdeps/unix/sysv/linux/kernel_stat.h | 2 +- .../glibc/sysdeps/unix/sysv/linux/lstat.c | 2 +- .../glibc/sysdeps/unix/sysv/linux/lstat64.c | 2 +- .../unix/sysv/linux/m68k/coldfire/sysdep.h | 2 +- .../unix/sysv/linux/m68k/kernel-features.h | 21 +- .../unix/sysv/linux/m68k/m680x0/sysdep.h | 2 +- .../sysdeps/unix/sysv/linux/m68k/sysdep.h | 14 +- .../sysv/linux/microblaze/kernel-features.h | 9 +- .../unix/sysv/linux/microblaze/kernel_stat.h | 2 +- .../unix/sysv/linux/microblaze/sysdep.h | 12 +- .../unix/sysv/linux/mips/kernel-features.h | 2 +- .../unix/sysv/linux/mips/mips32/sysdep.h | 6 +- .../unix/sysv/linux/mips/mips64/kstat_cp.h | 2 +- .../unix/sysv/linux/mips/mips64/sysdep.h | 6 +- .../sysdeps/unix/sysv/linux/mips/sysdep.h | 2 +- .../glibc/sysdeps/unix/sysv/linux/mknodat.c | 3 +- .../unix/sysv/linux/nios2/kernel_stat.h | 3 +- .../sysdeps/unix/sysv/linux/nios2/sysdep.h | 21 +- .../unix/sysv/linux/powerpc/kernel-features.h | 9 +- .../linux/powerpc/powerpc32/kernel_stat.h | 2 +- .../sysv/linux/powerpc/powerpc64/sysdep.h | 2 +- .../sysdeps/unix/sysv/linux/powerpc/sysdep.h | 42 +-- .../unix/sysv/linux/riscv/kernel-features.h | 2 +- .../sysdeps/unix/sysv/linux/riscv/sysdep.h | 12 +- .../unix/sysv/linux/s390/bits/typesizes.h | 2 +- .../unix/sysv/linux/s390/kernel-features.h | 21 +- .../unix/sysv/linux/s390/s390-32/sysdep.h | 30 +- .../unix/sysv/linux/s390/s390-64/sysdep.h | 32 +- .../sysdeps/unix/sysv/linux/s390/sys/elf.h | 2 +- .../sysdeps/unix/sysv/linux/s390/sysdep.h | 38 +-- .../unix/sysv/linux/sh/kernel-features.h | 9 +- .../glibc/sysdeps/unix/sysv/linux/sh/sysdep.h | 25 +- .../sysdeps/unix/sysv/linux/single-thread.h | 13 +- .../unix/sysv/linux/sparc/bits/typesizes.h | 2 +- .../unix/sysv/linux/sparc/kernel-features.h | 19 +- .../unix/sysv/linux/sparc/sparc32/sysdep.h | 23 +- .../unix/sysv/linux/sparc/sparc64/kstat_cp.h | 2 +- .../unix/sysv/linux/sparc/sparc64/sysdep.h | 23 +- .../sysdeps/unix/sysv/linux/sparc/sysdep.h | 3 +- lib/libc/glibc/sysdeps/unix/sysv/linux/stat.c | 2 +- .../glibc/sysdeps/unix/sysv/linux/stat64.c | 2 +- .../sysdeps/unix/sysv/linux/stat_t64_cp.c | 21 +- .../sysdeps/unix/sysv/linux/stat_t64_cp.h | 2 +- .../unix/sysv/linux/struct_stat_time64.h | 2 +- .../sysdeps/unix/sysv/linux/sys/syscall.h | 2 +- .../glibc/sysdeps/unix/sysv/linux/sys/timex.h | 18 +- .../glibc/sysdeps/unix/sysv/linux/sysdep.h | 2 +- .../unix/sysv/linux/x86/bits/typesizes.h | 2 +- .../sysdeps/unix/sysv/linux/x86/sys/elf.h | 2 +- .../unix/sysv/linux/x86_64/kernel-features.h | 2 +- .../sysdeps/unix/sysv/linux/x86_64/sysdep.h | 46 +-- .../unix/sysv/linux/x86_64/x32/sysdep.h | 2 +- .../glibc/sysdeps/unix/sysv/linux/xstatver.h | 11 +- lib/libc/glibc/sysdeps/unix/x86_64/sysdep.h | 2 +- .../sysdeps/wordsize-32/divdi3-symbol-hacks.h | 5 +- .../sysdeps/x86/nptl/bits/pthreadtypes-arch.h | 2 +- lib/libc/glibc/sysdeps/x86/sysdep.h | 12 +- lib/libc/glibc/sysdeps/x86_64/crti.S | 2 +- lib/libc/glibc/sysdeps/x86_64/crtn.S | 2 +- lib/libc/glibc/sysdeps/x86_64/start.S | 3 +- lib/libc/glibc/sysdeps/x86_64/sysdep.h | 33 +- lib/libc/glibc/sysdeps/x86_64/x32/sysdep.h | 8 +- 264 files changed, 1248 insertions(+), 1997 deletions(-) delete mode 100644 lib/libc/glibc/README.md delete mode 100644 lib/libc/glibc/sysdeps/aarch64/dl-sysdep.h delete mode 100644 lib/libc/glibc/sysdeps/alpha/dl-sysdep.h delete mode 100644 lib/libc/glibc/sysdeps/arm/dl-sysdep.h delete mode 100644 lib/libc/glibc/sysdeps/ia64/dl-sysdep.h delete mode 100644 lib/libc/glibc/sysdeps/mach/i386/sysdep.h delete mode 100644 lib/libc/glibc/sysdeps/powerpc/powerpc64/entry.h delete mode 100644 lib/libc/glibc/sysdeps/s390/s390-32/dl-sysdep.h delete mode 100644 lib/libc/glibc/sysdeps/sparc/dl-sysdep.h delete mode 100644 lib/libc/glibc/sysdeps/unix/sysv/linux/generic/bits/typesizes.h delete mode 100644 lib/libc/glibc/sysdeps/unix/sysv/linux/generic/sysdep.h delete mode 100644 lib/libc/glibc/sysdeps/unix/sysv/linux/generic/xstatver.h diff --git a/lib/libc/glibc/README.md b/lib/libc/glibc/README.md deleted file mode 100644 index e5fe99a53267f471c59e3925d3da538bb226a2cc..0000000000000000000000000000000000000000 --- a/lib/libc/glibc/README.md +++ /dev/null @@ -1,9 +0,0 @@ -glibc headers are slightly patched for backwards compatibility. This is not -good, because it requires to maintain our patchset whlist upgrading glibc. - -Until universal headers are real and this file can be removed, these commits -need to be cherry-picked in the future glibc header upgrades: - -- 39083c31a550ed80f369f60d35791e98904b8096 -- a89813ef282c092a9caf699731c7faaf485acabe -- 3eaca9bbc6fee4b6be0f22b844f7d3214222f434 diff --git a/lib/libc/glibc/bits/byteswap.h b/lib/libc/glibc/bits/byteswap.h index 6438a8b38937686d1ee2ba2ea0647c0cc7978fb4..456dd177e1745cd2ba3330f82404aa7b9e3364f6 100644 --- a/lib/libc/glibc/bits/byteswap.h +++ b/lib/libc/glibc/bits/byteswap.h @@ -1,5 +1,5 @@ /* Macros and inline functions to swap the order of bytes in integer values. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/bits/floatn-common.h b/lib/libc/glibc/bits/floatn-common.h index b43c9532d8b01cca9126756cb592a9ec3f8b9aa9..23306c9209aaafcf15018bcf731b464ece6a7db3 100644 --- a/lib/libc/glibc/bits/floatn-common.h +++ b/lib/libc/glibc/bits/floatn-common.h @@ -1,6 +1,6 @@ /* Macros to control TS 18661-3 glibc features where the same definitions are appropriate for all platforms. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -78,7 +78,7 @@ or _FloatNx types, if __HAVE_ is 1. The corresponding literal suffixes exist since GCC 7, for C only. */ # if __HAVE_FLOAT16 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* No corresponding suffix available for this type. */ # define __f16(x) ((_Float16) x##f) # else @@ -87,7 +87,7 @@ # endif # if __HAVE_FLOAT32 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __f32(x) x##f # else # define __f32(x) x##f32 @@ -95,7 +95,7 @@ # endif # if __HAVE_FLOAT64 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # ifdef __NO_LONG_DOUBLE_MATH # define __f64(x) x##l # else @@ -107,7 +107,7 @@ # endif # if __HAVE_FLOAT32X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __f32x(x) x # else # define __f32x(x) x##f32x @@ -115,7 +115,7 @@ # endif # if __HAVE_FLOAT64X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # if __HAVE_FLOAT64X_LONG_DOUBLE # define __f64x(x) x##l # else @@ -127,7 +127,7 @@ # endif # if __HAVE_FLOAT128X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # error "_Float128X supported but no constant suffix" # else # define __f128x(x) x##f128x @@ -136,7 +136,7 @@ /* Defined to a complex type if __HAVE_ is 1. */ # if __HAVE_FLOAT16 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); # define __CFLOAT16 __cfloat16 # else @@ -145,7 +145,7 @@ typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); # endif # if __HAVE_FLOAT32 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __CFLOAT32 _Complex float # else # define __CFLOAT32 _Complex _Float32 @@ -153,7 +153,7 @@ typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); # endif # if __HAVE_FLOAT64 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # ifdef __NO_LONG_DOUBLE_MATH # define __CFLOAT64 _Complex long double # else @@ -165,7 +165,7 @@ typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); # endif # if __HAVE_FLOAT32X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __CFLOAT32X _Complex double # else # define __CFLOAT32X _Complex _Float32x @@ -173,7 +173,7 @@ typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); # endif # if __HAVE_FLOAT64X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # if __HAVE_FLOAT64X_LONG_DOUBLE # define __CFLOAT64X _Complex long double # else @@ -185,7 +185,7 @@ typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); # endif # if __HAVE_FLOAT128X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # error "_Float128X supported but no complex type" # else # define __CFLOAT128X _Complex _Float128x @@ -195,7 +195,7 @@ typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); /* The remaining of this file provides support for older compilers. */ # if __HAVE_FLOAT16 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef float _Float16 __attribute__ ((__mode__ (__HF__))); # endif @@ -210,7 +210,7 @@ typedef float _Float16 __attribute__ ((__mode__ (__HF__))); # if __HAVE_FLOAT32 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef float _Float32; # endif @@ -234,7 +234,7 @@ typedef float _Float32; # ifdef __NO_LONG_DOUBLE_MATH -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef long double _Float64; # endif @@ -247,7 +247,7 @@ typedef long double _Float64; # else -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef double _Float64; # endif @@ -264,7 +264,7 @@ typedef double _Float64; # if __HAVE_FLOAT32X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef double _Float32x; # endif @@ -281,7 +281,7 @@ typedef double _Float32x; # if __HAVE_FLOAT64X_LONG_DOUBLE -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef long double _Float64x; # endif @@ -294,7 +294,7 @@ typedef long double _Float64x; # else -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef _Float128 _Float64x; # endif @@ -311,7 +311,7 @@ typedef _Float128 _Float64x; # if __HAVE_FLOAT128X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # error "_Float128x supported but no type" # endif diff --git a/lib/libc/glibc/bits/libc-header-start.h b/lib/libc/glibc/bits/libc-header-start.h index 47f39105a2daee9e5287d4e09e01da61e37bc59c..73af2af965ad48be530a2fdbdf9cbf4ae76d75bc 100644 --- a/lib/libc/glibc/bits/libc-header-start.h +++ b/lib/libc/glibc/bits/libc-header-start.h @@ -1,5 +1,5 @@ /* Handle feature test macros at the start of a header. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/bits/long-double.h b/lib/libc/glibc/bits/long-double.h index fdb574d937160d10b207476844ccc69b2b993bbb..74edf3b08917e784b763df59faf6a4bf45f826c4 100644 --- a/lib/libc/glibc/bits/long-double.h +++ b/lib/libc/glibc/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/bits/select.h b/lib/libc/glibc/bits/select.h index 8204bbd4c4099490ce0547f08201a5e9ae636267..061d67ff984f21db3cd57d8eef5f66577e3b7dd8 100644 --- a/lib/libc/glibc/bits/select.h +++ b/lib/libc/glibc/bits/select.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/bits/signum-generic.h b/lib/libc/glibc/bits/signum-generic.h index 4e481c148a0cbffc87b17207a67d24911c4714b6..e01b4dc9cbec2cb46c54a909b14fce9a7d19bc91 100644 --- a/lib/libc/glibc/bits/signum-generic.h +++ b/lib/libc/glibc/bits/signum-generic.h @@ -1,5 +1,5 @@ /* Signal number constants. Generic template. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/bits/stat.h b/lib/libc/glibc/bits/stat.h index 3b04d9677fa90aacc7b2930aea0408a791836148..8a6ca297ce9897e9c00042bd84fa05ff16646183 100644 --- a/lib/libc/glibc/bits/stat.h +++ b/lib/libc/glibc/bits/stat.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/bits/stdint-intn.h b/lib/libc/glibc/bits/stdint-intn.h index 8a1cf5db9d78c7b912b2e139f629702407a47be7..3d943a8d9daa70b80ea27d4560f2bfb68e7c7fd6 100644 --- a/lib/libc/glibc/bits/stdint-intn.h +++ b/lib/libc/glibc/bits/stdint-intn.h @@ -1,5 +1,5 @@ /* Define intN_t types. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/bits/stdlib-bsearch.h b/lib/libc/glibc/bits/stdlib-bsearch.h index 4132dc6af0077f31f95a9bbccb4b6ac4465cf9cf..4dcf90c99a998dd0f22ddcdae1eb110e9721a793 100644 --- a/lib/libc/glibc/bits/stdlib-bsearch.h +++ b/lib/libc/glibc/bits/stdlib-bsearch.h @@ -1,5 +1,5 @@ /* Perform binary search - inline version. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -29,14 +29,23 @@ bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, while (__l < __u) { __idx = (__l + __u) / 2; - __p = (void *) (((const char *) __base) + (__idx * __size)); + __p = (const void *) (((const char *) __base) + (__idx * __size)); __comparison = (*__compar) (__key, __p); if (__comparison < 0) __u = __idx; else if (__comparison > 0) __l = __idx + 1; else - return (void *) __p; + { +#if __GNUC_PREREQ(4, 6) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wcast-qual" +#endif + return (void *) __p; +#if __GNUC_PREREQ(4, 6) +# pragma GCC diagnostic pop +#endif + } } return NULL; diff --git a/lib/libc/glibc/bits/time64.h b/lib/libc/glibc/bits/time64.h index af3e731684615ec6d027cdf4ce00cd05516d76ee..723db1ed16cf9ab03dfef14d95ff7cb3011b45ae 100644 --- a/lib/libc/glibc/bits/time64.h +++ b/lib/libc/glibc/bits/time64.h @@ -1,5 +1,5 @@ /* bits/time64.h -- underlying types for __time64_t. Generic version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/bits/timesize.h b/lib/libc/glibc/bits/timesize.h index 11a9c9a4992444187e42f89853e1ab65f7971e80..700653a06f84a6ba14faa8db9cdaa68ba5c7c5c6 100644 --- a/lib/libc/glibc/bits/timesize.h +++ b/lib/libc/glibc/bits/timesize.h @@ -1,5 +1,5 @@ /* Bit size of the time_t type at glibc build time, general case. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,7 +16,5 @@ License along with the GNU C Library; if not, see . */ -#include - /* Size in bits of the 'time_t' type of the default ABI. */ -#define __TIMESIZE __WORDSIZE +#define __TIMESIZE 64 diff --git a/lib/libc/glibc/bits/types/struct_sched_param.h b/lib/libc/glibc/bits/types/struct_sched_param.h index 78f3d0b55683557d67fbb7c8f06e30e69421b3be..7b080444728fa5cae781c9fcf818ec4dca24a92f 100644 --- a/lib/libc/glibc/bits/types/struct_sched_param.h +++ b/lib/libc/glibc/bits/types/struct_sched_param.h @@ -1,5 +1,5 @@ /* Sched parameter structure. Generic version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/bits/typesizes.h b/lib/libc/glibc/bits/typesizes.h index 63564b2fa1a09b3e7f9638f12ea59ef563974d95..5dd1700649463583c573b95cc6df8ac677316ea9 100644 --- a/lib/libc/glibc/bits/typesizes.h +++ b/lib/libc/glibc/bits/typesizes.h @@ -1,5 +1,5 @@ /* bits/typesizes.h -- underlying types for *_t. Generic version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/bits/uintn-identity.h b/lib/libc/glibc/bits/uintn-identity.h index 6eb4964a1dfe6039c210b1b3a0a660d977bfb9cc..c2d523c5a76d240db2766893f5ff6b6b959fdd6e 100644 --- a/lib/libc/glibc/bits/uintn-identity.h +++ b/lib/libc/glibc/bits/uintn-identity.h @@ -1,5 +1,5 @@ /* Inline functions to return unsigned integer values unchanged. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/bits/waitflags.h b/lib/libc/glibc/bits/waitflags.h index 03d4db2de3a54d135722b5afd86a3b537b5fb0a2..291a27153f744cb96fb0f494429413ea0bd4f1c3 100644 --- a/lib/libc/glibc/bits/waitflags.h +++ b/lib/libc/glibc/bits/waitflags.h @@ -1,5 +1,5 @@ /* Definitions of flag bits for `waitpid' et al. - Copyright (C) 1992-2021 Free Software Foundation, Inc. + Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/bits/waitstatus.h b/lib/libc/glibc/bits/waitstatus.h index baaf96ac04490de6aea6719acdd27bfd88fded65..ec7c076b00f1ed5f247520dcaec0e25fd7e4f11a 100644 --- a/lib/libc/glibc/bits/waitstatus.h +++ b/lib/libc/glibc/bits/waitstatus.h @@ -1,5 +1,5 @@ /* Definitions of status bits for `wait' et al. - Copyright (C) 1992-2021 Free Software Foundation, Inc. + Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/csu/errno.c b/lib/libc/glibc/csu/errno.c index 946673585b86da78ed47215f7224fc91aa2f501c..34f490614eaf04840ecf1f03f7e9d5ceffb38345 100644 --- a/lib/libc/glibc/csu/errno.c +++ b/lib/libc/glibc/csu/errno.c @@ -1,5 +1,5 @@ /* Definition of `errno' variable. Canonical version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/debug/stack_chk_fail_local.c b/lib/libc/glibc/debug/stack_chk_fail_local.c index c9251c2411a2269ee81e2cbacf95f0b808fa4190..68b6908ae3dfd2a7ef4dec024dd9afcb06706d6e 100644 --- a/lib/libc/glibc/debug/stack_chk_fail_local.c +++ b/lib/libc/glibc/debug/stack_chk_fail_local.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/elf/elf.h b/lib/libc/glibc/elf/elf.h index 4738dfa28f6549fc11654996a15659dc8007e686..89fc8021e9e992ff68dadae30e1e23f8356b5fdf 100644 --- a/lib/libc/glibc/elf/elf.h +++ b/lib/libc/glibc/elf/elf.h @@ -1,5 +1,5 @@ /* This file defines standard ELF types, structures, and macros. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -210,7 +210,7 @@ typedef struct #define EM_68HC12 53 /* Motorola M68HC12 */ #define EM_MMA 54 /* Fujitsu MMA Multimedia Accelerator */ #define EM_PCP 55 /* Siemens PCP */ -#define EM_NCPU 56 /* Sony nCPU embeeded RISC */ +#define EM_NCPU 56 /* Sony nCPU embedded RISC */ #define EM_NDR1 57 /* Denso NDR1 microprocessor */ #define EM_STARCORE 58 /* Motorola Start*Core processor */ #define EM_ME16 59 /* Toyota ME16 processor */ @@ -358,8 +358,9 @@ typedef struct #define EM_BPF 247 /* Linux BPF -- in-kernel virtual machine */ #define EM_CSKY 252 /* C-SKY */ +#define EM_LOONGARCH 258 /* LoongArch */ -#define EM_NUM 253 +#define EM_NUM 259 /* Old spellings/synonyms. */ @@ -443,7 +444,8 @@ typedef struct #define SHT_PREINIT_ARRAY 16 /* Array of pre-constructors */ #define SHT_GROUP 17 /* Section group */ #define SHT_SYMTAB_SHNDX 18 /* Extended section indices */ -#define SHT_NUM 19 /* Number of defined types. */ +#define SHT_RELR 19 /* RELR relative relocations */ +#define SHT_NUM 20 /* Number of defined types. */ #define SHT_LOOS 0x60000000 /* Start OS-specific. */ #define SHT_GNU_ATTRIBUTES 0x6ffffff5 /* Object attributes. */ #define SHT_GNU_HASH 0x6ffffff6 /* GNU-style hash table. */ @@ -504,6 +506,7 @@ typedef struct /* Legal values for ch_type (compression algorithm). */ #define ELFCOMPRESS_ZLIB 1 /* ZLIB/DEFLATE algorithm. */ +#define ELFCOMPRESS_ZSTD 2 /* Zstandard algorithm. */ #define ELFCOMPRESS_LOOS 0x60000000 /* Start of OS-specific. */ #define ELFCOMPRESS_HIOS 0x6fffffff /* End of OS-specific. */ #define ELFCOMPRESS_LOPROC 0x70000000 /* Start of processor-specific. */ @@ -556,7 +559,7 @@ typedef struct /* Possible bitmasks for si_flags. */ #define SYMINFO_FLG_DIRECT 0x0001 /* Direct bound symbol */ -#define SYMINFO_FLG_PASSTHRU 0x0002 /* Pass-thru symbol for translator */ +#define SYMINFO_FLG_PASSTHRU 0x0002 /* Pass-through symbol for translator */ #define SYMINFO_FLG_COPY 0x0004 /* Symbol is a copy-reloc */ #define SYMINFO_FLG_LAZYLOAD 0x0008 /* Symbol bound to object to be lazy loaded */ @@ -662,6 +665,11 @@ typedef struct Elf64_Sxword r_addend; /* Addend */ } Elf64_Rela; +/* RELR relocation table entry */ + +typedef Elf32_Word Elf32_Relr; +typedef Elf64_Xword Elf64_Relr; + /* How to extract and insert information held in the r_info field. */ #define ELF32_R_SYM(val) ((val) >> 8) @@ -720,6 +728,7 @@ typedef struct #define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */ #define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */ #define PT_GNU_PROPERTY 0x6474e553 /* GNU property */ +#define PT_GNU_SFRAME 0x6474e554 /* SFrame segment. */ #define PT_LOSUNW 0x6ffffffa #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */ #define PT_SUNWSTACK 0x6ffffffb /* Stack segment */ @@ -801,6 +810,7 @@ typedef struct #define NT_S390_GS_BC 0x30c /* s390 guarded storage broadcast control block. */ #define NT_S390_RI_CB 0x30d /* s390 runtime instrumentation. */ +#define NT_S390_PV_CPU_DATA 0x30e /* s390 protvirt cpu dump data. */ #define NT_ARM_VFP 0x400 /* ARM VFP/NEON registers */ #define NT_ARM_TLS 0x401 /* ARM TLS register */ #define NT_ARM_HW_BREAK 0x402 /* ARM hardware breakpoint registers */ @@ -822,6 +832,15 @@ typedef struct #define NT_MIPS_DSP 0x800 /* MIPS DSP ASE registers. */ #define NT_MIPS_FP_MODE 0x801 /* MIPS floating-point mode. */ #define NT_MIPS_MSA 0x802 /* MIPS SIMD registers. */ +#define NT_LOONGARCH_CPUCFG 0xa00 /* LoongArch CPU config registers. */ +#define NT_LOONGARCH_CSR 0xa01 /* LoongArch control and + status registers. */ +#define NT_LOONGARCH_LSX 0xa02 /* LoongArch Loongson SIMD + Extension registers. */ +#define NT_LOONGARCH_LASX 0xa03 /* LoongArch Loongson Advanced + SIMD Extension registers. */ +#define NT_LOONGARCH_LBT 0xa04 /* LoongArch Loongson Binary + Translation registers. */ /* Legal values for the note segment descriptor types for object files. */ @@ -887,7 +906,10 @@ typedef struct #define DT_PREINIT_ARRAY 32 /* Array with addresses of preinit fct*/ #define DT_PREINIT_ARRAYSZ 33 /* size in bytes of DT_PREINIT_ARRAY */ #define DT_SYMTAB_SHNDX 34 /* Address of SYMTAB_SHNDX section */ -#define DT_NUM 35 /* Number used */ +#define DT_RELRSZ 35 /* Total size of RELR relative relocations */ +#define DT_RELR 36 /* Address of RELR relative relocations */ +#define DT_RELRENT 37 /* Size of one RELR relative relocaction */ +#define DT_NUM 38 /* Number used */ #define DT_LOOS 0x6000000d /* Start of OS-specific */ #define DT_HIOS 0x6ffff000 /* End of OS-specific */ #define DT_LOPROC 0x70000000 /* Start of processor-specific */ @@ -1044,7 +1066,8 @@ typedef struct /* Legal values for vd_flags (version information flags). */ #define VER_FLG_BASE 0x1 /* Version definition of file itself */ -#define VER_FLG_WEAK 0x2 /* Weak version identifier */ +#define VER_FLG_WEAK 0x2 /* Weak version identifier. Also + used by vna_flags below. */ /* Versym symbol index values. */ #define VER_NDX_LOCAL 0 /* Symbol is local. */ @@ -1122,10 +1145,6 @@ typedef struct } Elf64_Vernaux; -/* Legal values for vna_flags. */ -#define VER_FLG_WEAK 0x2 /* Weak version identifier */ - - /* Auxiliary vector. */ /* This vector is normally only used by the program interpreter. The @@ -1205,6 +1224,9 @@ typedef struct #define AT_HWCAP2 26 /* More machine-dependent hints about processor capabilities. */ +#define AT_RSEQ_FEATURE_SIZE 27 /* rseq supported feature size. */ +#define AT_RSEQ_ALIGN 28 /* rseq allocation alignment. */ + #define AT_EXECFN 31 /* Filename of executable. */ /* Pointer to the global system page used for system calls and other @@ -1231,8 +1253,7 @@ typedef struct #define AT_L3_CACHESIZE 46 #define AT_L3_CACHEGEOMETRY 47 -#define AT_MINSIGSTKSZ 51 /* Stack needed for signal delivery - (AArch64). */ +#define AT_MINSIGSTKSZ 51 /* Stack needed for signal delivery */ /* Note section contents. Each entry in the note section begins with a header of a fixed form. */ @@ -1259,6 +1280,8 @@ typedef struct /* Note entries for GNU systems have this name. */ #define ELF_NOTE_GNU "GNU" +/* Note entries for freedesktop.org have this name. */ +#define ELF_NOTE_FDO "FDO" /* Defined types of notes for Solaris. */ @@ -1302,6 +1325,10 @@ typedef struct /* Program property. */ #define NT_GNU_PROPERTY_TYPE_0 5 +/* Packaging metadata as defined on + https://systemd.io/COREDUMP_PACKAGE_METADATA/ */ +#define NT_FDO_PACKAGING_METADATA 0xcafe1a7e + /* Note section name of program property. */ #define NOTE_GNU_PROPERTY_SECTION_NAME ".note.gnu.property" @@ -1312,6 +1339,23 @@ typedef struct /* No copy relocation on protected data symbol. */ #define GNU_PROPERTY_NO_COPY_ON_PROTECTED 2 +/* A 4-byte unsigned integer property: A bit is set if it is set in all + relocatable inputs. */ +#define GNU_PROPERTY_UINT32_AND_LO 0xb0000000 +#define GNU_PROPERTY_UINT32_AND_HI 0xb0007fff + +/* A 4-byte unsigned integer property: A bit is set if it is set in any + relocatable inputs. */ +#define GNU_PROPERTY_UINT32_OR_LO 0xb0008000 +#define GNU_PROPERTY_UINT32_OR_HI 0xb000ffff + +/* The needed properties by the object file. */ +#define GNU_PROPERTY_1_NEEDED GNU_PROPERTY_UINT32_OR_LO + +/* Set if the object file requires canonical function pointers and + cannot be used with copy relocation. */ +#define GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS (1U << 0) + /* Processor-specific semantics, lo */ #define GNU_PROPERTY_LOPROC 0xc0000000 /* Processor-specific semantics, hi */ @@ -2871,6 +2915,9 @@ enum #define R_AARCH64_TLSDESC 1031 /* TLS Descriptor. */ #define R_AARCH64_IRELATIVE 1032 /* STT_GNU_IFUNC relocation. */ +/* MTE memory tag segment type. */ +#define PT_AARCH64_MEMTAG_MTE (PT_LOPROC + 2) + /* AArch64 specific values for the Dyn d_tag field. */ #define DT_AARCH64_BTI_PLT (DT_LOPROC + 1) #define DT_AARCH64_PAC_PLT (DT_LOPROC + 3) @@ -3896,6 +3943,8 @@ enum #define EF_RISCV_FLOAT_ABI_SINGLE 0x0002 #define EF_RISCV_FLOAT_ABI_DOUBLE 0x0004 #define EF_RISCV_FLOAT_ABI_QUAD 0x0006 +#define EF_RISCV_RVE 0x0008 +#define EF_RISCV_TSO 0x0010 /* RISC-V relocations. */ #define R_RISCV_NONE 0 @@ -3953,8 +4002,24 @@ enum #define R_RISCV_SET32 56 #define R_RISCV_32_PCREL 57 #define R_RISCV_IRELATIVE 58 +#define R_RISCV_PLT32 59 +#define R_RISCV_SET_ULEB128 60 +#define R_RISCV_SUB_ULEB128 61 -#define R_RISCV_NUM 59 +#define R_RISCV_NUM 62 + +/* RISC-V specific values for the st_other field. */ +#define STO_RISCV_VARIANT_CC 0x80 /* Function uses variant calling + convention */ + +/* RISC-V specific values for the sh_type field. */ +#define SHT_RISCV_ATTRIBUTES (SHT_LOPROC + 3) + +/* RISC-V specific values for the p_type field. */ +#define PT_RISCV_ATTRIBUTES (PT_LOPROC + 3) + +/* RISC-V specific values for the d_tag field. */ +#define DT_RISCV_VARIANT_CC (DT_LOPROC + 1) /* BPF specific declarations. */ @@ -4034,13 +4099,130 @@ enum #define R_NDS32_TLS_TPOFF 102 #define R_NDS32_TLS_DESC 119 +/* LoongArch ELF Flags */ +#define EF_LARCH_ABI_MODIFIER_MASK 0x07 +#define EF_LARCH_ABI_SOFT_FLOAT 0x01 +#define EF_LARCH_ABI_SINGLE_FLOAT 0x02 +#define EF_LARCH_ABI_DOUBLE_FLOAT 0x03 +#define EF_LARCH_OBJABI_V1 0x40 + +/* LoongArch specific dynamic relocations */ +#define R_LARCH_NONE 0 +#define R_LARCH_32 1 +#define R_LARCH_64 2 +#define R_LARCH_RELATIVE 3 +#define R_LARCH_COPY 4 +#define R_LARCH_JUMP_SLOT 5 +#define R_LARCH_TLS_DTPMOD32 6 +#define R_LARCH_TLS_DTPMOD64 7 +#define R_LARCH_TLS_DTPREL32 8 +#define R_LARCH_TLS_DTPREL64 9 +#define R_LARCH_TLS_TPREL32 10 +#define R_LARCH_TLS_TPREL64 11 +#define R_LARCH_IRELATIVE 12 + +/* Reserved for future relocs that the dynamic linker must understand. */ + +/* used by the static linker for relocating .text. */ +#define R_LARCH_MARK_LA 20 +#define R_LARCH_MARK_PCREL 21 +#define R_LARCH_SOP_PUSH_PCREL 22 +#define R_LARCH_SOP_PUSH_ABSOLUTE 23 +#define R_LARCH_SOP_PUSH_DUP 24 +#define R_LARCH_SOP_PUSH_GPREL 25 +#define R_LARCH_SOP_PUSH_TLS_TPREL 26 +#define R_LARCH_SOP_PUSH_TLS_GOT 27 +#define R_LARCH_SOP_PUSH_TLS_GD 28 +#define R_LARCH_SOP_PUSH_PLT_PCREL 29 +#define R_LARCH_SOP_ASSERT 30 +#define R_LARCH_SOP_NOT 31 +#define R_LARCH_SOP_SUB 32 +#define R_LARCH_SOP_SL 33 +#define R_LARCH_SOP_SR 34 +#define R_LARCH_SOP_ADD 35 +#define R_LARCH_SOP_AND 36 +#define R_LARCH_SOP_IF_ELSE 37 +#define R_LARCH_SOP_POP_32_S_10_5 38 +#define R_LARCH_SOP_POP_32_U_10_12 39 +#define R_LARCH_SOP_POP_32_S_10_12 40 +#define R_LARCH_SOP_POP_32_S_10_16 41 +#define R_LARCH_SOP_POP_32_S_10_16_S2 42 +#define R_LARCH_SOP_POP_32_S_5_20 43 +#define R_LARCH_SOP_POP_32_S_0_5_10_16_S2 44 +#define R_LARCH_SOP_POP_32_S_0_10_10_16_S2 45 +#define R_LARCH_SOP_POP_32_U 46 + +/* used by the static linker for relocating non .text. */ +#define R_LARCH_ADD8 47 +#define R_LARCH_ADD16 48 +#define R_LARCH_ADD24 49 +#define R_LARCH_ADD32 50 +#define R_LARCH_ADD64 51 +#define R_LARCH_SUB8 52 +#define R_LARCH_SUB16 53 +#define R_LARCH_SUB24 54 +#define R_LARCH_SUB32 55 +#define R_LARCH_SUB64 56 +#define R_LARCH_GNU_VTINHERIT 57 +#define R_LARCH_GNU_VTENTRY 58 + +/* reserved 59-63 */ + +#define R_LARCH_B16 64 +#define R_LARCH_B21 65 +#define R_LARCH_B26 66 +#define R_LARCH_ABS_HI20 67 +#define R_LARCH_ABS_LO12 68 +#define R_LARCH_ABS64_LO20 69 +#define R_LARCH_ABS64_HI12 70 +#define R_LARCH_PCALA_HI20 71 +#define R_LARCH_PCALA_LO12 72 +#define R_LARCH_PCALA64_LO20 73 +#define R_LARCH_PCALA64_HI12 74 +#define R_LARCH_GOT_PC_HI20 75 +#define R_LARCH_GOT_PC_LO12 76 +#define R_LARCH_GOT64_PC_LO20 77 +#define R_LARCH_GOT64_PC_HI12 78 +#define R_LARCH_GOT_HI20 79 +#define R_LARCH_GOT_LO12 80 +#define R_LARCH_GOT64_LO20 81 +#define R_LARCH_GOT64_HI12 82 +#define R_LARCH_TLS_LE_HI20 83 +#define R_LARCH_TLS_LE_LO12 84 +#define R_LARCH_TLS_LE64_LO20 85 +#define R_LARCH_TLS_LE64_HI12 86 +#define R_LARCH_TLS_IE_PC_HI20 87 +#define R_LARCH_TLS_IE_PC_LO12 88 +#define R_LARCH_TLS_IE64_PC_LO20 89 +#define R_LARCH_TLS_IE64_PC_HI12 90 +#define R_LARCH_TLS_IE_HI20 91 +#define R_LARCH_TLS_IE_LO12 92 +#define R_LARCH_TLS_IE64_LO20 93 +#define R_LARCH_TLS_IE64_HI12 94 +#define R_LARCH_TLS_LD_PC_HI20 95 +#define R_LARCH_TLS_LD_HI20 96 +#define R_LARCH_TLS_GD_PC_HI20 97 +#define R_LARCH_TLS_GD_HI20 98 +#define R_LARCH_32_PCREL 99 +#define R_LARCH_RELAX 100 + +/* ARC specific declarations. */ + +/* Processor specific flags for the Ehdr e_flags field. */ +#define EF_ARC_MACH_MSK 0x000000ff +#define EF_ARC_OSABI_MSK 0x00000f00 +#define EF_ARC_ALL_MSK (EF_ARC_MACH_MSK | EF_ARC_OSABI_MSK) + +/* Processor specific values for the Shdr sh_type field. */ +#define SHT_ARC_ATTRIBUTES (SHT_LOPROC + 1) /* ARC attributes section. */ + /* ARCompact/ARCv2 specific relocs. */ #define R_ARC_NONE 0x0 #define R_ARC_8 0x1 #define R_ARC_16 0x2 #define R_ARC_24 0x3 #define R_ARC_32 0x4 -#define R_ARC_B26 0x5 + #define R_ARC_B22_PCREL 0x6 #define R_ARC_H30 0x7 #define R_ARC_N8 0x8 @@ -4080,16 +4262,23 @@ enum #define R_ARC_SECTOFF_ME_2 0x2A #define R_ARC_SECTOFF_1 0x2B #define R_ARC_SECTOFF_2 0x2C +#define R_ARC_SDA_12 0x2D +#define R_ARC_SDA16_ST2 0x30 +#define R_ARC_32_PCREL 0x31 #define R_ARC_PC32 0x32 #define R_ARC_GOTPC32 0x33 #define R_ARC_PLT32 0x34 #define R_ARC_COPY 0x35 #define R_ARC_GLOB_DAT 0x36 -#define R_ARC_JUMP_SLOT 0x37 +#define R_ARC_JMP_SLOT 0x37 #define R_ARC_RELATIVE 0x38 #define R_ARC_GOTOFF 0x39 #define R_ARC_GOTPC 0x3A #define R_ARC_GOT32 0x3B +#define R_ARC_S21W_PCREL_PLT 0x3C +#define R_ARC_S25H_PCREL_PLT 0x3D + +#define R_ARC_JLI_SECTOFF 0x3F #define R_ARC_TLS_DTPMOD 0x42 #define R_ARC_TLS_DTPOFF 0x43 @@ -4098,8 +4287,48 @@ enum #define R_ARC_TLS_GD_LD 0x46 #define R_ARC_TLS_GD_CALL 0x47 #define R_ARC_TLS_IE_GOT 0x48 -#define R_ARC_TLS_DTPOFF_S9 0x4a -#define R_ARC_TLS_LE_S9 0x4a -#define R_ARC_TLS_LE_32 0x4b +#define R_ARC_TLS_DTPOFF_S9 0x49 +#define R_ARC_TLS_LE_S9 0x4A +#define R_ARC_TLS_LE_32 0x4B +#define R_ARC_S25W_PCREL_PLT 0x4C +#define R_ARC_S21H_PCREL_PLT 0x4D +#define R_ARC_NPS_CMEM16 0x4E + +/* OpenRISC 1000 specific relocs. */ +#define R_OR1K_NONE 0 +#define R_OR1K_32 1 +#define R_OR1K_16 2 +#define R_OR1K_8 3 +#define R_OR1K_LO_16_IN_INSN 4 +#define R_OR1K_HI_16_IN_INSN 5 +#define R_OR1K_INSN_REL_26 6 +#define R_OR1K_GNU_VTENTRY 7 +#define R_OR1K_GNU_VTINHERIT 8 +#define R_OR1K_32_PCREL 9 +#define R_OR1K_16_PCREL 10 +#define R_OR1K_8_PCREL 11 +#define R_OR1K_GOTPC_HI16 12 +#define R_OR1K_GOTPC_LO16 13 +#define R_OR1K_GOT16 14 +#define R_OR1K_PLT26 15 +#define R_OR1K_GOTOFF_HI16 16 +#define R_OR1K_GOTOFF_LO16 17 +#define R_OR1K_COPY 18 +#define R_OR1K_GLOB_DAT 19 +#define R_OR1K_JMP_SLOT 20 +#define R_OR1K_RELATIVE 21 +#define R_OR1K_TLS_GD_HI16 22 +#define R_OR1K_TLS_GD_LO16 23 +#define R_OR1K_TLS_LDM_HI16 24 +#define R_OR1K_TLS_LDM_LO16 25 +#define R_OR1K_TLS_LDO_HI16 26 +#define R_OR1K_TLS_LDO_LO16 27 +#define R_OR1K_TLS_IE_HI16 28 +#define R_OR1K_TLS_IE_LO16 29 +#define R_OR1K_TLS_LE_HI16 30 +#define R_OR1K_TLS_LE_LO16 31 +#define R_OR1K_TLS_TPOFF 32 +#define R_OR1K_TLS_DTPOFF 33 +#define R_OR1K_TLS_DTPMOD 34 #endif /* elf.h */ diff --git a/lib/libc/glibc/include/libc-pointer-arith.h b/lib/libc/glibc/include/libc-pointer-arith.h index 04ba5376177b4ec83a401a84c710731e92d6c34b..aa57e598d59bf81b9ee5e564c2530193548563f1 100644 --- a/lib/libc/glibc/include/libc-pointer-arith.h +++ b/lib/libc/glibc/include/libc-pointer-arith.h @@ -1,5 +1,5 @@ /* Helper macros for pointer arithmetic. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -60,4 +60,12 @@ #define PTR_ALIGN_UP(base, size) \ ((__typeof__ (base)) ALIGN_UP ((uintptr_t) (base), (size))) +/* Check if BASE is aligned on SIZE */ +#define PTR_IS_ALIGNED(base, size) \ + ((((uintptr_t) (base)) & (size - 1)) == 0) + +/* Returns the ptrdiff_t difference between P1 and P2. */ +#define PTR_DIFF(p1, p2) \ + ((ptrdiff_t)((uintptr_t)(p1) - (uintptr_t)(p2))) + #endif diff --git a/lib/libc/glibc/include/libc-symbols.h b/lib/libc/glibc/include/libc-symbols.h index d41ecf4384d07f9108698dba1d4e9e6a7a9b975f..57946144888f7a990bfeeb7e2cad904b8a80953d 100644 --- a/lib/libc/glibc/include/libc-symbols.h +++ b/lib/libc/glibc/include/libc-symbols.h @@ -1,6 +1,6 @@ /* Support macros for making weak and strong aliases for symbols, and for using symbol sets and linker warnings with GNU ld. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -155,14 +155,6 @@ extern __typeof (name) aliasname __attribute__ ((weak, alias (#name))) \ __attribute_copy__ (name); -/* Same as WEAK_ALIAS, but mark symbol as hidden. */ -# define weak_hidden_alias(name, aliasname) \ - _weak_hidden_alias (name, aliasname) -# define _weak_hidden_alias(name, aliasname) \ - extern __typeof (name) aliasname \ - __attribute__ ((weak, alias (#name), __visibility__ ("hidden"))) \ - __attribute_copy__ (name); - /* Declare SYMBOL as weak undefined symbol (resolved to 0 if not defined). */ # define weak_extern(symbol) _weak_extern (weak symbol) # define _weak_extern(expr) _Pragma (#expr) @@ -245,105 +237,32 @@ requires at runtime the shared libraries from the glibc version used \ for linking") #endif -/* Resource Freeing Hooks: - - Normally a process exits and the OS cleans up any allocated - memory. However, when tooling like mtrace or valgrind is monitoring - the process we need to free all resources that are part of the - process in order to provide the consistency required to track - memory leaks. - - A single public API exists and is __libc_freeres(), and this is used - by applications like valgrind to freee resouces. - - There are 3 cases: - - (a) __libc_freeres - - In this case all you need to do is define the freeing routine: - - foo.c: - libfoo_freeres_fn (foo_freeres) - { - complex_free (mem); - } - - This ensures the function is called at the right point to free - resources. - - (b) __libc_freeres_ptr - - The framework for (a) iterates over the list of pointers-to-free - in (b) and frees them. - - foo.c: - libc_freeres_ptr (static char *foo_buffer); - - Freeing these resources alaways happens last and is equivalent - to registering a function that does 'free (foo_buffer)'. - - (c) Explicit lists of free routines to call or objects to free. - - It is the intended goal to remove (a) and (b) which have some - non-determinism based on link order, and instead use explicit - lists of functions and frees to resolve cleanup ordering issues - and make it easy to debug and maintain. - - As of today the following subsystems use (c): - - Per-thread cleanup: - * malloc/thread-freeres.c - - libdl cleanup: - * dlfcn/dlfreeres.c - - libpthread cleanup: - * nptl/nptlfreeres.c - - So if you need any shutdown routines to run you should add them - directly to the appropriate subsystem's shutdown list. */ - -/* Resource pointers to free in libc.so. */ -#define libc_freeres_ptr(decl) \ - __make_section_unallocated ("__libc_freeres_ptrs, \"aw\", %nobits") \ - decl __attribute__ ((section ("__libc_freeres_ptrs" __sec_comment))) - -/* Resource freeing functions from libc.so go in this section. */ -#define __libc_freeres_fn_section \ - __attribute__ ((__used__, section ("__libc_freeres_fn"))) - -/* Resource freeing functions for libc.so. */ -#define libc_freeres_fn(name) \ - static void name (void) __attribute_used__ __libc_freeres_fn_section; \ - text_set_element (__libc_subfreeres, name); \ - static void name (void) - /* Declare SYMBOL to be TYPE (`function' or `object') of SIZE bytes alias to ORIGINAL, when the assembler supports such declarations (such as in ELF). This is only necessary when defining something in assembly, or playing funny alias games where the size should be other than what the compiler thinks it is. */ -#define declare_symbol_alias(symbol, original, type, size) \ - declare_symbol_alias_1 (symbol, original, type, size) +#define declare_object_symbol_alias(symbol, original, size) \ + declare_object_symbol_alias_1 (symbol, original, size) #ifdef __ASSEMBLER__ -# define declare_symbol_alias_1(symbol, original, type, size) \ - strong_alias (original, symbol); \ - .type C_SYMBOL_NAME (symbol), %##type; \ - .size C_SYMBOL_NAME (symbol), size +# define declare_object_symbol_alias_1(symbol, original, s_size) \ + strong_alias (original, symbol) ASM_LINE_SEP \ + .type C_SYMBOL_NAME (symbol), %object ASM_LINE_SEP \ + .size C_SYMBOL_NAME (symbol), s_size ASM_LINE_SEP #else /* Not __ASSEMBLER__. */ -# define declare_symbol_alias_1(symbol, original, type, size) \ - asm (".globl " __SYMBOL_PREFIX #symbol \ - "\n\t" declare_symbol_alias_1_alias (symbol, original) \ - "\n\t.type " __SYMBOL_PREFIX #symbol ", " \ - "%" #type \ - "\n\t.size " __SYMBOL_PREFIX #symbol ", " #size); # ifdef HAVE_ASM_SET_DIRECTIVE -# define declare_symbol_alias_1_alias(symbol, original) \ - ".set " __SYMBOL_PREFIX #symbol ", " __SYMBOL_PREFIX #original +# define declare_object_symbol_alias_1(symbol, original, size) \ + asm (".global " __SYMBOL_PREFIX # symbol "\n" \ + ".type " __SYMBOL_PREFIX # symbol ", %object\n" \ + ".set " __SYMBOL_PREFIX #symbol ", " __SYMBOL_PREFIX original "\n" \ + ".size " __SYMBOL_PREFIX #symbol ", " #size "\n"); # else -# define declare_symbol_alias_1_alias(symbol, original) \ - __SYMBOL_PREFIX #symbol " = " __SYMBOL_PREFIX #original +# define declare_object_symbol_alias_1(symbol, original, size) \ + asm (".global " __SYMBOL_PREFIX # symbol "\n" \ + ".type " __SYMBOL_PREFIX # symbol ", %object\n" \ + __SYMBOL_PREFIX #symbol " = " __SYMBOL_PREFIX original "\n" \ + ".size " __SYMBOL_PREFIX #symbol ", " #size "\n"); # endif /* HAVE_ASM_SET_DIRECTIVE */ #endif /* __ASSEMBLER__ */ @@ -419,7 +338,7 @@ for linking") _set_symbol_version (real, #name "@@" #version) # endif -/* Evalutes to a string literal for VERSION in LIB. */ +/* Evaluates to a string literal for VERSION in LIB. */ # define symbol_version_string(lib, version) \ _symbol_version_stringify_1 (VERSION_##lib##_##version) # define _symbol_version_stringify_1(arg) _symbol_version_stringify_2 (arg) @@ -532,11 +451,15 @@ for linking") __attribute__ ((visibility ("hidden"), ##attrs)) # define hidden_proto(name, attrs...) \ __hidden_proto (name, , __GI_##name, ##attrs) +# define hidden_proto_alias(name, alias, attrs...) \ + __hidden_proto_alias (name, , alias, ##attrs) # define hidden_tls_proto(name, attrs...) \ __hidden_proto (name, __thread, __GI_##name, ##attrs) # define __hidden_proto(name, thread, internal, attrs...) \ extern thread __typeof (name) name __asm__ (__hidden_asmname (#internal)) \ __hidden_proto_hiddenattr (attrs); +# define __hidden_proto_alias(name, thread, internal, attrs...) \ + extern thread __typeof (name) internal __hidden_proto_hiddenattr (attrs); # define __hidden_asmname(name) \ __hidden_asmname1 (__USER_LABEL_PREFIX__, name) # define __hidden_asmname1(prefix, name) __hidden_asmname2(prefix, name) @@ -550,9 +473,11 @@ for linking") __attribute__((alias (__hidden_asmname (#local)))) \ __attribute_copy__ (name) # define hidden_ver(local, name) __hidden_ver1(local, __GI_##name, name); -# define hidden_data_ver(local, name) hidden_ver(local, name) # define hidden_def(name) __hidden_ver1(__GI_##name, name, name); +# define hidden_def_alias(name, internal) \ + strong_alias (name, internal) # define hidden_data_def(name) hidden_def(name) +# define hidden_data_def_alias(name, alias) hidden_def_alias(name, alias) # define hidden_tls_def(name) \ __hidden_ver2 (__thread, __GI_##name, name, name); # define hidden_weak(name) \ @@ -579,12 +504,13 @@ for linking") hidden_proto doesn't make sense for assembly but the equivalent is to call via the HIDDEN_JUMPTARGET macro instead of JUMPTARGET. */ # define hidden_def(name) strong_alias (name, __GI_##name) +# define hidden_def_alias(name, alias) strong_alias (name, alias) # define hidden_weak(name) hidden_def (name) # define hidden_ver(local, name) strong_alias (local, __GI_##name) # define hidden_data_def(name) strong_data_alias (name, __GI_##name) +# define hidden_data_def_alias(name, alias) strong_data_alias (name, alias) # define hidden_tls_def(name) hidden_data_def (name) # define hidden_data_weak(name) hidden_data_def (name) -# define hidden_data_ver(local, name) strong_data_alias (local, __GI_##name) # define HIDDEN_JUMPTARGET(name) __GI_##name # endif #else @@ -596,12 +522,17 @@ for linking") __attribute__ ((visibility ("hidden"), ##attrs)) # define hidden_proto(name, attrs...) \ __hidden_proto (name, , name, ##attrs) +# define hidden_proto_alias(name, alias, attrs...) \ + __hidden_proto_alias (name, , alias, ##attrs) # define hidden_tls_proto(name, attrs...) \ __hidden_proto (name, __thread, name, ##attrs) # define __hidden_proto(name, thread, internal, attrs...) \ extern thread __typeof (name) name __hidden_proto_hiddenattr (attrs); +# define __hidden_proto_alias(name, thread, internal, attrs...) \ + extern thread __typeof (name) internal __hidden_proto_hiddenattr (attrs); # else # define hidden_proto(name, attrs...) +# define hidden_proto_alias(name, alias, attrs...) # define hidden_tls_proto(name, attrs...) # endif # else @@ -609,256 +540,116 @@ for linking") # endif /* Not __ASSEMBLER__ */ # define hidden_weak(name) # define hidden_def(name) +# define hidden_def_alias(name, alias) # define hidden_ver(local, name) # define hidden_data_weak(name) # define hidden_data_def(name) +# define hidden_data_def_alias(name, alias) # define hidden_tls_def(name) -# define hidden_data_ver(local, name) # define hidden_nolink(name, lib, version) #endif #if IS_IN (libc) # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) +# define libc_hidden_proto_alias(name, alias, attrs...) \ + hidden_proto_alias (name, alias, ##attrs) # define libc_hidden_tls_proto(name, attrs...) hidden_tls_proto (name, ##attrs) # define libc_hidden_def(name) hidden_def (name) # define libc_hidden_weak(name) hidden_weak (name) # define libc_hidden_nolink_sunrpc(name, version) hidden_nolink (name, libc, version) # define libc_hidden_ver(local, name) hidden_ver (local, name) # define libc_hidden_data_def(name) hidden_data_def (name) +# define libc_hidden_data_def_alias(name, alias) hidden_data_def_alias (name, alias) # define libc_hidden_tls_def(name) hidden_tls_def (name) # define libc_hidden_data_weak(name) hidden_data_weak (name) -# define libc_hidden_data_ver(local, name) hidden_data_ver (local, name) #else # define libc_hidden_proto(name, attrs...) +# define libc_hidden_proto_alias(name, alias, attrs...) # define libc_hidden_tls_proto(name, attrs...) # define libc_hidden_def(name) # define libc_hidden_weak(name) # define libc_hidden_ver(local, name) # define libc_hidden_data_def(name) +# define libc_hidden_data_def_alias(name, alias) # define libc_hidden_tls_def(name) # define libc_hidden_data_weak(name) -# define libc_hidden_data_ver(local, name) #endif #if IS_IN (rtld) # define rtld_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) -# define rtld_hidden_tls_proto(name, attrs...) hidden_tls_proto (name, ##attrs) # define rtld_hidden_def(name) hidden_def (name) # define rtld_hidden_weak(name) hidden_weak (name) -# define rtld_hidden_ver(local, name) hidden_ver (local, name) # define rtld_hidden_data_def(name) hidden_data_def (name) -# define rtld_hidden_tls_def(name) hidden_tls_def (name) -# define rtld_hidden_data_weak(name) hidden_data_weak (name) -# define rtld_hidden_data_ver(local, name) hidden_data_ver (local, name) #else # define rtld_hidden_proto(name, attrs...) -# define rtld_hidden_tls_proto(name, attrs...) # define rtld_hidden_def(name) # define rtld_hidden_weak(name) -# define rtld_hidden_ver(local, name) # define rtld_hidden_data_def(name) -# define rtld_hidden_tls_def(name) -# define rtld_hidden_data_weak(name) -# define rtld_hidden_data_ver(local, name) #endif #if IS_IN (libm) # define libm_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) -# define libm_hidden_tls_proto(name, attrs...) hidden_tls_proto (name, ##attrs) # define libm_hidden_def(name) hidden_def (name) # define libm_hidden_weak(name) hidden_weak (name) # define libm_hidden_ver(local, name) hidden_ver (local, name) -# define libm_hidden_data_def(name) hidden_data_def (name) -# define libm_hidden_tls_def(name) hidden_tls_def (name) -# define libm_hidden_data_weak(name) hidden_data_weak (name) -# define libm_hidden_data_ver(local, name) hidden_data_ver (local, name) #else # define libm_hidden_proto(name, attrs...) -# define libm_hidden_tls_proto(name, attrs...) # define libm_hidden_def(name) # define libm_hidden_weak(name) # define libm_hidden_ver(local, name) -# define libm_hidden_data_def(name) -# define libm_hidden_tls_def(name) -# define libm_hidden_data_weak(name) -# define libm_hidden_data_ver(local, name) #endif #if IS_IN (libmvec) -# define libmvec_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) -# define libmvec_hidden_tls_proto(name, attrs...) hidden_tls_proto (name, ##attrs) # define libmvec_hidden_def(name) hidden_def (name) -# define libmvec_hidden_weak(name) hidden_weak (name) -# define libmvec_hidden_ver(local, name) hidden_ver (local, name) -# define libmvec_hidden_data_def(name) hidden_data_def (name) -# define libmvec_hidden_tls_def(name) hidden_tls_def (name) -# define libmvec_hidden_data_weak(name) hidden_data_weak (name) -# define libmvec_hidden_data_ver(local, name) hidden_data_ver (local, name) #else -# define libmvec_hidden_proto(name, attrs...) -# define libmvec_hidden_tls_proto(name, attrs...) # define libmvec_hidden_def(name) -# define libmvec_hidden_weak(name) -# define libmvec_hidden_ver(local, name) -# define libmvec_hidden_data_def(name) -# define libmvec_hidden_tls_def(name) -# define libmvec_hidden_data_weak(name) -# define libmvec_hidden_data_ver(local, name) #endif #if IS_IN (libresolv) # define libresolv_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) -# define libresolv_hidden_tls_proto(name, attrs...) \ - hidden_tls_proto (name, ##attrs) # define libresolv_hidden_def(name) hidden_def (name) -# define libresolv_hidden_weak(name) hidden_weak (name) -# define libresolv_hidden_ver(local, name) hidden_ver (local, name) # define libresolv_hidden_data_def(name) hidden_data_def (name) -# define libresolv_hidden_tls_def(name) hidden_tls_def (name) -# define libresolv_hidden_data_weak(name) hidden_data_weak (name) -# define libresolv_hidden_data_ver(local, name) hidden_data_ver (local, name) #else # define libresolv_hidden_proto(name, attrs...) -# define libresolv_hidden_tls_proto(name, attrs...) # define libresolv_hidden_def(name) -# define libresolv_hidden_weak(name) -# define libresolv_hidden_ver(local, name) # define libresolv_hidden_data_def(name) -# define libresolv_hidden_tls_def(name) -# define libresolv_hidden_data_weak(name) -# define libresolv_hidden_data_ver(local, name) #endif #if IS_IN (libpthread) # define libpthread_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) -# define libpthread_hidden_tls_proto(name, attrs...) \ - hidden_tls_proto (name, ##attrs) # define libpthread_hidden_def(name) hidden_def (name) -# define libpthread_hidden_weak(name) hidden_weak (name) -# define libpthread_hidden_ver(local, name) hidden_ver (local, name) -# define libpthread_hidden_data_def(name) hidden_data_def (name) -# define libpthread_hidden_tls_def(name) hidden_tls_def (name) -# define libpthread_hidden_data_weak(name) hidden_data_weak (name) -# define libpthread_hidden_data_ver(local, name) hidden_data_ver (local, name) #else # define libpthread_hidden_proto(name, attrs...) -# define libpthread_hidden_tls_proto(name, attrs...) # define libpthread_hidden_def(name) -# define libpthread_hidden_weak(name) -# define libpthread_hidden_ver(local, name) -# define libpthread_hidden_data_def(name) -# define libpthread_hidden_tls_def(name) -# define libpthread_hidden_data_weak(name) -# define libpthread_hidden_data_ver(local, name) #endif #if IS_IN (librt) # define librt_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) -# define librt_hidden_tls_proto(name, attrs...) \ - hidden_tls_proto (name, ##attrs) -# define librt_hidden_def(name) hidden_def (name) -# define librt_hidden_weak(name) hidden_weak (name) # define librt_hidden_ver(local, name) hidden_ver (local, name) -# define librt_hidden_data_def(name) hidden_data_def (name) -# define librt_hidden_tls_def(name) hidden_tls_def (name) -# define librt_hidden_data_weak(name) hidden_data_weak (name) -# define librt_hidden_data_ver(local, name) hidden_data_ver (local, name) #else # define librt_hidden_proto(name, attrs...) -# define librt_hidden_tls_proto(name, attrs...) -# define librt_hidden_def(name) -# define librt_hidden_weak(name) # define librt_hidden_ver(local, name) -# define librt_hidden_data_def(name) -# define librt_hidden_tls_def(name) -# define librt_hidden_data_weak(name) -# define librt_hidden_data_ver(local, name) -#endif - -#if IS_IN (libdl) -# define libdl_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) -# define libdl_hidden_tls_proto(name, attrs...) \ - hidden_tls_proto (name, ##attrs) -# define libdl_hidden_def(name) hidden_def (name) -# define libdl_hidden_weak(name) hidden_weak (name) -# define libdl_hidden_ver(local, name) hidden_ver (local, name) -# define libdl_hidden_data_def(name) hidden_data_def (name) -# define libdl_hidden_tls_def(name) hidden_tls_def (name) -# define libdl_hidden_data_weak(name) hidden_data_weak (name) -# define libdl_hidden_data_ver(local, name) hidden_data_ver (local, name) -#else -# define libdl_hidden_proto(name, attrs...) -# define libdl_hidden_tls_proto(name, attrs...) -# define libdl_hidden_def(name) -# define libdl_hidden_weak(name) -# define libdl_hidden_ver(local, name) -# define libdl_hidden_data_def(name) -# define libdl_hidden_tls_def(name) -# define libdl_hidden_data_weak(name) -# define libdl_hidden_data_ver(local, name) #endif #if IS_IN (libnsl) # define libnsl_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) -# define libnsl_hidden_tls_proto(name, attrs...) \ - hidden_tls_proto (name, ##attrs) # define libnsl_hidden_nolink_def(name, version) hidden_nolink (name, libnsl, version) -# define libnsl_hidden_weak(name) hidden_weak (name) -# define libnsl_hidden_ver(local, name) hidden_ver (local, name) -# define libnsl_hidden_data_def(name) hidden_data_def (name) -# define libnsl_hidden_tls_def(name) hidden_tls_def (name) -# define libnsl_hidden_data_weak(name) hidden_data_weak (name) -# define libnsl_hidden_data_ver(local, name) hidden_data_ver (local, name) #else # define libnsl_hidden_proto(name, attrs...) -# define libnsl_hidden_tls_proto(name, attrs...) -# define libnsl_hidden_weak(name) -# define libnsl_hidden_ver(local, name) -# define libnsl_hidden_data_def(name) -# define libnsl_hidden_tls_def(name) -# define libnsl_hidden_data_weak(name) -# define libnsl_hidden_data_ver(local, name) #endif #define libc_hidden_builtin_proto(name, attrs...) libc_hidden_proto (name, ##attrs) #define libc_hidden_builtin_def(name) libc_hidden_def (name) -#define libc_hidden_builtin_weak(name) libc_hidden_weak (name) -#define libc_hidden_builtin_ver(local, name) libc_hidden_ver (local, name) #define libc_hidden_ldbl_proto(name, attrs...) libc_hidden_proto (name, ##attrs) #ifdef __ASSEMBLER__ # define HIDDEN_BUILTIN_JUMPTARGET(name) HIDDEN_JUMPTARGET(name) #endif -#if IS_IN (libutil) -# define libutil_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) -# define libutil_hidden_tls_proto(name, attrs...) \ - hidden_tls_proto (name, ##attrs) -# define libutil_hidden_def(name) hidden_def (name) -# define libutil_hidden_weak(name) hidden_weak (name) -# define libutil_hidden_ver(local, name) hidden_ver (local, name) -# define libutil_hidden_data_def(name) hidden_data_def (name) -# define libutil_hidden_tls_def(name) hidden_tls_def (name) -# define libutil_hidden_data_weak(name) hidden_data_weak (name) -# define libutil_hidden_data_ver(local, name) hidden_data_ver (local, name) -#else -# define libutil_hidden_proto(name, attrs...) -# define libutil_hidden_tls_proto(name, attrs...) -# define libutil_hidden_def(name) -# define libutil_hidden_weak(name) -# define libutil_hidden_ver(local, name) -# define libutil_hidden_data_def(name) -# define libutil_hidden_tls_def(name) -# define libutil_hidden_data_weak(name) -# define libutil_hidden_data_ver(local, name) -#endif - #if IS_IN (libanl) # define libanl_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) -# define libanl_hidden_def(name) hidden_def (name) #else # define libanl_hidden_proto(name, attrs...) -# define libanl_hidden_def(name) #endif /* Get some dirty hacks. */ @@ -869,11 +660,8 @@ for linking") #ifndef __ASSEMBLER__ # define attribute_compat_text_section \ __attribute__ ((section (".text.compat"))) -# define attribute_compat_data_section \ - __attribute__ ((section (".data.compat"))) #else # define compat_text_section .section ".text.compat", "ax"; -# define compat_data_section .section ".data.compat", "aw"; #endif /* Helper / base macros for indirect function symbols. */ @@ -924,7 +712,7 @@ for linking") If you have an implementation for foo which e.g. uses a special hardware feature which isn't available on all machines where this libc.so will be - used but decideable if available at runtime e.g. via hwcaps, you can provide + used but decidable if available at runtime e.g. via hwcaps, you can provide two or multiple implementations of foo: int __foo_default (int __bar) @@ -977,7 +765,7 @@ for linking") : __foo_default); This will define the ifunc'ed symbol foo like above. The redirection of foo - in header file is needed to omit an additional defintion of __GI_foo which + in header file is needed to omit an additional definition of __GI_foo which would end in a linker error while linking libc.so. You have to specify __redirect_foo as first parameter which is used within libc_ifunc_redirected macro in conjunction with typeof to define the ifunc'ed symbol foo. diff --git a/lib/libc/glibc/include/signal.h b/lib/libc/glibc/include/signal.h index 2a278697c1acb300285c9cea3b324b890cda95dc..73f18dddd7fd3b926b8c81387715fc8321bc63ec 100644 --- a/lib/libc/glibc/include/signal.h +++ b/lib/libc/glibc/include/signal.h @@ -14,10 +14,8 @@ libc_hidden_proto (__sigpause) libc_hidden_proto (raise) libc_hidden_proto (__libc_current_sigrtmin) libc_hidden_proto (__libc_current_sigrtmax) -extern const char * const __sys_siglist[_NSIG]; -libc_hidden_proto (__sys_siglist) -extern const char * const __sys_sigabbrev[_NSIG]; -libc_hidden_proto (__sys_sigabbrev) +extern const char * const __sys_siglist[_NSIG] attribute_hidden; +extern const char * const __sys_sigabbrev[_NSIG] attribute_hidden; /* Now define the internal interfaces. */ extern __sighandler_t __bsd_signal (int __sig, __sighandler_t __handler); diff --git a/lib/libc/glibc/include/stap-probe.h b/lib/libc/glibc/include/stap-probe.h index 9e13a4decc494ba9c65cb4c23100e66f611d820d..80e88fbac426cd1250b9c36556b1ee2347650c76 100644 --- a/lib/libc/glibc/include/stap-probe.h +++ b/lib/libc/glibc/include/stap-probe.h @@ -1,5 +1,5 @@ /* Macros for defining Systemtap static probe points. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/include/stdlib.h b/lib/libc/glibc/include/stdlib.h index 1c6f70b0820ced97ade127366db68de4f70928ec..7deb8193d746ff0b87e06ebf8abf9637bf866e26 100644 --- a/lib/libc/glibc/include/stdlib.h +++ b/lib/libc/glibc/include/stdlib.h @@ -1,6 +1,7 @@ #ifndef _STDLIB_H #ifndef _ISOMAC +# include # include #endif @@ -35,6 +36,45 @@ libc_hidden_proto (__strtod_l) libc_hidden_proto (__strtof_l) libc_hidden_proto (__strtold_l) +extern __typeof (strtol) __isoc23_strtol __attribute_copy__ (strtol); +extern __typeof (strtoul) __isoc23_strtoul __attribute_copy__ (strtoul); +extern __typeof (strtoll) __isoc23_strtoll __attribute_copy__ (strtoll); +extern __typeof (strtoull) __isoc23_strtoull __attribute_copy__ (strtoull); +extern __typeof (strtol_l) __isoc23_strtol_l __attribute_copy__ (strtol_l); +extern __typeof (strtoul_l) __isoc23_strtoul_l __attribute_copy__ (strtoul_l); +extern __typeof (strtoll_l) __isoc23_strtoll_l __attribute_copy__ (strtoll_l); +extern __typeof (strtoull_l) __isoc23_strtoull_l __attribute_copy__ (strtoull_l); +libc_hidden_proto (__isoc23_strtol) +libc_hidden_proto (__isoc23_strtoul) +libc_hidden_proto (__isoc23_strtoll) +libc_hidden_proto (__isoc23_strtoull) +libc_hidden_proto (__isoc23_strtol_l) +libc_hidden_proto (__isoc23_strtoul_l) +libc_hidden_proto (__isoc23_strtoll_l) +libc_hidden_proto (__isoc23_strtoull_l) + +#if __GLIBC_USE (C2X_STRTOL) +/* Redirect internal uses of these functions to the C2X versions; the + redirection in the installed header does not work with + libc_hidden_proto. */ +# undef strtol +# define strtol __isoc23_strtol +# undef strtoul +# define strtoul __isoc23_strtoul +# undef strtoll +# define strtoll __isoc23_strtoll +# undef strtoull +# define strtoull __isoc23_strtoull +# undef strtol_l +# define strtol_l __isoc23_strtol_l +# undef strtoul_l +# define strtoul_l __isoc23_strtoul_l +# undef strtoll_l +# define strtoll_l __isoc23_strtoll_l +# undef strtoull_l +# define strtoull_l __isoc23_strtoull_l +#endif + libc_hidden_proto (exit) libc_hidden_proto (abort) libc_hidden_proto (getenv) @@ -144,6 +184,15 @@ libc_hidden_proto (__ptsname_r) libc_hidden_proto (grantpt) libc_hidden_proto (unlockpt) +__typeof (arc4random) __arc4random; +libc_hidden_proto (__arc4random); +__typeof (arc4random_buf) __arc4random_buf; +libc_hidden_proto (__arc4random_buf); +__typeof (arc4random_uniform) __arc4random_uniform; +libc_hidden_proto (__arc4random_uniform); +extern void __arc4random_buf_internal (void *buffer, size_t len) + attribute_hidden; + extern double __strtod_internal (const char *__restrict __nptr, char **__restrict __endptr, int __group) __THROW __nonnull ((1)) __wur; @@ -193,23 +242,25 @@ extern long double ____strtold_l_internal (const char *__restrict __nptr, extern long int ____strtol_l_internal (const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group, - locale_t __loc); + bool __bin_cst, locale_t __loc); extern unsigned long int ____strtoul_l_internal (const char * __restrict __nptr, char **__restrict __endptr, int __base, int __group, + bool __bin_cst, locale_t __loc); __extension__ extern long long int ____strtoll_l_internal (const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group, - locale_t __loc); + bool __bin_cst, locale_t __loc); __extension__ extern unsigned long long int ____strtoull_l_internal (const char * __restrict __nptr, char ** __restrict __endptr, int __base, int __group, + bool __bin_cst, locale_t __loc); libc_hidden_proto (____strtof_l_internal) diff --git a/lib/libc/glibc/include/sys/cdefs.h b/lib/libc/glibc/include/sys/cdefs.h index 6a76160ed4e4cabbf8a70249beba4a3b01130043..b84ad34a7019ee01325b29dd28b9d5c516c45d45 100644 --- a/lib/libc/glibc/include/sys/cdefs.h +++ b/lib/libc/glibc/include/sys/cdefs.h @@ -1,5 +1,12 @@ #ifndef _SYS_CDEFS_H +/* This is outside of _ISOMAC to enforce that _Static_assert always + uses the two-argument form. This can be removed once the minimum + GCC version used to compile glibc is GCC 9.1. */ +#ifndef __cplusplus +# define _Static_assert(expr, diagnostic) _Static_assert (expr, diagnostic) +#endif + #include #ifndef _ISOMAC @@ -33,6 +40,20 @@ rtld_hidden_proto (__chk_fail) #endif +#if defined SHARED +#if IS_IN (libc) && __USE_FORTIFY_LEVEL > 0 && defined __fortify_function + +#undef __REDIRECT_FORTIFY +#define __REDIRECT_FORTIFY(name, proto, alias) \ + __REDIRECT(name, proto, __GI_##alias) + +#undef __REDIRECT_FORTIFY_NTH +#define __REDIRECT_FORTIFY_NTH(name, proto, alias) \ + __REDIRECT_NTH(name, proto, __GI_##alias) + +#endif +#endif /* defined SHARED */ + #endif /* !defined _ISOMAC */ #endif diff --git a/lib/libc/glibc/include/sys/select.h b/lib/libc/glibc/include/sys/select.h index a8961afbed66dd8bfec1d101ddf389d8e2933063..45376461e9634b3b231771f42175d959a2f43eaa 100644 --- a/lib/libc/glibc/include/sys/select.h +++ b/lib/libc/glibc/include/sys/select.h @@ -3,6 +3,10 @@ #ifndef _ISOMAC /* Now define the internal interfaces. */ + +#include +libc_hidden_proto (__fdelt_chk) + # if __TIMESIZE == 64 # define __pselect64 __pselect # define __select64 __select diff --git a/lib/libc/glibc/include/sys/stat.h b/lib/libc/glibc/include/sys/stat.h index 13e777b3c78bc06d1acaa1413048bbba55b18a51..4a29e842defc73dbf2f017875673b2d490f20535 100644 --- a/lib/libc/glibc/include/sys/stat.h +++ b/lib/libc/glibc/include/sys/stat.h @@ -66,10 +66,12 @@ hidden_proto (__fstatat64_time64); extern int __chmod (const char *__file, __mode_t __mode); libc_hidden_proto (__chmod) extern int __fchmod (int __fd, __mode_t __mode); +extern int __fchmodat (int __fd, const char *__file, mode_t __mode, int __flag); libc_hidden_proto (fchmodat) extern __mode_t __umask (__mode_t __mask); extern int __mkdir (const char *__path, __mode_t __mode); libc_hidden_proto (__mkdir) +extern int __mkdirat (int __fd, const char *__path, mode_t __mode); extern int __mknodat (int fd, const char *path, mode_t mode, dev_t dev); libc_hidden_proto (__mknodat); diff --git a/lib/libc/glibc/io/bits/statx.h b/lib/libc/glibc/io/bits/statx.h index ed2ac92d80a12e706dc77f28d6bd5fbc3cee31e0..6ce85921ad335ee3a06a8f36bfbc30646a707117 100644 --- a/lib/libc/glibc/io/bits/statx.h +++ b/lib/libc/glibc/io/bits/statx.h @@ -1,5 +1,5 @@ /* statx-related definitions and declarations. Generic version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/io/fcntl.h b/lib/libc/glibc/io/fcntl.h index 5c76999da3ae1c97ff425acd14109e867a2085c8..dd620c086f4eb4703ef08a5941fab18fb525fa11 100644 --- a/lib/libc/glibc/io/fcntl.h +++ b/lib/libc/glibc/io/fcntl.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -167,10 +167,6 @@ typedef __pid_t pid_t; effective IDs, not real IDs. */ #endif - -/* fcntl was a simple symbol until glibc 2.27 inclusive. glibc 2.28 onwards - * re-defines it to fcntl64 (via #define) if _FILE_OFFSET_BITS == 64. */ -#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 28) || __GLIBC__ > 2 /* Do the file control operation described by CMD on FD. The remaining arguments are interpreted depending on CMD. @@ -191,19 +187,16 @@ extern int fcntl64 (int __fd, int __cmd, ...); # endif #else /* __USE_TIME_BITS64 */ # ifdef __REDIRECT -extern int __REDIRECT (fcntl, (int __fd, int __request, ...), - __fcntl_time64) __THROW; -extern int __REDIRECT (fcntl64, (int __fd, int __request, ...), - __fcntl_time64) __THROW; +extern int __REDIRECT_NTH (fcntl, (int __fd, int __request, ...), + __fcntl_time64); +extern int __REDIRECT_NTH (fcntl64, (int __fd, int __request, ...), + __fcntl_time64); # else extern int __fcntl_time64 (int __fd, int __request, ...) __THROW; # define fcntl64 __fcntl_time64 # define fcntl __fcntl_time64 # endif #endif -#else /* glibc 2.27 or lower */ -extern int fcntl (int __fd, int __cmd, ...); -#endif /* Open FILE and return a new file descriptor for it, or -1 on error. OFLAG determines the type of access used. If O_CREAT or O_TMPFILE is set diff --git a/lib/libc/glibc/io/mknod.c b/lib/libc/glibc/io/mknod.c index bf45055fdd92e27d14ce4419c8df7d3eaf3f0d3f..c8b42671b05c6903e2b51388f6e699b997e23225 100644 --- a/lib/libc/glibc/io/mknod.c +++ b/lib/libc/glibc/io/mknod.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/io/sys/stat.h b/lib/libc/glibc/io/sys/stat.h index f7874ec5baa60022bd2e7926c4e0f1232818ad4e..7b9368f9ec14a07016fa4c36921ede2d054b75db 100644 --- a/lib/libc/glibc/io/sys/stat.h +++ b/lib/libc/glibc/io/sys/stat.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/locale/bits/types/__locale_t.h b/lib/libc/glibc/locale/bits/types/__locale_t.h index b0742bfb289fda314591a89e2e917d622befa738..6b83d380d925daf62f6da6c9b5e5bc5cf2b2574a 100644 --- a/lib/libc/glibc/locale/bits/types/__locale_t.h +++ b/lib/libc/glibc/locale/bits/types/__locale_t.h @@ -1,7 +1,6 @@ /* Definition of struct __locale_struct and __locale_t. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1997. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/glibc/locale/bits/types/locale_t.h b/lib/libc/glibc/locale/bits/types/locale_t.h index f46e9b0ef5e7179f9def6284b51128418cd0a191..2de0f6d034366c5250bd7f8736dbf1b9b89cc4b5 100644 --- a/lib/libc/glibc/locale/bits/types/locale_t.h +++ b/lib/libc/glibc/locale/bits/types/locale_t.h @@ -1,5 +1,5 @@ /* Definition of locale_t. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/misc/sys/cdefs.h b/lib/libc/glibc/misc/sys/cdefs.h index e490fc1aebeadc3dc19b83e18d875d0827b9d695..90c21e270379025d6bc6a06d05781e269fd7f7f1 100644 --- a/lib/libc/glibc/misc/sys/cdefs.h +++ b/lib/libc/glibc/misc/sys/cdefs.h @@ -1,4 +1,5 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. + Copyright The GNU Toolchain Authors. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -26,8 +27,8 @@ /* The GNU libc does not support any K&R compilers or the traditional mode of ISO C compilers anymore. Check for some of the combinations not supported anymore. */ -#if defined __GNUC__ && !defined __STDC__ -# error "You need a ISO C conforming compiler to use the glibc headers" +#if defined __GNUC__ && !defined __STDC__ && !defined __cplusplus +# error "You need a ISO C or C++ conforming compiler to use the glibc headers" #endif /* Some user header file might have defined this before. */ @@ -80,7 +81,7 @@ # define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct # define __NTHNL(fct) __attribute__ ((__nothrow__)) fct # else -# if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major >= 4) +# if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major__ >= 4) # if __cplusplus >= 201103L # define __THROW noexcept (true) # else @@ -97,6 +98,12 @@ # endif # endif +# if __GNUC_PREREQ (4, 3) || __glibc_has_attribute (__cold__) +# define __COLD __attribute__ ((__cold__)) +# else +# define __COLD +# endif + #else /* Not GCC or clang. */ # if (defined __cplusplus \ @@ -109,6 +116,7 @@ # define __THROW # define __THROWNL # define __NTH(fct) fct +# define __COLD #endif /* GCC || clang. */ @@ -142,7 +150,8 @@ #define __bos0(ptr) __builtin_object_size (ptr, 0) /* Use __builtin_dynamic_object_size at _FORTIFY_SOURCE=3 when available. */ -#if __USE_FORTIFY_LEVEL == 3 && __glibc_clang_prereq (9, 0) +#if __USE_FORTIFY_LEVEL == 3 && (__glibc_clang_prereq (9, 0) \ + || __GNUC_PREREQ (12, 0)) # define __glibc_objsize0(__o) __builtin_dynamic_object_size (__o, 0) # define __glibc_objsize(__o) __builtin_dynamic_object_size (__o, 1) #else @@ -150,6 +159,55 @@ # define __glibc_objsize(__o) __bos (__o) #endif +#if __USE_FORTIFY_LEVEL > 0 +/* Compile time conditions to choose between the regular, _chk and _chk_warn + variants. These conditions should get evaluated to constant and optimized + away. */ + +#define __glibc_safe_len_cond(__l, __s, __osz) ((__l) <= (__osz) / (__s)) +#define __glibc_unsigned_or_positive(__l) \ + ((__typeof (__l)) 0 < (__typeof (__l)) -1 \ + || (__builtin_constant_p (__l) && (__l) > 0)) + +/* Length is known to be safe at compile time if the __L * __S <= __OBJSZ + condition can be folded to a constant and if it is true, or unknown (-1) */ +#define __glibc_safe_or_unknown_len(__l, __s, __osz) \ + ((__builtin_constant_p (__osz) && (__osz) == (__SIZE_TYPE__) -1) \ + || (__glibc_unsigned_or_positive (__l) \ + && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \ + (__s), (__osz))) \ + && __glibc_safe_len_cond ((__SIZE_TYPE__) (__l), (__s), (__osz)))) + +/* Conversely, we know at compile time that the length is unsafe if the + __L * __S <= __OBJSZ condition can be folded to a constant and if it is + false. */ +#define __glibc_unsafe_len(__l, __s, __osz) \ + (__glibc_unsigned_or_positive (__l) \ + && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \ + __s, __osz)) \ + && !__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), __s, __osz)) + +/* Fortify function f. __f_alias, __f_chk and __f_chk_warn must be + declared. */ + +#define __glibc_fortify(f, __l, __s, __osz, ...) \ + (__glibc_safe_or_unknown_len (__l, __s, __osz) \ + ? __ ## f ## _alias (__VA_ARGS__) \ + : (__glibc_unsafe_len (__l, __s, __osz) \ + ? __ ## f ## _chk_warn (__VA_ARGS__, __osz) \ + : __ ## f ## _chk (__VA_ARGS__, __osz))) + +/* Fortify function f, where object size argument passed to f is the number of + elements and not total size. */ + +#define __glibc_fortify_n(f, __l, __s, __osz, ...) \ + (__glibc_safe_or_unknown_len (__l, __s, __osz) \ + ? __ ## f ## _alias (__VA_ARGS__) \ + : (__glibc_unsafe_len (__l, __s, __osz) \ + ? __ ## f ## _chk_warn (__VA_ARGS__, (__osz) / (__s)) \ + : __ ## f ## _chk (__VA_ARGS__, (__osz) / (__s)))) +#endif + #if __GNUC_PREREQ (4,3) # define __warnattr(msg) __attribute__((__warning__ (msg))) # define __errordecl(name, msg) \ @@ -210,6 +268,14 @@ # define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname) # define __ASMNAME2(prefix, cname) __STRING (prefix) cname +#ifndef __REDIRECT_FORTIFY +#define __REDIRECT_FORTIFY __REDIRECT +#endif + +#ifndef __REDIRECT_FORTIFY_NTH +#define __REDIRECT_FORTIFY_NTH __REDIRECT_NTH +#endif + /* #elif __SOME_OTHER_COMPILER__ @@ -243,6 +309,15 @@ # define __attribute_alloc_size__(params) /* Ignore. */ #endif +/* Tell the compiler which argument to an allocation function + indicates the alignment of the allocation. */ +#if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__alloc_align__) +# define __attribute_alloc_align__(param) \ + __attribute__ ((__alloc_align__ param)) +#else +# define __attribute_alloc_align__(param) /* Ignore. */ +#endif + /* At some point during the gcc 2.96 development the `pure' attribute for functions was introduced. We don't want to use it unconditionally (although this would be possible) since it generates warnings. */ @@ -318,16 +393,18 @@ #endif /* The nonnull function attribute marks pointer parameters that - must not be NULL. */ -#ifndef __nonnull + must not be NULL. This has the name __nonnull in glibc, + and __attribute_nonnull__ in files shared with Gnulib to avoid + collision with a different __nonnull in DragonFlyBSD 5.9. */ +#ifndef __attribute_nonnull__ # if __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__) -# define __nonnull(params) __attribute__ ((__nonnull__ params)) +# define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params)) # else -# define __nonnull(params) +# define __attribute_nonnull__(params) # endif -#elif !defined __GLIBC__ -# undef __nonnull -# define __nonnull(params) _GL_ATTRIBUTE_NONNULL (params) +#endif +#ifndef __nonnull +# define __nonnull(params) __attribute_nonnull__ (params) #endif /* The returns_nonnull function attribute marks the return type of the function @@ -493,9 +570,9 @@ [!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })] #endif -/* The #ifndef lets Gnulib avoid including these on non-glibc - platforms, where the includes typically do not exist. */ -#ifdef __GLIBC__ +/* Gnulib avoids including these, as they don't work on non-glibc or + older glibc platforms. */ +#ifndef __GNULIB_CDEFS # include # include #endif @@ -507,6 +584,8 @@ # define __LDBL_REDIR(name, proto) ... unused__ldbl_redir # define __LDBL_REDIR_DECL(name) \ extern __typeof (name) name __asm (__ASMNAME ("__" #name "ieee128")); +# define __REDIRECT_LDBL(name, proto, alias) \ + name proto __asm (__ASMNAME ("__" #alias "ieee128")) /* Alias name defined automatically, with leading underscores. */ # define __LDBL_REDIR2_DECL(name) \ @@ -524,7 +603,6 @@ __LDBL_REDIR1_NTH (name, proto, __##alias##ieee128) /* Unused. */ -# define __REDIRECT_LDBL(name, proto, alias) ... unused__redirect_ldbl # define __LDBL_REDIR_NTH(name, proto) ... unused__ldbl_redir_nth # else @@ -603,12 +681,22 @@ _Static_assert (0, "IEEE 128-bits long double requires redirection on this platf size-index is not provided: access (access-mode, [, ]) */ # define __attr_access(x) __attribute__ ((__access__ x)) +/* For _FORTIFY_SOURCE == 3 we use __builtin_dynamic_object_size, which may + use the access attribute to get object sizes from function definition + arguments, so we can't use them on functions we fortify. Drop the object + size hints for such functions. */ +# if __USE_FORTIFY_LEVEL == 3 +# define __fortified_attr_access(a, o, s) __attribute__ ((__access__ (a, o))) +# else +# define __fortified_attr_access(a, o, s) __attr_access ((a, o, s)) +# endif # if __GNUC_PREREQ (11, 0) # define __attr_access_none(argno) __attribute__ ((__access__ (__none__, argno))) # else # define __attr_access_none(argno) # endif #else +# define __fortified_attr_access(a, o, s) # define __attr_access(x) # define __attr_access_none(argno) #endif diff --git a/lib/libc/glibc/misc/sys/select.h b/lib/libc/glibc/misc/sys/select.h index e9c0e8fc201a75807327c6b0c786c132666b4004..a715c089999455e196d0e1eff06071dc1f10aa37 100644 --- a/lib/libc/glibc/misc/sys/select.h +++ b/lib/libc/glibc/misc/sys/select.h @@ -1,5 +1,5 @@ /* `fd_set' type and related macros, and `select'/`pselect' declarations. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/posix/bits/cpu-set.h b/lib/libc/glibc/posix/bits/cpu-set.h index 9a7e55920cab39df9a790ade415cb901af9922a7..16037eae3056f137af4c6e6fe8cfaed39e02c157 100644 --- a/lib/libc/glibc/posix/bits/cpu-set.h +++ b/lib/libc/glibc/posix/bits/cpu-set.h @@ -1,6 +1,6 @@ /* Definition of the cpu_set_t structure used by the POSIX 1003.1b-1993 scheduling interface. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/posix/bits/types.h b/lib/libc/glibc/posix/bits/types.h index 2dc63de5c2553bcf8e8fd1e4d2f116a47c421b6b..a1e18d5a56d4db19d0df32dadd491df4bf7937f9 100644 --- a/lib/libc/glibc/posix/bits/types.h +++ b/lib/libc/glibc/posix/bits/types.h @@ -1,5 +1,5 @@ /* bits/types.h -- definitions of __*_t types underlying *_t types. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/posix/sys/types.h b/lib/libc/glibc/posix/sys/types.h index 477a45f4afcc570efc5cb77fadebbf3069d7c678..dbf41711dc99e36ba1c1db562b4e86685ccd1a55 100644 --- a/lib/libc/glibc/posix/sys/types.h +++ b/lib/libc/glibc/posix/sys/types.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/signal/signal.h b/lib/libc/glibc/signal/signal.h index 5fd93382fc81ec3da5569d6d4f48e42ad402b1bc..aff6c06045a8799f2c1ffa8c9aade56242657cd4 100644 --- a/lib/libc/glibc/signal/signal.h +++ b/lib/libc/glibc/signal/signal.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/stdlib/alloca.h b/lib/libc/glibc/stdlib/alloca.h index cd2a9e0dc1dbac2813e42474c7cb90c07af04e35..efc7116114074ecb408ab98487c4a133f9886e59 100644 --- a/lib/libc/glibc/stdlib/alloca.h +++ b/lib/libc/glibc/stdlib/alloca.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/stdlib/bits/stdlib-float.h b/lib/libc/glibc/stdlib/bits/stdlib-float.h index 3373c5bebc23e58bb2de9e055416d1aaa8b0530b..b16d0bb7db6ecc3027bd9945e23012f213b19b07 100644 --- a/lib/libc/glibc/stdlib/bits/stdlib-float.h +++ b/lib/libc/glibc/stdlib/bits/stdlib-float.h @@ -1,5 +1,5 @@ /* Floating-point inline functions for stdlib.h. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/stdlib/errno.h b/lib/libc/glibc/stdlib/errno.h index 336a37e4552ac6335a37e3e1e20816c8d0fd70d4..d15d890d851b3f32e81fe999695bfec574c4cff2 100644 --- a/lib/libc/glibc/stdlib/errno.h +++ b/lib/libc/glibc/stdlib/errno.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/stdlib/exit.h b/lib/libc/glibc/stdlib/exit.h index 0e5fef1b20b9bc7145ac9a8cb6f0397a79207931..23cfb8fd95259b1bb3505ecd5639f0d36a1df993 100644 --- a/lib/libc/glibc/stdlib/exit.h +++ b/lib/libc/glibc/stdlib/exit.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/stdlib/stdlib.h b/lib/libc/glibc/stdlib/stdlib.h index 0481c1235514f6e7389b8f22b113849257f389ba..631b0cbbed0d9fcdd85fd1958d86693ce2642bd8 100644 --- a/lib/libc/glibc/stdlib/stdlib.h +++ b/lib/libc/glibc/stdlib/stdlib.h @@ -1,4 +1,5 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. + Copyright The GNU Toolchain Authors. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -207,6 +208,71 @@ extern unsigned long long int strtoull (const char *__restrict __nptr, __THROW __nonnull ((1)); #endif /* ISO C99 or use MISC. */ +/* Versions of the above functions that handle '0b' and '0B' prefixes + in base 0 or 2. */ +#if __GLIBC_USE (C2X_STRTOL) +# ifdef __REDIRECT +extern long int __REDIRECT_NTH (strtol, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtol) + __nonnull ((1)); +extern unsigned long int __REDIRECT_NTH (strtoul, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoul) + __nonnull ((1)); +# ifdef __USE_MISC +__extension__ +extern long long int __REDIRECT_NTH (strtoq, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoll) + __nonnull ((1)); +__extension__ +extern unsigned long long int __REDIRECT_NTH (strtouq, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoull) + __nonnull ((1)); +# endif +__extension__ +extern long long int __REDIRECT_NTH (strtoll, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoll) + __nonnull ((1)); +__extension__ +extern unsigned long long int __REDIRECT_NTH (strtoull, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoull) + __nonnull ((1)); +# else +extern long int __isoc23_strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); +extern unsigned long int __isoc23_strtoul (const char *__restrict __nptr, + char **__restrict __endptr, + int __base) + __THROW __nonnull ((1)); +__extension__ +extern long long int __isoc23_strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); +__extension__ +extern unsigned long long int __isoc23_strtoull (const char *__restrict __nptr, + char **__restrict __endptr, + int __base) + __THROW __nonnull ((1)); +# define strtol __isoc23_strtol +# define strtoul __isoc23_strtoul +# ifdef __USE_MISC +# define strtoq __isoc23_strtoll +# define strtouq __isoc23_strtoull +# endif +# define strtoll __isoc23_strtoll +# define strtoull __isoc23_strtoull +# endif +#endif + /* Convert a floating-point number to a string. */ #if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) extern int strfromd (char *__dest, size_t __size, const char *__format, @@ -292,6 +358,60 @@ extern unsigned long long int strtoull_l (const char *__restrict __nptr, int __base, locale_t __loc) __THROW __nonnull ((1, 4)); +/* Versions of the above functions that handle '0b' and '0B' prefixes + in base 0 or 2. */ +# if __GLIBC_USE (C2X_STRTOL) +# ifdef __REDIRECT +extern long int __REDIRECT_NTH (strtol_l, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_strtol_l) + __nonnull ((1, 4)); +extern unsigned long int __REDIRECT_NTH (strtoul_l, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_strtoul_l) + __nonnull ((1, 4)); +__extension__ +extern long long int __REDIRECT_NTH (strtoll_l, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, + locale_t __loc), + __isoc23_strtoll_l) + __nonnull ((1, 4)); +__extension__ +extern unsigned long long int __REDIRECT_NTH (strtoull_l, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_strtoull_l) + __nonnull ((1, 4)); +# else +extern long int __isoc23_strtol_l (const char *__restrict __nptr, + char **__restrict __endptr, int __base, + locale_t __loc) __THROW __nonnull ((1, 4)); +extern unsigned long int __isoc23_strtoul_l (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc) + __THROW __nonnull ((1, 4)); +__extension__ +extern long long int __isoc23_strtoll_l (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc) + __THROW __nonnull ((1, 4)); +__extension__ +extern unsigned long long int __isoc23_strtoull_l (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc) + __THROW __nonnull ((1, 4)); +# define strtol_l __isoc23_strtol_l +# define strtoul_l __isoc23_strtoul_l +# define strtoll_l __isoc23_strtoll_l +# define strtoull_l __isoc23_strtoull_l +# endif +# endif + extern double strtod_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __THROW __nonnull ((1, 3)); @@ -532,6 +652,19 @@ extern int seed48_r (unsigned short int __seed16v[3], extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) __THROW __nonnull ((1, 2)); + +/* Return a random integer between zero and 2**32-1 (inclusive). */ +extern __uint32_t arc4random (void) + __THROW __wur; + +/* Fill the buffer with random data. */ +extern void arc4random_buf (void *__buf, size_t __size) + __THROW __nonnull ((1)); + +/* Return a random number between zero (inclusive) and the specified + limit (exclusive). */ +extern __uint32_t arc4random_uniform (__uint32_t __upper_bound) + __THROW __wur; # endif /* Use misc. */ #endif /* Use misc or X/Open. */ @@ -589,7 +722,8 @@ extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) #ifdef __USE_ISOC11 /* ISO C variant of aligned allocation. */ extern void *aligned_alloc (size_t __alignment, size_t __size) - __THROW __attribute_malloc__ __attribute_alloc_size__ ((2)) __wur; + __THROW __attribute_malloc__ __attribute_alloc_align__ ((1)) + __attribute_alloc_size__ ((2)) __wur; #endif /* Abort execution and generate a core-dump. */ @@ -943,7 +1077,8 @@ extern size_t mbstowcs (wchar_t *__restrict __pwcs, extern size_t wcstombs (char *__restrict __s, const wchar_t *__restrict __pwcs, size_t __n) __THROW - __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2)); + __fortified_attr_access (__write_only__, 1, 3) + __attr_access ((__read_only__, 2)); #ifdef __USE_MISC /* Determine whether the string value of RESPONSE matches the affirmation @@ -997,7 +1132,7 @@ extern char *ptsname (int __fd) __THROW __wur; terminal associated with the master FD is open on in BUF. Return 0 on success, otherwise an error number. */ extern int ptsname_r (int __fd, char *__buf, size_t __buflen) - __THROW __nonnull ((2)) __attr_access ((__write_only__, 2, 3)); + __THROW __nonnull ((2)) __fortified_attr_access (__write_only__, 2, 3); /* Open a master pseudo terminal and return its file descriptor. */ extern int getpt (void); diff --git a/lib/libc/glibc/string/bits/endian.h b/lib/libc/glibc/string/bits/endian.h index 6372c6f52baa1fc2b0b1e61fa012789e9c509b5f..b659a0031cb1298f2edf14b3a1449b4f8fd8e4f8 100644 --- a/lib/libc/glibc/string/bits/endian.h +++ b/lib/libc/glibc/string/bits/endian.h @@ -1,5 +1,5 @@ /* Endian macros for string.h functions - Copyright (C) 1992-2021 Free Software Foundation, Inc. + Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/string/endian.h b/lib/libc/glibc/string/endian.h index b8c5f7f33b0afaf9283deccbd6eb414767bab970..ffc66791f4884fc14ee7e504f0e5a4e118de59cc 100644 --- a/lib/libc/glibc/string/endian.h +++ b/lib/libc/glibc/string/endian.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/aarch64/crti.S b/lib/libc/glibc/sysdeps/aarch64/crti.S index d5dd25b0843e7fd1605a8ee8c626aa7bc13fb4b5..c4e3b06a4d952ea75d14e454f693cabd643b4acc 100644 --- a/lib/libc/glibc/sysdeps/aarch64/crti.S +++ b/lib/libc/glibc/sysdeps/aarch64/crti.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for AArch64. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/glibc/sysdeps/aarch64/crtn.S b/lib/libc/glibc/sysdeps/aarch64/crtn.S index 325d04cffacb7225f453aae40640e41ccfb3d7ac..b3d91ba96e61aa70b59648884fbc68b11b3b667e 100644 --- a/lib/libc/glibc/sysdeps/aarch64/crtn.S +++ b/lib/libc/glibc/sysdeps/aarch64/crtn.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for AArch64. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/glibc/sysdeps/aarch64/dl-sysdep.h b/lib/libc/glibc/sysdeps/aarch64/dl-sysdep.h deleted file mode 100644 index 8a9acd433b9c2f15c64b54102394dfcaa9ce5be4..0000000000000000000000000000000000000000 --- a/lib/libc/glibc/sysdeps/aarch64/dl-sysdep.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. - - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public License as - published by the Free Software Foundation; either version 2.1 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include_next - -/* _dl_argv cannot be attribute_relro, because _dl_start_user - might write into it after _dl_start returns. */ -#define DL_ARGV_NOT_RELRO 1 - -#define DL_EXTERN_PROTECTED_DATA diff --git a/lib/libc/glibc/sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h b/lib/libc/glibc/sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h index a0a3077b2d6f9ba7ca78ecdc17bab2c7b10672b1..e5797b28773399b0d8e4c868c341d01a7ae46967 100644 --- a/lib/libc/glibc/sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h +++ b/lib/libc/glibc/sysdeps/aarch64/nptl/bits/pthreadtypes-arch.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/glibc/sysdeps/aarch64/start.S b/lib/libc/glibc/sysdeps/aarch64/start.S index 417da8802b9ed52a536d8da697b7edf3d306da7d..9ec8e388bda46be864c2941c88610c4dceee10ca 100644 --- a/lib/libc/glibc/sysdeps/aarch64/start.S +++ b/lib/libc/glibc/sysdeps/aarch64/start.S @@ -1,11 +1,28 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public License as - published by the Free Software Foundation; either version 2.1 of the - License, or (at your option) any later version. + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + In addition to the permissions in the GNU Lesser General Public + License, the Free Software Foundation gives you unlimited + permission to link the compiled version of this file with other + programs, and to distribute those programs without any restriction + coming from the use of this file. (The GNU Lesser General Public + License restrictions do apply in other respects; for example, they + cover modification of the file, and distribution when not linked + into another program.) + + Note that people who make modified versions of this file are not + obligated to grant this special exception for their modified + versions; it is their choice whether to do so. The GNU Lesser + General Public License gives permission to release a modified + version without this exception; this exception also makes it + possible to release a modified version which carries forward this + exception. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -13,7 +30,7 @@ Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see + License along with the GNU C Library; if not, see . */ #include diff --git a/lib/libc/glibc/sysdeps/aarch64/sysdep.h b/lib/libc/glibc/sysdeps/aarch64/sysdep.h index b936e29cbdf8d6da80c9ca1a623c52ecf31bf23e..37ee891fc4c3f34fcf8fd7f3a8964575d20902de 100644 --- a/lib/libc/glibc/sysdeps/aarch64/sysdep.h +++ b/lib/libc/glibc/sysdeps/aarch64/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/glibc/sysdeps/alpha/crti.S b/lib/libc/glibc/sysdeps/alpha/crti.S index 88bd8710a6befb63712d634140ede97ddad6dc2c..da0babd80b9d9eb5892218d6f96d806ec9b36864 100644 --- a/lib/libc/glibc/sysdeps/alpha/crti.S +++ b/lib/libc/glibc/sysdeps/alpha/crti.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for Alpha. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/alpha/crtn.S b/lib/libc/glibc/sysdeps/alpha/crtn.S index 96f3ccf5220552915c5a8e771d1f1cd3d28f3f3a..86ac0e47a34d29eece5659b624a6657f5ffc923b 100644 --- a/lib/libc/glibc/sysdeps/alpha/crtn.S +++ b/lib/libc/glibc/sysdeps/alpha/crtn.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for Alpha. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/alpha/dl-sysdep.h b/lib/libc/glibc/sysdeps/alpha/dl-sysdep.h deleted file mode 100644 index c4a04430670b597bbdb4091bb83260c7bb656ffb..0000000000000000000000000000000000000000 --- a/lib/libc/glibc/sysdeps/alpha/dl-sysdep.h +++ /dev/null @@ -1,23 +0,0 @@ -/* System-specific settings for dynamic linker code. Alpha version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#include_next - -/* _dl_argv cannot be attribute_relro, because _dl_start_user - might write into it after _dl_start returns. */ -#define DL_ARGV_NOT_RELRO 1 diff --git a/lib/libc/glibc/sysdeps/alpha/start.S b/lib/libc/glibc/sysdeps/alpha/start.S index 65dcd4d39279749ecaaf99af47399698e65c5447..80d0ac36d39f27aa6f66ef4d5900f84c191b2d10 100644 --- a/lib/libc/glibc/sysdeps/alpha/start.S +++ b/lib/libc/glibc/sysdeps/alpha/start.S @@ -1,7 +1,6 @@ /* Startup code for Alpha/ELF. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Richard Henderson The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/glibc/sysdeps/arc/sysdep.h b/lib/libc/glibc/sysdeps/arc/sysdep.h index fc774abbdfafca92da494798df6eed7fd00ab55c..4f024f6b737498903b50ae792fbbbedbab8b2925 100644 --- a/lib/libc/glibc/sysdeps/arc/sysdep.h +++ b/lib/libc/glibc/sysdeps/arc/sysdep.h @@ -1,5 +1,5 @@ /* Assembler macros for ARC. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/arm/arm-features.h b/lib/libc/glibc/sysdeps/arm/arm-features.h index 80a1e2272b5b4ee0976a410317341b5ee601b794..7f241d6b9bd8cc6eed892ebc0847ede227706278 100644 --- a/lib/libc/glibc/sysdeps/arm/arm-features.h +++ b/lib/libc/glibc/sysdeps/arm/arm-features.h @@ -1,5 +1,5 @@ /* Macros to test for CPU features on ARM. Generic ARM version. - Copyright (C) 2012-2022 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/arm/crti.S b/lib/libc/glibc/sysdeps/arm/crti.S index c06e3106263eafb25684ec547168a0094d00b111..af6ba4a122b078f0f3c921a173184876a9d4bcb0 100644 --- a/lib/libc/glibc/sysdeps/arm/crti.S +++ b/lib/libc/glibc/sysdeps/arm/crti.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for ARM. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/arm/crtn.S b/lib/libc/glibc/sysdeps/arm/crtn.S index f159ab91393e11d766d68e7d88a1662d7c1f1867..d28b31829fdd1bb962e991cfd5c758532adfe92f 100644 --- a/lib/libc/glibc/sysdeps/arm/crtn.S +++ b/lib/libc/glibc/sysdeps/arm/crtn.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for ARM. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/arm/dl-sysdep.h b/lib/libc/glibc/sysdeps/arm/dl-sysdep.h deleted file mode 100644 index 076d8228f9de375e22ad625718e52bf7bdfa0682..0000000000000000000000000000000000000000 --- a/lib/libc/glibc/sysdeps/arm/dl-sysdep.h +++ /dev/null @@ -1,25 +0,0 @@ -/* System-specific settings for dynamic linker code. Alpha version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#include_next - -/* _dl_argv cannot be attribute_relro, because _dl_start_user - might write into it after _dl_start returns. */ -#define DL_ARGV_NOT_RELRO 1 - -#define DL_EXTERN_PROTECTED_DATA diff --git a/lib/libc/glibc/sysdeps/arm/start.S b/lib/libc/glibc/sysdeps/arm/start.S index 9b56bc0cca0d3dc1b73520826434145baac2abab..f53f4581b5a3195c244512fa40f07d9797a5626a 100644 --- a/lib/libc/glibc/sysdeps/arm/start.S +++ b/lib/libc/glibc/sysdeps/arm/start.S @@ -1,5 +1,5 @@ /* Startup code for ARM & ELF - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/arm/sysdep.h b/lib/libc/glibc/sysdeps/arm/sysdep.h index cceb4a92af4396e4838af30cd63072906da795f7..18cdce8fb3175ad0c1df6a5bce47c6f7ead64398 100644 --- a/lib/libc/glibc/sysdeps/arm/sysdep.h +++ b/lib/libc/glibc/sysdeps/arm/sysdep.h @@ -1,5 +1,5 @@ /* Assembler macros for ARM. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -293,47 +293,3 @@ #else # define PC_OFS 8 #endif - -/* Pointer mangling support. */ -#if (IS_IN (rtld) \ - || (!defined SHARED && (IS_IN (libc) || IS_IN (libpthread)))) -# ifdef __ASSEMBLER__ -# define PTR_MANGLE_LOAD(guard, tmp) \ - LDR_HIDDEN (guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard_local), 0) -# define PTR_MANGLE(dst, src, guard, tmp) \ - PTR_MANGLE_LOAD(guard, tmp); \ - PTR_MANGLE2(dst, src, guard) -/* Use PTR_MANGLE2 for efficiency if guard is already loaded. */ -# define PTR_MANGLE2(dst, src, guard) \ - eor dst, src, guard -# define PTR_DEMANGLE(dst, src, guard, tmp) \ - PTR_MANGLE (dst, src, guard, tmp) -# define PTR_DEMANGLE2(dst, src, guard) \ - PTR_MANGLE2 (dst, src, guard) -# else -extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden; -# define PTR_MANGLE(var) \ - (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local) -# define PTR_DEMANGLE(var) PTR_MANGLE (var) -# endif -#else -# ifdef __ASSEMBLER__ -# define PTR_MANGLE_LOAD(guard, tmp) \ - LDR_GLOBAL (guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard), 0); -# define PTR_MANGLE(dst, src, guard, tmp) \ - PTR_MANGLE_LOAD(guard, tmp); \ - PTR_MANGLE2(dst, src, guard) -/* Use PTR_MANGLE2 for efficiency if guard is already loaded. */ -# define PTR_MANGLE2(dst, src, guard) \ - eor dst, src, guard -# define PTR_DEMANGLE(dst, src, guard, tmp) \ - PTR_MANGLE (dst, src, guard, tmp) -# define PTR_DEMANGLE2(dst, src, guard) \ - PTR_MANGLE2 (dst, src, guard) -# else -extern uintptr_t __pointer_chk_guard attribute_relro; -# define PTR_MANGLE(var) \ - (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard) -# define PTR_DEMANGLE(var) PTR_MANGLE (var) -# endif -#endif diff --git a/lib/libc/glibc/sysdeps/csky/sysdep.h b/lib/libc/glibc/sysdeps/csky/sysdep.h index fbd09aa088f48615f178b89387478587672a2352..e681782f7f2f5a717b01169f0a1c7198a523af92 100644 --- a/lib/libc/glibc/sysdeps/csky/sysdep.h +++ b/lib/libc/glibc/sysdeps/csky/sysdep.h @@ -1,5 +1,5 @@ /* Assembler macros for C-SKY. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/generic/dl-dtprocnum.h b/lib/libc/glibc/sysdeps/generic/dl-dtprocnum.h index aeda0167754f12847862ccad5d732c2579281b37..c31c82852adfdb088fbf09581ac6cc16202d628f 100644 --- a/lib/libc/glibc/sysdeps/generic/dl-dtprocnum.h +++ b/lib/libc/glibc/sysdeps/generic/dl-dtprocnum.h @@ -1,5 +1,5 @@ /* Configuration of lookup functions. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/generic/dl-sysdep.h b/lib/libc/glibc/sysdeps/generic/dl-sysdep.h index 80e12b52ab0abe65bd8bbf24ef2f4dbd8635daf2..9563ccda39ddc74f247fd303fe80e0d2d6d098ea 100644 --- a/lib/libc/glibc/sysdeps/generic/dl-sysdep.h +++ b/lib/libc/glibc/sysdeps/generic/dl-sysdep.h @@ -1,5 +1,5 @@ /* System-specific settings for dynamic linker code. Generic version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/generic/dwarf2.h b/lib/libc/glibc/sysdeps/generic/dwarf2.h index 0d08da02b7f6a39318f985af1754859243825f9d..0b0ec836d95ae8435b16228f779013a011ca0f07 100644 --- a/lib/libc/glibc/sysdeps/generic/dwarf2.h +++ b/lib/libc/glibc/sysdeps/generic/dwarf2.h @@ -1,8 +1,6 @@ /* Declarations and definitions of codes relating to the DWARF2 symbolic debugging information format. - Copyright (C) 1992-2021 Free Software Foundation, Inc. - Contributed by Gary Funck (gary@intrepid.com). Derived from the - DWARF 1 implementation written by Ron Guilmette (rfg@monkeys.com). + Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/glibc/sysdeps/generic/libc-lock.h b/lib/libc/glibc/sysdeps/generic/libc-lock.h index c538e858ea5f3a2ecc9382c7f943adee812cd824..abbf7272ca62c498511cfd0827a9e3986c026202 100644 --- a/lib/libc/glibc/sysdeps/generic/libc-lock.h +++ b/lib/libc/glibc/sysdeps/generic/libc-lock.h @@ -1,5 +1,5 @@ /* libc-internal interface for mutex locks. Stub version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/generic/libc-symver.h b/lib/libc/glibc/sysdeps/generic/libc-symver.h index 69d147e2a8df3f08ad305200c460a608387631ad..ac2b827f72f74e2c7668d304df23043c7a461653 100644 --- a/lib/libc/glibc/sysdeps/generic/libc-symver.h +++ b/lib/libc/glibc/sysdeps/generic/libc-symver.h @@ -1,5 +1,5 @@ /* Symbol version management. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/generic/single-thread.h b/lib/libc/glibc/sysdeps/generic/single-thread.h index 3f1c598d222427801939c77971c3eca3620243fd..8901ad5723ec8e9567d3728cbee081ff6079b9fb 100644 --- a/lib/libc/glibc/sysdeps/generic/single-thread.h +++ b/lib/libc/glibc/sysdeps/generic/single-thread.h @@ -1,5 +1,5 @@ /* Single thread optimization, generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/generic/symbol-hacks.h b/lib/libc/glibc/sysdeps/generic/symbol-hacks.h index 3586e6ed3879161cba25f6230c9ee3ffe85825dd..1115e4c0a7af113e21eefb99fb04ca794470e68a 100644 --- a/lib/libc/glibc/sysdeps/generic/symbol-hacks.h +++ b/lib/libc/glibc/sysdeps/generic/symbol-hacks.h @@ -1,6 +1,7 @@ /* Some compiler optimizations may transform loops into memset/memmove calls and without proper declaration it may generate PLT calls. */ -#if !defined __ASSEMBLER__ && IS_IN (libc) && defined SHARED +#if !defined __ASSEMBLER__ && IS_IN (libc) && defined SHARED \ + && !defined LIBC_NONSHARED asm ("memmove = __GI_memmove"); asm ("memset = __GI_memset"); asm ("memcpy = __GI_memcpy"); diff --git a/lib/libc/glibc/sysdeps/generic/sysdep.h b/lib/libc/glibc/sysdeps/generic/sysdep.h index 39cac91b94c69476536a276d13b63b35215751e8..e77be376f7a88527ea548900f7c75bfa5cb62c88 100644 --- a/lib/libc/glibc/sysdeps/generic/sysdep.h +++ b/lib/libc/glibc/sysdeps/generic/sysdep.h @@ -1,5 +1,5 @@ /* Generic asm macros used on many machines. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -35,7 +35,7 @@ # endif #endif -/* Makros to generate eh_frame unwind information. */ +/* Macros to generate eh_frame unwind information. */ #ifdef __ASSEMBLER__ # define cfi_startproc .cfi_startproc # define cfi_endproc .cfi_endproc diff --git a/lib/libc/glibc/sysdeps/generic/tls.h b/lib/libc/glibc/sysdeps/generic/tls.h index e86d70e6cebba5c88c27bae789b8b1a0fedb256f..bb4fe6c74cc7da53062a8119847db72abb2b9d2e 100644 --- a/lib/libc/glibc/sysdeps/generic/tls.h +++ b/lib/libc/glibc/sysdeps/generic/tls.h @@ -1,5 +1,5 @@ /* Definition for thread-local data handling. Generic version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -19,6 +19,11 @@ /* An architecture-specific version of this file has to defined a number of symbols: + TCB_ALIGNMENT + + Alignment of THREAD_SELF (struct pthread *) and the thread + pointer. + TLS_TCB_AT_TP or TLS_DTV_AT_TP The presence of one of these symbols signals which variant of @@ -43,15 +48,6 @@ dynamic linker itself. There are no threads in use at that time. - TLS_TCB_ALIGN - - Alignment requirements for the TCB structure. - - TLS_INIT_TCB_ALIGN - - Similarly, but for the structure used at startup time. - - INSTALL_DTV(tcb, init_dtv) This macro must install the given initial DTV into the thread control @@ -71,10 +67,4 @@ This macro returns the address of the DTV of the current thread. This normally is done using the thread register which points to the dtv or the TCB (from which the DTV can found). - - - THREAD_GSCOPE_IN_TCB - - This should be set to 1 if the global scope flag is stored within the TCB. - When set to 0, GL(_dl_thread_gscope_count) will be defined to store it. */ diff --git a/lib/libc/glibc/sysdeps/hppa/crti.S b/lib/libc/glibc/sysdeps/hppa/crti.S index 3864d47d51702221bd1203087e3e51b90b5b134e..eb29e9e4c4e05d3836940ea7ee814d3c20076304 100644 --- a/lib/libc/glibc/sysdeps/hppa/crti.S +++ b/lib/libc/glibc/sysdeps/hppa/crti.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for HPPA - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/hppa/crtn.S b/lib/libc/glibc/sysdeps/hppa/crtn.S index 42ca2d1f32cc3ba1aca1d448045be5e1b76f6dfa..21366369ecd89cf880ba4684be89aaa2e40fba2c 100644 --- a/lib/libc/glibc/sysdeps/hppa/crtn.S +++ b/lib/libc/glibc/sysdeps/hppa/crtn.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for HPPA - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/hppa/entry.h b/lib/libc/glibc/sysdeps/hppa/entry.h index 5ea5b47448ceb2e7e3c4085a4c26ec14209c7314..f88bb5689d297fd48dc8fb541d0b55ed9f8010df 100644 --- a/lib/libc/glibc/sysdeps/hppa/entry.h +++ b/lib/libc/glibc/sysdeps/hppa/entry.h @@ -1,6 +1,4 @@ -#ifndef __ASSEMBLY__ extern void _start (void); -#endif /* Lives in libgcc.so and canonicalizes function pointers for comparison. */ extern unsigned int __canonicalize_funcptr_for_compare (unsigned int fptr); @@ -8,6 +6,3 @@ extern unsigned int __canonicalize_funcptr_for_compare (unsigned int fptr); /* The function's entry point is stored in the first word of the function descriptor (plabel) of _start(). */ #define ENTRY_POINT __canonicalize_funcptr_for_compare((unsigned int)_start) - -/* We have to provide a special declaration. */ -#define ENTRY_POINT_DECL(class) class void _start (void); diff --git a/lib/libc/glibc/sysdeps/hppa/nptl/bits/pthreadtypes-arch.h b/lib/libc/glibc/sysdeps/hppa/nptl/bits/pthreadtypes-arch.h index bbd617600781ded67b292d72b7a4e5686ec9dab8..999195c5b06dd52462be80946e3d1f72f98a4c5b 100644 --- a/lib/libc/glibc/sysdeps/hppa/nptl/bits/pthreadtypes-arch.h +++ b/lib/libc/glibc/sysdeps/hppa/nptl/bits/pthreadtypes-arch.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/hppa/start.S b/lib/libc/glibc/sysdeps/hppa/start.S index 4a1877f8e8b4dfec5ce7bcf09cc1f9afc91e6ba3..cfc22ab75be6491e1f0c0911f33208a439647290 100644 --- a/lib/libc/glibc/sysdeps/hppa/start.S +++ b/lib/libc/glibc/sysdeps/hppa/start.S @@ -1,5 +1,5 @@ /* ELF startup code for HPPA. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/hppa/sysdep.h b/lib/libc/glibc/sysdeps/hppa/sysdep.h index e3d3cf40ce24bfb9963e3f9ebafcbb190a6bc9f3..0e020a3152c6b97c2f7bb2a71543399d9994c2d8 100644 --- a/lib/libc/glibc/sysdeps/hppa/sysdep.h +++ b/lib/libc/glibc/sysdeps/hppa/sysdep.h @@ -1,7 +1,6 @@ /* Assembler macros for HP/PA. - Copyright (C) 1999-2021 Free Software Foundation, Inc. + Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper, , August 1999. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/glibc/sysdeps/htl/bits/pthread.h b/lib/libc/glibc/sysdeps/htl/bits/pthread.h index 63dce2488929268c84e445bdab442dde8f45ab97..57589a191ce036ddfee0db8c914be86369f61ab5 100644 --- a/lib/libc/glibc/sysdeps/htl/bits/pthread.h +++ b/lib/libc/glibc/sysdeps/htl/bits/pthread.h @@ -1,5 +1,5 @@ /* Pthread data structures. Generic version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -19,7 +19,7 @@ #ifndef _BITS_PTHREAD_H #define _BITS_PTHREAD_H 1 -typedef int __pthread_t; +#include /* Return true if __T1 and __T2 both name the same thread. Otherwise, false. */ diff --git a/lib/libc/glibc/sysdeps/htl/bits/thread-shared-types.h b/lib/libc/glibc/sysdeps/htl/bits/thread-shared-types.h index 9088377d22a0de8fa389e39be2ab94823f437926..50c9bd47246f3604c7585525d3cd31dfdc126ee4 100644 --- a/lib/libc/glibc/sysdeps/htl/bits/thread-shared-types.h +++ b/lib/libc/glibc/sysdeps/htl/bits/thread-shared-types.h @@ -1,5 +1,5 @@ /* Common threading primitives definitions for both POSIX and C11. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -21,9 +21,9 @@ #include #include +#include typedef int __tss_t; -typedef int __thrd_t; typedef union { diff --git a/lib/libc/glibc/sysdeps/htl/libc-lockP.h b/lib/libc/glibc/sysdeps/htl/libc-lockP.h index eb09171c85e2a82f3b97dc56a9d3ea6161030dfa..1b98f3ccd08f2040511eb81a03d1796e3402259b 100644 --- a/lib/libc/glibc/sysdeps/htl/libc-lockP.h +++ b/lib/libc/glibc/sysdeps/htl/libc-lockP.h @@ -1,5 +1,5 @@ /* Private libc-internal interface for mutex locks. - Copyright (C) 2015-2021 Free Software Foundation, Inc. + Copyright (C) 2015-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/htl/pthread.h b/lib/libc/glibc/sysdeps/htl/pthread.h index 6bcf97d6922c4a251143c89245afa3d3da31024f..cc9e7bf94d995ad46168e094b61f937156f476b6 100644 --- a/lib/libc/glibc/sysdeps/htl/pthread.h +++ b/lib/libc/glibc/sysdeps/htl/pthread.h @@ -1,5 +1,5 @@ /* Posix threads. Hurd version. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -623,7 +623,7 @@ extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *__restrict int *__restrict __pshared) __THROW __nonnull ((1, 2)); -/* Set the value of the process shared atrribute in *ATTR to +/* Set the value of the process shared attribute in *ATTR to PSHARED. */ extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, int __pshared) @@ -645,7 +645,7 @@ extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr, # include # define PTHREAD_RWLOCK_INITIALIZER __PTHREAD_RWLOCK_INITIALIZER -/* Create a rwlock object with attributes given by ATTR and strore the +/* Create a rwlock object with attributes given by ATTR and store the result in *RWLOCK. */ extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, const pthread_rwlockattr_t *__restrict __attr) @@ -709,7 +709,7 @@ extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) -/* Cancelation. */ +/* Cancellation. */ /* Register a cleanup handler. */ extern void pthread_cleanup_push (void (*__routine) (void *), void *__arg); @@ -769,7 +769,7 @@ extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t *__restri int *__restrict __pshared) __THROW __nonnull ((1, 2)); -/* Set the value of the process shared atrribute in *ATTR to +/* Set the value of the process shared attribute in *ATTR to PSHARED. */ extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, int __pshared) @@ -878,12 +878,12 @@ extern int pthread_getcpuclockid (pthread_t __thr, __clockid_t *__clock) /* Scheduling. */ -/* Return thread THREAD's scheduling paramters. */ +/* Return thread THREAD's scheduling parameters. */ extern int pthread_getschedparam (pthread_t __thr, int *__restrict __policy, struct sched_param *__restrict __param) __THROW __nonnull ((2, 3)); -/* Set thread THREAD's scheduling paramters. */ +/* Set thread THREAD's scheduling parameters. */ extern int pthread_setschedparam (pthread_t __thr, int __policy, const struct sched_param *__param) __THROW __nonnull ((3)); diff --git a/lib/libc/glibc/sysdeps/i386/crti.S b/lib/libc/glibc/sysdeps/i386/crti.S index fd60a117e1f02ad0a2f98bc3bf673b956935158c..268ae75725910b854599e351a94dd36b27a70840 100644 --- a/lib/libc/glibc/sysdeps/i386/crti.S +++ b/lib/libc/glibc/sysdeps/i386/crti.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for x86. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/i386/crtn.S b/lib/libc/glibc/sysdeps/i386/crtn.S index 97138b51d2a088e44d924b6ee531b1d61f7fea9a..dc77093e8bed4b1afd7e5ab1780d776dd9244757 100644 --- a/lib/libc/glibc/sysdeps/i386/crtn.S +++ b/lib/libc/glibc/sysdeps/i386/crtn.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for x86. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/i386/htl/bits/pthreadtypes-arch.h b/lib/libc/glibc/sysdeps/i386/htl/bits/pthreadtypes-arch.h index e27c364b6d6b8222fa9cc6067aa6356f937ce88b..06dc4b09fbd5dbd5e4a88415de7905911c4ce493 100644 --- a/lib/libc/glibc/sysdeps/i386/htl/bits/pthreadtypes-arch.h +++ b/lib/libc/glibc/sysdeps/i386/htl/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. Hurd i386 version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/i386/start.S b/lib/libc/glibc/sysdeps/i386/start.S index 5296b27e651bd647ae06ea1b9abeade46112c5f2..4c98fc65348e4340c15845e0d07e8866f80b787f 100644 --- a/lib/libc/glibc/sysdeps/i386/start.S +++ b/lib/libc/glibc/sysdeps/i386/start.S @@ -1,5 +1,5 @@ /* Startup code compliant to the ELF i386 ABI. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -98,11 +98,10 @@ ENTRY (_start) pushl main@GOT(%ebx) # else /* Avoid relocation in static PIE since _start is called before - it is relocated. Don't use "leal main@GOTOFF(%ebx), %eax" - since main may be in a shared object. Linker will convert - "movl main@GOT(%ebx), %eax" to "leal main@GOTOFF(%ebx), %eax" + it is relocated. This also avoid rely on linker optimization to + transform 'movl main@GOT(%ebx), %eax' to 'leal main@GOTOFF(%ebx)' if main is defined locally. */ - movl main@GOT(%ebx), %eax + leal __wrap_main@GOTOFF(%ebx), %eax pushl %eax # endif @@ -130,6 +129,12 @@ ENTRY (_start) 1: movl (%esp), %ebx ret #endif + +#if defined PIC && !defined SHARED +__wrap_main: + _CET_ENDBR + jmp main@PLT +#endif END (_start) /* To fulfill the System V/i386 ABI we need this symbol. Yuck, it's so diff --git a/lib/libc/glibc/sysdeps/i386/symbol-hacks.h b/lib/libc/glibc/sysdeps/i386/symbol-hacks.h index 56655532609d32ea883965218751f2d9225479ef..68ca51e9ab0267eb982508866e3ff31f66996a2c 100644 --- a/lib/libc/glibc/sysdeps/i386/symbol-hacks.h +++ b/lib/libc/glibc/sysdeps/i386/symbol-hacks.h @@ -1,5 +1,5 @@ /* Hacks needed for symbol manipulation. i386 version. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/i386/sysdep.h b/lib/libc/glibc/sysdeps/i386/sysdep.h index 3599d1a6538df62fbc290ca2f11fdd4bb729c696..0e366974ce28f90b5758387d052adba81477af42 100644 --- a/lib/libc/glibc/sysdeps/i386/sysdep.h +++ b/lib/libc/glibc/sysdeps/i386/sysdep.h @@ -1,5 +1,5 @@ /* Assembler macros for i386. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/ia64/crti.S b/lib/libc/glibc/sysdeps/ia64/crti.S index e26e2523da844b827f4e2d302543296c6f4bb307..a8e8a2c837b9d492336aedbb527bf25312a5a313 100644 --- a/lib/libc/glibc/sysdeps/ia64/crti.S +++ b/lib/libc/glibc/sysdeps/ia64/crti.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for IA64. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/ia64/crtn.S b/lib/libc/glibc/sysdeps/ia64/crtn.S index e2c44844b9e336fe63f07377e18c0300bb35e5d4..5c74920a45315231ea79bf9b1f025bf03f70198c 100644 --- a/lib/libc/glibc/sysdeps/ia64/crtn.S +++ b/lib/libc/glibc/sysdeps/ia64/crtn.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for ARM. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/ia64/dl-dtprocnum.h b/lib/libc/glibc/sysdeps/ia64/dl-dtprocnum.h index 45e1226bfb96c5385e1bf5ece88858280ac2f5f1..170f0de583d16f07b9df4dfc8aca944aca54b69e 100644 --- a/lib/libc/glibc/sysdeps/ia64/dl-dtprocnum.h +++ b/lib/libc/glibc/sysdeps/ia64/dl-dtprocnum.h @@ -1,5 +1,5 @@ /* Configuration of lookup functions. IA-64 version. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/ia64/dl-sysdep.h b/lib/libc/glibc/sysdeps/ia64/dl-sysdep.h deleted file mode 100644 index bd29ee0d1470ee35ec66bfac0c492cc0879c8a55..0000000000000000000000000000000000000000 --- a/lib/libc/glibc/sysdeps/ia64/dl-sysdep.h +++ /dev/null @@ -1,23 +0,0 @@ -/* System-specific settings for dynamic linker code. IA-64 version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include_next - -/* _dl_argv cannot be attribute_relro, because _dl_start_user - might write into it after _dl_start returns. */ -#define DL_ARGV_NOT_RELRO 1 diff --git a/lib/libc/glibc/sysdeps/ia64/entry.h b/lib/libc/glibc/sysdeps/ia64/entry.h index e11b49fc53602eb8a0524119a49da9a9deb83f9f..9ae8b8615ca99de89fe07c2249e9e55dd0c54d0f 100644 --- a/lib/libc/glibc/sysdeps/ia64/entry.h +++ b/lib/libc/glibc/sysdeps/ia64/entry.h @@ -1,13 +1,8 @@ #include #include -#ifndef __ASSEMBLY__ extern void _start (void); -#endif /* The function's entry point is stored in the first word of the function descriptor (plabel) of _start(). */ #define ENTRY_POINT ELF_PTR_TO_FDESC (_start)->ip - -/* We have to provide a special declaration. */ -#define ENTRY_POINT_DECL(class) class void _start (void); diff --git a/lib/libc/glibc/sysdeps/ia64/start.S b/lib/libc/glibc/sysdeps/ia64/start.S index b28f8cb42967f4790cfedeaf3f4eded2fa345d1a..e07304d3edfa3f77dfdfec56d8a7ab556b624608 100644 --- a/lib/libc/glibc/sysdeps/ia64/start.S +++ b/lib/libc/glibc/sysdeps/ia64/start.S @@ -1,6 +1,5 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Written by Jes Sorensen, , April 1999. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/glibc/sysdeps/ia64/sysdep.h b/lib/libc/glibc/sysdeps/ia64/sysdep.h index 0ce3a862c37c42849c13ceb47cbacfbce95b110b..cfd884bbf071f31c972acff7d672e17311fd2a06 100644 --- a/lib/libc/glibc/sysdeps/ia64/sysdep.h +++ b/lib/libc/glibc/sysdeps/ia64/sysdep.h @@ -1,6 +1,5 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by David Mosberger-Tang The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/glibc/sysdeps/m68k/coldfire/sysdep.h b/lib/libc/glibc/sysdeps/m68k/coldfire/sysdep.h index 3a4d8f9d502023067174c6d5d36e4cd43a34408e..c52d10998c817b7ee18a503bbd541973e8f307f8 100644 --- a/lib/libc/glibc/sysdeps/m68k/coldfire/sysdep.h +++ b/lib/libc/glibc/sysdeps/m68k/coldfire/sysdep.h @@ -1,5 +1,5 @@ /* Assembler macros for Coldfire. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/m68k/crti.S b/lib/libc/glibc/sysdeps/m68k/crti.S index 45b1f276ef937419bf78c39c4df8489f50b211a8..c49dfa8f9cb82e354c9b33786cba19473ab7bc15 100644 --- a/lib/libc/glibc/sysdeps/m68k/crti.S +++ b/lib/libc/glibc/sysdeps/m68k/crti.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for m68k. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/m68k/crtn.S b/lib/libc/glibc/sysdeps/m68k/crtn.S index bc4a4a58e65ec2e5c062be8594d6766d71625e34..3161cb529263770af1e4e0a5fd75fa35e8ce5d26 100644 --- a/lib/libc/glibc/sysdeps/m68k/crtn.S +++ b/lib/libc/glibc/sysdeps/m68k/crtn.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for m68k. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/m68k/m680x0/sysdep.h b/lib/libc/glibc/sysdeps/m68k/m680x0/sysdep.h index 3583820a11fda618ab661354925391e2cf574013..b31e101273acaa909632bac44f4740791dc7a789 100644 --- a/lib/libc/glibc/sysdeps/m68k/m680x0/sysdep.h +++ b/lib/libc/glibc/sysdeps/m68k/m680x0/sysdep.h @@ -1,5 +1,5 @@ /* Assembler macros for m680x0. - Copyright (C) 2010-2021 Free Software Foundation, Inc. + Copyright (C) 2010-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/m68k/nptl/bits/pthreadtypes-arch.h b/lib/libc/glibc/sysdeps/m68k/nptl/bits/pthreadtypes-arch.h index c566403fbce5d523182c616c0964500c03e65e41..f63fb041f319563e947d509a9957cedc31aa7189 100644 --- a/lib/libc/glibc/sysdeps/m68k/nptl/bits/pthreadtypes-arch.h +++ b/lib/libc/glibc/sysdeps/m68k/nptl/bits/pthreadtypes-arch.h @@ -1,6 +1,5 @@ -/* Copyright (C) 2010-2021 Free Software Foundation, Inc. +/* Copyright (C) 2010-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Maxim Kuvyrkov , 2010. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/glibc/sysdeps/m68k/start.S b/lib/libc/glibc/sysdeps/m68k/start.S index 98da4db9f3d613f5a929e60344b46512c42b7d13..db8e47e3d55153fde5e84b664c04de66567afd53 100644 --- a/lib/libc/glibc/sysdeps/m68k/start.S +++ b/lib/libc/glibc/sysdeps/m68k/start.S @@ -1,5 +1,5 @@ /* Startup code compliant to the ELF m68k ABI. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/m68k/symbol-hacks.h b/lib/libc/glibc/sysdeps/m68k/symbol-hacks.h index 8f1635faab7e4a479cd2341b75a31db85ec7f61d..415c2e7cd264a4efd480adadd524ba2e7a64970d 100644 --- a/lib/libc/glibc/sysdeps/m68k/symbol-hacks.h +++ b/lib/libc/glibc/sysdeps/m68k/symbol-hacks.h @@ -1,5 +1,5 @@ /* Hacks needed for symbol manipulation. m68k version. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/m68k/sysdep.h b/lib/libc/glibc/sysdeps/m68k/sysdep.h index 8f474a911f384e667ceb3295ff6b561137c55d42..dfc8aebc3ae4bb0fe2498dc8abd695dc1777e644 100644 --- a/lib/libc/glibc/sysdeps/m68k/sysdep.h +++ b/lib/libc/glibc/sysdeps/m68k/sysdep.h @@ -1,5 +1,5 @@ /* Assembler macros for m68k. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/mach/i386/sysdep.h b/lib/libc/glibc/sysdeps/mach/i386/sysdep.h deleted file mode 100644 index 5523a8b5f2f2d59a58c5503c28b1e79372312ef6..0000000000000000000000000000000000000000 --- a/lib/libc/glibc/sysdeps/mach/i386/sysdep.h +++ /dev/null @@ -1,59 +0,0 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. - - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _MACH_I386_SYSDEP_H -#define _MACH_I386_SYSDEP_H 1 - -/* Defines RTLD_PRIVATE_ERRNO and USE_DL_SYSINFO. */ -#include -#include - -#define LOSE asm volatile ("hlt") - -#define SNARF_ARGS(entry_sp, argc, argv, envp) \ - do \ - { \ - char **p; \ - argc = (int) *entry_sp; \ - argv = (char **) (entry_sp + 1); \ - p = argv; \ - while (*p++ != NULL) \ - ; \ - if (p >= (char **) argv[0]) \ - --p; \ - envp = p; \ - } while (0) - -#define RETURN_TO(sp, pc, retval) \ - asm volatile ("movl %0, %%esp; jmp %*%1 # %2" \ - : : "g" (sp), "r" (pc), "a" (retval)) - - -#define STACK_GROWTH_DOWN - -/* Get the machine-independent Mach definitions. */ -#include - - -/* This should be rearranged, but at the moment this file provides - the most useful definitions for assembler syntax details. */ -#undef ENTRY -#undef ALIGN -#include - -#endif /* mach/i386/sysdep.h */ diff --git a/lib/libc/glibc/sysdeps/mach/libc-lock.h b/lib/libc/glibc/sysdeps/mach/libc-lock.h index 220fcee921f14eb3308ad7dd55774a52b44b4f44..c5c2553c7b9d589cbec35ffa70aca59a704235fd 100644 --- a/lib/libc/glibc/sysdeps/mach/libc-lock.h +++ b/lib/libc/glibc/sysdeps/mach/libc-lock.h @@ -1,5 +1,5 @@ /* libc-internal interface for mutex locks. Mach cthreads version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -34,9 +34,8 @@ typedef struct typedef __libc_lock_recursive_t __rtld_lock_recursive_t; -extern char __libc_lock_self0[0]; #define __libc_lock_owner_self() \ - (__LIBC_NO_TLS () ? (void *)&__libc_lock_self0 : THREAD_SELF) + (__LIBC_NO_TLS () ? (void *) 1 : THREAD_SELF) #else typedef struct __libc_lock_opaque__ __libc_lock_t; @@ -71,14 +70,14 @@ typedef struct __libc_lock_recursive_opaque__ __libc_lock_recursive_t; /* Lock the named lock variable. */ #define __libc_lock_lock(NAME) \ - ({ lll_lock ((NAME), 0); 0; }) + ({ lll_lock ((NAME), LLL_PRIVATE); 0; }) /* Lock the named lock variable. */ #define __libc_lock_trylock(NAME) lll_trylock (NAME) /* Unlock the named lock variable. */ #define __libc_lock_unlock(NAME) \ - ({ lll_unlock ((NAME), 0); 0; }) + ({ lll_unlock ((NAME), LLL_PRIVATE); 0; }) #define __libc_lock_define_recursive(CLASS,NAME) \ CLASS __libc_lock_recursive_t NAME; diff --git a/lib/libc/glibc/sysdeps/mach/sysdep.h b/lib/libc/glibc/sysdeps/mach/sysdep.h index ae306b3cad2c0c4796023c2ff8881997242a57c7..35ad1e3920691f637cde000f1cf04a599994b6a0 100644 --- a/lib/libc/glibc/sysdeps/mach/sysdep.h +++ b/lib/libc/glibc/sysdeps/mach/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2021 Free Software Foundation, Inc. +/* Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -30,6 +30,7 @@ /* For ELF we need to add the `.type' directive to make shared libraries work right. */ #undef ENTRY +#undef ENTRY2 #define ENTRY(name) \ .globl name; \ .align ALIGN; \ @@ -44,7 +45,7 @@ #ifndef __ASSEMBLER__ #define FATAL_PREPARE_INCLUDE -#define FATAL_PREPARE __mig_dealloc_reply_port (MACH_PORT_NULL) +#define FATAL_PREPARE __mig_dealloc_reply_port (__mig_get_reply_port ()) #endif /* sysdeps/mach/MACHINE/sysdep.h should define the following macros. */ diff --git a/lib/libc/glibc/sysdeps/microblaze/crti.S b/lib/libc/glibc/sysdeps/microblaze/crti.S index 3eb70cf9f1d7f0cc3a4f4a03929c484d9ac1f318..5eb0e283cc9d173ead85626019ebab8c745a17e9 100644 --- a/lib/libc/glibc/sysdeps/microblaze/crti.S +++ b/lib/libc/glibc/sysdeps/microblaze/crti.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for MicroBlaze. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/microblaze/crtn.S b/lib/libc/glibc/sysdeps/microblaze/crtn.S index c82fbd947ca812f5994b220218b196e8e4acc48c..2e152c917e3353c9a00ad41c7bfa40e32231063d 100644 --- a/lib/libc/glibc/sysdeps/microblaze/crtn.S +++ b/lib/libc/glibc/sysdeps/microblaze/crtn.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for MicroBlaze. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/microblaze/start.S b/lib/libc/glibc/sysdeps/microblaze/start.S index 6589bd4dc74eda1d46a4dbe4f6d0fd8fc3cb4cf4..c35c47376aba3fb76c7ece0b343695489a6145f4 100644 --- a/lib/libc/glibc/sysdeps/microblaze/start.S +++ b/lib/libc/glibc/sysdeps/microblaze/start.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/glibc/sysdeps/microblaze/sysdep.h b/lib/libc/glibc/sysdeps/microblaze/sysdep.h index a21925892688f56da554f752c6d38079bdc6b481..47d48fab8df729cdb0b4d7c111aa1fb9245f60a3 100644 --- a/lib/libc/glibc/sysdeps/microblaze/sysdep.h +++ b/lib/libc/glibc/sysdeps/microblaze/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/glibc/sysdeps/mips/dl-dtprocnum.h b/lib/libc/glibc/sysdeps/mips/dl-dtprocnum.h index 323c577f52c320c140411487a5ac217c28a3d4ba..a3bf354b83452f05478a555f5dc64387760139dc 100644 --- a/lib/libc/glibc/sysdeps/mips/dl-dtprocnum.h +++ b/lib/libc/glibc/sysdeps/mips/dl-dtprocnum.h @@ -1,5 +1,5 @@ /* Configuration of lookup functions. MIPS version. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/mips/mips32/crti.S b/lib/libc/glibc/sysdeps/mips/mips32/crti.S index 056c4f75c20acff3681d81a147b4cbfba2bf9bdb..155cd8fef780ec91fdbf82156ab88b872e022bb9 100644 --- a/lib/libc/glibc/sysdeps/mips/mips32/crti.S +++ b/lib/libc/glibc/sysdeps/mips/mips32/crti.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for MIPS (o32). - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/mips/mips32/crtn.S b/lib/libc/glibc/sysdeps/mips/mips32/crtn.S index f677e1cc25fd2b29f175714c2900c3a933790224..bad74636ae1b7ac83226e41d0d2b6eb9d1cf105c 100644 --- a/lib/libc/glibc/sysdeps/mips/mips32/crtn.S +++ b/lib/libc/glibc/sysdeps/mips/mips32/crtn.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for MIPS (o32). - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/mips/mips64/n32/crti.S b/lib/libc/glibc/sysdeps/mips/mips64/n32/crti.S index 8dc866b20ebd93fa9ec3cc0caf13f40246d95daf..bd3c9ea5ef929ae98e6e83c87df2332cd3a60e0e 100644 --- a/lib/libc/glibc/sysdeps/mips/mips64/n32/crti.S +++ b/lib/libc/glibc/sysdeps/mips/mips64/n32/crti.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for MIPS (n32). - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/mips/mips64/n32/crtn.S b/lib/libc/glibc/sysdeps/mips/mips64/n32/crtn.S index 820111c4cba55c8da0d198a60c1ee326f1a828e1..084775ac889da5902c78d8e7afc2cc9a6476a7b5 100644 --- a/lib/libc/glibc/sysdeps/mips/mips64/n32/crtn.S +++ b/lib/libc/glibc/sysdeps/mips/mips64/n32/crtn.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for MIPS (n32). - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/mips/mips64/n64/crti.S b/lib/libc/glibc/sysdeps/mips/mips64/n64/crti.S index 52666963d589ccc6e4c41d28292c770b5307d5b2..b21c052aa41def0944951d82c376b8f6e9dc3a23 100644 --- a/lib/libc/glibc/sysdeps/mips/mips64/n64/crti.S +++ b/lib/libc/glibc/sysdeps/mips/mips64/n64/crti.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for MIPS (n64). - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/mips/mips64/n64/crtn.S b/lib/libc/glibc/sysdeps/mips/mips64/n64/crtn.S index 875c8e06c5218805b634190675647e8d28ea1821..1d9c59fa9d7eb7b1d45e7f03bdcacc655e3bce7a 100644 --- a/lib/libc/glibc/sysdeps/mips/mips64/n64/crtn.S +++ b/lib/libc/glibc/sysdeps/mips/mips64/n64/crtn.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for MIPS (n64). - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/mips/nptl/bits/pthreadtypes-arch.h b/lib/libc/glibc/sysdeps/mips/nptl/bits/pthreadtypes-arch.h index fbe0a46e3b536a57f738426252cb4397da0011d6..99812f5c41fed0b97af81c9bfad9e4d8ee962d59 100644 --- a/lib/libc/glibc/sysdeps/mips/nptl/bits/pthreadtypes-arch.h +++ b/lib/libc/glibc/sysdeps/mips/nptl/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. MIPS version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/mips/start.S b/lib/libc/glibc/sysdeps/mips/start.S index 4ec42a2a7fb0b7af4780f68c8a19fc9ac337e752..35ef4403f8cee09ab2ac200c6894c672a1062aae 100644 --- a/lib/libc/glibc/sysdeps/mips/start.S +++ b/lib/libc/glibc/sysdeps/mips/start.S @@ -1,5 +1,5 @@ /* Startup code compliant to the ELF Mips ABI. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -60,7 +60,7 @@ ... NULL ra ($31) The return address register is set to zero so that programs - that search backword through stack frames recognize the last + that search backward through stack frames recognize the last stack frame. */ diff --git a/lib/libc/glibc/sysdeps/nios2/sysdep.h b/lib/libc/glibc/sysdeps/nios2/sysdep.h index 83b79f8a322953858d0f5ce6f799096d9ee46b78..34b2a9ff704f94b3bc8e6818b0aebcc69dfc25be 100644 --- a/lib/libc/glibc/sysdeps/nios2/sysdep.h +++ b/lib/libc/glibc/sysdeps/nios2/sysdep.h @@ -1,5 +1,5 @@ /* Assembler macros for Nios II. - Copyright (C) 2015-2021 Free Software Foundation, Inc. + Copyright (C) 2015-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/nptl/bits/pthreadtypes.h b/lib/libc/glibc/sysdeps/nptl/bits/pthreadtypes.h index 4d4a2553689d16136b99f1be394a53c6691cf13f..65464ee88c8196345183b8a3c450f4ed257ce794 100644 --- a/lib/libc/glibc/sysdeps/nptl/bits/pthreadtypes.h +++ b/lib/libc/glibc/sysdeps/nptl/bits/pthreadtypes.h @@ -1,5 +1,5 @@ /* Declaration of common pthread types for all architectures. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/nptl/bits/thread-shared-types.h b/lib/libc/glibc/sysdeps/nptl/bits/thread-shared-types.h index 44bf1e358dbdaaff26eec1b4e159a4155b0cecda..2de6ff9cafef1bbab5f824d5c43dfaeae2fdda68 100644 --- a/lib/libc/glibc/sysdeps/nptl/bits/thread-shared-types.h +++ b/lib/libc/glibc/sysdeps/nptl/bits/thread-shared-types.h @@ -1,5 +1,5 @@ /* Common threading primitives definitions for both POSIX and C11. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -43,6 +43,8 @@ #include +#include + /* Common definition of pthread_mutex_t. */ @@ -91,24 +93,8 @@ typedef struct __pthread_internal_slist struct __pthread_cond_s { - __extension__ union - { - __extension__ unsigned long long int __wseq; - struct - { - unsigned int __low; - unsigned int __high; - } __wseq32; - }; - __extension__ union - { - __extension__ unsigned long long int __g1_start; - struct - { - unsigned int __low; - unsigned int __high; - } __g1_start32; - }; + __atomic_wide_counter __wseq; + __atomic_wide_counter __g1_start; unsigned int __g_refs[2] __LOCK_ALIGNMENT; unsigned int __g_size[2]; unsigned int __g1_orig_size; diff --git a/lib/libc/glibc/sysdeps/nptl/libc-lock.h b/lib/libc/glibc/sysdeps/nptl/libc-lock.h index e8a5e68a129bd1b89385716ee9a421b431607a54..61027be74c895d7f5f3f4e59a82a87a44047f704 100644 --- a/lib/libc/glibc/sysdeps/nptl/libc-lock.h +++ b/lib/libc/glibc/sysdeps/nptl/libc-lock.h @@ -1,5 +1,5 @@ /* libc-internal interface for mutex locks. NPTL version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,6 +22,7 @@ #include #define __need_NULL #include +#include /* Mutex type. */ @@ -29,7 +30,12 @@ # if (!IS_IN (libc) && !IS_IN (libpthread)) || !defined _LIBC typedef struct { pthread_mutex_t mutex; } __libc_lock_recursive_t; # else -typedef struct { int lock; int cnt; void *owner; } __libc_lock_recursive_t; +typedef struct +{ + int lock __LIBC_LOCK_ALIGNMENT; + int cnt; + void *owner; +} __libc_lock_recursive_t; # endif #else typedef struct __libc_lock_recursive_opaque__ __libc_lock_recursive_t; diff --git a/lib/libc/glibc/sysdeps/nptl/libc-lockP.h b/lib/libc/glibc/sysdeps/nptl/libc-lockP.h index b66c938e44dbf1bd5be5c541d5e2995cdfbf86a9..27169bdf4c233d47b311b16aa81bc5a607ed762e 100644 --- a/lib/libc/glibc/sysdeps/nptl/libc-lockP.h +++ b/lib/libc/glibc/sysdeps/nptl/libc-lockP.h @@ -1,5 +1,5 @@ /* Private libc-internal interface for mutex locks. NPTL version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,9 +32,10 @@ ld.so might be used on old kernels with a different libc.so. */ #include #include +#include /* Mutex type. */ -typedef int __libc_lock_t; +typedef int __libc_lock_t __LIBC_LOCK_ALIGNMENT; typedef struct { pthread_mutex_t mutex; } __rtld_lock_recursive_t; typedef pthread_rwlock_t __libc_rwlock_t; diff --git a/lib/libc/glibc/sysdeps/nptl/pthread.h b/lib/libc/glibc/sysdeps/nptl/pthread.h index f1b7f2bdc6062c3e5c6f64ba440fb5d5c2ad4637..7f654835422b4322ffa8470a2f9e55eac07d0681 100644 --- a/lib/libc/glibc/sysdeps/nptl/pthread.h +++ b/lib/libc/glibc/sysdeps/nptl/pthread.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -516,7 +516,7 @@ extern int pthread_once (pthread_once_t *__once_control, exception in C++ code. If cancellation is implemented by unwinding this is necessary to have the compiler generate the unwind information. */ -/* Set cancelability state of current thread to STATE, returning old +/* Set cancellability state of current thread to STATE, returning old state in *OLDSTATE if OLDSTATE is not NULL. */ extern int pthread_setcancelstate (int __state, int *__oldstate); @@ -933,7 +933,7 @@ extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr, # ifdef __USE_GNU # ifdef __REDIRECT_NTH extern int __REDIRECT_NTH (pthread_mutexattr_getrobust_np, - (pthread_mutex_t *, int *), + (pthread_mutexattr_t *, int *), pthread_mutexattr_getrobust) __nonnull ((1)) __attribute_deprecated_msg__ ("\ pthread_mutexattr_getrobust_np is deprecated, use pthread_mutexattr_getrobust"); @@ -949,7 +949,7 @@ extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr, # ifdef __USE_GNU # ifdef __REDIRECT_NTH extern int __REDIRECT_NTH (pthread_mutexattr_setrobust_np, - (pthread_mutex_t *, int), + (pthread_mutexattr_t *, int), pthread_mutexattr_setrobust) __nonnull ((1)) __attribute_deprecated_msg__ ("\ pthread_mutexattr_setrobust_np is deprecated, use pthread_mutexattr_setrobust"); @@ -981,7 +981,7 @@ extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) __THROWNL __nonnull ((1)); # ifdef __USE_XOPEN2K -/* Try to acquire read lock for RWLOCK or return after specfied time. */ +/* Try to acquire read lock for RWLOCK or return after specified time. */ # ifndef __USE_TIME_BITS64 extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, const struct timespec *__restrict @@ -1028,7 +1028,7 @@ extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) __THROWNL __nonnull ((1)); # ifdef __USE_XOPEN2K -/* Try to acquire write lock for RWLOCK or return after specfied time. */ +/* Try to acquire write lock for RWLOCK or return after specified time. */ # ifndef __USE_TIME_BITS64 extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, const struct timespec *__restrict diff --git a/lib/libc/glibc/sysdeps/powerpc/powerpc32/crti.S b/lib/libc/glibc/sysdeps/powerpc/powerpc32/crti.S index 4a5f53a9956c49856736cbf17556f1dbab5cabf8..55247c13a178267300a15c437d4e3f41172e729a 100644 --- a/lib/libc/glibc/sysdeps/powerpc/powerpc32/crti.S +++ b/lib/libc/glibc/sysdeps/powerpc/powerpc32/crti.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for PowerPC. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/powerpc/powerpc32/crtn.S b/lib/libc/glibc/sysdeps/powerpc/powerpc32/crtn.S index fdf6a4327588a1fff53493d957630ef7056cfe2e..735f42958d0c56d30dda44cd7c84ba7bb5375e9b 100644 --- a/lib/libc/glibc/sysdeps/powerpc/powerpc32/crtn.S +++ b/lib/libc/glibc/sysdeps/powerpc/powerpc32/crtn.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for PowerPC. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/powerpc/powerpc32/start.S b/lib/libc/glibc/sysdeps/powerpc/powerpc32/start.S index 39ce1a18ff6fe19cf0f5c0d8344f46cbb1fff998..644f6f530cf56bcd4203c987460ef9b487603b95 100644 --- a/lib/libc/glibc/sysdeps/powerpc/powerpc32/start.S +++ b/lib/libc/glibc/sysdeps/powerpc/powerpc32/start.S @@ -1,5 +1,5 @@ /* Startup code for programs linked with GNU libc. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/powerpc/powerpc32/symbol-hacks.h b/lib/libc/glibc/sysdeps/powerpc/powerpc32/symbol-hacks.h index d4474e15d08780793339991fa532a74bf0db7b54..d34699233bd08e79ce617b4dd4bf11c575205be2 100644 --- a/lib/libc/glibc/sysdeps/powerpc/powerpc32/symbol-hacks.h +++ b/lib/libc/glibc/sysdeps/powerpc/powerpc32/symbol-hacks.h @@ -1,5 +1,5 @@ /* Hacks needed for symbol manipulation. powerpc version. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/powerpc/powerpc32/sysdep.h b/lib/libc/glibc/sysdeps/powerpc/powerpc32/sysdep.h index 4fef25498811c5a61e6fc6ae5387ccd881db555e..095a726765c190dc13e4fb6f33f5d93e90cbc7a3 100644 --- a/lib/libc/glibc/sysdeps/powerpc/powerpc32/sysdep.h +++ b/lib/libc/glibc/sysdeps/powerpc/powerpc32/sysdep.h @@ -1,5 +1,5 @@ /* Assembly macros for 32-bit PowerPC. - Copyright (C) 1999-2021 Free Software Foundation, Inc. + Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/powerpc/powerpc64/crti.S b/lib/libc/glibc/sysdeps/powerpc/powerpc64/crti.S index 1b0d866c98baf10e8da4e1f3ffbf17cb7baa5d9c..948e1a026eb5ee6a82d5f0204679cc3b503a6cad 100644 --- a/lib/libc/glibc/sysdeps/powerpc/powerpc64/crti.S +++ b/lib/libc/glibc/sysdeps/powerpc/powerpc64/crti.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for PowerPC64. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/powerpc/powerpc64/crtn.S b/lib/libc/glibc/sysdeps/powerpc/powerpc64/crtn.S index 1a36eb8ad04650202442cc2424aefc6a720d8ff8..11f837be43a13444dc2d88f681f1a1fba2c0ce57 100644 --- a/lib/libc/glibc/sysdeps/powerpc/powerpc64/crtn.S +++ b/lib/libc/glibc/sysdeps/powerpc/powerpc64/crtn.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for PowerPC64. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/powerpc/powerpc64/dl-dtprocnum.h b/lib/libc/glibc/sysdeps/powerpc/powerpc64/dl-dtprocnum.h index 820681c801b0cb620d516f8ce0ebcbe91beac225..427479d86c85527181ca025401df95c025a948ed 100644 --- a/lib/libc/glibc/sysdeps/powerpc/powerpc64/dl-dtprocnum.h +++ b/lib/libc/glibc/sysdeps/powerpc/powerpc64/dl-dtprocnum.h @@ -1,5 +1,5 @@ /* Configuration of lookup functions. PowerPC64 version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/powerpc/powerpc64/entry.h b/lib/libc/glibc/sysdeps/powerpc/powerpc64/entry.h deleted file mode 100644 index 99c81cb9820d188ddf4f18b5793b514e43487208..0000000000000000000000000000000000000000 --- a/lib/libc/glibc/sysdeps/powerpc/powerpc64/entry.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Finding the entry point and start of text. PowerPC64 version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - - -#ifndef __ASSEMBLY__ -extern void _start (void); -#endif - -#define ENTRY_POINT _start - -#if _CALL_ELF != 2 -/* We have to provide a special declaration. */ -#define ENTRY_POINT_DECL(class) class void _start (void); - -/* Use the address of ._start as the lowest address for which we need - to keep profiling records. We can't copy the ia64 scheme as our - entry poiny address is really the address of the function - descriptor, not the actual function entry. */ -#define TEXT_START \ - ({ extern unsigned long int _start_as_data[] asm ("_start"); \ - _start_as_data[0]; }) -#endif diff --git a/lib/libc/glibc/sysdeps/powerpc/powerpc64/start.S b/lib/libc/glibc/sysdeps/powerpc/powerpc64/start.S index 71c0c67926754501109f47c119d67bfae4dd8a7d..f86d400f4c2bec24453a02ff3fe13e47be58689c 100644 --- a/lib/libc/glibc/sysdeps/powerpc/powerpc64/start.S +++ b/lib/libc/glibc/sysdeps/powerpc/powerpc64/start.S @@ -1,5 +1,5 @@ /* Startup code for programs linked with GNU libc. PowerPC64 version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -74,7 +74,8 @@ ENTRY (_start) /* put the address of start_addresses in r8... ** ** PPC64 ABI uses R13 for thread local, so we leave it alone */ - ld r8,.L01@toc(r2) + addis r8,r2,.L01@toc@ha + ld r8,.L01@toc@l(r8) /* and continue in libc-start, in glibc. */ b JUMPTARGET(__libc_start_main) diff --git a/lib/libc/glibc/sysdeps/powerpc/powerpc64/sysdep.h b/lib/libc/glibc/sysdeps/powerpc/powerpc64/sysdep.h index 589f7c8d18814ee924012c78e319622f248517c6..ce92d8b3d2b77a3c913ee16d93a72ba3e39687cb 100644 --- a/lib/libc/glibc/sysdeps/powerpc/powerpc64/sysdep.h +++ b/lib/libc/glibc/sysdeps/powerpc/powerpc64/sysdep.h @@ -1,5 +1,5 @@ /* Assembly macros for 64-bit PowerPC. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -275,12 +275,14 @@ LT_LABELSUFFIX(name,_name_end): ; \ /* Allocate frame and save register */ #define NVOLREG_SAVE \ stdu r1,-SCV_FRAME_SIZE(r1); \ + cfi_adjust_cfa_offset(SCV_FRAME_SIZE); \ std r31,SCV_FRAME_NVOLREG_SAVE(r1); \ - cfi_adjust_cfa_offset(SCV_FRAME_SIZE); + cfi_rel_offset(r31,SCV_FRAME_NVOLREG_SAVE); /* Restore register and destroy frame */ #define NVOLREG_RESTORE \ ld r31,SCV_FRAME_NVOLREG_SAVE(r1); \ + cfi_restore(r31); \ addi r1,r1,SCV_FRAME_SIZE; \ cfi_adjust_cfa_offset(-SCV_FRAME_SIZE); @@ -331,13 +333,13 @@ LT_LABELSUFFIX(name,_name_end): ; \ #define DO_CALL_SCV \ mflr r9; \ - std r9,FRAME_LR_SAVE(r1); \ - cfi_offset(lr,FRAME_LR_SAVE); \ + std r9,SCV_FRAME_SIZE+FRAME_LR_SAVE(r1); \ + cfi_rel_offset(lr,SCV_FRAME_SIZE+FRAME_LR_SAVE); \ .machine "push"; \ .machine "power9"; \ scv 0; \ .machine "pop"; \ - ld r9,FRAME_LR_SAVE(r1); \ + ld r9,SCV_FRAME_SIZE+FRAME_LR_SAVE(r1); \ mtlr r9; \ cfi_restore(lr); @@ -467,14 +469,16 @@ LT_LABELSUFFIX(name,_name_end): ; \ .tc _rtld_global_ro[TC],_rtld_global_ro # endif # define __GLRO(rOUT, var, offset) \ - ld rOUT,.LC__ ## var@toc(r2); \ + addis rOUT,r2,.LC__ ## var@toc@ha; \ + ld rOUT,.LC__ ## var@toc@l(rOUT); \ lwz rOUT,offset(rOUT) #else # define __GLRO_DEF(var) \ .LC__ ## var: \ .tc _ ## var[TC],_ ## var # define __GLRO(rOUT, var, offset) \ - ld rOUT,.LC__ ## var@toc(r2); \ + addis rOUT,r2,.LC__ ## var@toc@ha; \ + ld rOUT,.LC__ ## var@toc@l(rOUT); \ lwz rOUT,0(rOUT) #endif diff --git a/lib/libc/glibc/sysdeps/powerpc/sysdep.h b/lib/libc/glibc/sysdeps/powerpc/sysdep.h index ab20890ca64f29aff679784ac7732dd2f650afb3..1ac6cbfc01d3db074d85fd8ebd7c236a1905d0f4 100644 --- a/lib/libc/glibc/sysdeps/powerpc/sysdep.h +++ b/lib/libc/glibc/sysdeps/powerpc/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h b/lib/libc/glibc/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h index 283b53ebacaa6bb04ccba74869aa0afe3feff7a8..1f0750e6dfa6594265d5d755140cf4fad72b3898 100644 --- a/lib/libc/glibc/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h +++ b/lib/libc/glibc/sysdeps/riscv/nptl/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. RISC-V version. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/riscv/start.S b/lib/libc/glibc/sysdeps/riscv/start.S index 806f6aacd6174679cbd45840921367d2da71836c..6dfe65273f2ea334f34896d344a75e837012a2bc 100644 --- a/lib/libc/glibc/sysdeps/riscv/start.S +++ b/lib/libc/glibc/sysdeps/riscv/start.S @@ -1,5 +1,5 @@ /* Startup code compliant to the ELF RISC-V ABI. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/s390/s390-32/crti.S b/lib/libc/glibc/sysdeps/s390/s390-32/crti.S index a9ff8167934a1c8b45f5e9fcdf2a1f539064f1b4..429c2070760afdf5426116cc17a1449c48560f77 100644 --- a/lib/libc/glibc/sysdeps/s390/s390-32/crti.S +++ b/lib/libc/glibc/sysdeps/s390/s390-32/crti.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for S/390. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/s390/s390-32/crtn.S b/lib/libc/glibc/sysdeps/s390/s390-32/crtn.S index 3ec9fec1bfa75a462eee42fa87ccc1b967094656..d5f29fdfed802745192a4cc3bd58ebe153bfee44 100644 --- a/lib/libc/glibc/sysdeps/s390/s390-32/crtn.S +++ b/lib/libc/glibc/sysdeps/s390/s390-32/crtn.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for S/390. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/s390/s390-32/dl-sysdep.h b/lib/libc/glibc/sysdeps/s390/s390-32/dl-sysdep.h deleted file mode 100644 index bd6fcbbb99991832cd927c25ef307137873bcda0..0000000000000000000000000000000000000000 --- a/lib/libc/glibc/sysdeps/s390/s390-32/dl-sysdep.h +++ /dev/null @@ -1,23 +0,0 @@ -/* System-specific settings for dynamic linker code. S/390 version. - Copyright (C) 2014-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#include_next - -/* _dl_argv cannot be attribute_relro, because _dl_start_user - might write into it after _dl_start returns. */ -#define DL_ARGV_NOT_RELRO 1 diff --git a/lib/libc/glibc/sysdeps/s390/s390-32/start.S b/lib/libc/glibc/sysdeps/s390/s390-32/start.S index b6cfa4caf375eefeae8edfaf01b1230d9c679192..23166f62260ac0cd33f121f0d44d13ba4f12e58d 100644 --- a/lib/libc/glibc/sysdeps/s390/s390-32/start.S +++ b/lib/libc/glibc/sysdeps/s390/s390-32/start.S @@ -1,6 +1,5 @@ /* Startup code compliant to the ELF s390 ABI. - Copyright (C) 2000-2021 Free Software Foundation, Inc. - Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -81,7 +80,7 @@ _start: /* Usually the auxiliary vector can be expected directly after the environment variables. But we have to skip extra zeros - because the loader might have removed unsecure variables for + because the loader might have removed insecure variables for setuid programs. */ .L26: l %r5,0(%r6) diff --git a/lib/libc/glibc/sysdeps/s390/s390-32/symbol-hacks.h b/lib/libc/glibc/sysdeps/s390/s390-32/symbol-hacks.h index 7132d0db19763d0096c1cd7009c5f2253e1f4702..cd62fcbc02bd991544647ca3e7f01d594c639887 100644 --- a/lib/libc/glibc/sysdeps/s390/s390-32/symbol-hacks.h +++ b/lib/libc/glibc/sysdeps/s390/s390-32/symbol-hacks.h @@ -1,5 +1,5 @@ /* Hacks needed for symbol manipulation. s390 version. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/s390/s390-32/sysdep.h b/lib/libc/glibc/sysdeps/s390/s390-32/sysdep.h index 099a95fd1a8087f7570c375d74f62fce7586a58f..0ecb3bdae1ab19747e8f2c8184811cf2e9a742a3 100644 --- a/lib/libc/glibc/sysdeps/s390/s390-32/sysdep.h +++ b/lib/libc/glibc/sysdeps/s390/s390-32/sysdep.h @@ -1,6 +1,5 @@ /* Assembler macros for s390. - Copyright (C) 2000-2021 Free Software Foundation, Inc. - Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/s390/s390-64/crti.S b/lib/libc/glibc/sysdeps/s390/s390-64/crti.S index 3aa441187dbc3ddaf724b962119be7f33a1b0cd7..11ab75e8d95f86ff225f84673715ff457e8b63cd 100644 --- a/lib/libc/glibc/sysdeps/s390/s390-64/crti.S +++ b/lib/libc/glibc/sysdeps/s390/s390-64/crti.S @@ -1,6 +1,5 @@ /* Special .init and .fini section support for 64 bit S/390. - Copyright (C) 2001-2021 Free Software Foundation, Inc. - Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/s390/s390-64/crtn.S b/lib/libc/glibc/sysdeps/s390/s390-64/crtn.S index 2271f5698152676dcdfc40fc96ba681070ac1709..0eabcb346caa843a4657c3fb23739bd7bf166091 100644 --- a/lib/libc/glibc/sysdeps/s390/s390-64/crtn.S +++ b/lib/libc/glibc/sysdeps/s390/s390-64/crtn.S @@ -1,6 +1,5 @@ /* Special .init and .fini section support for 64 bit S/390. - Copyright (C) 2001-2021 Free Software Foundation, Inc. - Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/s390/s390-64/start.S b/lib/libc/glibc/sysdeps/s390/s390-64/start.S index 4e6526308aee3c006ac654b7dae379769013bb98..61720c348bf058a185302df39ffc4d899537ebc7 100644 --- a/lib/libc/glibc/sysdeps/s390/s390-64/start.S +++ b/lib/libc/glibc/sysdeps/s390/s390-64/start.S @@ -1,6 +1,5 @@ /* Startup code compliant to the 64 bit S/390 ELF ABI. - Copyright (C) 2001-2021 Free Software Foundation, Inc. - Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -85,10 +84,25 @@ _start: /* Ok, now branch to the libc main routine. */ #ifdef PIC +# ifdef SHARED + /* Used for dynamic linked position independent executable. + => Scrt1.o */ larl %r2,main@GOTENT # load pointer to main lg %r2,0(%r2) +# else + /* Used for dynamic linked position dependent executable. + => crt1.o (glibc configured without --disable-default-pie: + PIC is defined) + Or for static linked position independent executable. + => rcrt1.o (only available if glibc configured without + --disable-default-pie: PIC is defined) */ + larl %r2,__wrap_main +# endif brasl %r14,__libc_start_main@plt #else + /* Used for dynamic/static linked position dependent executable. + => crt1.o (glibc configured with --disable-default-pie: + PIC and SHARED are not defined) */ larl %r2,main # load pointer to main brasl %r14,__libc_start_main #endif @@ -98,6 +112,19 @@ _start: cfi_endproc +#if defined PIC && !defined SHARED + /* When main is not defined in the executable but in a shared library + then a wrapper is needed in crt1.o of the static-pie enabled libc, + because crt1.o and rcrt1.o share code and the later must avoid the + use of GOT relocations before __libc_start_main is called. */ +__wrap_main: + cfi_startproc + larl %r1,main@GOTENT # load pointer to main + lg %r1,0(%r1) + br %r1 + cfi_endproc +#endif + /* Define a symbol for the first piece of initialized data. */ .data .globl __data_start diff --git a/lib/libc/glibc/sysdeps/s390/s390-64/sysdep.h b/lib/libc/glibc/sysdeps/s390/s390-64/sysdep.h index 136f89e8fe78725637f22215b55650a7ecb46b2f..232580e1e08e10967a7bac195f8c82e6b85d6328 100644 --- a/lib/libc/glibc/sysdeps/s390/s390-64/sysdep.h +++ b/lib/libc/glibc/sysdeps/s390/s390-64/sysdep.h @@ -1,6 +1,5 @@ /* Assembler macros for 64 bit S/390. - Copyright (C) 2001-2021 Free Software Foundation, Inc. - Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/sh/crti.S b/lib/libc/glibc/sysdeps/sh/crti.S index ce10e7995a93b71707b74228796a00d03d13bfb5..7ff0408be1e1b45023475f91bd78d2090e9fb76b 100644 --- a/lib/libc/glibc/sysdeps/sh/crti.S +++ b/lib/libc/glibc/sysdeps/sh/crti.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for SH. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/sh/crtn.S b/lib/libc/glibc/sysdeps/sh/crtn.S index f0e3f15bcace8d5dbf270c781d5c9abef39073a0..8ce241b4d56b235d78f39334d625d6beb123fcfd 100644 --- a/lib/libc/glibc/sysdeps/sh/crtn.S +++ b/lib/libc/glibc/sysdeps/sh/crtn.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for SH. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/sh/start.S b/lib/libc/glibc/sysdeps/sh/start.S index 606ee592222adca9c5d785810bb64ee093462c03..6578eb40aeffd3364bcf31e061620051964a44b7 100644 --- a/lib/libc/glibc/sysdeps/sh/start.S +++ b/lib/libc/glibc/sysdeps/sh/start.S @@ -1,5 +1,5 @@ /* Startup code for SH & ELF. - Copyright (C) 1999-2021 Free Software Foundation, Inc. + Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/sh/sysdep.h b/lib/libc/glibc/sysdeps/sh/sysdep.h index 9620046d71f9bd65139028ae1833b58483ab8a3b..003b05fa25c09bae8b46690ba99fdc604880253a 100644 --- a/lib/libc/glibc/sysdeps/sh/sysdep.h +++ b/lib/libc/glibc/sysdeps/sh/sysdep.h @@ -1,5 +1,5 @@ /* Assembler macros for SH. - Copyright (C) 1999-2021 Free Software Foundation, Inc. + Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/sparc/crti.S b/lib/libc/glibc/sysdeps/sparc/crti.S index 55ee9217237d913297596cd20b5e19c4b7d3ee09..29c45c09cbfae8a1015ffb711b89e6cfc3f43eb0 100644 --- a/lib/libc/glibc/sysdeps/sparc/crti.S +++ b/lib/libc/glibc/sysdeps/sparc/crti.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for sparc. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/sparc/crtn.S b/lib/libc/glibc/sysdeps/sparc/crtn.S index e2ea73b90565b98edac95278c8c05a7568d08d74..065569a453df44e15aff9dfe213c48e96fe8ef92 100644 --- a/lib/libc/glibc/sysdeps/sparc/crtn.S +++ b/lib/libc/glibc/sysdeps/sparc/crtn.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for sparc. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/sparc/dl-dtprocnum.h b/lib/libc/glibc/sysdeps/sparc/dl-dtprocnum.h index a247852bc3119e5074eb1d4cde3968c83313d160..08ca311749ba2c5c4ee5cc52d52280259be83a32 100644 --- a/lib/libc/glibc/sysdeps/sparc/dl-dtprocnum.h +++ b/lib/libc/glibc/sysdeps/sparc/dl-dtprocnum.h @@ -1,5 +1,5 @@ /* Configuration of lookup functions. SPARC version. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/sparc/dl-sysdep.h b/lib/libc/glibc/sysdeps/sparc/dl-sysdep.h deleted file mode 100644 index 31e5aff1c3a3a9af2875618107caf40fb6c33219..0000000000000000000000000000000000000000 --- a/lib/libc/glibc/sysdeps/sparc/dl-sysdep.h +++ /dev/null @@ -1,23 +0,0 @@ -/* System-specific settings for dynamic linker code. SPARC version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include_next - -/* _dl_argv cannot be attribute_relro, because _dl_start_user - might write into it after _dl_start returns. */ -#define DL_ARGV_NOT_RELRO 1 diff --git a/lib/libc/glibc/sysdeps/sparc/sparc32/start.S b/lib/libc/glibc/sysdeps/sparc/sparc32/start.S index 00bf898fb953df82e502ca6010aa9fd603370bdd..a82cbf33c2c8da9d31cafc99de0aa1a904cc2a08 100644 --- a/lib/libc/glibc/sysdeps/sparc/sparc32/start.S +++ b/lib/libc/glibc/sysdeps/sparc/sparc32/start.S @@ -1,7 +1,6 @@ /* Startup code for elf32-sparc - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Richard Henderson , 1997. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/glibc/sysdeps/sparc/sparc64/start.S b/lib/libc/glibc/sysdeps/sparc/sparc64/start.S index 8520717eba2438ecc5e8c1bb44e9e58d242fda5a..158c4aa08cc1dd66ef726747728abb169530fac8 100644 --- a/lib/libc/glibc/sysdeps/sparc/sparc64/start.S +++ b/lib/libc/glibc/sysdeps/sparc/sparc64/start.S @@ -1,7 +1,6 @@ /* Startup code for elf64-sparc - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Richard Henderson , 1997. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/glibc/sysdeps/sparc/sysdep.h b/lib/libc/glibc/sysdeps/sparc/sysdep.h index 5b4dc822b1066fcff163faf6387ad151d937b336..687e6261823e7dcef2bb30c302e2829a6bfdeeae 100644 --- a/lib/libc/glibc/sysdeps/sparc/sysdep.h +++ b/lib/libc/glibc/sysdeps/sparc/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2011-2021 Free Software Foundation, Inc. +/* Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/arm/sysdep.h b/lib/libc/glibc/sysdeps/unix/arm/sysdep.h index ca7bcfc0e6ea366005dbb80f7ea016ddab1c3ec5..225f6376ac5a4b4b6c1e0e04c153d4e6e31732bb 100644 --- a/lib/libc/glibc/sysdeps/unix/arm/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/arm/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/i386/sysdep.h b/lib/libc/glibc/sysdeps/unix/i386/sysdep.h index 7ca4d8931809605ad8aaed83ea91ef5078e85c00..f1fc188e9855545db2e15f8554bfbb380a6076cf 100644 --- a/lib/libc/glibc/sysdeps/unix/i386/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/i386/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/mips/mips32/sysdep.h b/lib/libc/glibc/sysdeps/unix/mips/mips32/sysdep.h index 21f22462db7ba68404c0eb611b4fb47d5300cacd..56cfd9f62a699c25c9f1a633a018cc7b4e480204 100644 --- a/lib/libc/glibc/sysdeps/unix/mips/mips32/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/mips/mips32/sysdep.h @@ -1,6 +1,5 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/glibc/sysdeps/unix/mips/mips64/sysdep.h b/lib/libc/glibc/sysdeps/unix/mips/mips64/sysdep.h index 5232afc668fa1a6daab53c40c7493bc4954a3004..2b2502e02b5269e1c9195fcef391db8e4424ab4d 100644 --- a/lib/libc/glibc/sysdeps/unix/mips/mips64/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/mips/mips64/sysdep.h @@ -1,6 +1,5 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Alexandre Oliva . The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/glibc/sysdeps/unix/mips/sysdep.h b/lib/libc/glibc/sysdeps/unix/mips/sysdep.h index 2910f8ece9b224167ce78a66b2d27856c6a100d4..db7efd6289c4a6a97118c67fbb1192a21b11f51d 100644 --- a/lib/libc/glibc/sysdeps/unix/mips/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/mips/sysdep.h @@ -1,6 +1,5 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/glibc/sysdeps/unix/powerpc/sysdep.h b/lib/libc/glibc/sysdeps/unix/powerpc/sysdep.h index 5b5795b24d24ef4be141b7477abeb6fe284d21e4..0f255d372947ed4d1c770bb092af0bf103fd49bc 100644 --- a/lib/libc/glibc/sysdeps/unix/powerpc/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/powerpc/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sh/sysdep.h b/lib/libc/glibc/sysdeps/unix/sh/sysdep.h index d112086ccf541d1e51604e544bfcaa14cdbb4121..8e618e5643e64f6df157dcc20edf7e368f3f2c7a 100644 --- a/lib/libc/glibc/sysdeps/unix/sh/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sh/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysdep.h index 664d093c05793ad7a49db25275eff831f52f1e0d..1ba4de99db4f7ca09cdf8a920188cf459b9a388b 100644 --- a/lib/libc/glibc/sysdeps/unix/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -57,6 +57,26 @@ #define INTERNAL_SYSCALL_CALL(...) \ __INTERNAL_SYSCALL_DISP (__INTERNAL_SYSCALL, __VA_ARGS__) +#define __INTERNAL_SYSCALL_NCS0(name) \ + INTERNAL_SYSCALL_NCS (name, 0) +#define __INTERNAL_SYSCALL_NCS1(name, a1) \ + INTERNAL_SYSCALL_NCS (name, 1, a1) +#define __INTERNAL_SYSCALL_NCS2(name, a1, a2) \ + INTERNAL_SYSCALL_NCS (name, 2, a1, a2) +#define __INTERNAL_SYSCALL_NCS3(name, a1, a2, a3) \ + INTERNAL_SYSCALL_NCS (name, 3, a1, a2, a3) +#define __INTERNAL_SYSCALL_NCS4(name, a1, a2, a3, a4) \ + INTERNAL_SYSCALL_NCS (name, 4, a1, a2, a3, a4) +#define __INTERNAL_SYSCALL_NCS5(name, a1, a2, a3, a4, a5) \ + INTERNAL_SYSCALL_NCS (name, 5, a1, a2, a3, a4, a5) +#define __INTERNAL_SYSCALL_NCS6(name, a1, a2, a3, a4, a5, a6) \ + INTERNAL_SYSCALL_NCS (name, 6, a1, a2, a3, a4, a5, a6) +#define __INTERNAL_SYSCALL_NCS7(name, a1, a2, a3, a4, a5, a6, a7) \ + INTERNAL_SYSCALL_NCS (name, 7, a1, a2, a3, a4, a5, a6, a7) + +#define INTERNAL_SYSCALL_NCS_CALL(...) \ + __INTERNAL_SYSCALL_DISP (__INTERNAL_SYSCALL_NCS, __VA_ARGS__) + #define __INLINE_SYSCALL0(name) \ INLINE_SYSCALL (name, 0) #define __INLINE_SYSCALL1(name, a1) \ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/aarch64/kernel-features.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/aarch64/kernel-features.h index f08850b95e4cd5378d71d3f90c487f615b6604ed..3546f6de96ce2a0946c434e094206346421f53c2 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/aarch64/kernel-features.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/aarch64/kernel-features.h @@ -1,6 +1,6 @@ /* Set flags signalling availability of kernel features based on given kernel version number. AArch64 version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/aarch64/sys/elf.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/aarch64/sys/elf.h index d25e717c43d1e5fe32b2b2884d238e69d759b399..8b9f6e866a027f92327f91059c90f7d73c3e075c 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/aarch64/sys/elf.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/aarch64/sys/elf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/aarch64/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/aarch64/sysdep.h index b01911247f31fd2709263ba6cbb37d2cadbfe86b..e94d1703ada12b5ac1e1357aaaf7f35e33e9159e 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/aarch64/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/aarch64/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -21,7 +21,8 @@ #include #include -#include +#include +#include /* Defines RTLD_PRIVATE_ERRNO and USE_DL_SYSINFO. */ #include @@ -164,7 +165,7 @@ # define HAVE_CLOCK_GETTIME64_VSYSCALL "__kernel_clock_gettime" # define HAVE_GETTIMEOFDAY_VSYSCALL "__kernel_gettimeofday" -# define SINGLE_THREAD_BY_GLOBAL 1 +# define HAVE_CLONE3_WRAPPER 1 # undef INTERNAL_SYSCALL_RAW # define INTERNAL_SYSCALL_RAW(name, nr, args...) \ @@ -235,49 +236,4 @@ #endif /* __ASSEMBLER__ */ -/* Pointer mangling is supported for AArch64. */ -#if (IS_IN (rtld) \ - || (!defined SHARED && (IS_IN (libc) \ - || IS_IN (libpthread)))) -# ifdef __ASSEMBLER__ -/* Note, dst, src, guard, and tmp are all register numbers rather than - register names so they will work with both ILP32 and LP64. */ -# define PTR_MANGLE(dst, src, guard, tmp) \ - LDST_PCREL (ldr, guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard_local)); \ - PTR_MANGLE2 (dst, src, guard) -/* Use PTR_MANGLE2 for efficiency if guard is already loaded. */ -# define PTR_MANGLE2(dst, src, guard)\ - eor x##dst, x##src, x##guard -# define PTR_DEMANGLE(dst, src, guard, tmp)\ - PTR_MANGLE (dst, src, guard, tmp) -# define PTR_DEMANGLE2(dst, src, guard)\ - PTR_MANGLE2 (dst, src, guard) -# else -extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden; -# define PTR_MANGLE(var) \ - (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local) -# define PTR_DEMANGLE(var) PTR_MANGLE (var) -# endif -#else -# ifdef __ASSEMBLER__ -/* Note, dst, src, guard, and tmp are all register numbers rather than - register names so they will work with both ILP32 and LP64. */ -# define PTR_MANGLE(dst, src, guard, tmp) \ - LDST_GLOBAL (ldr, guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard)); \ - PTR_MANGLE2 (dst, src, guard) -/* Use PTR_MANGLE2 for efficiency if guard is already loaded. */ -# define PTR_MANGLE2(dst, src, guard)\ - eor x##dst, x##src, x##guard -# define PTR_DEMANGLE(dst, src, guard, tmp)\ - PTR_MANGLE (dst, src, guard, tmp) -# define PTR_DEMANGLE2(dst, src, guard)\ - PTR_MANGLE2 (dst, src, guard) -# else -extern uintptr_t __pointer_chk_guard attribute_relro; -# define PTR_MANGLE(var) \ - (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard) -# define PTR_DEMANGLE(var) PTR_MANGLE (var) -# endif -#endif - #endif /* linux/aarch64/sysdep.h */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h index 9bdc925168b3db5ea2e673de0a12d06dcd069cf1..457bbfe4a88a2ba0f9dd829f8c4bd7c8173e10ab 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h @@ -1,5 +1,5 @@ /* bits/typesizes.h -- underlying types for *_t. Linux/Alpha version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/alpha/kernel-features.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/alpha/kernel-features.h index 9e17d3f60c337b669c9df7a15e3683cc6328b91e..3151e75449e988f646f1654ed93e2a6c356d22d0 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/alpha/kernel-features.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/alpha/kernel-features.h @@ -1,6 +1,6 @@ /* Set flags signalling availability of kernel features based on given kernel version number. - Copyright (C) 2010-2021 Free Software Foundation, Inc. + Copyright (C) 2010-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/alpha/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/alpha/sysdep.h index a000c845f1c9f30d9268ca0e4191528c93199406..d33eb72a32356c0b09dd55c354c8d8cbeb250e93 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/alpha/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/alpha/sysdep.h @@ -1,6 +1,5 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper, , August 1995. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -33,8 +32,6 @@ #undef SYS_ify #define SYS_ify(syscall_name) __NR_##syscall_name -#define SINGLE_THREAD_BY_GLOBAL 1 - #ifdef __ASSEMBLER__ #include #include @@ -316,44 +313,4 @@ __LABEL(name) \ }) #endif /* ASSEMBLER */ -/* Pointer mangling support. Note that tls access is slow enough that - we don't deoptimize things by placing the pointer check value there. */ - -#ifdef __ASSEMBLER__ -# if IS_IN (rtld) -# define PTR_MANGLE(dst, src, tmp) \ - ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \ - ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \ - xor src, tmp, dst -# define PTR_MANGLE2(dst, src, tmp) \ - xor src, tmp, dst -# elif defined SHARED -# define PTR_MANGLE(dst, src, tmp) \ - ldq tmp, __pointer_chk_guard; \ - xor src, tmp, dst -# else -# define PTR_MANGLE(dst, src, tmp) \ - ldq tmp, __pointer_chk_guard_local; \ - xor src, tmp, dst -# endif -# define PTR_MANGLE2(dst, src, tmp) \ - xor src, tmp, dst -# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp) -# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp) -#else -# include -# if (IS_IN (rtld) \ - || (!defined SHARED && (IS_IN (libc) \ - || IS_IN (libpthread)))) -extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden; -# define PTR_MANGLE(var) \ - (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local) -# else -extern uintptr_t __pointer_chk_guard attribute_relro; -# define PTR_MANGLE(var) \ - (var) = (__typeof(var)) ((uintptr_t) (var) ^ __pointer_chk_guard) -# endif -# define PTR_DEMANGLE(var) PTR_MANGLE(var) -#endif /* ASSEMBLER */ - #endif /* _LINUX_ALPHA_SYSDEP_H */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/arc/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/arc/sysdep.h index 6b70ccc687ce42f55e4a56ccd166c843504e4ce3..7f90d641247cb3adc563fe9bcd34330a0835d5f8 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/arc/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/arc/sysdep.h @@ -1,5 +1,5 @@ /* Assembler macros for ARC. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,7 +20,9 @@ #define _LINUX_ARC_SYSDEP_H 1 #include -#include +#include +#include +#include /* "workarounds" for generic code needing to handle 64-bit time_t. */ @@ -132,8 +134,6 @@ L (call_syscall_err): ASM_LINE_SEP \ #else /* !__ASSEMBLER__ */ -# define SINGLE_THREAD_BY_GLOBAL 1 - # if IS_IN (libc) extern long int __syscall_error (long int); hidden_proto (__syscall_error) @@ -141,6 +141,8 @@ hidden_proto (__syscall_error) # define ARC_TRAP_INSN "trap_s 0 \n\t" +# define HAVE_CLONE3_WRAPPER 1 + # undef INTERNAL_SYSCALL_NCS # define INTERNAL_SYSCALL_NCS(number, nr_args, args...) \ ({ \ @@ -180,11 +182,11 @@ hidden_proto (__syscall_error) __ret = (long int) (arg1); \ LOAD_ARGS_0 (nm, arg1) -/* Note that the use of _tmpX might look superflous, however it is needed +/* Note that the use of _tmpX might look superfluous, however it is needed to ensure that register variables are not clobbered if arg happens to be a function call itself. e.g. sched_setaffinity() calling getpid() for arg2 Also this specific order of recursive calling is important to segregate - the tmp args evaluation (function call case described above) and assigment + the tmp args evaluation (function call case described above) and assignment of register variables. */ # define LOAD_ARGS_2(nm, arg1, arg2) \ @@ -217,10 +219,6 @@ hidden_proto (__syscall_error) LOAD_ARGS_6 (nm, arg1, arg2, arg3, arg4, arg5, arg6) \ register long int _arg7 __asm__ ("r6") = _tmp7; -/* Pointer mangling not yet supported. */ -# define PTR_MANGLE(var) (void) (var) -# define PTR_DEMANGLE(var) (void) (var) - # undef HAVE_INTERNAL_BRK_ADDR_SYMBOL # define HAVE_INTERNAL_BRK_ADDR_SYMBOL 1 diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/arm/kernel-features.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/arm/kernel-features.h index 61fa9436bcf3fb4cf132cf11dda76e2b74e8ea92..5c8f76630e65b4103febce8ec2a3eafc616074d9 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/arm/kernel-features.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/arm/kernel-features.h @@ -1,6 +1,6 @@ /* Set flags signalling availability of kernel features based on given kernel version number. - Copyright (C) 2006-2021 Free Software Foundation, Inc. + Copyright (C) 2006-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/arm/sys/elf.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/arm/sys/elf.h index 3118f5a70991b27699cb2dd562cd7b7d79caa455..91e421529a07a787d25e8f54f1136dad743fa7ab 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/arm/sys/elf.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/arm/sys/elf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/arm/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/arm/sysdep.h index c1722557bd16526427ef99c64a819c7b5a871ca6..2f321881c8ebc7770c43369216ab888a0c721a01 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/arm/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/arm/sysdep.h @@ -1,7 +1,5 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper, , August 1995. - ARM changes by Philip Blundell, , May 1997. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -410,8 +408,6 @@ __local_syscall_error: \ #define INTERNAL_SYSCALL_NCS(number, nr, args...) \ INTERNAL_SYSCALL_RAW (number, nr, args) -#define SINGLE_THREAD_BY_GLOBAL 1 - #endif /* __ASSEMBLER__ */ #endif /* linux/arm/sysdep.h */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/bits/stat.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/bits/stat.h index 31868c81dff16a52483cd763acbbdd0f4917d70d..3f53e2a1fbe4b9052d25334f8e3ff334ef524ce8 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/bits/stat.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/bits/stat.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/bits/timex.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/bits/timex.h index ee37694e8f09a8e40d0d2721b6c8d3343821f99f..b5601eff2aa49738e8d5aff6851d5bb75d8b6e9b 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/bits/timex.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/bits/timex.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -25,7 +25,7 @@ struct timex { -# ifdef __USE_TIME_BITS64 +# if defined __USE_TIME_BITS64 || (__TIMESIZE == 64 && __WORDSIZE == 32) unsigned int modes; /* mode selector */ int :32; /* pad */ long long offset; /* time offset (usec) */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/csky/kernel_stat.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/csky/kernel_stat.h index e993021a816fe9d7e2bc3720df1f3d5d67efed72..11e9b3f3dee43a1a5352b2bdf8b7245c6163e75a 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/csky/kernel_stat.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/csky/kernel_stat.h @@ -1,5 +1,5 @@ /* Internal definitions for stat functions. Linux/csky. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/csky/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/csky/sysdep.h index fd29b64b63f39e01985162c19938f379bd1524f1..0c5fc2748c843b7310f105237ee83b1bdfdee508 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/csky/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/csky/sysdep.h @@ -1,5 +1,5 @@ /* Assembly macros for C-SKY. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,9 +20,9 @@ #define _LINUX_CSKY_SYSDEP_H 1 /* There is some commonality. */ -#include #include #include +#include /* Defines RTLD_PRIVATE_ERRNO and USE_DL_SYSINFO. */ #include @@ -466,50 +466,4 @@ __local_syscall_error: \ #endif /* __ASSEMBLER__ */ -/* Pointer mangling support. */ -#if (IS_IN (rtld) \ - || (!defined SHARED && (IS_IN (libc) || IS_IN (libpthread)))) -# ifdef __ASSEMBLER__ -# define PTR_MANGLE(dst, src, guard) \ - grs t0, 1f; \ -1: \ - lrw guard, 1b@GOTPC; \ - addu t0, guard; \ - lrw guard, __pointer_chk_guard_local@GOT; \ - ldr.w guard, (t0, guard << 0); \ - ldw guard, (guard, 0); \ - xor dst, src, guard; -# define PTR_DEMANGLE(dst, src, guard) PTR_MANGLE (dst, src, guard) -# define PTR_MANGLE2(dst, src, guard) \ - xor dst, src, guard -# define PTR_DEMANGLE2(dst, src, guard) PTR_MANGLE2 (dst, src, guard) -# else -extern uintptr_t __pointer_chk_guard_local; -# define PTR_MANGLE(var) \ - (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local) -# define PTR_DEMANGLE(var) PTR_MANGLE (var) -# endif -#else -# ifdef __ASSEMBLER__ -# define PTR_MANGLE(dst, src, guard) \ - grs t0, 1f; \ -1: \ - lrw guard, 1b@GOTPC; \ - addu t0, guard; \ - lrw guard, __pointer_chk_guard@GOT; \ - ldr.w guard, (t0, guard << 0); \ - ldw guard, (guard, 0); \ - xor dst, src, guard; -# define PTR_DEMANGLE(dst, src, guard) PTR_MANGLE (dst, src, guard) -# define PTR_MANGLE2(dst, src, guard) \ - xor dst, src, guard -# define PTR_DEMANGLE2(dst, src, guard) PTR_MANGLE2 (dst, src, guard) -# else -extern uintptr_t __pointer_chk_guard; -# define PTR_MANGLE(var) \ - (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard) -# define PTR_DEMANGLE(var) PTR_MANGLE (var) -# endif -#endif - #endif /* linux/csky/sysdep.h */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/dl-sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/dl-sysdep.h index f07c804065817a7e5d0c5242600593f009331db5..0b5f064eba0ac75d275d3440a355e1ef828926fa 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/dl-sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/dl-sysdep.h @@ -1,5 +1,5 @@ /* System-specific settings for dynamic linker code. Linux version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,10 +24,3 @@ we aren't making direct use of it. So enable this across the board. */ #define NEED_DL_SYSINFO_DSO 1 - - -#ifndef __ASSEMBLER__ -/* Get version of the OS. */ -extern int _dl_discover_osversion (void) attribute_hidden; -# define HAVE_DL_DISCOVER_OSVERSION 1 -#endif diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/fstat.c b/lib/libc/glibc/sysdeps/unix/sysv/linux/fstat.c index 31a172dcc81163e79d1aa480677645bc3677e35c..252c4f2f98df2c95f6a3daaebd2ea66a52433874 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/fstat.c +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/fstat.c @@ -1,5 +1,5 @@ /* Get file status. Linux version. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/fstat64.c b/lib/libc/glibc/sysdeps/unix/sysv/linux/fstat64.c index 46de80b663b9c1c402800d8f722dbbc2d0f24431..124384e57f5ab7f83ce910b0e16b02ba991fb551 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/fstat64.c +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/fstat64.c @@ -1,5 +1,5 @@ /* Get file status. Linux version. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat.c b/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat.c index f0171cf1ec59c24e28da96d1664bf911334291c4..ec817ca1f6bee6e65ce8a007cd7c4b17342ada0e 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat.c +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat.c @@ -1,5 +1,5 @@ /* Get file status. Linux version. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,33 +16,11 @@ License along with the GNU C Library; if not, see . */ -#include #include #include #include -#include #if !XSTAT_IS_XSTAT64 -# include - -static inline bool -in_time_t_range (__time64_t t) -{ - time_t s = t; - return s == t; -} - -static inline struct timespec -valid_timespec64_to_timespec (const struct __timespec64 ts64) -{ - struct timespec ts; - - ts.tv_sec = (time_t) ts64.tv_sec; - ts.tv_nsec = ts64.tv_nsec; - - return ts; -} - int __fstatat (int fd, const char *file, struct stat *buf, int flag) { diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat64.c b/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat64.c index ea1d6ce14ff452d971f0ee0c4d21730f77f489df..3509d3ca6dc166c753eb06d2f9ce411c2e7b96cf 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat64.c +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat64.c @@ -1,5 +1,5 @@ /* Get file status. Linux version. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -18,7 +18,6 @@ #define __fstatat __redirect___fstatat #define fstatat __redirect_fstatat -#include #include #include #include @@ -41,6 +40,12 @@ _Static_assert (sizeof (__blkcnt_t) == sizeof (__blkcnt64_t), "__blkcnt_t and __blkcnt64_t must match"); #endif +#if (__WORDSIZE == 32 \ + && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)) \ + || defined STAT_HAS_TIME32 \ + || (!defined __NR_newfstatat && !defined __NR_fstatat64) +# define FSTATAT_USE_STATX 1 + static inline int fstatat64_time64_statx (int fd, const char *file, struct __stat64_t64 *buf, int flag) @@ -54,8 +59,8 @@ fstatat64_time64_statx (int fd, const char *file, struct __stat64_t64 *buf, return r; *buf = (struct __stat64_t64) { - .st_dev = gnu_dev_makedev (tmp.stx_dev_major, tmp.stx_dev_minor), - .st_rdev = gnu_dev_makedev (tmp.stx_rdev_major, tmp.stx_rdev_minor), + .st_dev = __gnu_dev_makedev (tmp.stx_dev_major, tmp.stx_dev_minor), + .st_rdev = __gnu_dev_makedev (tmp.stx_rdev_major, tmp.stx_rdev_minor), .st_ino = tmp.stx_ino, .st_mode = tmp.stx_mode, .st_nlink = tmp.stx_nlink, @@ -74,18 +79,13 @@ fstatat64_time64_statx (int fd, const char *file, struct __stat64_t64 *buf, return r; } +#else +# define FSTATAT_USE_STATX 0 +#endif -static inline struct __timespec64 -valid_timespec_to_timespec64 (const struct timespec ts) -{ - struct __timespec64 ts64; - - ts64.tv_sec = ts.tv_sec; - ts64.tv_nsec = ts.tv_nsec; - - return ts64; -} - +/* Only statx supports 64-bit timestamps for 32-bit architectures with + __ASSUME_STATX, so there is no point in building the fallback. */ +#if !FSTATAT_USE_STATX || (FSTATAT_USE_STATX && !defined __ASSUME_STATX) static inline int fstatat64_time64_stat (int fd, const char *file, struct __stat64_t64 *buf, int flag) @@ -146,13 +146,6 @@ fstatat64_time64_stat (int fd, const char *file, struct __stat64_t64 *buf, return r; } - -#if (__WORDSIZE == 32 \ - && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)) \ - || defined STAT_HAS_TIME32 -# define FSTATAT_USE_STATX 1 -#else -# define FSTATAT_USE_STATX 0 #endif int diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/generic/bits/typesizes.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/generic/bits/typesizes.h deleted file mode 100644 index 0dd33638f0dae8043f514d586267bf09de1e7f6c..0000000000000000000000000000000000000000 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/generic/bits/typesizes.h +++ /dev/null @@ -1,108 +0,0 @@ -/* bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI. - Copyright (C) 2011-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _BITS_TYPES_H -# error "Never include directly; use instead." -#endif - -#ifndef _BITS_TYPESIZES_H -#define _BITS_TYPESIZES_H 1 - -/* See for the meaning of these macros. This file exists so - that need not vary across different GNU platforms. */ -#if __TIMESIZE == 64 && __WORDSIZE == 32 -/* These are the "new" y2038 types defined for architectures added after - the 5.1 kernel. */ -# define __INO_T_TYPE __UQUAD_TYPE -# define __OFF_T_TYPE __SQUAD_TYPE -# define __RLIM_T_TYPE __UQUAD_TYPE -# define __BLKCNT_T_TYPE __SQUAD_TYPE -# define __FSBLKCNT_T_TYPE __UQUAD_TYPE -# define __FSFILCNT_T_TYPE __UQUAD_TYPE -# define __TIME_T_TYPE __SQUAD_TYPE -# define __SUSECONDS_T_TYPE __SQUAD_TYPE -#else -# define __INO_T_TYPE __ULONGWORD_TYPE -# define __OFF_T_TYPE __SLONGWORD_TYPE -# define __RLIM_T_TYPE __ULONGWORD_TYPE -# define __BLKCNT_T_TYPE __SLONGWORD_TYPE -# define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE -# define __FSFILCNT_T_TYPE __ULONGWORD_TYPE -# define __TIME_T_TYPE __SLONGWORD_TYPE -# define __SUSECONDS_T_TYPE __SLONGWORD_TYPE -#endif - -#define __DEV_T_TYPE __UQUAD_TYPE -#define __UID_T_TYPE __U32_TYPE -#define __GID_T_TYPE __U32_TYPE -#define __INO64_T_TYPE __UQUAD_TYPE -#define __MODE_T_TYPE __U32_TYPE -#define __NLINK_T_TYPE __U32_TYPE -#define __OFF64_T_TYPE __SQUAD_TYPE -#define __PID_T_TYPE __S32_TYPE -#define __RLIM64_T_TYPE __UQUAD_TYPE -#define __BLKCNT64_T_TYPE __SQUAD_TYPE -#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE -#define __FSFILCNT64_T_TYPE __UQUAD_TYPE -#define __FSWORD_T_TYPE __SWORD_TYPE -#define __ID_T_TYPE __U32_TYPE -#define __CLOCK_T_TYPE __SLONGWORD_TYPE -#define __USECONDS_T_TYPE __U32_TYPE -#define __SUSECONDS64_T_TYPE __SQUAD_TYPE -#define __DADDR_T_TYPE __S32_TYPE -#define __KEY_T_TYPE __S32_TYPE -#define __CLOCKID_T_TYPE __S32_TYPE -#define __TIMER_T_TYPE void * -#define __BLKSIZE_T_TYPE __S32_TYPE -#define __FSID_T_TYPE struct { int __val[2]; } -#define __SSIZE_T_TYPE __SWORD_TYPE -#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE -#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE -#define __CPU_MASK_TYPE __ULONGWORD_TYPE - -#if defined __LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32) -/* Tell the libc code that off_t and off64_t are actually the same type - for all ABI purposes, even if possibly expressed as different base types - for C type-checking purposes. */ -# define __OFF_T_MATCHES_OFF64_T 1 - -/* Same for ino_t and ino64_t. */ -# define __INO_T_MATCHES_INO64_T 1 - -/* And for __rlim_t and __rlim64_t. */ -# define __RLIM_T_MATCHES_RLIM64_T 1 - -/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ -# define __STATFS_MATCHES_STATFS64 1 - -/* And for getitimer, setitimer and rusage */ -# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 (__WORDSIZE == 64) -#else -# define __RLIM_T_MATCHES_RLIM64_T 0 - -# define __STATFS_MATCHES_STATFS64 0 - -# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 -#endif - -/* Number of descriptors that can fit in an `fd_set'. */ -#define __FD_SETSIZE 1024 - - -#endif /* bits/typesizes.h */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/generic/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/generic/sysdep.h deleted file mode 100644 index 19d5d8d1bf12c160c99f9d313c04fbf29cf70dd0..0000000000000000000000000000000000000000 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/generic/sysdep.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 2011-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#include -#include -#include -#include - -/* Provide the common name to allow more code reuse. */ -#ifdef __NR_llseek -# define __NR__llseek __NR_llseek -#endif diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/generic/xstatver.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/generic/xstatver.h deleted file mode 100644 index d8fd35beb6912d51d09d2a7e26220e648adb7e81..0000000000000000000000000000000000000000 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/generic/xstatver.h +++ /dev/null @@ -1,10 +0,0 @@ -/* Versions of the 'struct stat' data structure used in compatibility xstat - functions. */ -#define _STAT_VER_KERNEL 0 -#define _STAT_VER_LINUX 0 -#define _STAT_VER _STAT_VER_KERNEL - -/* Versions of the 'xmknod' interface used in compatibility xmknod - functions. */ -#define _MKNOD_VER_LINUX 0 -#define _MKNOD_VER _MKNOD_VER_LINUX diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/hppa/kernel-features.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/hppa/kernel-features.h index e151894dfb254934e82357442d92d6bea4ffca13..e9e8dc5c6e17518aed33c5c29dbd83123f5e11f3 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/hppa/kernel-features.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/hppa/kernel-features.h @@ -1,6 +1,6 @@ /* Set flags signalling availability of kernel features based on given kernel version number. - Copyright (C) 2006-2021 Free Software Foundation, Inc. + Copyright (C) 2006-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -30,3 +30,6 @@ #undef __ASSUME_CLONE_DEFAULT #define __ASSUME_CLONE_BACKWARDS 1 + +/* QEMU does not support set_robust_list. */ +#undef __ASSUME_SET_ROBUST_LIST diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/hppa/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/hppa/sysdep.h index 779bc85e26240de45355b20d501528d09aa30bd4..c0c4ffe00da97798fcb44a993587d5cabf36b058 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/hppa/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/hppa/sysdep.h @@ -1,8 +1,6 @@ /* Assembler macros for PA-RISC. - Copyright (C) 1999-2021 Free Software Foundation, Inc. + Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper, , August 1999. - Linux/PA-RISC changes by Philipp Rumpf, , March 2000. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -55,7 +53,7 @@ #define LOAD_PIC(LREG) \ copy LREG , %r19 /* Inline assembly defines */ -#define TREG_ASM "%r4" /* Cant clobber r3, it holds framemarker */ +#define TREG_ASM "%r4" /* Can't clobber r3, it holds framemarker */ #define SAVE_ASM_PIC " copy %%r19, %" TREG_ASM "\n" #define LOAD_ASM_PIC " copy %" TREG_ASM ", %%r19\n" #define CLOB_TREG TREG_ASM , @@ -136,7 +134,7 @@ /* SAVE_RP says we do */ ASM_LINE_SEP \ stw %rp, -20(%sr0,%sp) ASM_LINE_SEP \ .cfi_offset 2, -20 ASM_LINE_SEP \ - /*FIXME: Call mcount? (carefull with stack!) */ + /*FIXME: Call mcount? (careful with stack!) */ /* Some syscall wrappers do not call other functions, and hence are classified as leaf, so add NO_CALLS for gdb */ @@ -153,7 +151,7 @@ /* SAVE_RP says we do */ ASM_LINE_SEP \ stw %rp, -20(%sr0,%sp) ASM_LINE_SEP \ .cfi_offset 2, -20 ASM_LINE_SEP \ - /*FIXME: Call mcount? (carefull with stack!) */ + /*FIXME: Call mcount? (careful with stack!) */ #undef END #define END(name) \ @@ -472,10 +470,4 @@ L(pre_end): ASM_LINE_SEP \ #endif /* __ASSEMBLER__ */ -/* Pointer mangling is not yet supported for HPPA. */ -#define PTR_MANGLE(var) (void) (var) -#define PTR_DEMANGLE(var) (void) (var) - -#define SINGLE_THREAD_BY_GLOBAL 1 - #endif /* _LINUX_HPPA_SYSDEP_H */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/i386/dl-sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/i386/dl-sysdep.h index f203d3ccd0fa804f99738caeab9a417d43149467..01db7630c41b938b63bcec214384a95c5b3b2223 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/i386/dl-sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/i386/dl-sysdep.h @@ -1,5 +1,5 @@ /* System-specific settings for dynamic linker code. i386 version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/i386/kernel-features.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/i386/kernel-features.h index 8327f822b02d1adf3c4ee405b3dab3ea47cee168..ed7efa30979ef12b887fb235edde3b65c9f86597 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/i386/kernel-features.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/i386/kernel-features.h @@ -1,6 +1,6 @@ /* Set flags signalling availability of kernel features based on given kernel version number. i386 version. - Copyright (C) 1999-2021 Free Software Foundation, Inc. + Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -17,21 +17,11 @@ License along with the GNU C Library; if not, see . */ -/* Direct socketcalls available with kernel 4.3. */ -#if __LINUX_KERNEL_VERSION >= 0x040300 -# define __ASSUME_SOCKET_SYSCALL 1 -# define __ASSUME_SOCKETPAIR_SYSCALL 1 -# define __ASSUME_BIND_SYSCALL 1 -# define __ASSUME_LISTEN_SYSCALL 1 -# define __ASSUME_GETSOCKNAME_SYSCALL 1 -# define __ASSUME_GETPEERNAME_SYSCALL 1 -# define __ASSUME_SHUTDOWN_SYSCALL 1 -#endif - #include_next #undef __ASSUME_ACCEPT_SYSCALL +/* Direct socketcalls available with kernel 4.3. */ #if __LINUX_KERNEL_VERSION < 0x040300 # undef __ASSUME_ACCEPT4_SYSCALL # undef __ASSUME_SENDMSG_SYSCALL @@ -41,6 +31,13 @@ # undef __ASSUME_SENDTO_SYSCALL # undef __ASSUME_GETSOCKOPT_SYSCALL # undef __ASSUME_SETSOCKOPT_SYSCALL +# undef __ASSUME_BIND_SYSCALL +# undef __ASSUME_SOCKET_SYSCALL +# undef __ASSUME_SOCKETPAIR_SYSCALL +# undef __ASSUME_LISTEN_SYSCALL +# undef __ASSUME_SHUTDOWN_SYSCALL +# undef __ASSUME_GETSOCKNAME_SYSCALL +# undef __ASSUME_GETPEERNAME_SYSCALL #endif /* i686 only supports ipc syscall before 5.1. */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/i386/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/i386/sysdep.h index 8a9911b7acd9e69233690880c5cc56babe86aecc..87de7d640fa1a9972674adbe5c35a35b91e86c56 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/i386/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/i386/sysdep.h @@ -1,6 +1,5 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper, , August 1995. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -43,13 +42,13 @@ # endif #endif -/* Since GCC 5 and above can properly spill %ebx with PIC when needed, - we can inline syscalls with 6 arguments if GCC 5 or above is used - to compile glibc. Disable GCC 5 optimization when compiling for - profiling or when -fno-omit-frame-pointer is used since asm ("ebp") - can't be used to put the 6th argument in %ebp for syscall. */ -#if !defined PROF && CAN_USE_REGISTER_ASM_EBP -# define OPTIMIZE_FOR_GCC_5 +#if !I386_USE_SYSENTER && IS_IN (libc) && !defined SHARED +/* Inside static libc, we have two versions. For compilation units + with !I386_USE_SYSENTER, the vDSO entry mechanism cannot be + used. */ +# define I386_DO_SYSCALL_STRING "__libc_do_syscall_int80" +#else +# define I386_DO_SYSCALL_STRING "__libc_do_syscall" #endif #ifdef __ASSEMBLER__ @@ -62,7 +61,7 @@ might return a large offset. Therefore we must not anymore test for < 0, but test for a real error by making sure the value in %eax is a real error number. Linus said he will make sure the no syscall - returns a value in -1 .. -4095 as a valid result so we can savely + returns a value in -1 .. -4095 as a valid result so we can safely test with -4095. */ /* We don't want the label for the error handle to be global when we define @@ -239,36 +238,6 @@ extern int __syscall_error (int) attribute_hidden __attribute__ ((__regparm__ (1))); -#ifndef OPTIMIZE_FOR_GCC_5 -/* We need some help from the assembler to generate optimal code. We - define some macros here which later will be used. */ -asm (".L__X'%ebx = 1\n\t" - ".L__X'%ecx = 2\n\t" - ".L__X'%edx = 2\n\t" - ".L__X'%eax = 3\n\t" - ".L__X'%esi = 3\n\t" - ".L__X'%edi = 3\n\t" - ".L__X'%ebp = 3\n\t" - ".L__X'%esp = 3\n\t" - ".macro bpushl name reg\n\t" - ".if 1 - \\name\n\t" - ".if 2 - \\name\n\t" - "error\n\t" - ".else\n\t" - "xchgl \\reg, %ebx\n\t" - ".endif\n\t" - ".endif\n\t" - ".endm\n\t" - ".macro bpopl name reg\n\t" - ".if 1 - \\name\n\t" - ".if 2 - \\name\n\t" - "error\n\t" - ".else\n\t" - "xchgl \\reg, %ebx\n\t" - ".endif\n\t" - ".endif\n\t" - ".endm\n\t"); - /* Six-argument syscalls use an out-of-line helper, because an inline asm using all registers apart from %esp cannot work reliably and the assembler does not support describing an asm that saves and @@ -279,7 +248,6 @@ struct libc_do_syscall_args { int ebx, edi, ebp; }; -#endif # define VDSO_NAME "LINUX_2.6" # define VDSO_HASH 61765110 @@ -332,14 +300,8 @@ struct libc_do_syscall_args /* Each object using 6-argument inline syscalls must include a definition of __libc_do_syscall. */ -#ifdef OPTIMIZE_FOR_GCC_5 -# define INTERNAL_SYSCALL_MAIN_6(name, args...) \ - INTERNAL_SYSCALL_MAIN_INLINE(name, 6, args) -# define INTERNAL_SYSCALL_MAIN_NCS_6(name, args...) \ - INTERNAL_SYSCALL_MAIN_NCS(name, 6, args) -#else /* GCC 5 */ -# define INTERNAL_SYSCALL_MAIN_6(name, arg1, arg2, arg3, \ - arg4, arg5, arg6) \ +#define INTERNAL_SYSCALL_MAIN_6(name, arg1, arg2, arg3, \ + arg4, arg5, arg6) \ struct libc_do_syscall_args _xv = \ { \ (int) (arg1), \ @@ -348,12 +310,12 @@ struct libc_do_syscall_args }; \ asm volatile ( \ "movl %1, %%eax\n\t" \ - "call __libc_do_syscall" \ + "call " I386_DO_SYSCALL_STRING \ : "=a" (resultvar) \ : "i" (__NR_##name), "c" (arg2), "d" (arg3), "S" (arg4), "D" (&_xv) \ : "memory", "cc") -# define INTERNAL_SYSCALL_MAIN_NCS_6(name, arg1, arg2, arg3, \ - arg4, arg5, arg6) \ +#define INTERNAL_SYSCALL_MAIN_NCS_6(name, arg1, arg2, arg3, \ + arg4, arg5, arg6) \ struct libc_do_syscall_args _xv = \ { \ (int) (arg1), \ @@ -362,11 +324,10 @@ struct libc_do_syscall_args }; \ asm volatile ( \ "movl %1, %%eax\n\t" \ - "call __libc_do_syscall" \ + "call " I386_DO_SYSCALL_STRING \ : "=a" (resultvar) \ : "a" (name), "c" (arg2), "d" (arg3), "S" (arg4), "D" (&_xv) \ : "memory", "cc") -#endif /* GCC 5 */ #define INTERNAL_SYSCALL(name, nr, args...) \ ({ \ @@ -380,193 +341,72 @@ struct libc_do_syscall_args (int) resultvar; }) #if I386_USE_SYSENTER -# ifdef OPTIMIZE_FOR_GCC_5 -# ifdef PIC -# define INTERNAL_SYSCALL_MAIN_INLINE(name, nr, args...) \ +# ifdef PIC +# define INTERNAL_SYSCALL_MAIN_INLINE(name, nr, args...) \ LOADREGS_##nr(args) \ asm volatile ( \ "call *%%gs:%P2" \ : "=a" (resultvar) \ : "a" (__NR_##name), "i" (offsetof (tcbhead_t, sysinfo)) \ ASMARGS_##nr(args) : "memory", "cc") -# define INTERNAL_SYSCALL_MAIN_NCS(name, nr, args...) \ +# define INTERNAL_SYSCALL_MAIN_NCS(name, nr, args...) \ LOADREGS_##nr(args) \ asm volatile ( \ "call *%%gs:%P2" \ : "=a" (resultvar) \ : "a" (name), "i" (offsetof (tcbhead_t, sysinfo)) \ ASMARGS_##nr(args) : "memory", "cc") -# else -# define INTERNAL_SYSCALL_MAIN_INLINE(name, nr, args...) \ +# else /* I386_USE_SYSENTER && !PIC */ +# define INTERNAL_SYSCALL_MAIN_INLINE(name, nr, args...) \ LOADREGS_##nr(args) \ asm volatile ( \ "call *_dl_sysinfo" \ : "=a" (resultvar) \ : "a" (__NR_##name) ASMARGS_##nr(args) : "memory", "cc") -# define INTERNAL_SYSCALL_MAIN_NCS(name, nr, args...) \ +# define INTERNAL_SYSCALL_MAIN_NCS(name, nr, args...) \ LOADREGS_##nr(args) \ asm volatile ( \ "call *_dl_sysinfo" \ : "=a" (resultvar) \ : "a" (name) ASMARGS_##nr(args) : "memory", "cc") -# endif -# else /* GCC 5 */ -# ifdef PIC -# define INTERNAL_SYSCALL_MAIN_INLINE(name, nr, args...) \ - EXTRAVAR_##nr \ - asm volatile ( \ - LOADARGS_##nr \ - "movl %1, %%eax\n\t" \ - "call *%%gs:%P2\n\t" \ - RESTOREARGS_##nr \ - : "=a" (resultvar) \ - : "i" (__NR_##name), "i" (offsetof (tcbhead_t, sysinfo)) \ - ASMFMT_##nr(args) : "memory", "cc") -# define INTERNAL_SYSCALL_MAIN_NCS(name, nr, args...) \ - EXTRAVAR_##nr \ - asm volatile ( \ - LOADARGS_##nr \ - "call *%%gs:%P2\n\t" \ - RESTOREARGS_##nr \ - : "=a" (resultvar) \ - : "0" (name), "i" (offsetof (tcbhead_t, sysinfo)) \ - ASMFMT_##nr(args) : "memory", "cc") -# else -# define INTERNAL_SYSCALL_MAIN_INLINE(name, nr, args...) \ - EXTRAVAR_##nr \ - asm volatile ( \ - LOADARGS_##nr \ - "movl %1, %%eax\n\t" \ - "call *_dl_sysinfo\n\t" \ - RESTOREARGS_##nr \ - : "=a" (resultvar) \ - : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc") -# define INTERNAL_SYSCALL_MAIN_NCS(name, nr, args...) \ - EXTRAVAR_##nr \ - asm volatile ( \ - LOADARGS_##nr \ - "call *_dl_sysinfo\n\t" \ - RESTOREARGS_##nr \ - : "=a" (resultvar) \ - : "0" (name) ASMFMT_##nr(args) : "memory", "cc") -# endif -# endif /* GCC 5 */ -#else -# ifdef OPTIMIZE_FOR_GCC_5 -# define INTERNAL_SYSCALL_MAIN_INLINE(name, nr, args...) \ +# endif /* I386_USE_SYSENTER && !PIC */ +#else /* !I386_USE_SYSENTER */ +# define INTERNAL_SYSCALL_MAIN_INLINE(name, nr, args...) \ LOADREGS_##nr(args) \ asm volatile ( \ "int $0x80" \ : "=a" (resultvar) \ : "a" (__NR_##name) ASMARGS_##nr(args) : "memory", "cc") -# define INTERNAL_SYSCALL_MAIN_NCS(name, nr, args...) \ +# define INTERNAL_SYSCALL_MAIN_NCS(name, nr, args...) \ LOADREGS_##nr(args) \ asm volatile ( \ "int $0x80" \ : "=a" (resultvar) \ : "a" (name) ASMARGS_##nr(args) : "memory", "cc") -# else /* GCC 5 */ -# define INTERNAL_SYSCALL_MAIN_INLINE(name, nr, args...) \ - EXTRAVAR_##nr \ - asm volatile ( \ - LOADARGS_##nr \ - "movl %1, %%eax\n\t" \ - "int $0x80\n\t" \ - RESTOREARGS_##nr \ - : "=a" (resultvar) \ - : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc") -# define INTERNAL_SYSCALL_MAIN_NCS(name, nr, args...) \ - EXTRAVAR_##nr \ - asm volatile ( \ - LOADARGS_##nr \ - "int $0x80\n\t" \ - RESTOREARGS_##nr \ - : "=a" (resultvar) \ - : "0" (name) ASMFMT_##nr(args) : "memory", "cc") -# endif /* GCC 5 */ -#endif - -#define LOADARGS_0 -#ifdef __PIC__ -# if I386_USE_SYSENTER && defined PIC -# define LOADARGS_1 \ - "bpushl .L__X'%k3, %k3\n\t" -# define LOADARGS_5 \ - "movl %%ebx, %4\n\t" \ - "movl %3, %%ebx\n\t" -# else -# define LOADARGS_1 \ - "bpushl .L__X'%k2, %k2\n\t" -# define LOADARGS_5 \ - "movl %%ebx, %3\n\t" \ - "movl %2, %%ebx\n\t" -# endif -# define LOADARGS_2 LOADARGS_1 -# define LOADARGS_3 \ - "xchgl %%ebx, %%edi\n\t" -# define LOADARGS_4 LOADARGS_3 -#else -# define LOADARGS_1 -# define LOADARGS_2 -# define LOADARGS_3 -# define LOADARGS_4 -# define LOADARGS_5 -#endif - -#define RESTOREARGS_0 -#ifdef __PIC__ -# if I386_USE_SYSENTER && defined PIC -# define RESTOREARGS_1 \ - "bpopl .L__X'%k3, %k3\n\t" -# define RESTOREARGS_5 \ - "movl %4, %%ebx" -# else -# define RESTOREARGS_1 \ - "bpopl .L__X'%k2, %k2\n\t" -# define RESTOREARGS_5 \ - "movl %3, %%ebx" -# endif -# define RESTOREARGS_2 RESTOREARGS_1 -# define RESTOREARGS_3 \ - "xchgl %%edi, %%ebx\n\t" -# define RESTOREARGS_4 RESTOREARGS_3 -#else -# define RESTOREARGS_1 -# define RESTOREARGS_2 -# define RESTOREARGS_3 -# define RESTOREARGS_4 -# define RESTOREARGS_5 -#endif +#endif /* !I386_USE_SYSENTER */ -#ifdef OPTIMIZE_FOR_GCC_5 -# define LOADREGS_0() -# define ASMARGS_0() -# define LOADREGS_1(arg1) \ +#define LOADREGS_0() +#define ASMARGS_0() +#define LOADREGS_1(arg1) \ LOADREGS_0 () -# define ASMARGS_1(arg1) \ +#define ASMARGS_1(arg1) \ ASMARGS_0 (), "b" ((unsigned int) (arg1)) -# define LOADREGS_2(arg1, arg2) \ +#define LOADREGS_2(arg1, arg2) \ LOADREGS_1 (arg1) -# define ASMARGS_2(arg1, arg2) \ +#define ASMARGS_2(arg1, arg2) \ ASMARGS_1 (arg1), "c" ((unsigned int) (arg2)) -# define LOADREGS_3(arg1, arg2, arg3) \ +#define LOADREGS_3(arg1, arg2, arg3) \ LOADREGS_2 (arg1, arg2) -# define ASMARGS_3(arg1, arg2, arg3) \ +#define ASMARGS_3(arg1, arg2, arg3) \ ASMARGS_2 (arg1, arg2), "d" ((unsigned int) (arg3)) -# define LOADREGS_4(arg1, arg2, arg3, arg4) \ +#define LOADREGS_4(arg1, arg2, arg3, arg4) \ LOADREGS_3 (arg1, arg2, arg3) -# define ASMARGS_4(arg1, arg2, arg3, arg4) \ +#define ASMARGS_4(arg1, arg2, arg3, arg4) \ ASMARGS_3 (arg1, arg2, arg3), "S" ((unsigned int) (arg4)) -# define LOADREGS_5(arg1, arg2, arg3, arg4, arg5) \ +#define LOADREGS_5(arg1, arg2, arg3, arg4, arg5) \ LOADREGS_4 (arg1, arg2, arg3, arg4) -# define ASMARGS_5(arg1, arg2, arg3, arg4, arg5) \ +#define ASMARGS_5(arg1, arg2, arg3, arg4, arg5) \ ASMARGS_4 (arg1, arg2, arg3, arg4), "D" ((unsigned int) (arg5)) -# define LOADREGS_6(arg1, arg2, arg3, arg4, arg5, arg6) \ - register unsigned int _a6 asm ("ebp") = (unsigned int) (arg6); \ - LOADREGS_5 (arg1, arg2, arg3, arg4, arg5) -# define ASMARGS_6(arg1, arg2, arg3, arg4, arg5, arg6) \ - ASMARGS_5 (arg1, arg2, arg3, arg4, arg5), "r" (_a6) -#endif /* GCC 5 */ #define ASMFMT_0() #ifdef __PIC__ @@ -606,34 +446,6 @@ struct libc_do_syscall_args #endif /* __ASSEMBLER__ */ - -/* Pointer mangling support. */ -#if IS_IN (rtld) -/* We cannot use the thread descriptor because in ld.so we use setjmp - earlier than the descriptor is initialized. Using a global variable - is too complicated here since we have no PC-relative addressing mode. */ -#else -# ifdef __ASSEMBLER__ -# define PTR_MANGLE(reg) xorl %gs:POINTER_GUARD, reg; \ - roll $9, reg -# define PTR_DEMANGLE(reg) rorl $9, reg; \ - xorl %gs:POINTER_GUARD, reg -# else -# define PTR_MANGLE(var) asm ("xorl %%gs:%c2, %0\n" \ - "roll $9, %0" \ - : "=r" (var) \ - : "0" (var), \ - "i" (offsetof (tcbhead_t, \ - pointer_guard))) -# define PTR_DEMANGLE(var) asm ("rorl $9, %0\n" \ - "xorl %%gs:%c2, %0" \ - : "=r" (var) \ - : "0" (var), \ - "i" (offsetof (tcbhead_t, \ - pointer_guard))) -# endif -#endif - /* Each shadow stack slot takes 4 bytes. Assuming that each stack frame takes 128 bytes, this is used to compute shadow stack size from stack size. */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h index 24650ce31fb9446531e5ca0fb8a7272ea8f71fd5..3e4d5da820b4b1fbbcd5856e1a976a7c8f0adf7b 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h @@ -1,5 +1,5 @@ /* System-specific settings for dynamic linker code. IA-64 version. - Copyright (C) 2003-2021 Free Software Foundation, Inc. + Copyright (C) 2003-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -48,8 +48,4 @@ extern int _dl_sysinfo_break attribute_hidden; ".previous"); #endif -/* _dl_argv cannot be attribute_relro, because _dl_start_user - might write into it after _dl_start returns. */ -#define DL_ARGV_NOT_RELRO 1 - #endif /* dl-sysdep.h */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/ia64/kernel-features.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/ia64/kernel-features.h index 6661197573149b02fd11559ffa0c533912c00091..98ebfb74bf2a5260c34aa444edfb06041b2f3726 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/ia64/kernel-features.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/ia64/kernel-features.h @@ -1,6 +1,6 @@ /* Set flags signalling availability of kernel features based on given kernel version number. - Copyright (C) 2010-2021 Free Software Foundation, Inc. + Copyright (C) 2010-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/ia64/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/ia64/sysdep.h index 7198c192a03b7676f8311cad42793e6bb6d59036..1d556945c19a1bded282e3d3dcb43c9de63ce5af 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/ia64/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/ia64/sysdep.h @@ -1,7 +1,5 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Written by Jes Sorensen, , April 1999. - Based on code originally written by David Mosberger-Tang The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -46,12 +44,15 @@ #undef SYS_ify #define SYS_ify(syscall_name) __NR_##syscall_name -#if defined USE_DL_SYSINFO \ - && (IS_IN (libc) \ - || IS_IN (libpthread) || IS_IN (librt)) -# define IA64_USE_NEW_STUB -#else -# undef IA64_USE_NEW_STUB +#ifndef IA64_USE_NEW_STUB +# if defined USE_DL_SYSINFO && IS_IN (libc) +# define IA64_USE_NEW_STUB 1 +# else +# define IA64_USE_NEW_STUB 0 +# endif +#endif +#if IA64_USE_NEW_STUB && !USE_DL_SYSINFO +# error IA64_USE_NEW_STUB needs USE_DL_SYSINFO #endif #ifdef __ASSEMBLER__ @@ -85,7 +86,7 @@ a large offset. Therefore we must not anymore test for < 0, but test for a real error by making sure the value in %d0 is a real error number. Linus said he will make sure the no syscall returns a value - in -1 .. -4095 as a valid result so we can savely test with -4095. */ + in -1 .. -4095 as a valid result so we can safely test with -4095. */ /* We don't want the label for the error handler to be visible in the symbol table when we define it here. */ @@ -103,7 +104,7 @@ mov r15=num; \ break __IA64_BREAK_SYSCALL -#ifdef IA64_USE_NEW_STUB +#if IA64_USE_NEW_STUB # ifdef SHARED # define DO_CALL(num) \ .prologue; \ @@ -187,7 +188,7 @@ (non-negative) errno on error or the return value on success. */ -#ifdef IA64_USE_NEW_STUB +#if IA64_USE_NEW_STUB # define INTERNAL_SYSCALL_NCS(name, nr, args...) \ ({ \ @@ -279,7 +280,7 @@ #define ASM_OUTARGS_5 ASM_OUTARGS_4, "=r" (_out4) #define ASM_OUTARGS_6 ASM_OUTARGS_5, "=r" (_out5) -#ifdef IA64_USE_NEW_STUB +#if IA64_USE_NEW_STUB #define ASM_ARGS_0 #define ASM_ARGS_1 ASM_ARGS_0, "4" (_out0) #define ASM_ARGS_2 ASM_ARGS_1, "5" (_out1) @@ -315,7 +316,7 @@ /* Branch registers. */ \ "b6" -#ifdef IA64_USE_NEW_STUB +#if IA64_USE_NEW_STUB # define ASM_CLOBBERS_6 ASM_CLOBBERS_6_COMMON #else # define ASM_CLOBBERS_6 ASM_CLOBBERS_6_COMMON , "b7" @@ -323,24 +324,4 @@ #endif /* not __ASSEMBLER__ */ -/* Pointer mangling support. */ -#if IS_IN (rtld) -/* We cannot use the thread descriptor because in ld.so we use setjmp - earlier than the descriptor is initialized. */ -#else -# ifdef __ASSEMBLER__ -# define PTR_MANGLE(reg, tmpreg) \ - add tmpreg=-16,r13 \ - ;; \ - ld8 tmpreg=[tmpreg] \ - ;; \ - xor reg=reg, tmpreg -# define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg) -# else -# define PTR_MANGLE(var) \ - (var) = (void *) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ()) -# define PTR_DEMANGLE(var) PTR_MANGLE (var) -# endif -#endif - #endif /* linux/ia64/sysdep.h */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/include/sys/timex.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/include/sys/timex.h index ec038137955a8e8f66437d683baf4dc11c792385..15b856560a46f5fe8e07952a7ed29a02fe80387c 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/include/sys/timex.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/include/sys/timex.h @@ -1,5 +1,5 @@ /* Internal declarations for sys/timex.h. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,7 +23,7 @@ # ifndef _ISOMAC -extern int __adjtimex (struct timex *__ntx); +extern int __adjtimex (struct timex *__ntx) __nonnull ((1)); libc_hidden_proto (__adjtimex) # include @@ -77,9 +77,9 @@ struct __timex64 int :32; int :32; }; -extern int __clock_adjtime64 (const clockid_t clock_id, struct __timex64 *tx64); +extern int __clock_adjtime64 (const clockid_t clock_id, struct __timex64 *tx64) __nonnull((2)); libc_hidden_proto (__clock_adjtime64); -extern int ___adjtimex64 (struct __timex64 *tx64); +extern int ___adjtimex64 (struct __timex64 *tx64) __nonnull ((1)); libc_hidden_proto (___adjtimex64) struct __ntptimeval64 @@ -94,9 +94,9 @@ struct __ntptimeval64 long int __glibc_reserved3; long int __glibc_reserved4; }; -extern int __ntp_gettime64 (struct __ntptimeval64 *ntv); +extern int __ntp_gettime64 (struct __ntptimeval64 *ntv) __nonnull ((1)); libc_hidden_proto (__ntp_gettime64) -extern int __ntp_gettimex64 (struct __ntptimeval64 *ntv); +extern int __ntp_gettimex64 (struct __ntptimeval64 *ntv) __nonnull ((1)); libc_hidden_proto (__ntp_gettimex64) # endif diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/kernel-features.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/kernel-features.h index 3930e14322494d53c1d16d5085c5dedca3057551..07b440f4eea364b05fa49bf71ceebf78f80efe13 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/kernel-features.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/kernel-features.h @@ -1,6 +1,6 @@ /* Set flags signalling availability of kernel features based on given kernel version number. - Copyright (C) 1999-2021 Free Software Foundation, Inc. + Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -79,6 +79,13 @@ #define __ASSUME_SENDMMSG_SYSCALL 1 #define __ASSUME_GETSOCKOPT_SYSCALL 1 #define __ASSUME_SETSOCKOPT_SYSCALL 1 +#define __ASSUME_BIND_SYSCALL 1 +#define __ASSUME_SOCKET_SYSCALL 1 +#define __ASSUME_SOCKETPAIR_SYSCALL 1 +#define __ASSUME_LISTEN_SYSCALL 1 +#define __ASSUME_SHUTDOWN_SYSCALL 1 +#define __ASSUME_GETSOCKNAME_SYSCALL 1 +#define __ASSUME_GETPEERNAME_SYSCALL 1 /* Support for SysV IPC through wired syscalls. All supported architectures either support ipc syscall and/or all the ipc correspondent syscalls. */ @@ -220,4 +227,29 @@ # define __ASSUME_FACCESSAT2 0 #endif +/* The close_range system call was introduced across all architectures + in Linux 5.9. */ +#if __LINUX_KERNEL_VERSION >= 0x050900 +# define __ASSUME_CLOSE_RANGE 1 +#else +# define __ASSUME_CLOSE_RANGE 0 +#endif + +/* The FUTEX_LOCK_PI2 operation was introduced across all architectures in Linux + 5.14. */ +#if __LINUX_KERNEL_VERSION >= 0x050e00 +# define __ASSUME_FUTEX_LOCK_PI2 1 +#else +# define __ASSUME_FUTEX_LOCK_PI2 0 +#endif + +/* The clone3 system call was introduced across on most architectures in + Linux 5.3. Not all ports implements it, so it should be used along + HAVE_CLONE3_WRAPPER define. */ +#if __LINUX_KERNEL_VERSION >= 0x050300 +# define __ASSUME_CLONE3 1 +#else +# define __ASSUME_CLONE3 0 +#endif + #endif /* kernel-features.h */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/kernel_stat.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/kernel_stat.h index 6c1b175cb4f5fc6511d60a08124c4ff17d5811a8..c182400b6ec59bf147352127d9606a0da3ac1b21 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/kernel_stat.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/kernel_stat.h @@ -1,5 +1,5 @@ /* Internal definitions for stat functions. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/lstat.c b/lib/libc/glibc/sysdeps/unix/sysv/linux/lstat.c index b79b4cb9f4a9a0117c9302ed2cef7e0d6b2220bb..535bf7807a5e0eba4917f5b4a76a020d47ef8f8c 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/lstat.c +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/lstat.c @@ -1,5 +1,5 @@ /* Get file status. Linux version. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/lstat64.c b/lib/libc/glibc/sysdeps/unix/sysv/linux/lstat64.c index 3b45187f61a1849b9204e970b38eb4d0976ce70a..debc1699e73de781d78611da767e9edfce7610e8 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/lstat64.c +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/lstat64.c @@ -1,5 +1,5 @@ /* Get file status. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/coldfire/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/coldfire/sysdep.h index a65dfce95afb00129f9a6a75e9911458489cea13..1441440dcd420725d06a65d32aacb39eab2e08dd 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/coldfire/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/coldfire/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2010-2021 Free Software Foundation, Inc. +/* Copyright (C) 2010-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/kernel-features.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/kernel-features.h index 70f1154559a9e629fd5f9bc30da4e5ced5d5199e..d0155783b7f77ae5ed1b5eef7507c07ea412f92a 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/kernel-features.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/kernel-features.h @@ -1,6 +1,6 @@ /* Set flags signalling availability of kernel features based on given kernel version number. - Copyright (C) 2008-2021 Free Software Foundation, Inc. + Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -17,21 +17,11 @@ License along with the GNU C Library. If not, see . */ -/* Direct socketcalls available with kernel 4.3. */ -#if __LINUX_KERNEL_VERSION >= 0x040300 -# define __ASSUME_SOCKET_SYSCALL 1 -# define __ASSUME_SOCKETPAIR_SYSCALL 1 -# define __ASSUME_BIND_SYSCALL 1 -# define __ASSUME_LISTEN_SYSCALL 1 -# define __ASSUME_GETSOCKNAME_SYSCALL 1 -# define __ASSUME_GETPEERNAME_SYSCALL 1 -# define __ASSUME_SHUTDOWN_SYSCALL 1 -#endif - #include_next #undef __ASSUME_ACCEPT_SYSCALL +/* Direct socketcalls available with kernel 4.3. */ #if __LINUX_KERNEL_VERSION < 0x040300 # undef __ASSUME_ACCEPT4_SYSCALL # undef __ASSUME_RECVMMSG_SYSCALL @@ -43,6 +33,13 @@ # undef __ASSUME_SENDTO_SYSCALL # undef __ASSUME_GETSOCKOPT_SYSCALL # undef __ASSUME_SETSOCKOPT_SYSCALL +# undef __ASSUME_BIND_SYSCALL +# undef __ASSUME_SOCKET_SYSCALL +# undef __ASSUME_SOCKETPAIR_SYSCALL +# undef __ASSUME_LISTEN_SYSCALL +# undef __ASSUME_SHUTDOWN_SYSCALL +# undef __ASSUME_GETSOCKNAME_SYSCALL +# undef __ASSUME_GETPEERNAME_SYSCALL #endif /* No support for PI futexes or robust mutexes before 3.10 for m68k. */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/m680x0/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/m680x0/sysdep.h index 8d344f2324304113804c7764b7eca1aab63840fe..d6d2c33fa1e4e6c3888ff91a207abf7e5cc7a6e6 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/m680x0/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/m680x0/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2010-2021 Free Software Foundation, Inc. +/* Copyright (C) 2010-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/sysdep.h index b29986339a7e6cc0f15b72bad40dfbbf8e54a782..037b049958f4620c7ec02981ee1af9f521ae9e4f 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/m68k/sysdep.h @@ -1,7 +1,5 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Written by Andreas Schwab, , - December 1995. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -40,7 +38,7 @@ a large offset. Therefore we must not anymore test for < 0, but test for a real error by making sure the value in %d0 is a real error number. Linus said he will make sure the no syscall returns a value - in -1 .. -4095 as a valid result so we can savely test with -4095. */ + in -1 .. -4095 as a valid result so we can safely test with -4095. */ /* We don't want the label for the error handler to be visible in the symbol table when we define it here. */ @@ -297,12 +295,6 @@ SYSCALL_ERROR_LABEL: \ #endif /* not __ASSEMBLER__ */ -/* Pointer mangling is not yet supported for M68K. */ -#define PTR_MANGLE(var) (void) (var) -#define PTR_DEMANGLE(var) (void) (var) - -#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO /* M68K needs system-supplied DSO to access TLS helpers even when statically linked. */ -# define NEED_STATIC_SYSINFO_DSO 1 -#endif +#define NEED_STATIC_SYSINFO_DSO 1 diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/microblaze/kernel-features.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/microblaze/kernel-features.h index a8fbc67384d529e907880be37089ed0794fa5096..3d6270b633aef5f00357432da9d12cb0360017ca 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/microblaze/kernel-features.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/microblaze/kernel-features.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2011-2021 Free Software Foundation, Inc. +/* Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -18,16 +18,9 @@ #include /* All supported kernel versions for MicroBlaze have these syscalls. */ -#define __ASSUME_SOCKET_SYSCALL 1 -#define __ASSUME_BIND_SYSCALL 1 #define __ASSUME_CONNECT_SYSCALL 1 -#define __ASSUME_LISTEN_SYSCALL 1 -#define __ASSUME_GETSOCKNAME_SYSCALL 1 -#define __ASSUME_GETPEERNAME_SYSCALL 1 -#define __ASSUME_SOCKETPAIR_SYSCALL 1 #define __ASSUME_SEND_SYSCALL 1 #define __ASSUME_RECV_SYSCALL 1 -#define __ASSUME_SHUTDOWN_SYSCALL 1 #include_next diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/microblaze/kernel_stat.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/microblaze/kernel_stat.h index af12ac60c32af9d3ef198b679a3af531dbb6f309..31c1b25a05783d4cf3a26e70817fea5163bfd398 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/microblaze/kernel_stat.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/microblaze/kernel_stat.h @@ -1,5 +1,5 @@ /* Definition of `struct stat' used in the kernel - Copyright (C) 2013-2021 Free Software Foundation, Inc. + Copyright (C) 2013-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/microblaze/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/microblaze/sysdep.h index 52c1e3d8d0ccd3bca4397ba6818292c04315a76f..afc77b0063a3d5ee6fd12c2bffcd7973d06c897e 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/microblaze/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/microblaze/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -43,7 +43,7 @@ #ifdef __ASSEMBLER__ /* In microblaze ABI function call arguments are passed in registers - r5...r10. The return value is stored in r3 (or r3:r4 regiters pair). + r5...r10. The return value is stored in r3 (or r3:r4 register pair). Linux syscall uses the same convention with the addition that the syscall number is passed in r12. To enter the kernel "brki r14,8" instruction is used. @@ -58,7 +58,7 @@ a large offset. Therefore we must not anymore test for < 0, but test for a real error by making sure the value in %d0 is a real error number. Linus said he will make sure the no syscall returns a value - in -1 .. -4095 as a valid result so we can savely test with -4095. */ + in -1 .. -4095 as a valid result so we can safely test with -4095. */ /* We don't want the label for the error handler to be visible in the symbol table when we define it here. */ @@ -304,12 +304,6 @@ SYSCALL_ERROR_LABEL_DCL: \ }) -/* Pointer mangling is not yet supported for Microblaze. */ -# define PTR_MANGLE(var) (void) (var) -# define PTR_DEMANGLE(var) (void) (var) - -# define SINGLE_THREAD_BY_GLOBAL 1 - #undef HAVE_INTERNAL_BRK_ADDR_SYMBOL #define HAVE_INTERNAL_BRK_ADDR_SYMBOL 1 diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/kernel-features.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/kernel-features.h index 7a7c5a0f2ddece529eb5fd658d0041bbb87dcb4e..d0d1c9c52f33baa4eb431113bdd04d59113c47c5 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/kernel-features.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/kernel-features.h @@ -1,6 +1,6 @@ /* Set flags signalling availability of kernel features based on given kernel version number. - Copyright (C) 1999-2021 Free Software Foundation, Inc. + Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h index b336a16de82094d287e602c51dd7cd8a149fbbe2..131808319541eafdb40ca467b498a1575898c8cb 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -337,8 +337,4 @@ libc_hidden_proto (__mips_syscall7, nomips16) #endif /* __ASSEMBLER__ */ -/* Pointer mangling is not yet supported for MIPS. */ -#define PTR_MANGLE(var) (void) (var) -#define PTR_DEMANGLE(var) (void) (var) - #endif /* linux/mips/mips32/sysdep.h */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/mips64/kstat_cp.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/mips64/kstat_cp.h index ee853483cc8a6a4b3e23cf6aff0e33b020730ab5..dbadfd337979e9e1f593c7eeaab3a14a4a854410 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/mips64/kstat_cp.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/mips64/kstat_cp.h @@ -1,5 +1,5 @@ /* Struct stat/stat64 to stat/stat64 conversion for Linux. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/mips64/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/mips64/sysdep.h index 405832d7c323ff9cb57c368aebf95be3e49a8844..d7ae60f596d4dbc32935ca600c4383088422ae15 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/mips64/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/mips64/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -300,8 +300,4 @@ typedef long int __syscall_arg_t; #endif /* __ASSEMBLER__ */ -/* Pointer mangling is not yet supported for MIPS. */ -#define PTR_MANGLE(var) (void) (var) -#define PTR_DEMANGLE(var) (void) (var) - #endif /* linux/mips/sysdep.h */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/sysdep.h index 4a400a7fe3489fad51c44c203afc8669224614bf..ff84a91b31c74876fa64354e1e0931cd8e3b84b0 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/mips/sysdep.h @@ -1,5 +1,5 @@ /* Syscall definitions, Linux MIPS generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/mknodat.c b/lib/libc/glibc/sysdeps/unix/sysv/linux/mknodat.c index 55df90a589fbeee1e2492d7eb2f086174f3cbce6..cb0584e0037cfaf255b5b80f17f68a9071ea167f 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/mknodat.c +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/mknodat.c @@ -1,5 +1,5 @@ /* Create a special or ordinary file. Linux version. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,7 +16,6 @@ License along with the GNU C Library; if not, see . */ -#include #include #include #include diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/nios2/kernel_stat.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/nios2/kernel_stat.h index 1af30dab6fb837918621bcde1f896c1890f59f17..77f01e891dd32e2e4f0c36a6792e0f39f768c43d 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/nios2/kernel_stat.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/nios2/kernel_stat.h @@ -1,7 +1,6 @@ /* Internal definitions for stat functions. Linux/nios2. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/nios2/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/nios2/sysdep.h index bd802c40ff1e429a62ccb7d21be4fea67aa9d400..582e76b17f79fd16c406737483eb12f724c7955b 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/nios2/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/nios2/sysdep.h @@ -1,5 +1,5 @@ /* Assembler macros for Nios II. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -19,9 +19,9 @@ #ifndef _LINUX_NIOS2_SYSDEP_H #define _LINUX_NIOS2_SYSDEP_H 1 +#include #include #include -#include /* For RTLD_PRIVATE_ERRNO. */ #include @@ -220,21 +220,4 @@ #endif /* __ASSEMBLER__ */ -/* Pointer mangling support. */ -#if IS_IN (rtld) -/* We cannot use the thread descriptor because in ld.so we use setjmp - earlier than the descriptor is initialized. */ -#else -# ifdef __ASSEMBLER__ -# define PTR_MANGLE_GUARD(guard) ldw guard, POINTER_GUARD(r23) -# define PTR_MANGLE(dst, src, guard) xor dst, src, guard -# define PTR_DEMANGLE(dst, src, guard) PTR_MANGLE (dst, src, guard) -# else -# define PTR_MANGLE(var) \ - (var) = (__typeof (var)) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ()) -# define PTR_DEMANGLE(var) PTR_MANGLE (var) -# endif -#endif - - #endif /* linux/nios2/sysdep.h */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/kernel-features.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/kernel-features.h index 6c04e187ced7b5587367ecc027cc18ff655e5816..e092d3bd24082f8caa8561af0a19e0d584fb5a93 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/kernel-features.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/kernel-features.h @@ -1,6 +1,6 @@ /* Set flags signalling availability of kernel features based on given kernel version number. PowerPC version. - Copyright (C) 1999-2021 Free Software Foundation, Inc. + Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -18,16 +18,9 @@ . */ /* New syscalls added for PowerPC in 2.6.37. */ -#define __ASSUME_SOCKET_SYSCALL 1 -#define __ASSUME_BIND_SYSCALL 1 #define __ASSUME_CONNECT_SYSCALL 1 -#define __ASSUME_LISTEN_SYSCALL 1 -#define __ASSUME_GETSOCKNAME_SYSCALL 1 -#define __ASSUME_GETPEERNAME_SYSCALL 1 -#define __ASSUME_SOCKETPAIR_SYSCALL 1 #define __ASSUME_SEND_SYSCALL 1 #define __ASSUME_RECV_SYSCALL 1 -#define __ASSUME_SHUTDOWN_SYSCALL 1 /* Define this if your 32-bit syscall API requires 64-bit register pairs to start with an even-number register. */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h index e89ee5fdc8644d59642168c83eab341227d80f42..72b452bed0a17eabe92b112274fbf6d15dcf55ad 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h @@ -1,5 +1,5 @@ /* Definition of `struct stat' used in the kernel. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h index e8785aa8ea70c8a00746781a324788a5381e99db..f22dec29263facb894d6d90300a3fabf34b280ba 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/sysdep.h index 4b9d43c636f392eafbe38ab47bb4c5ff800454d2..96a0edc38fdfa12efd5177c29df8a9112a4a0da0 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/powerpc/sysdep.h @@ -1,5 +1,5 @@ /* Syscall definitions, Linux PowerPC generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -207,38 +207,6 @@ #define ASM_INPUT_5 ASM_INPUT_4, "5" (r7) #define ASM_INPUT_6 ASM_INPUT_5, "6" (r8) - -/* Pointer mangling support. */ -#if IS_IN (rtld) -/* We cannot use the thread descriptor because in ld.so we use setjmp - earlier than the descriptor is initialized. */ -#else -# ifdef __ASSEMBLER__ -# if defined(__PPC64__) || defined(__powerpc64__) -# define LOAD ld -# define TPREG r13 -# else -# define LOAD lwz -# define TPREG r2 -# endif -# define PTR_MANGLE(reg, tmpreg) \ - LOAD tmpreg,POINTER_GUARD(TPREG); \ - xor reg,tmpreg,reg -# define PTR_MANGLE2(reg, tmpreg) \ - xor reg,tmpreg,reg -# define PTR_MANGLE3(destreg, reg, tmpreg) \ - LOAD tmpreg,POINTER_GUARD(TPREG); \ - xor destreg,tmpreg,reg -# define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg) -# define PTR_DEMANGLE2(reg, tmpreg) PTR_MANGLE2 (reg, tmpreg) -# define PTR_DEMANGLE3(destreg, reg, tmpreg) PTR_MANGLE3 (destreg, reg, tmpreg) -# else -# define PTR_MANGLE(var) \ - (var) = (__typeof (var)) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ()) -# define PTR_DEMANGLE(var) PTR_MANGLE (var) -# endif -#endif - /* List of system calls which are supported as vsyscalls. */ #define VDSO_NAME "LINUX_2.6.15" #define VDSO_HASH 123718565 @@ -246,6 +214,7 @@ #if defined(__PPC64__) || defined(__powerpc64__) #define HAVE_CLOCK_GETRES64_VSYSCALL "__kernel_clock_getres" #define HAVE_CLOCK_GETTIME64_VSYSCALL "__kernel_clock_gettime" +#define HAVE_CLONE3_WRAPPER 1 #else #define HAVE_CLOCK_GETRES_VSYSCALL "__kernel_clock_getres" #define HAVE_CLOCK_GETTIME_VSYSCALL "__kernel_clock_gettime" @@ -255,11 +224,4 @@ #define HAVE_GETTIMEOFDAY_VSYSCALL "__kernel_gettimeofday" #define HAVE_GET_TBFREQ "__kernel_get_tbfreq" -#if defined(__PPC64__) || defined(__powerpc64__) -# define HAVE_SIGTRAMP_RT64 "__kernel_sigtramp_rt64" -#else -# define HAVE_SIGTRAMP_32 "__kernel_sigtramp32" -# define HAVE_SIGTRAMP_RT32 "__kernel_sigtramp_rt32" -#endif - #endif /* _LINUX_POWERPC_SYSDEP_H */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/riscv/kernel-features.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/riscv/kernel-features.h index 74c4c27ca16bf675f30e0fb816eeee8d0f07ea21..2ce110528bfc52d3a076fcc150849e01be40bb1d 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/riscv/kernel-features.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/riscv/kernel-features.h @@ -1,6 +1,6 @@ /* Set flags signalling availability of kernel features based on given kernel version number. RISC-V version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/riscv/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/riscv/sysdep.h index 37ff07a0d7d4b5205da334d8b5431c55ca058f05..5583b96d23c5dcdc4fee07cffcd16ab34514c9a8 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/riscv/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/riscv/sysdep.h @@ -19,7 +19,8 @@ #ifndef _LINUX_RISCV_SYSDEP_H #define _LINUX_RISCV_SYSDEP_H 1 -#include +#include +#include #include #undef SYS_ify @@ -102,7 +103,7 @@ # else # define SYSCALL_ERROR_HANDLER(name) \ .Lsyscall_error ## name: \ - j __syscall_error; + tail __syscall_error; # endif /* Performs a system call, not setting errno. */ @@ -120,7 +121,7 @@ # undef ret_NOERRNO # define ret_NOERRNO ret -/* Perfroms a system call, returning the error code. */ +/* Performs a system call, returning the error code. */ # undef PSEUDO_ERRVAL # define PSEUDO_ERRVAL(name, syscall_name, args) \ PSEUDO_NOERRNO (name, syscall_name, args) \ @@ -150,6 +151,7 @@ /* RV32 does not support the gettime VDSO syscalls. */ # endif +# define HAVE_CLONE3_WRAPPER 1 /* List of system calls which are supported as vsyscalls (for RV32 and RV64). */ @@ -357,8 +359,4 @@ extern long int __syscall_error (long int neg_errno); #endif /* ! __ASSEMBLER__ */ -/* Pointer mangling is not supported. */ -#define PTR_MANGLE(var) (void) (var) -#define PTR_DEMANGLE(var) (void) (var) - #endif /* linux/riscv/sysdep.h */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/bits/typesizes.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/bits/typesizes.h index 82e77e1e032839825acf60fa0891501ddaf855ec..dc5c116d2577276f05d13d4f001a9504d63bb2ea 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/bits/typesizes.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/bits/typesizes.h @@ -1,5 +1,5 @@ /* bits/typesizes.h -- underlying types for *_t. Linux/s390 version. - Copyright (C) 2003-2021 Free Software Foundation, Inc. + Copyright (C) 2003-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/kernel-features.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/kernel-features.h index 4757e9eb02a63c0620c097ece3cd888691e81aee..fb87a57a15391bb6a983bd18997bdc6ffc90346b 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/kernel-features.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/kernel-features.h @@ -1,6 +1,6 @@ /* Set flags signalling availability of kernel features based on given kernel version number. S/390 version. - Copyright (C) 1999-2021 Free Software Foundation, Inc. + Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -17,21 +17,11 @@ License along with the GNU C Library; if not, see . */ -/* Direct socketcalls available with kernel 4.3. */ -#if __LINUX_KERNEL_VERSION >= 0x040300 -# define __ASSUME_SOCKET_SYSCALL 1 -# define __ASSUME_SOCKETPAIR_SYSCALL 1 -# define __ASSUME_BIND_SYSCALL 1 -# define __ASSUME_LISTEN_SYSCALL 1 -# define __ASSUME_GETSOCKNAME_SYSCALL 1 -# define __ASSUME_GETPEERNAME_SYSCALL 1 -# define __ASSUME_SHUTDOWN_SYSCALL 1 -#endif - #include_next #undef __ASSUME_ACCEPT_SYSCALL +/* Direct socketcalls available with kernel 4.3. */ #if __LINUX_KERNEL_VERSION < 0x040300 # undef __ASSUME_ACCEPT4_SYSCALL # undef __ASSUME_RECVMMSG_SYSCALL @@ -43,6 +33,13 @@ # undef __ASSUME_SENDTO_SYSCALL # undef __ASSUME_GETSOCKOPT_SYSCALL # undef __ASSUME_SETSOCKOPT_SYSCALL +# undef __ASSUME_BIND_SYSCALL +# undef __ASSUME_SOCKET_SYSCALL +# undef __ASSUME_SOCKETPAIR_SYSCALL +# undef __ASSUME_LISTEN_SYSCALL +# undef __ASSUME_SHUTDOWN_SYSCALL +# undef __ASSUME_GETSOCKNAME_SYSCALL +# undef __ASSUME_GETPEERNAME_SYSCALL #endif /* s390 only supports ipc syscall before 5.1. */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h index 34fb5dbf5ec5995db89378583ab0060e57f6403f..26d1a7c6d8d13865a2b7f1b107e0e70930e825e9 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h @@ -1,5 +1,4 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. - Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -43,7 +42,7 @@ a large offset. Therefore we must not anymore test for < 0, but test for a real error by making sure the value in gpr2 is a real error number. Linus said he will make sure that no syscall returns a value - in -1 .. -4095 as a valid result so we can savely test with -4095. */ + in -1 .. -4095 as a valid result so we can safely test with -4095. */ #undef PSEUDO #define PSEUDO(name, syscall_name, args) \ @@ -156,12 +155,8 @@ lr %r0,%r7; \ l %r7,96(%r15); \ .endif; \ - .if SYS_ify (syscall) < 256; \ - svc SYS_ify (syscall); \ - .else; \ lhi %r1,SYS_ify (syscall); \ svc 0; \ - .endif; \ .if args > 5; \ lr %r7,%r0; \ .endif @@ -182,25 +177,4 @@ #endif /* __ASSEMBLER__ */ -/* Pointer mangling support. */ -#if IS_IN (rtld) -/* We cannot use the thread descriptor because in ld.so we use setjmp - earlier than the descriptor is initialized. */ -#else -/* For the time being just use stack_guard rather than a separate - pointer_guard. */ -# ifdef __ASSEMBLER__ -# define PTR_MANGLE(reg, tmpreg) \ - ear tmpreg,%a0; \ - x reg,STACK_GUARD(tmpreg) -# define PTR_MANGLE2(reg, tmpreg) \ - x reg,STACK_GUARD(tmpreg) -# define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg) -# else -# define PTR_MANGLE(var) \ - (var) = (void *) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ()) -# define PTR_DEMANGLE(var) PTR_MANGLE (var) -# endif -#endif - #endif /* _LINUX_S390_SYSDEP_H */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h index cbf2553cd89d89d48125ce33973796337a94810e..7230e974486e5e7fd25db3725f8acd4fb7d3312d 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h @@ -1,6 +1,5 @@ /* Assembler macros for 64 bit S/390. - Copyright (C) 2001-2021 Free Software Foundation, Inc. - Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -47,7 +46,7 @@ a large offset. Therefore we must not anymore test for < 0, but test for a real error by making sure the value in gpr2 is a real error number. Linus said he will make sure that no syscall returns a value - in -1 .. -4095 as a valid result so we can savely test with -4095. */ + in -1 .. -4095 as a valid result so we can safely test with -4095. */ #undef PSEUDO #define PSEUDO(name, syscall_name, args) \ @@ -154,12 +153,8 @@ lgr %r0,%r7; \ lg %r7,160(%r15); \ .endif; \ - .if SYS_ify (syscall) < 256; \ - svc SYS_ify (syscall); \ - .else; \ lghi %r1,SYS_ify (syscall); \ svc 0; \ - .endif; \ .if args > 5; \ lgr %r7,%r0; \ .endif @@ -180,27 +175,4 @@ #endif /* __ASSEMBLER__ */ -/* Pointer mangling support. */ -#if IS_IN (rtld) -/* We cannot use the thread descriptor because in ld.so we use setjmp - earlier than the descriptor is initialized. */ -#else -/* For the time being just use stack_guard rather than a separate - pointer_guard. */ -# ifdef __ASSEMBLER__ -# define PTR_MANGLE(reg, tmpreg) \ - ear tmpreg,%a0; \ - sllg tmpreg,tmpreg,32; \ - ear tmpreg,%a1; \ - xg reg,STACK_GUARD(tmpreg) -# define PTR_MANGLE2(reg, tmpreg) \ - xg reg,STACK_GUARD(tmpreg) -# define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg) -# else -# define PTR_MANGLE(var) \ - (var) = (void *) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ()) -# define PTR_DEMANGLE(var) PTR_MANGLE (var) -# endif -#endif - #endif /* _LINUX_S390_SYSDEP_H */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/sys/elf.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/sys/elf.h index 565277a1ea3864876e53437a1f1a3f677303a53a..33f183a9a736fba1083448d0a21742ed19c5a382 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/sys/elf.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/sys/elf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/sysdep.h index 683d1349c4446d58a1eee928ee2365796015ff11..b2621630f0f2d1f15046d2cca60e3dd25a5e4071 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/s390/sysdep.h @@ -1,5 +1,5 @@ /* Syscall definitions, Linux s390 version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -21,32 +21,6 @@ #undef SYS_ify #define SYS_ify(syscall_name) __NR_##syscall_name -#undef INTERNAL_SYSCALL_DIRECT -#define INTERNAL_SYSCALL_DIRECT(name, nr, args...) \ - ({ \ - DECLARGS_##nr(args) \ - register long int _ret __asm__("2"); \ - __asm__ __volatile__ ( \ - "svc %b1\n\t" \ - : "=d" (_ret) \ - : "i" (__NR_##name) ASMFMT_##nr \ - : "memory" ); \ - _ret; }) - -#undef INTERNAL_SYSCALL_SVC0 -#define INTERNAL_SYSCALL_SVC0(name, nr, args...) \ - ({ \ - DECLARGS_##nr(args) \ - register unsigned long int _nr __asm__("1") = \ - (unsigned long int)(__NR_##name); \ - register long int _ret __asm__("2"); \ - __asm__ __volatile__ ( \ - "svc 0\n\t" \ - : "=d" (_ret) \ - : "d" (_nr) ASMFMT_##nr \ - : "memory" ); \ - _ret; }) - #undef INTERNAL_SYSCALL_NCS #define INTERNAL_SYSCALL_NCS(no, nr, args...) \ ({ \ @@ -61,10 +35,8 @@ _ret; }) #undef INTERNAL_SYSCALL -#define INTERNAL_SYSCALL(name, nr, args...) \ - (((__NR_##name) < 256) \ - ? INTERNAL_SYSCALL_DIRECT(name, nr, args) \ - : INTERNAL_SYSCALL_SVC0(name, nr, args)) +#define INTERNAL_SYSCALL(name, nr, args...) \ + INTERNAL_SYSCALL_NCS(__NR_##name, nr, args) #define DECLARGS_0() #define DECLARGS_1(arg1) \ @@ -93,9 +65,6 @@ #define ASMFMT_5 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5), "d" (gpr6) #define ASMFMT_6 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5), "d" (gpr6), "d" (gpr7) -#define SINGLE_THREAD_BY_GLOBAL 1 - - #define VDSO_NAME "LINUX_2.6.29" #define VDSO_HASH 123718585 @@ -110,4 +79,5 @@ #define HAVE_GETTIMEOFDAY_VSYSCALL "__kernel_gettimeofday" #define HAVE_GETCPU_VSYSCALL "__kernel_getcpu" +#define HAVE_CLONE3_WRAPPER 1 #endif diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/sh/kernel-features.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/sh/kernel-features.h index 15f5cc2c85349afca297173d359fcfa3229196ae..953fa8dff010a34efd452f2bf0c731809ace61dc 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/sh/kernel-features.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/sh/kernel-features.h @@ -1,6 +1,6 @@ /* Set flags signalling availability of kernel features based on given kernel version number. SH version. - Copyright (C) 1999-2021 Free Software Foundation, Inc. + Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,16 +23,9 @@ #include /* These syscalls were added for SH in 2.6.37. */ -#define __ASSUME_SOCKET_SYSCALL 1 -#define __ASSUME_BIND_SYSCALL 1 #define __ASSUME_CONNECT_SYSCALL 1 -#define __ASSUME_LISTEN_SYSCALL 1 -#define __ASSUME_GETSOCKNAME_SYSCALL 1 -#define __ASSUME_GETPEERNAME_SYSCALL 1 -#define __ASSUME_SOCKETPAIR_SYSCALL 1 #define __ASSUME_SEND_SYSCALL 1 #define __ASSUME_RECV_SYSCALL 1 -#define __ASSUME_SHUTDOWN_SYSCALL 1 #include_next diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/sh/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/sh/sysdep.h index 97aa92dfa24008ddeaa1d930ea382a7aa5d1d4e8..73df0a52eafe83e3616c13c965b7f5a17af90573 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/sh/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/sh/sysdep.h @@ -1,7 +1,5 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper, , August 1995. - Changed by Kaz Kojima, . The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -43,7 +41,7 @@ might return a large offset. Therefore we must not anymore test for < 0, but test for a real error by making sure the value in R0 is a real error number. Linus said he will make sure the no syscall - returns a value in -1 .. -4095 as a valid result so we can savely + returns a value in -1 .. -4095 as a valid result so we can safely test with -4095. */ #define _IMM1 #-1 @@ -317,23 +315,4 @@ #endif /* __ASSEMBLER__ */ -/* Pointer mangling support. */ -#if IS_IN (rtld) -/* We cannot use the thread descriptor because in ld.so we use setjmp - earlier than the descriptor is initialized. Using a global variable - is too complicated here since we have no PC-relative addressing mode. */ -#else -# ifdef __ASSEMBLER__ -# define PTR_MANGLE(reg, tmp) \ - stc gbr,tmp; mov.l @(POINTER_GUARD,tmp),tmp; xor tmp,reg -# define PTR_MANGLE2(reg, tmp) xor tmp,reg -# define PTR_DEMANGLE(reg, tmp) PTR_MANGLE (reg, tmp) -# define PTR_DEMANGLE2(reg, tmp) PTR_MANGLE2 (reg, tmp) -# else -# define PTR_MANGLE(var) \ - (var) = (void *) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ()) -# define PTR_DEMANGLE(var) PTR_MANGLE (var) -# endif -#endif - #endif /* linux/sh/sysdep.h */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/single-thread.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/single-thread.h index 2fac8dcc11314f41d94ac02cfcc7019a6b5ba2fb..9bbd98893888b6ba680728e5570c6edde482d742 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/single-thread.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/single-thread.h @@ -1,5 +1,5 @@ /* Single thread optimization, Linux version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -19,6 +19,10 @@ #ifndef _SINGLE_THREAD_H #define _SINGLE_THREAD_H +#ifndef __ASSEMBLER__ +# include +#endif + /* The default way to check if the process is single thread is by using the pthread_t 'multiple_threads' field. However, for some architectures it is faster to either use an extra field on TCB or global variables (the TCB @@ -27,16 +31,11 @@ The ABI might define SINGLE_THREAD_BY_GLOBAL to enable the single thread check to use global variables instead of the pthread_t field. */ -#ifndef __ASSEMBLER__ -extern int __libc_multiple_threads; -libc_hidden_proto (__libc_multiple_threads) -#endif - #if !defined SINGLE_THREAD_BY_GLOBAL || IS_IN (rtld) # define SINGLE_THREAD_P \ (THREAD_GETMEM (THREAD_SELF, header.multiple_threads) == 0) #else -# define SINGLE_THREAD_P (__libc_multiple_threads == 0) +# define SINGLE_THREAD_P (__libc_single_threaded_internal != 0) #endif #define RTLD_SINGLE_THREAD_P SINGLE_THREAD_P diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h index 7aaca9757deb2a0c1db432100867e57d42039d7a..051318e35c4ffe59791966af9a610d8399e089e2 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h @@ -1,5 +1,5 @@ /* bits/typesizes.h -- underlying types for *_t. Linux/SPARC version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/kernel-features.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/kernel-features.h index 2c28393647ae49bf1b5799545f7ce26829fa5f40..98c938c16d9e48b2430a2240a95d8d970a7c95a8 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/kernel-features.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/kernel-features.h @@ -1,6 +1,6 @@ /* Set flags signalling availability of kernel features based on given kernel version number. SPARC version. - Copyright (C) 1999-2021 Free Software Foundation, Inc. + Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -40,16 +40,19 @@ # undef __ASSUME_SENDTO_SYSCALL # undef __ASSUME_GETSOCKOPT_SYSCALL # undef __ASSUME_SETSOCKOPT_SYSCALL -#else -# define __ASSUME_SOCKET_SYSCALL 1 -# define __ASSUME_SOCKETPAIR_SYSCALL 1 -# define __ASSUME_SHUTDOWN_SYSCALL 1 +#endif + +/* There syscalls were added for 32-bit in compat syscall table only + in 4.20 (but present for 64-bit in all supported kernel versions). */ +#if !defined __arch64__ && __LINUX_KERNEL_VERSION < 0x041400 +# undef __ASSUME_GETSOCKNAME_SYSCALL +# undef __ASSUME_GETPEERNAME_SYSCALL #endif /* These syscalls were added for both 32-bit and 64-bit in 4.4. */ -#if __LINUX_KERNEL_VERSION >= 0x040400 -# define __ASSUME_BIND_SYSCALL 1 -# define __ASSUME_LISTEN_SYSCALL 1 +#if __LINUX_KERNEL_VERSION < 0x040400 +# undef __ASSUME_BIND_SYSCALL +# undef __ASSUME_LISTEN_SYSCALL #endif #ifdef __arch64__ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h index 7cbfdada6357d035fb45011b29ae98be332a2087..99a4941abf2c52672847f2c76a05090013d7eb80 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h @@ -1,6 +1,5 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Miguel de Icaza , January 1997. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -126,24 +125,4 @@ ENTRY(name); \ #endif /* __ASSEMBLER__ */ -/* Pointer mangling support. */ -#if IS_IN (rtld) -/* We cannot use the thread descriptor because in ld.so we use setjmp - earlier than the descriptor is initialized. */ -#else -# ifdef __ASSEMBLER__ -# define PTR_MANGLE(dreg, reg, tmpreg) \ - ld [%g7 + POINTER_GUARD], tmpreg; \ - xor reg, tmpreg, dreg -# define PTR_DEMANGLE(dreg, reg, tmpreg) PTR_MANGLE (dreg, reg, tmpreg) -# define PTR_MANGLE2(dreg, reg, tmpreg) \ - xor reg, tmpreg, dreg -# define PTR_DEMANGLE2(dreg, reg, tmpreg) PTR_MANGLE2 (dreg, reg, tmpreg) -# else -# define PTR_MANGLE(var) \ - (var) = (__typeof (var)) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ()) -# define PTR_DEMANGLE(var) PTR_MANGLE (var) -# endif -#endif - #endif /* linux/sparc/sysdep.h */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sparc64/kstat_cp.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sparc64/kstat_cp.h index 7d7c629add439c3bcc3e93491d6a253c1cb43189..27968b26ad35a4378fd27dcaa2e636878f485184 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sparc64/kstat_cp.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sparc64/kstat_cp.h @@ -1,5 +1,5 @@ /* Struct kernel_stat64 to stat64. Linux/SPARC version. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h index 5aa80e32bf9ce55eed91b01c4a67b130f0c338c7..dc59334df569e221bc83b02f9a4f842bd1f10886 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h @@ -1,6 +1,5 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Richard Henderson , 1997. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -128,24 +127,4 @@ ENTRY(name); \ register windows. So if you poke stack memory directly you add this. */ #define STACK_BIAS 2047 -/* Pointer mangling support. */ -#if IS_IN (rtld) -/* We cannot use the thread descriptor because in ld.so we use setjmp - earlier than the descriptor is initialized. */ -#else -# ifdef __ASSEMBLER__ -# define PTR_MANGLE(dreg, reg, tmpreg) \ - ldx [%g7 + POINTER_GUARD], tmpreg; \ - xor reg, tmpreg, dreg -# define PTR_DEMANGLE(dreg, reg, tmpreg) PTR_MANGLE (dreg, reg, tmpreg) -# define PTR_MANGLE2(dreg, reg, tmpreg) \ - xor reg, tmpreg, dreg -# define PTR_DEMANGLE2(dreg, reg, tmpreg) PTR_MANGLE2 (dreg, reg, tmpreg) -# else -# define PTR_MANGLE(var) \ - (var) = (__typeof (var)) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ()) -# define PTR_DEMANGLE(var) PTR_MANGLE (var) -# endif -#endif - #endif /* linux/sparc64/sysdep.h */ diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sysdep.h index 0c55902178c2b45b9f4e8bfb111c50eb0fb795fb..a4b58978022dfce773b6d80760bd5b0b3448e0b9 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/sparc/sysdep.h @@ -1,6 +1,5 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Jakub Jelinek , 2000. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/stat.c b/lib/libc/glibc/sysdeps/unix/sysv/linux/stat.c index 95a50016fc693dcd2f0e3d9c46fac6a05716747b..4271b85a7a5be3f1db2dab176415498dd7714a7b 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/stat.c +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/stat.c @@ -1,5 +1,5 @@ /* Get file status. Linux version. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/stat64.c b/lib/libc/glibc/sysdeps/unix/sysv/linux/stat64.c index 329ab11f4baf855b0faf2d158e301d079ab1d0d0..17d69c34a4a6ae1b85df2735891b7f245b06fe87 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/stat64.c +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/stat64.c @@ -1,5 +1,5 @@ /* Get file status. Linux version. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/stat_t64_cp.c b/lib/libc/glibc/sysdeps/unix/sysv/linux/stat_t64_cp.c index 0755584419acd34d3eead508600aa6d4096fe793..0d8e5ba11a8180df0b715ea624b0ef3788e70067 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/stat_t64_cp.c +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/stat_t64_cp.c @@ -1,5 +1,5 @@ /* Struct stat/stat64 to stat/stat64 conversion for Linux. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,25 +22,6 @@ #include #if __TIMESIZE != 64 - -static inline bool -in_time_t_range (__time64_t t) -{ - time_t s = t; - return s == t; -} - -static inline struct timespec -valid_timespec64_to_timespec (const struct __timespec64 ts64) -{ - struct timespec ts; - - ts.tv_sec = (time_t) ts64.tv_sec; - ts.tv_nsec = ts64.tv_nsec; - - return ts; -} - int __cp_stat64_t64_stat64 (const struct __stat64_t64 *st64_t64, struct stat64 *st64) diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/stat_t64_cp.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/stat_t64_cp.h index 94a8c8a60d9170b7173d0e68167ea9a64a2bdc92..7251fffaa3b2fe24ec8bb42fda83c3576b62e4b0 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/stat_t64_cp.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/stat_t64_cp.h @@ -1,5 +1,5 @@ /* Copy to/from struct stat with and without 64-bit time_t support. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/struct_stat_time64.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/struct_stat_time64.h index 260d1812beaec5433e31195cbde41d9ea45c46a9..72ccf6aed44160408d984d2aafb6e3f8142e42de 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/struct_stat_time64.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/struct_stat_time64.h @@ -1,5 +1,5 @@ /* Struct stat with 64-bit time support. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/sys/syscall.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/sys/syscall.h index e2344058adb00ca41b608b9717d649ebd5ef2f36..2ec1b9658652cd4e4dfb118a086562f199836377 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/sys/syscall.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/sys/syscall.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/sys/timex.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/sys/timex.h index e17265c607f8fa1fe172363b9b17a1484e0b1bcc..1d17e57ea03fdea9c9ba1b13f7397f32d881d998 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/sys/timex.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/sys/timex.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -55,26 +55,26 @@ struct ntptimeval __BEGIN_DECLS #ifndef __USE_TIME_BITS64 -extern int adjtimex (struct timex *__ntx) __THROW; -extern int ntp_gettimex (struct ntptimeval *__ntv) __THROW; +extern int adjtimex (struct timex *__ntx) __THROW __nonnull ((1)); +extern int ntp_gettimex (struct ntptimeval *__ntv) __THROW __nonnull ((1)); # ifdef __REDIRECT_NTH extern int __REDIRECT_NTH (ntp_gettime, (struct ntptimeval *__ntv), - ntp_gettimex); + ntp_gettimex) __nonnull ((1)); # else # define ntp_gettime ntp_gettimex # endif -extern int ntp_adjtime (struct timex *__tntx) __THROW; +extern int ntp_adjtime (struct timex *__tntx) __THROW __nonnull ((1)); #else # ifdef __REDIRECT_NTH extern int __REDIRECT_NTH (adjtimex, (struct timex *__ntx), - ___adjtimex64); + ___adjtimex64) __nonnull ((1)); extern int __REDIRECT_NTH (ntp_gettime, (struct ntptimeval *__ntv), - __ntp_gettime64); + __ntp_gettime64) __nonnull ((1)); extern int __REDIRECT_NTH (ntp_gettimex, (struct ntptimeval *__ntv), - __ntp_gettimex64); + __ntp_gettimex64) __nonnull ((1)); extern int __REDIRECT_NTH (ntp_adjtime, (struct timex *__ntx), - ___adjtimex64); + ___adjtimex64) __nonnull ((1)); # else # define adjtimex ___adjtimex64 # define ntp_adjtime ___adjtimex64 diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/sysdep.h index 3ef72dc805a6e6246f8fafd935108ff3c10591b1..cc975e9f3e2cd9987056bf80ad9817b1e7353b7d 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2015-2021 Free Software Foundation, Inc. +/* Copyright (C) 2015-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/x86/bits/typesizes.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/x86/bits/typesizes.h index 060af056f854dd647494e393d36c1991edc7b12f..6b6ec0d2885d18ee95ed63b1dcdacc2ac9720fb9 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/x86/bits/typesizes.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/x86/bits/typesizes.h @@ -1,5 +1,5 @@ /* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/x86/sys/elf.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/x86/sys/elf.h index 1e49281e07bb8bcb0cbbc6809c5e1ba4fd4dbe77..88efa3b6b27a2f2342074db9c8cf098fc64786d4 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/x86/sys/elf.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/x86/sys/elf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/x86_64/kernel-features.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/x86_64/kernel-features.h index 84888db77c82d7ebfbaeb8dd5614082d7f645b53..68322ff476560321fefb715b75a1ff8fcd97b57c 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/x86_64/kernel-features.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/x86_64/kernel-features.h @@ -1,6 +1,6 @@ /* Set flags signalling availability of kernel features based on given kernel version number. x86-64 version. - Copyright (C) 1999-2021 Free Software Foundation, Inc. + Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/x86_64/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/x86_64/sysdep.h index 327e59388baebe87b43f7c2068acd9348da188e1..c350ee157a1d297a5a33d34ecf7669a065e75b8a 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/x86_64/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/x86_64/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -43,7 +43,7 @@ might return a large offset. Therefore we must not anymore test for < 0, but test for a real error by making sure the value in %eax is a real error number. Linus said he will make sure the no syscall - returns a value in -1 .. -4095 as a valid result so we can savely + returns a value in -1 .. -4095 as a valid result so we can safely test with -4095. */ /* We don't want the label for the error handle to be global when we define @@ -379,50 +379,8 @@ # define HAVE_CLONE3_WRAPPER 1 -# define SINGLE_THREAD_BY_GLOBAL 1 - #endif /* __ASSEMBLER__ */ - -/* Pointer mangling support. */ -#if IS_IN (rtld) -/* We cannot use the thread descriptor because in ld.so we use setjmp - earlier than the descriptor is initialized. */ -# ifdef __ASSEMBLER__ -# define PTR_MANGLE(reg) xor __pointer_chk_guard_local(%rip), reg; \ - rol $2*LP_SIZE+1, reg -# define PTR_DEMANGLE(reg) ror $2*LP_SIZE+1, reg; \ - xor __pointer_chk_guard_local(%rip), reg -# else -# define PTR_MANGLE(reg) asm ("xor __pointer_chk_guard_local(%%rip), %0\n" \ - "rol $2*" LP_SIZE "+1, %0" \ - : "=r" (reg) : "0" (reg)) -# define PTR_DEMANGLE(reg) asm ("ror $2*" LP_SIZE "+1, %0\n" \ - "xor __pointer_chk_guard_local(%%rip), %0" \ - : "=r" (reg) : "0" (reg)) -# endif -#else -# ifdef __ASSEMBLER__ -# define PTR_MANGLE(reg) xor %fs:POINTER_GUARD, reg; \ - rol $2*LP_SIZE+1, reg -# define PTR_DEMANGLE(reg) ror $2*LP_SIZE+1, reg; \ - xor %fs:POINTER_GUARD, reg -# else -# define PTR_MANGLE(var) asm ("xor %%fs:%c2, %0\n" \ - "rol $2*" LP_SIZE "+1, %0" \ - : "=r" (var) \ - : "0" (var), \ - "i" (offsetof (tcbhead_t, \ - pointer_guard))) -# define PTR_DEMANGLE(var) asm ("ror $2*" LP_SIZE "+1, %0\n" \ - "xor %%fs:%c2, %0" \ - : "=r" (var) \ - : "0" (var), \ - "i" (offsetof (tcbhead_t, \ - pointer_guard))) -# endif -#endif - /* How to pass the off{64}_t argument on p{readv,writev}{64}. */ #undef LO_HI_LONG #define LO_HI_LONG(val) (val), 0 diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h index 62c9737c6ba044584eb59629a7b94e7b89caf4f3..60224afb1437f335b9700daf37e2c1de6c6fccd4 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2012-2021 Free Software Foundation, Inc. +/* Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/xstatver.h b/lib/libc/glibc/sysdeps/unix/sysv/linux/xstatver.h index 8e1801b6037e2c47d76e2cc44ad2a6b3188a21e3..d8fd35beb6912d51d09d2a7e26220e648adb7e81 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/xstatver.h +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/xstatver.h @@ -1,13 +1,10 @@ /* Versions of the 'struct stat' data structure used in compatibility xstat functions. */ -#define _STAT_VER_LINUX_OLD 1 -#define _STAT_VER_KERNEL 1 -#define _STAT_VER_SVR4 2 -#define _STAT_VER_LINUX 3 -#define _STAT_VER _STAT_VER_LINUX +#define _STAT_VER_KERNEL 0 +#define _STAT_VER_LINUX 0 +#define _STAT_VER _STAT_VER_KERNEL /* Versions of the 'xmknod' interface used in compatibility xmknod functions. */ -#define _MKNOD_VER_LINUX 1 -#define _MKNOD_VER_SVR4 2 +#define _MKNOD_VER_LINUX 0 #define _MKNOD_VER _MKNOD_VER_LINUX diff --git a/lib/libc/glibc/sysdeps/unix/x86_64/sysdep.h b/lib/libc/glibc/sysdeps/unix/x86_64/sysdep.h index 225b6bdebc809f7291911764162020defab4f655..1b104ed0f6e14a2003ada56374fd581c5ea40a2e 100644 --- a/lib/libc/glibc/sysdeps/unix/x86_64/sysdep.h +++ b/lib/libc/glibc/sysdeps/unix/x86_64/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/wordsize-32/divdi3-symbol-hacks.h b/lib/libc/glibc/sysdeps/wordsize-32/divdi3-symbol-hacks.h index 3e7c54bd0c3289a9c2286659e56cf8dc8442c509..0ccd15eb72b32c783b612eb40a59bc7a0b1024cc 100644 --- a/lib/libc/glibc/sysdeps/wordsize-32/divdi3-symbol-hacks.h +++ b/lib/libc/glibc/sysdeps/wordsize-32/divdi3-symbol-hacks.h @@ -1,5 +1,5 @@ /* Hacks needed for divdi3 symbol manipulation. - Copyright (C) 2004-2021 Free Software Foundation, Inc. + Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,7 +23,8 @@ assembler. Note: in_divdi3_c is only used to avoid symbol alias on divdi3 build itself. */ -#if !defined __ASSEMBLER__ && !defined in_divdi3_c && IS_IN (libc) && defined SHARED +#if !defined __ASSEMBLER__ && !defined in_divdi3_c && IS_IN (libc) \ + && defined SHARED && !defined LIBC_NONSHARED asm ("__divdi3 = __divdi3_internal"); asm ("__udivdi3 = __udivdi3_internal"); asm ("__moddi3 = __moddi3_internal"); diff --git a/lib/libc/glibc/sysdeps/x86/nptl/bits/pthreadtypes-arch.h b/lib/libc/glibc/sysdeps/x86/nptl/bits/pthreadtypes-arch.h index 4ebc4f9748619b120b769f0432109315d04f82df..20b3854d8a4cc850c2733687e2032006146c2bea 100644 --- a/lib/libc/glibc/sysdeps/x86/nptl/bits/pthreadtypes-arch.h +++ b/lib/libc/glibc/sysdeps/x86/nptl/bits/pthreadtypes-arch.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/x86/sysdep.h b/lib/libc/glibc/sysdeps/x86/sysdep.h index cac1d762fb3f99d0954c955781bc13da888cda5a..0b3483a77acee770c0219a0983f2277ea9a2cf31 100644 --- a/lib/libc/glibc/sysdeps/x86/sysdep.h +++ b/lib/libc/glibc/sysdeps/x86/sysdep.h @@ -1,5 +1,5 @@ /* Assembler macros for x86. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -78,15 +78,18 @@ enum cf_protection_level #define ASM_SIZE_DIRECTIVE(name) .size name,.-name; /* Define an entry point visible from C. */ -#define ENTRY(name) \ +#define ENTRY_P2ALIGN(name, alignment) \ .globl C_SYMBOL_NAME(name); \ .type C_SYMBOL_NAME(name),@function; \ - .align ALIGNARG(4); \ + .align ALIGNARG(alignment); \ C_LABEL(name) \ cfi_startproc; \ _CET_ENDBR; \ CALL_MCOUNT +/* Common entry 16 byte aligns. */ +#define ENTRY(name) ENTRY_P2ALIGN (name, 4) + #undef END #define END(name) \ cfi_endproc; \ @@ -108,7 +111,8 @@ enum cf_protection_level /* Local label name for asm code. */ #ifndef L /* ELF-like local names start with `.L'. */ -# define L(name) .L##name +# define LOCAL_LABEL(name) .L##name +# define L(name) LOCAL_LABEL(name) #endif #define atom_text_section .section ".text.atom", "ax" diff --git a/lib/libc/glibc/sysdeps/x86_64/crti.S b/lib/libc/glibc/sysdeps/x86_64/crti.S index 129d1befc7472d1936eccd7bafa6fa72c65c7691..3633899377ad277355e52b61603a115f29098a43 100644 --- a/lib/libc/glibc/sysdeps/x86_64/crti.S +++ b/lib/libc/glibc/sysdeps/x86_64/crti.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for x86-64. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/x86_64/crtn.S b/lib/libc/glibc/sysdeps/x86_64/crtn.S index b06fe62f262d15d7b130d443c3e21ff1014aaf00..e959cdff1c23082dddef80716b1c8fef1d0a8897 100644 --- a/lib/libc/glibc/sysdeps/x86_64/crtn.S +++ b/lib/libc/glibc/sysdeps/x86_64/crtn.S @@ -1,5 +1,5 @@ /* Special .init and .fini section support for x86-64. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/glibc/sysdeps/x86_64/start.S b/lib/libc/glibc/sysdeps/x86_64/start.S index 1b3e36826b8a477474cee24d1c931429fbdf6d8f..4cedc7214d01c18a1004dc2c935aa5a6df090dd5 100644 --- a/lib/libc/glibc/sysdeps/x86_64/start.S +++ b/lib/libc/glibc/sysdeps/x86_64/start.S @@ -1,7 +1,6 @@ /* Startup code compliant to the ELF x86-64 ABI. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Andreas Jaeger , 2001. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/glibc/sysdeps/x86_64/sysdep.h b/lib/libc/glibc/sysdeps/x86_64/sysdep.h index 7bebdeb21095eda04ebaa4253d51e8e5180f7a3c..6ca169573d9a17c5955b90109367f5f0580a8ae0 100644 --- a/lib/libc/glibc/sysdeps/x86_64/sysdep.h +++ b/lib/libc/glibc/sysdeps/x86_64/sysdep.h @@ -1,5 +1,5 @@ /* Assembler macros for x86-64. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,6 +20,7 @@ #define _X86_64_SYSDEP_H 1 #include +#include #ifdef __ASSEMBLER__ @@ -68,9 +69,6 @@ lose: \ # define JUMPTARGET(name) name #endif -/* Long and pointer size in bytes. */ -#define LP_SIZE 8 - /* Instruction to operate on long and pointer. */ #define LP_OP(insn) insn##q @@ -99,13 +97,31 @@ lose: \ to avoid RTM abort triggered by VZEROUPPER inside transactionally. */ #define ZERO_UPPER_VEC_REGISTERS_RETURN_XTEST \ xtest; \ - jz 1f; \ - vzeroall; \ + jnz 1f; \ + vzeroupper; \ ret; \ 1: \ - vzeroupper; \ + vzeroall; \ ret +/* Can be used to replace vzeroupper that is not directly before a + return. This is useful when hoisting a vzeroupper from multiple + return paths to decrease the total number of vzerouppers and code + size. */ +#define COND_VZEROUPPER_XTEST \ + xtest; \ + jz 1f; \ + vzeroall; \ + jmp 2f; \ +1: \ + vzeroupper; \ +2: + +/* In RTM define this as COND_VZEROUPPER_XTEST. */ +#ifndef COND_VZEROUPPER +# define COND_VZEROUPPER vzeroupper +#endif + /* Zero upper vector registers and return. */ #ifndef ZERO_UPPER_VEC_REGISTERS_RETURN # define ZERO_UPPER_VEC_REGISTERS_RETURN \ @@ -119,9 +135,6 @@ lose: \ #else /* __ASSEMBLER__ */ -/* Long and pointer size in bytes. */ -#define LP_SIZE "8" - /* Instruction to operate on long and pointer. */ #define LP_OP(insn) #insn "q" diff --git a/lib/libc/glibc/sysdeps/x86_64/x32/sysdep.h b/lib/libc/glibc/sysdeps/x86_64/x32/sysdep.h index e90217687930e6db7a6ed99ed3b8d83cac661988..8b7ef01f916dc9c85b05b5bee3616d1df93e0aa5 100644 --- a/lib/libc/glibc/sysdeps/x86_64/x32/sysdep.h +++ b/lib/libc/glibc/sysdeps/x86_64/x32/sysdep.h @@ -1,5 +1,5 @@ /* Assembler macros for x32. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -17,8 +17,8 @@ . */ #include +#include -#undef LP_SIZE #undef LP_OP #undef ASM_ADDR @@ -41,8 +41,6 @@ #ifdef __ASSEMBLER__ -# define LP_SIZE 4 - # define LP_OP(insn) insn##l # define ASM_ADDR .long @@ -66,8 +64,6 @@ #else /* __ASSEMBLER__ */ -# define LP_SIZE "4" - # define LP_OP(insn) #insn "l" # define ASM_ADDR ".long" -- 2.54.0 From 4a3002848cb139b2344fb2ceea2bfe1b908ac108 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Thu, 12 Oct 2023 17:07:02 -0700 Subject: [PATCH 04/15] glibc: update libc-modules.h to 2.38 --- lib/libc/glibc/include/libc-modules.h | 73 +++++++++++++-------------- 1 file changed, 35 insertions(+), 38 deletions(-) diff --git a/lib/libc/glibc/include/libc-modules.h b/lib/libc/glibc/include/libc-modules.h index 6e5413b3445c75d7f9468d8f1a6f4e646b5061ce..c3400abbdced8b45a035583790d4aa573df9b41b 100644 --- a/lib/libc/glibc/include/libc-modules.h +++ b/lib/libc/glibc/include/libc-modules.h @@ -3,41 +3,38 @@ #define MODULE_iconvprogs 1 #define MODULE_iconvdata 2 #define MODULE_ldconfig 3 -#define MODULE_lddlibc4 4 -#define MODULE_libmemusage 5 -#define MODULE_libSegFault 6 -#define MODULE_libpcprofile 7 -#define MODULE_librpcsvc 8 -#define MODULE_locale_programs 9 -#define MODULE_memusagestat 10 -#define MODULE_nonlib 11 -#define MODULE_nscd 12 -#define MODULE_extramodules 13 -#define MODULE_libnldbl 14 -#define MODULE_libsupport 15 -#define MODULE_testsuite 16 -#define MODULE_LIBS_BEGIN 17 -#define MODULE_rtld 18 -#define MODULE_libc 19 -#define MODULE_libBrokenLocale 20 -#define MODULE_libpthread 21 -#define MODULE_libthread_db 22 -#define MODULE_libcrypt 23 -#define MODULE_libdl 24 -#define MODULE_libgcc_s 25 -#define MODULE_libnss_test1 26 -#define MODULE_libnsl 27 -#define MODULE_libc_malloc_debug 28 -#define MODULE_libutil 29 -#define MODULE_libnss_ldap 30 -#define MODULE_libnss_test2 31 -#define MODULE_libnss_dns 32 -#define MODULE_libnss_compat 33 -#define MODULE_libmvec 34 -#define MODULE_libresolv 35 -#define MODULE_libnss_db 36 -#define MODULE_libm 37 -#define MODULE_libnss_files 38 -#define MODULE_librt 39 -#define MODULE_libnss_hesiod 40 -#define MODULE_libanl 41 +#define MODULE_libmemusage 4 +#define MODULE_libpcprofile 5 +#define MODULE_librpcsvc 6 +#define MODULE_locale_programs 7 +#define MODULE_memusagestat 8 +#define MODULE_nonlib 9 +#define MODULE_nscd 10 +#define MODULE_extramodules 11 +#define MODULE_libnldbl 12 +#define MODULE_libsupport 13 +#define MODULE_testsuite 14 +#define MODULE_testsuite_internal 15 +#define MODULE_LIBS_BEGIN 16 +#define MODULE_rtld 17 +#define MODULE_libc 18 +#define MODULE_libBrokenLocale 19 +#define MODULE_libpthread 20 +#define MODULE_libthread_db 21 +#define MODULE_libcrypt 22 +#define MODULE_libdl 23 +#define MODULE_libgcc_s 24 +#define MODULE_libnsl 25 +#define MODULE_libc_malloc_debug 26 +#define MODULE_libutil 27 +#define MODULE_libnss_ldap 28 +#define MODULE_libnss_dns 29 +#define MODULE_libnss_compat 30 +#define MODULE_libmvec 31 +#define MODULE_libresolv 32 +#define MODULE_libnss_db 33 +#define MODULE_libm 34 +#define MODULE_libnss_files 35 +#define MODULE_librt 36 +#define MODULE_libnss_hesiod 37 +#define MODULE_libanl 38 -- 2.54.0 From 0813539c28b52613427c7a00a0714b2363154f5b Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Thu, 12 Oct 2023 21:09:05 -0700 Subject: [PATCH 05/15] it's unclear which zig target glibc sparcv9 maps to so let's not include those headers until more investigation happens. --- tools/process_headers.zig | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/tools/process_headers.zig b/tools/process_headers.zig index 79ec3e7d03d1c03a8924d9e59d241a2abfab68fa..ea08d4de40a48cd9ba30191f4f3ef0b8b0bb7a9a 100644 --- a/tools/process_headers.zig +++ b/tools/process_headers.zig @@ -169,13 +169,14 @@ const glibc_targets = [_]LibCTarget{ .arch = MultiArch{ .specific = Arch.s390x }, .abi = MultiAbi{ .specific = Abi.gnu }, }, + // It's unclear which zig target this glibc sparcv9 target maps to. + //LibCTarget{ + // .name = "sparcv9-linux-gnu", + // .arch = MultiArch{ .specific = Arch.sparc }, + // .abi = MultiAbi{ .specific = Abi.gnu }, + //}, LibCTarget{ - .name = "sparc-linux-gnu", - .arch = MultiArch{ .specific = Arch.sparc }, - .abi = MultiAbi{ .specific = Abi.gnu }, - }, - LibCTarget{ - .name = "sparcv9-linux-gnu", + .name = "sparc64-linux-gnu", .arch = MultiArch{ .specific = Arch.sparc64 }, .abi = MultiAbi{ .specific = Abi.gnu }, }, -- 2.54.0 From 8d3892b7558c36691b9940af9db7ca51e0acaa3c Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Thu, 12 Oct 2023 21:10:09 -0700 Subject: [PATCH 06/15] update glibc headers to 2.38 --- .../include/aarch64-linux-gnu/bits/fcntl.h | 2 +- .../include/aarch64-linux-gnu/bits/fenv.h | 2 +- .../include/aarch64-linux-gnu/bits/floatn.h | 8 +- .../include/aarch64-linux-gnu/bits/fp-fast.h | 2 +- .../include/aarch64-linux-gnu/bits/hwcap.h | 28 +- .../include/aarch64-linux-gnu/bits/link.h | 28 +- .../aarch64-linux-gnu/bits/long-double.h | 2 +- .../aarch64-linux-gnu/bits/math-vector.h | 78 +++ .../include/aarch64-linux-gnu/bits/mman.h | 2 +- .../include/aarch64-linux-gnu/bits/procfs.h | 2 +- .../bits/pthread_stack_min.h | 2 +- .../bits/pthreadtypes-arch.h | 2 +- .../include/aarch64-linux-gnu/bits/rseq.h | 43 ++ .../aarch64-linux-gnu/bits/semaphore.h | 2 +- .../include/aarch64-linux-gnu/bits/setjmp.h | 2 +- .../include/aarch64-linux-gnu/bits/sigstack.h | 2 +- .../aarch64-linux-gnu/bits/struct_rwlock.h | 2 +- .../aarch64-linux-gnu/bits/struct_stat.h | 2 +- .../include/aarch64-linux-gnu/bits/timesize.h | 20 + .../aarch64-linux-gnu/bits/typesizes.h | 3 +- .../include/aarch64-linux-gnu/bits/wordsize.h | 2 +- .../include/aarch64-linux-gnu/fpu_control.h | 4 +- .../aarch64-linux-gnu/gnu/lib-names-lp64.h | 2 - lib/libc/include/aarch64-linux-gnu/ieee754.h | 2 +- lib/libc/include/aarch64-linux-gnu/sys/elf.h | 2 +- .../include/aarch64-linux-gnu/sys/ptrace.h | 9 +- .../include/aarch64-linux-gnu/sys/ucontext.h | 2 +- lib/libc/include/aarch64-linux-gnu/sys/user.h | 2 +- .../include/aarch64_be-linux-gnu/bits/fcntl.h | 2 +- .../include/aarch64_be-linux-gnu/bits/fenv.h | 2 +- .../aarch64_be-linux-gnu/bits/floatn.h | 8 +- .../aarch64_be-linux-gnu/bits/fp-fast.h | 2 +- .../include/aarch64_be-linux-gnu/bits/hwcap.h | 28 +- .../include/aarch64_be-linux-gnu/bits/link.h | 28 +- .../aarch64_be-linux-gnu/bits/long-double.h | 2 +- .../aarch64_be-linux-gnu/bits/math-vector.h | 78 +++ .../include/aarch64_be-linux-gnu/bits/mman.h | 2 +- .../aarch64_be-linux-gnu/bits/procfs.h | 2 +- .../bits/pthread_stack_min.h | 2 +- .../bits/pthreadtypes-arch.h | 2 +- .../include/aarch64_be-linux-gnu/bits/rseq.h | 43 ++ .../aarch64_be-linux-gnu/bits/semaphore.h | 2 +- .../aarch64_be-linux-gnu/bits/setjmp.h | 2 +- .../aarch64_be-linux-gnu/bits/sigstack.h | 2 +- .../aarch64_be-linux-gnu/bits/struct_rwlock.h | 2 +- .../aarch64_be-linux-gnu/bits/struct_stat.h | 2 +- .../aarch64_be-linux-gnu/bits/timesize.h | 20 + .../aarch64_be-linux-gnu/bits/typesizes.h | 3 +- .../aarch64_be-linux-gnu/bits/wordsize.h | 2 +- .../aarch64_be-linux-gnu/fpu_control.h | 4 +- .../gnu/lib-names-lp64_be.h | 2 - .../include/aarch64_be-linux-gnu/ieee754.h | 2 +- .../include/aarch64_be-linux-gnu/sys/elf.h | 2 +- .../include/aarch64_be-linux-gnu/sys/ptrace.h | 9 +- .../aarch64_be-linux-gnu/sys/ucontext.h | 2 +- .../include/aarch64_be-linux-gnu/sys/user.h | 2 +- .../bits/dl_find_object.h} | 18 +- .../include/arm-linux-gnueabi/bits/fcntl.h | 2 +- .../include/arm-linux-gnueabi/bits/fenv.h | 2 +- .../include/arm-linux-gnueabi/bits/floatn.h | 2 +- .../include/arm-linux-gnueabi/bits/hwcap.h | 10 +- .../include/arm-linux-gnueabi/bits/link.h | 2 +- .../arm-linux-gnueabi/bits/long-double.h | 2 +- .../arm-linux-gnueabi/bits/procfs-id.h | 2 +- .../include/arm-linux-gnueabi/bits/procfs.h | 2 +- .../include/arm-linux-gnueabi/bits/rseq.h | 83 +++ .../include/arm-linux-gnueabi/bits/setjmp.h | 2 +- .../include/arm-linux-gnueabi/bits/shmlba.h | 2 +- .../arm-linux-gnueabi/bits/struct_rwlock.h | 2 +- .../arm-linux-gnueabi/bits/struct_stat.h | 4 +- .../include/arm-linux-gnueabi/bits/timesize.h | 20 + .../arm-linux-gnueabi/bits/typesizes.h | 74 +++ .../include/arm-linux-gnueabi/bits/wordsize.h | 2 +- .../include/arm-linux-gnueabi/fpu_control.h | 2 +- .../include/arm-linux-gnueabi/sys/ptrace.h | 8 +- .../include/arm-linux-gnueabi/sys/ucontext.h | 2 +- lib/libc/include/arm-linux-gnueabi/sys/user.h | 2 +- .../arm-linux-gnueabihf/bits/dl_find_object.h | 25 + .../include/arm-linux-gnueabihf/bits/fcntl.h | 2 +- .../include/arm-linux-gnueabihf/bits/fenv.h | 2 +- .../include/arm-linux-gnueabihf/bits/floatn.h | 2 +- .../include/arm-linux-gnueabihf/bits/hwcap.h | 10 +- .../include/arm-linux-gnueabihf/bits/link.h | 2 +- .../arm-linux-gnueabihf/bits/long-double.h | 2 +- .../arm-linux-gnueabihf/bits/procfs-id.h | 2 +- .../include/arm-linux-gnueabihf/bits/procfs.h | 2 +- .../include/arm-linux-gnueabihf/bits/rseq.h | 83 +++ .../include/arm-linux-gnueabihf/bits/setjmp.h | 2 +- .../include/arm-linux-gnueabihf/bits/shmlba.h | 2 +- .../arm-linux-gnueabihf/bits/struct_rwlock.h | 2 +- .../arm-linux-gnueabihf/bits/struct_stat.h | 4 +- .../arm-linux-gnueabihf/bits/timesize.h | 20 + .../arm-linux-gnueabihf/bits/typesizes.h | 74 +++ .../arm-linux-gnueabihf/bits/wordsize.h | 2 +- .../include/arm-linux-gnueabihf/fpu_control.h | 2 +- .../include/arm-linux-gnueabihf/sys/ptrace.h | 8 +- .../arm-linux-gnueabihf/sys/ucontext.h | 2 +- .../include/arm-linux-gnueabihf/sys/user.h | 2 +- .../armeb-linux-gnueabi/bits/dl_find_object.h | 25 + .../include/armeb-linux-gnueabi/bits/fcntl.h | 2 +- .../include/armeb-linux-gnueabi/bits/fenv.h | 2 +- .../include/armeb-linux-gnueabi/bits/floatn.h | 2 +- .../include/armeb-linux-gnueabi/bits/hwcap.h | 10 +- .../include/armeb-linux-gnueabi/bits/link.h | 2 +- .../armeb-linux-gnueabi/bits/long-double.h | 2 +- .../armeb-linux-gnueabi/bits/procfs-id.h | 2 +- .../include/armeb-linux-gnueabi/bits/procfs.h | 2 +- .../include/armeb-linux-gnueabi/bits/rseq.h | 83 +++ .../include/armeb-linux-gnueabi/bits/setjmp.h | 2 +- .../include/armeb-linux-gnueabi/bits/shmlba.h | 2 +- .../armeb-linux-gnueabi/bits/struct_rwlock.h | 2 +- .../armeb-linux-gnueabi/bits/struct_stat.h | 4 +- .../armeb-linux-gnueabi/bits/timesize.h | 20 + .../armeb-linux-gnueabi/bits/typesizes.h | 74 +++ .../armeb-linux-gnueabi/bits/wordsize.h | 2 +- .../include/armeb-linux-gnueabi/fpu_control.h | 2 +- .../include/armeb-linux-gnueabi/sys/ptrace.h | 8 +- .../armeb-linux-gnueabi/sys/ucontext.h | 2 +- .../include/armeb-linux-gnueabi/sys/user.h | 2 +- .../bits/dl_find_object.h | 25 + .../armeb-linux-gnueabihf/bits/fcntl.h | 2 +- .../include/armeb-linux-gnueabihf/bits/fenv.h | 2 +- .../armeb-linux-gnueabihf/bits/floatn.h | 2 +- .../armeb-linux-gnueabihf/bits/hwcap.h | 10 +- .../include/armeb-linux-gnueabihf/bits/link.h | 2 +- .../armeb-linux-gnueabihf/bits/long-double.h | 2 +- .../armeb-linux-gnueabihf/bits/procfs-id.h | 2 +- .../armeb-linux-gnueabihf/bits/procfs.h | 2 +- .../include/armeb-linux-gnueabihf/bits/rseq.h | 83 +++ .../armeb-linux-gnueabihf/bits/setjmp.h | 2 +- .../armeb-linux-gnueabihf/bits/shmlba.h | 2 +- .../bits/struct_rwlock.h | 2 +- .../armeb-linux-gnueabihf/bits/struct_stat.h | 4 +- .../armeb-linux-gnueabihf/bits/timesize.h | 20 + .../armeb-linux-gnueabihf/bits/typesizes.h | 74 +++ .../armeb-linux-gnueabihf/bits/wordsize.h | 2 +- .../armeb-linux-gnueabihf/fpu_control.h | 2 +- .../armeb-linux-gnueabihf/sys/ptrace.h | 8 +- .../armeb-linux-gnueabihf/sys/ucontext.h | 2 +- .../include/armeb-linux-gnueabihf/sys/user.h | 2 +- .../include/csky-linux-gnueabi/bits/fcntl.h | 3 +- .../include/csky-linux-gnueabi/bits/fenv.h | 2 +- .../include/csky-linux-gnueabi/bits/floatn.h | 2 +- .../include/csky-linux-gnueabi/bits/link.h | 2 +- .../csky-linux-gnueabi/bits/long-double.h | 2 +- .../include/csky-linux-gnueabi/bits/procfs.h | 2 +- .../bits/rseq.h} | 29 +- .../include/csky-linux-gnueabi/bits/setjmp.h | 2 +- .../include/csky-linux-gnueabi/bits/shmlba.h | 2 +- .../include/csky-linux-gnueabi/bits/statfs.h | 2 +- .../csky-linux-gnueabi/bits/struct_rwlock.h | 2 +- .../csky-linux-gnueabi/bits/struct_stat.h | 30 +- .../csky-linux-gnueabi/bits/timesize.h | 20 + .../csky-linux-gnueabi/bits/typesizes.h | 3 +- .../csky-linux-gnueabi/bits/wordsize.h | 2 +- .../include/csky-linux-gnueabi/fpu_control.h | 2 +- .../csky-linux-gnueabi/gnu/lib-names.h | 2 - .../include/csky-linux-gnueabi/sys/cachectl.h | 2 +- .../include/csky-linux-gnueabi/sys/ucontext.h | 2 +- .../include/csky-linux-gnueabi/sys/user.h | 2 +- .../include/csky-linux-gnueabihf/bits/fcntl.h | 3 +- .../include/csky-linux-gnueabihf/bits/fenv.h | 2 +- .../csky-linux-gnueabihf/bits/floatn.h | 2 +- .../include/csky-linux-gnueabihf/bits/link.h | 2 +- .../csky-linux-gnueabihf/bits/long-double.h | 2 +- .../csky-linux-gnueabihf/bits/procfs.h | 2 +- .../include/csky-linux-gnueabihf/bits/rseq.h | 29 + .../csky-linux-gnueabihf/bits/setjmp.h | 2 +- .../csky-linux-gnueabihf/bits/shmlba.h | 2 +- .../csky-linux-gnueabihf/bits/statfs.h | 2 +- .../csky-linux-gnueabihf/bits/struct_rwlock.h | 2 +- .../csky-linux-gnueabihf/bits/struct_stat.h | 30 +- .../csky-linux-gnueabihf/bits/timesize.h | 20 + .../csky-linux-gnueabihf/bits/typesizes.h | 3 +- .../csky-linux-gnueabihf/bits/wordsize.h | 2 +- .../csky-linux-gnueabihf/fpu_control.h | 2 +- .../csky-linux-gnueabihf/gnu/lib-names.h | 2 - .../csky-linux-gnueabihf/sys/cachectl.h | 2 +- .../csky-linux-gnueabihf/sys/ucontext.h | 2 +- .../include/csky-linux-gnueabihf/sys/user.h | 2 +- lib/libc/include/generic-glibc/aio.h | 4 +- lib/libc/include/generic-glibc/aliases.h | 2 +- lib/libc/include/generic-glibc/alloca.h | 2 +- lib/libc/include/generic-glibc/ar.h | 2 +- lib/libc/include/generic-glibc/argp.h | 2 +- lib/libc/include/generic-glibc/argz.h | 2 +- lib/libc/include/generic-glibc/arpa/inet.h | 4 +- .../generic-glibc/arpa/nameser_compat.h | 4 +- lib/libc/include/generic-glibc/assert.h | 21 +- .../include/generic-glibc/bits/argp-ldbl.h | 2 +- .../bits/atomic_wide_counter.h} | 30 +- .../include/generic-glibc/bits/byteswap.h | 2 +- .../include/generic-glibc/bits/cmathcalls.h | 2 +- .../include/generic-glibc/bits/confname.h | 2 +- lib/libc/include/generic-glibc/bits/cpu-set.h | 2 +- lib/libc/include/generic-glibc/bits/dirent.h | 2 +- .../include/generic-glibc/bits/dirent_ext.h | 2 +- .../generic-glibc/bits/dl_find_object.h | 32 ++ lib/libc/include/generic-glibc/bits/dlfcn.h | 2 +- lib/libc/include/generic-glibc/bits/endian.h | 2 +- .../include/generic-glibc/bits/environments.h | 2 +- lib/libc/include/generic-glibc/bits/epoll.h | 2 +- .../include/generic-glibc/bits/err-ldbl.h | 2 +- lib/libc/include/generic-glibc/bits/errno.h | 2 +- .../include/generic-glibc/bits/error-ldbl.h | 47 +- lib/libc/include/generic-glibc/bits/error.h | 2 +- lib/libc/include/generic-glibc/bits/eventfd.h | 2 +- .../include/generic-glibc/bits/fcntl-linux.h | 4 +- lib/libc/include/generic-glibc/bits/fcntl.h | 2 +- lib/libc/include/generic-glibc/bits/fcntl2.h | 2 +- lib/libc/include/generic-glibc/bits/fenv.h | 2 +- .../generic-glibc/bits/floatn-common.h | 42 +- lib/libc/include/generic-glibc/bits/floatn.h | 8 +- .../generic-glibc/bits/flt-eval-method.h | 10 +- lib/libc/include/generic-glibc/bits/fp-fast.h | 2 +- lib/libc/include/generic-glibc/bits/fp-logb.h | 2 +- .../include/generic-glibc/bits/getopt_core.h | 2 +- .../include/generic-glibc/bits/getopt_ext.h | 2 +- .../include/generic-glibc/bits/getopt_posix.h | 2 +- lib/libc/include/generic-glibc/bits/hwcap.h | 2 +- lib/libc/include/generic-glibc/bits/in.h | 11 +- .../generic-glibc/bits/indirect-return.h | 2 +- lib/libc/include/generic-glibc/bits/inotify.h | 2 +- .../include/generic-glibc/bits/ioctl-types.h | 2 +- lib/libc/include/generic-glibc/bits/ioctls.h | 2 +- .../include/generic-glibc/bits/ipc-perm.h | 2 +- lib/libc/include/generic-glibc/bits/ipc.h | 2 +- .../include/generic-glibc/bits/ipctypes.h | 2 +- .../include/generic-glibc/bits/iscanonical.h | 2 +- .../generic-glibc/bits/libc-header-start.h | 2 +- .../generic-glibc/bits/libm-simd-decl-stubs.h | 233 +++++++- lib/libc/include/generic-glibc/bits/link.h | 4 +- .../bits/link_lavcurrent.h} | 18 +- .../include/generic-glibc/bits/local_lim.h | 4 +- lib/libc/include/generic-glibc/bits/locale.h | 2 +- .../include/generic-glibc/bits/long-double.h | 2 +- .../include/generic-glibc/bits/math-vector.h | 2 +- .../bits/mathcalls-helper-functions.h | 2 +- .../generic-glibc/bits/mathcalls-narrow.h | 8 +- .../include/generic-glibc/bits/mathcalls.h | 74 ++- lib/libc/include/generic-glibc/bits/mathdef.h | 2 +- .../include/generic-glibc/bits/mman-linux.h | 37 +- .../bits/mman-map-flags-generic.h | 28 +- .../include/generic-glibc/bits/mman-shared.h | 6 +- lib/libc/include/generic-glibc/bits/mman.h | 2 +- .../bits/mman_ext.h} | 24 +- .../generic-glibc/bits/monetary-ldbl.h | 2 +- lib/libc/include/generic-glibc/bits/mqueue.h | 2 +- lib/libc/include/generic-glibc/bits/mqueue2.h | 2 +- lib/libc/include/generic-glibc/bits/msq.h | 2 +- lib/libc/include/generic-glibc/bits/netdb.h | 2 +- lib/libc/include/generic-glibc/bits/param.h | 2 +- .../include/generic-glibc/bits/platform/x86.h | 32 +- lib/libc/include/generic-glibc/bits/poll.h | 2 +- lib/libc/include/generic-glibc/bits/poll2.h | 58 +- .../include/generic-glibc/bits/posix1_lim.h | 4 +- .../include/generic-glibc/bits/posix2_lim.h | 2 +- .../include/generic-glibc/bits/posix_opt.h | 6 +- lib/libc/include/generic-glibc/bits/ppc.h | 2 +- .../include/generic-glibc/bits/printf-ldbl.h | 2 +- .../include/generic-glibc/bits/procfs-extra.h | 2 +- .../include/generic-glibc/bits/procfs-id.h | 2 +- .../generic-glibc/bits/procfs-prregset.h | 2 +- lib/libc/include/generic-glibc/bits/procfs.h | 2 +- .../bits/pthread_stack_min-dynamic.h | 2 +- .../generic-glibc/bits/pthread_stack_min.h | 2 +- .../generic-glibc/bits/pthreadtypes-arch.h | 2 +- .../include/generic-glibc/bits/pthreadtypes.h | 2 +- .../generic-glibc/bits/ptrace-shared.h | 12 +- .../include/generic-glibc/bits/resource.h | 2 +- lib/libc/include/generic-glibc/bits/rseq.h | 62 +++ lib/libc/include/generic-glibc/bits/sched.h | 6 +- .../bits/select-decl.h} | 23 +- lib/libc/include/generic-glibc/bits/select.h | 2 +- lib/libc/include/generic-glibc/bits/select2.h | 8 +- lib/libc/include/generic-glibc/bits/sem.h | 2 +- .../include/generic-glibc/bits/semaphore.h | 2 +- lib/libc/include/generic-glibc/bits/setjmp.h | 2 +- lib/libc/include/generic-glibc/bits/setjmp2.h | 2 +- lib/libc/include/generic-glibc/bits/shm.h | 2 +- lib/libc/include/generic-glibc/bits/shmlba.h | 2 +- .../include/generic-glibc/bits/sigaction.h | 2 +- .../include/generic-glibc/bits/sigcontext.h | 2 +- .../generic-glibc/bits/sigevent-consts.h | 2 +- .../generic-glibc/bits/siginfo-consts.h | 4 +- .../include/generic-glibc/bits/signal_ext.h | 2 +- .../include/generic-glibc/bits/signalfd.h | 2 +- .../include/generic-glibc/bits/signum-arch.h | 2 +- .../generic-glibc/bits/signum-generic.h | 2 +- .../include/generic-glibc/bits/sigstack.h | 2 +- .../include/generic-glibc/bits/sigstksz.h | 2 +- .../include/generic-glibc/bits/sigthread.h | 2 +- .../include/generic-glibc/bits/sockaddr.h | 2 +- .../generic-glibc/bits/socket-constants.h | 2 +- lib/libc/include/generic-glibc/bits/socket.h | 49 +- lib/libc/include/generic-glibc/bits/socket2.h | 36 +- .../include/generic-glibc/bits/socket_type.h | 2 +- .../include/generic-glibc/bits/ss_flags.h | 2 +- lib/libc/include/generic-glibc/bits/stab.def | 2 +- lib/libc/include/generic-glibc/bits/stat.h | 2 +- lib/libc/include/generic-glibc/bits/statfs.h | 2 +- lib/libc/include/generic-glibc/bits/statvfs.h | 2 +- .../generic-glibc/bits/statx-generic.h | 3 +- lib/libc/include/generic-glibc/bits/statx.h | 2 +- .../include/generic-glibc/bits/stdint-intn.h | 2 +- .../include/generic-glibc/bits/stdint-uintn.h | 2 +- .../include/generic-glibc/bits/stdio-ldbl.h | 26 +- lib/libc/include/generic-glibc/bits/stdio.h | 2 +- .../include/generic-glibc/bits/stdio2-decl.h | 160 ++++++ lib/libc/include/generic-glibc/bits/stdio2.h | 222 ++------ .../include/generic-glibc/bits/stdio_lim.h | 15 +- .../generic-glibc/bits/stdlib-bsearch.h | 15 +- .../include/generic-glibc/bits/stdlib-float.h | 2 +- .../include/generic-glibc/bits/stdlib-ldbl.h | 2 +- lib/libc/include/generic-glibc/bits/stdlib.h | 67 +-- .../generic-glibc/bits/string_fortified.h | 51 +- .../generic-glibc/bits/strings_fortified.h | 2 +- .../include/generic-glibc/bits/struct_mutex.h | 2 +- .../generic-glibc/bits/struct_rwlock.h | 2 +- .../include/generic-glibc/bits/struct_stat.h | 40 +- .../bits/struct_stat_time64_helper.h | 2 +- lib/libc/include/generic-glibc/bits/syscall.h | 32 +- .../include/generic-glibc/bits/syslog-decl.h | 35 ++ .../include/generic-glibc/bits/syslog-ldbl.h | 2 +- .../include/generic-glibc/bits/syslog-path.h | 2 +- lib/libc/include/generic-glibc/bits/syslog.h | 16 +- .../include/generic-glibc/bits/sysmacros.h | 2 +- .../include/generic-glibc/bits/termios-baud.h | 2 +- .../include/generic-glibc/bits/termios-c_cc.h | 2 +- .../generic-glibc/bits/termios-c_cflag.h | 8 +- .../generic-glibc/bits/termios-c_iflag.h | 2 +- .../generic-glibc/bits/termios-c_lflag.h | 2 +- .../generic-glibc/bits/termios-c_oflag.h | 2 +- .../include/generic-glibc/bits/termios-misc.h | 2 +- .../generic-glibc/bits/termios-struct.h | 2 +- .../generic-glibc/bits/termios-tcflow.h | 4 +- lib/libc/include/generic-glibc/bits/termios.h | 2 +- .../generic-glibc/bits/thread-shared-types.h | 24 +- lib/libc/include/generic-glibc/bits/time.h | 6 +- lib/libc/include/generic-glibc/bits/time64.h | 2 +- lib/libc/include/generic-glibc/bits/timerfd.h | 2 +- .../include/generic-glibc/bits/timesize.h | 4 +- lib/libc/include/generic-glibc/bits/timex.h | 4 +- lib/libc/include/generic-glibc/bits/types.h | 2 +- .../generic-glibc/bits/types/__locale_t.h | 3 +- .../generic-glibc/bits/types/__sigval_t.h | 2 +- .../bits/types/cookie_io_functions_t.h | 2 +- .../generic-glibc/bits/types/error_t.h | 2 +- .../generic-glibc/bits/types/idtype_t.h | 14 + .../generic-glibc/bits/types/locale_t.h | 2 +- .../generic-glibc/bits/types/res_state.h | 2 +- .../generic-glibc/bits/types/stack_t.h | 2 +- .../generic-glibc/bits/types/struct_FILE.h | 2 +- .../bits/types/struct___jmp_buf_tag.h | 2 +- .../generic-glibc/bits/types/struct_iovec.h | 2 +- .../bits/types/struct_msqid64_ds.h | 2 +- .../bits/types/struct_msqid64_ds_helper.h | 2 +- .../bits/types/struct_msqid_ds.h | 2 +- .../generic-glibc/bits/types/struct_rusage.h | 2 +- .../bits/types/struct_sched_param.h | 2 +- .../bits/types/struct_semid64_ds.h | 2 +- .../bits/types/struct_semid64_ds_helper.h | 2 +- .../bits/types/struct_semid_ds.h | 2 +- .../bits/types/struct_shmid64_ds.h | 2 +- .../bits/types/struct_shmid64_ds_helper.h | 2 +- .../bits/types/struct_shmid_ds.h | 2 +- .../bits/types/struct_sigstack.h | 2 +- .../generic-glibc/bits/types/struct_statx.h | 2 +- .../bits/types/struct_statx_timestamp.h | 2 +- .../include/generic-glibc/bits/typesizes.h | 4 +- .../generic-glibc/bits/uintn-identity.h | 2 +- lib/libc/include/generic-glibc/bits/uio-ext.h | 2 +- lib/libc/include/generic-glibc/bits/uio_lim.h | 2 +- .../include/generic-glibc/bits/unistd-decl.h | 198 +++++++ lib/libc/include/generic-glibc/bits/unistd.h | 333 ++---------- .../include/generic-glibc/bits/unistd_ext.h | 11 +- lib/libc/include/generic-glibc/bits/utmp.h | 2 +- lib/libc/include/generic-glibc/bits/utmpx.h | 2 +- lib/libc/include/generic-glibc/bits/utsname.h | 2 +- .../include/generic-glibc/bits/waitflags.h | 2 +- .../include/generic-glibc/bits/waitstatus.h | 2 +- .../include/generic-glibc/bits/wchar-ldbl.h | 26 +- lib/libc/include/generic-glibc/bits/wchar.h | 2 +- .../include/generic-glibc/bits/wchar2-decl.h | 296 +++++++++++ lib/libc/include/generic-glibc/bits/wchar2.h | 500 ++++-------------- .../include/generic-glibc/bits/wctype-wchar.h | 2 +- .../include/generic-glibc/bits/wordsize.h | 2 +- .../include/generic-glibc/bits/xopen_lim.h | 2 +- lib/libc/include/generic-glibc/byteswap.h | 2 +- lib/libc/include/generic-glibc/complex.h | 2 +- lib/libc/include/generic-glibc/cpio.h | 2 +- lib/libc/include/generic-glibc/crypt.h | 70 --- lib/libc/include/generic-glibc/ctype.h | 2 +- lib/libc/include/generic-glibc/dirent.h | 34 +- lib/libc/include/generic-glibc/dlfcn.h | 58 +- lib/libc/include/generic-glibc/elf.h | 267 +++++++++- lib/libc/include/generic-glibc/endian.h | 2 +- lib/libc/include/generic-glibc/envz.h | 2 +- lib/libc/include/generic-glibc/err.h | 14 +- lib/libc/include/generic-glibc/errno.h | 2 +- lib/libc/include/generic-glibc/error.h | 6 +- lib/libc/include/generic-glibc/execinfo.h | 2 +- lib/libc/include/generic-glibc/fcntl.h | 18 +- .../include/generic-glibc/features-time64.h | 2 +- lib/libc/include/generic-glibc/features.h | 29 +- lib/libc/include/generic-glibc/fenv.h | 4 +- .../finclude/math-vector-fortran.h | 2 +- lib/libc/include/generic-glibc/fmtmsg.h | 2 +- lib/libc/include/generic-glibc/fnmatch.h | 2 +- lib/libc/include/generic-glibc/fpregdef.h | 2 +- lib/libc/include/generic-glibc/fpu_control.h | 2 +- lib/libc/include/generic-glibc/fts.h | 2 +- lib/libc/include/generic-glibc/ftw.h | 2 +- lib/libc/include/generic-glibc/gconv.h | 2 +- lib/libc/include/generic-glibc/getopt.h | 2 +- lib/libc/include/generic-glibc/glob.h | 2 +- lib/libc/include/generic-glibc/gnu-versions.h | 2 +- .../include/generic-glibc/gnu/lib-names-32.h | 5 +- .../generic-glibc/gnu/lib-names-hard.h | 2 - .../generic-glibc/gnu/lib-names-ilp32d.h | 30 -- .../generic-glibc/gnu/lib-names-n32_hard.h | 2 - .../generic-glibc/gnu/lib-names-n64_hard.h | 2 - .../generic-glibc/gnu/lib-names-o32_hard.h | 2 - .../generic-glibc/gnu/lib-names-o32_soft.h | 2 - .../generic-glibc/gnu/lib-names-soft.h | 2 - .../include/generic-glibc/gnu/libc-version.h | 2 +- .../include/generic-glibc/gnu/stubs-ilp32.h | 38 -- .../include/generic-glibc/gnu/stubs-ilp32d.h | 24 - lib/libc/include/generic-glibc/grp.h | 14 +- lib/libc/include/generic-glibc/gshadow.h | 14 +- lib/libc/include/generic-glibc/iconv.h | 17 +- lib/libc/include/generic-glibc/ieee754.h | 2 +- lib/libc/include/generic-glibc/ifaddrs.h | 2 +- lib/libc/include/generic-glibc/inttypes.h | 105 +++- lib/libc/include/generic-glibc/langinfo.h | 2 +- lib/libc/include/generic-glibc/libgen.h | 2 +- lib/libc/include/generic-glibc/libintl.h | 2 +- lib/libc/include/generic-glibc/limits.h | 2 +- lib/libc/include/generic-glibc/link.h | 39 +- lib/libc/include/generic-glibc/locale.h | 2 +- lib/libc/include/generic-glibc/malloc.h | 7 +- lib/libc/include/generic-glibc/math.h | 80 ++- lib/libc/include/generic-glibc/mcheck.h | 2 +- lib/libc/include/generic-glibc/memory.h | 2 +- lib/libc/include/generic-glibc/mntent.h | 2 +- lib/libc/include/generic-glibc/monetary.h | 2 +- lib/libc/include/generic-glibc/mqueue.h | 2 +- lib/libc/include/generic-glibc/net/ethernet.h | 2 +- lib/libc/include/generic-glibc/net/if.h | 2 +- lib/libc/include/generic-glibc/net/if_arp.h | 5 +- .../include/generic-glibc/net/if_packet.h | 2 +- .../include/generic-glibc/net/if_shaper.h | 4 +- lib/libc/include/generic-glibc/net/if_slip.h | 2 +- lib/libc/include/generic-glibc/net/route.h | 2 +- lib/libc/include/generic-glibc/netash/ash.h | 2 +- lib/libc/include/generic-glibc/netatalk/at.h | 2 +- lib/libc/include/generic-glibc/netax25/ax25.h | 6 +- lib/libc/include/generic-glibc/netdb.h | 2 +- lib/libc/include/generic-glibc/neteconet/ec.h | 2 +- .../include/generic-glibc/netinet/ether.h | 2 +- .../include/generic-glibc/netinet/icmp6.h | 2 +- .../include/generic-glibc/netinet/if_ether.h | 2 +- .../include/generic-glibc/netinet/if_fddi.h | 2 +- .../include/generic-glibc/netinet/if_tr.h | 2 +- lib/libc/include/generic-glibc/netinet/igmp.h | 4 +- lib/libc/include/generic-glibc/netinet/in.h | 20 +- .../include/generic-glibc/netinet/in_systm.h | 2 +- lib/libc/include/generic-glibc/netinet/ip.h | 7 +- lib/libc/include/generic-glibc/netinet/ip6.h | 2 +- .../include/generic-glibc/netinet/ip_icmp.h | 2 +- lib/libc/include/generic-glibc/netinet/tcp.h | 6 +- lib/libc/include/generic-glibc/netinet/udp.h | 2 +- lib/libc/include/generic-glibc/netipx/ipx.h | 2 +- lib/libc/include/generic-glibc/netiucv/iucv.h | 2 +- .../include/generic-glibc/netpacket/packet.h | 2 +- .../include/generic-glibc/netrom/netrom.h | 2 +- lib/libc/include/generic-glibc/netrose/rose.h | 2 +- lib/libc/include/generic-glibc/nl_types.h | 2 +- lib/libc/include/generic-glibc/nss.h | 2 +- lib/libc/include/generic-glibc/obstack.h | 2 +- lib/libc/include/generic-glibc/printf.h | 2 +- lib/libc/include/generic-glibc/proc_service.h | 2 +- lib/libc/include/generic-glibc/pthread.h | 12 +- lib/libc/include/generic-glibc/pty.h | 2 +- lib/libc/include/generic-glibc/pwd.h | 2 +- lib/libc/include/generic-glibc/re_comp.h | 2 +- lib/libc/include/generic-glibc/regdef.h | 2 +- lib/libc/include/generic-glibc/regex.h | 51 +- lib/libc/include/generic-glibc/regexp.h | 3 +- lib/libc/include/generic-glibc/resolv.h | 34 +- lib/libc/include/generic-glibc/sched.h | 2 +- lib/libc/include/generic-glibc/scsi/scsi.h | 2 +- .../include/generic-glibc/scsi/scsi_ioctl.h | 2 +- lib/libc/include/generic-glibc/scsi/sg.h | 4 +- lib/libc/include/generic-glibc/search.h | 4 +- lib/libc/include/generic-glibc/semaphore.h | 2 +- lib/libc/include/generic-glibc/setjmp.h | 2 +- lib/libc/include/generic-glibc/sgidefs.h | 2 +- lib/libc/include/generic-glibc/sgtty.h | 2 +- lib/libc/include/generic-glibc/shadow.h | 14 +- lib/libc/include/generic-glibc/signal.h | 2 +- lib/libc/include/generic-glibc/spawn.h | 14 +- lib/libc/include/generic-glibc/stdc-predef.h | 6 +- lib/libc/include/generic-glibc/stdint.h | 2 +- lib/libc/include/generic-glibc/stdio.h | 135 +++-- lib/libc/include/generic-glibc/stdio_ext.h | 2 +- lib/libc/include/generic-glibc/stdlib.h | 143 ++++- lib/libc/include/generic-glibc/string.h | 41 +- lib/libc/include/generic-glibc/strings.h | 2 +- lib/libc/include/generic-glibc/sys/acct.h | 6 +- lib/libc/include/generic-glibc/sys/asm.h | 4 +- lib/libc/include/generic-glibc/sys/auxv.h | 2 +- lib/libc/include/generic-glibc/sys/cachectl.h | 2 +- lib/libc/include/generic-glibc/sys/cdefs.h | 120 ++++- lib/libc/include/generic-glibc/sys/debugreg.h | 2 +- lib/libc/include/generic-glibc/sys/dir.h | 2 +- lib/libc/include/generic-glibc/sys/elf.h | 2 +- lib/libc/include/generic-glibc/sys/epoll.h | 31 +- lib/libc/include/generic-glibc/sys/eventfd.h | 2 +- lib/libc/include/generic-glibc/sys/fanotify.h | 2 +- lib/libc/include/generic-glibc/sys/file.h | 2 +- lib/libc/include/generic-glibc/sys/fpregdef.h | 2 +- lib/libc/include/generic-glibc/sys/fsuid.h | 2 +- lib/libc/include/generic-glibc/sys/gmon.h | 6 +- lib/libc/include/generic-glibc/sys/gmon_out.h | 3 +- lib/libc/include/generic-glibc/sys/ifunc.h | 2 +- lib/libc/include/generic-glibc/sys/inotify.h | 2 +- lib/libc/include/generic-glibc/sys/io.h | 2 +- lib/libc/include/generic-glibc/sys/ioctl.h | 6 +- lib/libc/include/generic-glibc/sys/ipc.h | 2 +- lib/libc/include/generic-glibc/sys/kd.h | 2 +- lib/libc/include/generic-glibc/sys/klog.h | 2 +- lib/libc/include/generic-glibc/sys/mman.h | 5 +- lib/libc/include/generic-glibc/sys/mount.h | 174 +++++- lib/libc/include/generic-glibc/sys/msg.h | 2 +- lib/libc/include/generic-glibc/sys/mtio.h | 3 +- lib/libc/include/generic-glibc/sys/param.h | 2 +- lib/libc/include/generic-glibc/sys/pci.h | 2 +- lib/libc/include/generic-glibc/sys/perm.h | 2 +- .../include/generic-glibc/sys/personality.h | 2 +- lib/libc/include/generic-glibc/sys/pidfd.h | 49 ++ .../include/generic-glibc/sys/platform/ppc.h | 2 +- .../include/generic-glibc/sys/platform/x86.h | 2 +- lib/libc/include/generic-glibc/sys/poll.h | 8 +- lib/libc/include/generic-glibc/sys/prctl.h | 4 +- lib/libc/include/generic-glibc/sys/procfs.h | 2 +- lib/libc/include/generic-glibc/sys/profil.h | 2 +- lib/libc/include/generic-glibc/sys/ptrace.h | 8 +- lib/libc/include/generic-glibc/sys/quota.h | 2 +- lib/libc/include/generic-glibc/sys/random.h | 8 +- lib/libc/include/generic-glibc/sys/raw.h | 2 +- lib/libc/include/generic-glibc/sys/reboot.h | 2 +- lib/libc/include/generic-glibc/sys/reg.h | 2 +- lib/libc/include/generic-glibc/sys/regdef.h | 2 +- lib/libc/include/generic-glibc/sys/resource.h | 2 +- lib/libc/include/generic-glibc/sys/rseq.h | 169 ++++++ lib/libc/include/generic-glibc/sys/select.h | 2 +- lib/libc/include/generic-glibc/sys/sem.h | 2 +- lib/libc/include/generic-glibc/sys/sendfile.h | 2 +- lib/libc/include/generic-glibc/sys/shm.h | 2 +- lib/libc/include/generic-glibc/sys/signalfd.h | 2 +- .../generic-glibc/sys/single_threaded.h | 2 +- lib/libc/include/generic-glibc/sys/socket.h | 6 +- lib/libc/include/generic-glibc/sys/stat.h | 2 +- lib/libc/include/generic-glibc/sys/statfs.h | 2 +- lib/libc/include/generic-glibc/sys/statvfs.h | 2 +- lib/libc/include/generic-glibc/sys/swap.h | 2 +- lib/libc/include/generic-glibc/sys/syscall.h | 2 +- lib/libc/include/generic-glibc/sys/sysinfo.h | 2 +- lib/libc/include/generic-glibc/sys/syslog.h | 14 +- .../include/generic-glibc/sys/sysmacros.h | 2 +- lib/libc/include/generic-glibc/sys/sysmips.h | 2 +- lib/libc/include/generic-glibc/sys/tas.h | 3 +- lib/libc/include/generic-glibc/sys/time.h | 2 +- lib/libc/include/generic-glibc/sys/timeb.h | 2 +- lib/libc/include/generic-glibc/sys/timerfd.h | 2 +- lib/libc/include/generic-glibc/sys/times.h | 2 +- lib/libc/include/generic-glibc/sys/timex.h | 18 +- lib/libc/include/generic-glibc/sys/types.h | 2 +- lib/libc/include/generic-glibc/sys/ucontext.h | 2 +- lib/libc/include/generic-glibc/sys/uio.h | 2 +- lib/libc/include/generic-glibc/sys/un.h | 5 +- lib/libc/include/generic-glibc/sys/user.h | 2 +- lib/libc/include/generic-glibc/sys/utsname.h | 2 +- lib/libc/include/generic-glibc/sys/vlimit.h | 2 +- lib/libc/include/generic-glibc/sys/vm86.h | 2 +- lib/libc/include/generic-glibc/sys/wait.h | 9 +- lib/libc/include/generic-glibc/sys/xattr.h | 24 +- lib/libc/include/generic-glibc/tar.h | 3 +- lib/libc/include/generic-glibc/termios.h | 2 +- lib/libc/include/generic-glibc/tgmath.h | 422 ++++++++++++--- lib/libc/include/generic-glibc/thread_db.h | 2 +- lib/libc/include/generic-glibc/threads.h | 8 +- lib/libc/include/generic-glibc/time.h | 37 +- lib/libc/include/generic-glibc/uchar.h | 31 +- lib/libc/include/generic-glibc/ucontext.h | 2 +- lib/libc/include/generic-glibc/ulimit.h | 2 +- lib/libc/include/generic-glibc/unistd.h | 43 +- lib/libc/include/generic-glibc/utime.h | 2 +- lib/libc/include/generic-glibc/utmp.h | 2 +- lib/libc/include/generic-glibc/utmpx.h | 2 +- lib/libc/include/generic-glibc/values.h | 2 +- lib/libc/include/generic-glibc/wchar.h | 254 ++++++++- lib/libc/include/generic-glibc/wctype.h | 2 +- lib/libc/include/generic-glibc/wordexp.h | 2 +- lib/libc/include/m68k-linux-gnu/bits/fcntl.h | 2 +- lib/libc/include/m68k-linux-gnu/bits/fenv.h | 2 +- lib/libc/include/m68k-linux-gnu/bits/floatn.h | 2 +- .../m68k-linux-gnu/bits/flt-eval-method.h | 2 +- .../include/m68k-linux-gnu/bits/fp-logb.h | 2 +- .../include/m68k-linux-gnu/bits/iscanonical.h | 2 +- lib/libc/include/m68k-linux-gnu/bits/link.h | 2 +- .../include/m68k-linux-gnu/bits/long-double.h | 2 +- lib/libc/include/m68k-linux-gnu/bits/poll.h | 2 +- .../include/m68k-linux-gnu/bits/procfs-id.h | 2 +- lib/libc/include/m68k-linux-gnu/bits/procfs.h | 2 +- .../m68k-linux-gnu/bits/pthreadtypes-arch.h | 3 +- lib/libc/include/m68k-linux-gnu/bits/rseq.h | 29 + .../include/m68k-linux-gnu/bits/semaphore.h | 3 +- lib/libc/include/m68k-linux-gnu/bits/setjmp.h | 2 +- .../include/m68k-linux-gnu/bits/sockaddr.h | 2 +- .../m68k-linux-gnu/bits/struct_rwlock.h | 2 +- .../include/m68k-linux-gnu/bits/struct_stat.h | 2 +- .../include/m68k-linux-gnu/bits/timesize.h | 20 + .../include/m68k-linux-gnu/bits/typesizes.h | 74 +++ .../include/m68k-linux-gnu/bits/wordsize.h | 2 +- lib/libc/include/m68k-linux-gnu/fpu_control.h | 2 +- .../include/m68k-linux-gnu/gnu/lib-names.h | 2 - lib/libc/include/m68k-linux-gnu/sys/reg.h | 2 +- .../include/m68k-linux-gnu/sys/ucontext.h | 2 +- lib/libc/include/m68k-linux-gnu/sys/user.h | 2 +- .../include/mips-linux-gnueabi/bits/dlfcn.h | 2 +- .../include/mips-linux-gnueabi/bits/errno.h | 2 +- .../include/mips-linux-gnueabi/bits/eventfd.h | 2 +- .../include/mips-linux-gnueabi/bits/inotify.h | 2 +- .../mips-linux-gnueabi/bits/ioctl-types.h | 2 +- .../mips-linux-gnueabi/bits/ipctypes.h | 2 +- .../include/mips-linux-gnueabi/bits/mman.h | 28 +- .../include/mips-linux-gnueabi/bits/poll.h | 2 +- .../bits/pthread_stack_min.h | 2 +- .../bits/pthreadtypes-arch.h | 2 +- .../mips-linux-gnueabi/bits/resource.h | 2 +- .../mips-linux-gnueabi/bits/semaphore.h | 2 +- .../include/mips-linux-gnueabi/bits/shmlba.h | 2 +- .../mips-linux-gnueabi/bits/sigaction.h | 2 +- .../mips-linux-gnueabi/bits/sigcontext.h | 2 +- .../mips-linux-gnueabi/bits/signalfd.h | 2 +- .../mips-linux-gnueabi/bits/signum-arch.h | 2 +- .../bits/socket-constants.h | 2 +- .../mips-linux-gnueabi/bits/socket_type.h | 2 +- .../include/mips-linux-gnueabi/bits/statfs.h | 2 +- .../mips-linux-gnueabi/bits/struct_mutex.h | 2 +- .../mips-linux-gnueabi/bits/termios-c_cc.h | 2 +- .../mips-linux-gnueabi/bits/termios-c_lflag.h | 2 +- .../mips-linux-gnueabi/bits/termios-struct.h | 2 +- .../mips-linux-gnueabi/bits/termios-tcflow.h | 2 +- .../include/mips-linux-gnueabi/bits/timerfd.h | 2 +- .../mips-linux-gnueabi/bits/types/stack_t.h | 2 +- .../bits/types/struct_msqid_ds.h | 2 +- .../bits/types/struct_semid_ds.h | 2 +- .../bits/types/struct_shmid_ds.h | 2 +- lib/libc/include/mips-linux-gnueabi/ieee754.h | 2 +- .../include/mips-linux-gnueabihf/bits/dlfcn.h | 2 +- .../include/mips-linux-gnueabihf/bits/errno.h | 2 +- .../mips-linux-gnueabihf/bits/eventfd.h | 2 +- .../mips-linux-gnueabihf/bits/inotify.h | 2 +- .../mips-linux-gnueabihf/bits/ioctl-types.h | 2 +- .../mips-linux-gnueabihf/bits/ipctypes.h | 2 +- .../include/mips-linux-gnueabihf/bits/mman.h | 28 +- .../include/mips-linux-gnueabihf/bits/poll.h | 2 +- .../bits/pthread_stack_min.h | 2 +- .../bits/pthreadtypes-arch.h | 2 +- .../mips-linux-gnueabihf/bits/resource.h | 2 +- .../mips-linux-gnueabihf/bits/semaphore.h | 2 +- .../mips-linux-gnueabihf/bits/shmlba.h | 2 +- .../mips-linux-gnueabihf/bits/sigaction.h | 2 +- .../mips-linux-gnueabihf/bits/sigcontext.h | 2 +- .../mips-linux-gnueabihf/bits/signalfd.h | 2 +- .../mips-linux-gnueabihf/bits/signum-arch.h | 2 +- .../bits/socket-constants.h | 2 +- .../mips-linux-gnueabihf/bits/socket_type.h | 2 +- .../mips-linux-gnueabihf/bits/statfs.h | 2 +- .../mips-linux-gnueabihf/bits/struct_mutex.h | 2 +- .../mips-linux-gnueabihf/bits/termios-c_cc.h | 2 +- .../bits/termios-c_lflag.h | 2 +- .../bits/termios-struct.h | 2 +- .../bits/termios-tcflow.h | 2 +- .../mips-linux-gnueabihf/bits/timerfd.h | 2 +- .../mips-linux-gnueabihf/bits/types/stack_t.h | 2 +- .../bits/types/struct_msqid_ds.h | 2 +- .../bits/types/struct_semid_ds.h | 2 +- .../bits/types/struct_shmid_ds.h | 2 +- .../include/mips-linux-gnueabihf/ieee754.h | 2 +- .../mips64-linux-gnuabi64/bits/dlfcn.h | 2 +- .../mips64-linux-gnuabi64/bits/errno.h | 2 +- .../mips64-linux-gnuabi64/bits/eventfd.h | 2 +- .../mips64-linux-gnuabi64/bits/inotify.h | 2 +- .../mips64-linux-gnuabi64/bits/ioctl-types.h | 2 +- .../mips64-linux-gnuabi64/bits/ipctypes.h | 2 +- .../include/mips64-linux-gnuabi64/bits/mman.h | 28 +- .../include/mips64-linux-gnuabi64/bits/poll.h | 2 +- .../bits/pthread_stack_min.h | 2 +- .../bits/pthreadtypes-arch.h | 2 +- .../mips64-linux-gnuabi64/bits/resource.h | 2 +- .../mips64-linux-gnuabi64/bits/semaphore.h | 2 +- .../mips64-linux-gnuabi64/bits/shmlba.h | 2 +- .../mips64-linux-gnuabi64/bits/sigaction.h | 2 +- .../mips64-linux-gnuabi64/bits/sigcontext.h | 2 +- .../mips64-linux-gnuabi64/bits/signalfd.h | 2 +- .../mips64-linux-gnuabi64/bits/signum-arch.h | 2 +- .../bits/socket-constants.h | 2 +- .../mips64-linux-gnuabi64/bits/socket_type.h | 2 +- .../mips64-linux-gnuabi64/bits/statfs.h | 2 +- .../mips64-linux-gnuabi64/bits/struct_mutex.h | 2 +- .../mips64-linux-gnuabi64/bits/termios-c_cc.h | 2 +- .../bits/termios-c_lflag.h | 2 +- .../bits/termios-struct.h | 2 +- .../bits/termios-tcflow.h | 2 +- .../mips64-linux-gnuabi64/bits/timerfd.h | 2 +- .../bits/types/stack_t.h | 2 +- .../bits/types/struct_msqid_ds.h | 2 +- .../bits/types/struct_semid_ds.h | 2 +- .../bits/types/struct_shmid_ds.h | 2 +- .../include/mips64-linux-gnuabi64/ieee754.h | 2 +- .../mips64-linux-gnuabin32/bits/dlfcn.h | 2 +- .../mips64-linux-gnuabin32/bits/errno.h | 2 +- .../mips64-linux-gnuabin32/bits/eventfd.h | 2 +- .../mips64-linux-gnuabin32/bits/inotify.h | 2 +- .../mips64-linux-gnuabin32/bits/ioctl-types.h | 2 +- .../mips64-linux-gnuabin32/bits/ipctypes.h | 2 +- .../mips64-linux-gnuabin32/bits/mman.h | 28 +- .../mips64-linux-gnuabin32/bits/poll.h | 2 +- .../bits/pthread_stack_min.h | 2 +- .../bits/pthreadtypes-arch.h | 2 +- .../mips64-linux-gnuabin32/bits/resource.h | 2 +- .../mips64-linux-gnuabin32/bits/semaphore.h | 2 +- .../mips64-linux-gnuabin32/bits/shmlba.h | 2 +- .../mips64-linux-gnuabin32/bits/sigaction.h | 2 +- .../mips64-linux-gnuabin32/bits/sigcontext.h | 2 +- .../mips64-linux-gnuabin32/bits/signalfd.h | 2 +- .../mips64-linux-gnuabin32/bits/signum-arch.h | 2 +- .../bits/socket-constants.h | 2 +- .../mips64-linux-gnuabin32/bits/socket_type.h | 2 +- .../mips64-linux-gnuabin32/bits/statfs.h | 2 +- .../bits/struct_mutex.h | 2 +- .../bits/termios-c_cc.h | 2 +- .../bits/termios-c_lflag.h | 2 +- .../bits/termios-struct.h | 2 +- .../bits/termios-tcflow.h | 2 +- .../mips64-linux-gnuabin32/bits/timerfd.h | 2 +- .../bits/types/stack_t.h | 2 +- .../bits/types/struct_msqid_ds.h | 2 +- .../bits/types/struct_semid_ds.h | 2 +- .../bits/types/struct_shmid_ds.h | 2 +- .../include/mips64-linux-gnuabin32/ieee754.h | 2 +- .../mips64el-linux-gnuabi64/bits/dlfcn.h | 2 +- .../mips64el-linux-gnuabi64/bits/errno.h | 2 +- .../mips64el-linux-gnuabi64/bits/eventfd.h | 2 +- .../mips64el-linux-gnuabi64/bits/inotify.h | 2 +- .../bits/ioctl-types.h | 2 +- .../mips64el-linux-gnuabi64/bits/ipctypes.h | 2 +- .../mips64el-linux-gnuabi64/bits/mman.h | 28 +- .../mips64el-linux-gnuabi64/bits/poll.h | 2 +- .../bits/pthread_stack_min.h | 2 +- .../bits/pthreadtypes-arch.h | 2 +- .../mips64el-linux-gnuabi64/bits/resource.h | 2 +- .../mips64el-linux-gnuabi64/bits/semaphore.h | 2 +- .../mips64el-linux-gnuabi64/bits/shmlba.h | 2 +- .../mips64el-linux-gnuabi64/bits/sigaction.h | 2 +- .../mips64el-linux-gnuabi64/bits/sigcontext.h | 2 +- .../mips64el-linux-gnuabi64/bits/signalfd.h | 2 +- .../bits/signum-arch.h | 2 +- .../bits/socket-constants.h | 2 +- .../bits/socket_type.h | 2 +- .../mips64el-linux-gnuabi64/bits/statfs.h | 2 +- .../bits/struct_mutex.h | 2 +- .../bits/termios-c_cc.h | 2 +- .../bits/termios-c_lflag.h | 2 +- .../bits/termios-struct.h | 2 +- .../bits/termios-tcflow.h | 2 +- .../mips64el-linux-gnuabi64/bits/timerfd.h | 2 +- .../bits/types/stack_t.h | 2 +- .../bits/types/struct_msqid_ds.h | 2 +- .../bits/types/struct_semid_ds.h | 2 +- .../bits/types/struct_shmid_ds.h | 2 +- .../include/mips64el-linux-gnuabi64/ieee754.h | 2 +- .../mips64el-linux-gnuabin32/bits/dlfcn.h | 2 +- .../mips64el-linux-gnuabin32/bits/errno.h | 2 +- .../mips64el-linux-gnuabin32/bits/eventfd.h | 2 +- .../mips64el-linux-gnuabin32/bits/inotify.h | 2 +- .../bits/ioctl-types.h | 2 +- .../mips64el-linux-gnuabin32/bits/ipctypes.h | 2 +- .../mips64el-linux-gnuabin32/bits/mman.h | 28 +- .../mips64el-linux-gnuabin32/bits/poll.h | 2 +- .../bits/pthread_stack_min.h | 2 +- .../bits/pthreadtypes-arch.h | 2 +- .../mips64el-linux-gnuabin32/bits/resource.h | 2 +- .../mips64el-linux-gnuabin32/bits/semaphore.h | 2 +- .../mips64el-linux-gnuabin32/bits/shmlba.h | 2 +- .../mips64el-linux-gnuabin32/bits/sigaction.h | 2 +- .../bits/sigcontext.h | 2 +- .../mips64el-linux-gnuabin32/bits/signalfd.h | 2 +- .../bits/signum-arch.h | 2 +- .../bits/socket-constants.h | 2 +- .../bits/socket_type.h | 2 +- .../mips64el-linux-gnuabin32/bits/statfs.h | 2 +- .../bits/struct_mutex.h | 2 +- .../bits/termios-c_cc.h | 2 +- .../bits/termios-c_lflag.h | 2 +- .../bits/termios-struct.h | 2 +- .../bits/termios-tcflow.h | 2 +- .../mips64el-linux-gnuabin32/bits/timerfd.h | 2 +- .../bits/types/stack_t.h | 2 +- .../bits/types/struct_msqid_ds.h | 2 +- .../bits/types/struct_semid_ds.h | 2 +- .../bits/types/struct_shmid_ds.h | 2 +- .../mips64el-linux-gnuabin32/ieee754.h | 2 +- .../include/mipsel-linux-gnueabi/bits/dlfcn.h | 2 +- .../include/mipsel-linux-gnueabi/bits/errno.h | 2 +- .../mipsel-linux-gnueabi/bits/eventfd.h | 2 +- .../mipsel-linux-gnueabi/bits/inotify.h | 2 +- .../mipsel-linux-gnueabi/bits/ioctl-types.h | 2 +- .../mipsel-linux-gnueabi/bits/ipctypes.h | 2 +- .../include/mipsel-linux-gnueabi/bits/mman.h | 28 +- .../include/mipsel-linux-gnueabi/bits/poll.h | 2 +- .../bits/pthread_stack_min.h | 2 +- .../bits/pthreadtypes-arch.h | 2 +- .../mipsel-linux-gnueabi/bits/resource.h | 2 +- .../mipsel-linux-gnueabi/bits/semaphore.h | 2 +- .../mipsel-linux-gnueabi/bits/shmlba.h | 2 +- .../mipsel-linux-gnueabi/bits/sigaction.h | 2 +- .../mipsel-linux-gnueabi/bits/sigcontext.h | 2 +- .../mipsel-linux-gnueabi/bits/signalfd.h | 2 +- .../mipsel-linux-gnueabi/bits/signum-arch.h | 2 +- .../bits/socket-constants.h | 2 +- .../mipsel-linux-gnueabi/bits/socket_type.h | 2 +- .../mipsel-linux-gnueabi/bits/statfs.h | 2 +- .../mipsel-linux-gnueabi/bits/struct_mutex.h | 2 +- .../mipsel-linux-gnueabi/bits/termios-c_cc.h | 2 +- .../bits/termios-c_lflag.h | 2 +- .../bits/termios-struct.h | 2 +- .../bits/termios-tcflow.h | 2 +- .../mipsel-linux-gnueabi/bits/timerfd.h | 2 +- .../mipsel-linux-gnueabi/bits/types/stack_t.h | 2 +- .../bits/types/struct_msqid_ds.h | 2 +- .../bits/types/struct_semid_ds.h | 2 +- .../bits/types/struct_shmid_ds.h | 2 +- .../include/mipsel-linux-gnueabi/ieee754.h | 2 +- .../mipsel-linux-gnueabihf/bits/dlfcn.h | 2 +- .../mipsel-linux-gnueabihf/bits/errno.h | 2 +- .../mipsel-linux-gnueabihf/bits/eventfd.h | 2 +- .../mipsel-linux-gnueabihf/bits/inotify.h | 2 +- .../mipsel-linux-gnueabihf/bits/ioctl-types.h | 2 +- .../mipsel-linux-gnueabihf/bits/ipctypes.h | 2 +- .../mipsel-linux-gnueabihf/bits/mman.h | 28 +- .../mipsel-linux-gnueabihf/bits/poll.h | 2 +- .../bits/pthread_stack_min.h | 2 +- .../bits/pthreadtypes-arch.h | 2 +- .../mipsel-linux-gnueabihf/bits/resource.h | 2 +- .../mipsel-linux-gnueabihf/bits/semaphore.h | 2 +- .../mipsel-linux-gnueabihf/bits/shmlba.h | 2 +- .../mipsel-linux-gnueabihf/bits/sigaction.h | 2 +- .../mipsel-linux-gnueabihf/bits/sigcontext.h | 2 +- .../mipsel-linux-gnueabihf/bits/signalfd.h | 2 +- .../mipsel-linux-gnueabihf/bits/signum-arch.h | 2 +- .../bits/socket-constants.h | 2 +- .../mipsel-linux-gnueabihf/bits/socket_type.h | 2 +- .../mipsel-linux-gnueabihf/bits/statfs.h | 2 +- .../bits/struct_mutex.h | 2 +- .../bits/termios-c_cc.h | 2 +- .../bits/termios-c_lflag.h | 2 +- .../bits/termios-struct.h | 2 +- .../bits/termios-tcflow.h | 2 +- .../mipsel-linux-gnueabihf/bits/timerfd.h | 2 +- .../bits/types/stack_t.h | 2 +- .../bits/types/struct_msqid_ds.h | 2 +- .../bits/types/struct_semid_ds.h | 2 +- .../bits/types/struct_shmid_ds.h | 2 +- .../include/mipsel-linux-gnueabihf/ieee754.h | 2 +- .../powerpc-linux-gnueabi/bits/environments.h | 2 +- .../powerpc-linux-gnueabi/bits/fcntl.h | 8 +- .../include/powerpc-linux-gnueabi/bits/fenv.h | 2 +- .../powerpc-linux-gnueabi/bits/floatn.h | 8 +- .../powerpc-linux-gnueabi/bits/fp-fast.h | 2 +- .../powerpc-linux-gnueabi/bits/hwcap.h | 2 +- .../powerpc-linux-gnueabi/bits/ioctl-types.h | 2 +- .../powerpc-linux-gnueabi/bits/ipc-perm.h | 2 +- .../powerpc-linux-gnueabi/bits/iscanonical.h | 2 +- .../include/powerpc-linux-gnueabi/bits/link.h | 2 +- .../powerpc-linux-gnueabi/bits/long-double.h | 2 +- .../include/powerpc-linux-gnueabi/bits/mman.h | 26 +- .../powerpc-linux-gnueabi/bits/procfs.h | 2 +- .../bits/pthread_stack_min.h | 2 +- .../include/powerpc-linux-gnueabi/bits/rseq.h | 37 ++ .../powerpc-linux-gnueabi/bits/setjmp.h | 4 +- .../powerpc-linux-gnueabi/bits/sigstack.h | 7 +- .../bits/socket-constants.h | 2 +- .../powerpc-linux-gnueabi/bits/struct_mutex.h | 2 +- .../bits/struct_rwlock.h | 2 +- .../powerpc-linux-gnueabi/bits/struct_stat.h | 2 +- .../powerpc-linux-gnueabi/bits/termios-baud.h | 2 +- .../powerpc-linux-gnueabi/bits/termios-c_cc.h | 2 +- .../bits/termios-c_cflag.h | 8 +- .../bits/termios-c_iflag.h | 2 +- .../bits/termios-c_lflag.h | 2 +- .../bits/termios-c_oflag.h | 2 +- .../powerpc-linux-gnueabi/bits/termios-misc.h | 2 +- .../bits/timesize.h} | 15 +- .../bits/types/struct_msqid_ds.h | 2 +- .../bits/types/struct_semid_ds.h | 2 +- .../bits/types/struct_shmid_ds.h | 2 +- .../bits/typesizes.h | 12 +- .../powerpc-linux-gnueabi/fpu_control.h | 2 +- .../powerpc-linux-gnueabi/gnu/lib-names-32.h | 29 - .../include/powerpc-linux-gnueabi/ieee754.h | 2 +- .../powerpc-linux-gnueabi/sys/ptrace.h | 9 +- .../powerpc-linux-gnueabi/sys/ucontext.h | 2 +- .../include/powerpc-linux-gnueabi/sys/user.h | 2 +- .../bits/environments.h | 2 +- .../powerpc-linux-gnueabihf/bits/fcntl.h | 8 +- .../powerpc-linux-gnueabihf/bits/fenv.h | 2 +- .../powerpc-linux-gnueabihf/bits/floatn.h | 8 +- .../powerpc-linux-gnueabihf/bits/fp-fast.h | 2 +- .../powerpc-linux-gnueabihf/bits/hwcap.h | 2 +- .../bits/ioctl-types.h | 2 +- .../powerpc-linux-gnueabihf/bits/ipc-perm.h | 2 +- .../bits/iscanonical.h | 2 +- .../powerpc-linux-gnueabihf/bits/link.h | 2 +- .../bits/long-double.h | 2 +- .../powerpc-linux-gnueabihf/bits/mman.h | 26 +- .../powerpc-linux-gnueabihf/bits/procfs.h | 2 +- .../bits/pthread_stack_min.h | 2 +- .../powerpc-linux-gnueabihf/bits/rseq.h | 37 ++ .../powerpc-linux-gnueabihf/bits/setjmp.h | 4 +- .../powerpc-linux-gnueabihf/bits/sigstack.h | 7 +- .../bits/socket-constants.h | 2 +- .../bits/struct_mutex.h | 2 +- .../bits/struct_rwlock.h | 2 +- .../bits/struct_stat.h | 2 +- .../bits/termios-baud.h | 2 +- .../bits/termios-c_cc.h | 2 +- .../bits/termios-c_cflag.h | 8 +- .../bits/termios-c_iflag.h | 2 +- .../bits/termios-c_lflag.h | 2 +- .../bits/termios-c_oflag.h | 2 +- .../bits/termios-misc.h | 2 +- .../powerpc-linux-gnueabihf/bits/timesize.h | 22 + .../bits/types/struct_msqid_ds.h | 2 +- .../bits/types/struct_semid_ds.h | 2 +- .../bits/types/struct_shmid_ds.h | 2 +- .../powerpc-linux-gnueabihf/bits/typesizes.h | 95 ++++ .../powerpc-linux-gnueabihf/fpu_control.h | 2 +- .../include/powerpc-linux-gnueabihf/ieee754.h | 2 +- .../powerpc-linux-gnueabihf/sys/ptrace.h | 9 +- .../powerpc-linux-gnueabihf/sys/ucontext.h | 2 +- .../powerpc-linux-gnueabihf/sys/user.h | 2 +- .../powerpc64-linux-gnu/bits/environments.h | 2 +- .../include/powerpc64-linux-gnu/bits/fcntl.h | 8 +- .../include/powerpc64-linux-gnu/bits/fenv.h | 2 +- .../include/powerpc64-linux-gnu/bits/floatn.h | 8 +- .../powerpc64-linux-gnu/bits/fp-fast.h | 2 +- .../include/powerpc64-linux-gnu/bits/hwcap.h | 2 +- .../powerpc64-linux-gnu/bits/ioctl-types.h | 2 +- .../powerpc64-linux-gnu/bits/ipc-perm.h | 2 +- .../powerpc64-linux-gnu/bits/iscanonical.h | 2 +- .../include/powerpc64-linux-gnu/bits/link.h | 2 +- .../powerpc64-linux-gnu/bits/long-double.h | 2 +- .../include/powerpc64-linux-gnu/bits/mman.h | 26 +- .../include/powerpc64-linux-gnu/bits/procfs.h | 2 +- .../bits/pthread_stack_min.h | 2 +- .../include/powerpc64-linux-gnu/bits/rseq.h | 37 ++ .../include/powerpc64-linux-gnu/bits/setjmp.h | 4 +- .../powerpc64-linux-gnu/bits/sigstack.h | 7 +- .../bits/socket-constants.h | 2 +- .../powerpc64-linux-gnu/bits/struct_mutex.h | 2 +- .../powerpc64-linux-gnu/bits/struct_rwlock.h | 2 +- .../powerpc64-linux-gnu/bits/struct_stat.h | 2 +- .../powerpc64-linux-gnu/bits/termios-baud.h | 2 +- .../powerpc64-linux-gnu/bits/termios-c_cc.h | 2 +- .../bits/termios-c_cflag.h | 8 +- .../bits/termios-c_iflag.h | 2 +- .../bits/termios-c_lflag.h | 2 +- .../bits/termios-c_oflag.h | 2 +- .../powerpc64-linux-gnu/bits/termios-misc.h | 2 +- .../powerpc64-linux-gnu/bits/timesize.h | 22 + .../bits/types/struct_msqid_ds.h | 2 +- .../bits/types/struct_semid_ds.h | 2 +- .../bits/types/struct_shmid_ds.h | 2 +- .../powerpc64-linux-gnu/bits/typesizes.h | 95 ++++ .../include/powerpc64-linux-gnu/fpu_control.h | 2 +- .../powerpc64-linux-gnu/gnu/lib-names-64-v1.h | 2 - .../include/powerpc64-linux-gnu/ieee754.h | 2 +- .../include/powerpc64-linux-gnu/sys/ptrace.h | 9 +- .../powerpc64-linux-gnu/sys/ucontext.h | 2 +- .../include/powerpc64-linux-gnu/sys/user.h | 2 +- .../powerpc64le-linux-gnu/bits/environments.h | 2 +- .../powerpc64le-linux-gnu/bits/fcntl.h | 8 +- .../include/powerpc64le-linux-gnu/bits/fenv.h | 2 +- .../powerpc64le-linux-gnu/bits/floatn.h | 8 +- .../powerpc64le-linux-gnu/bits/fp-fast.h | 2 +- .../powerpc64le-linux-gnu/bits/hwcap.h | 2 +- .../powerpc64le-linux-gnu/bits/ioctl-types.h | 2 +- .../powerpc64le-linux-gnu/bits/ipc-perm.h | 2 +- .../powerpc64le-linux-gnu/bits/iscanonical.h | 2 +- .../include/powerpc64le-linux-gnu/bits/link.h | 2 +- .../powerpc64le-linux-gnu/bits/long-double.h | 2 +- .../include/powerpc64le-linux-gnu/bits/mman.h | 26 +- .../powerpc64le-linux-gnu/bits/procfs.h | 2 +- .../bits/pthread_stack_min.h | 2 +- .../include/powerpc64le-linux-gnu/bits/rseq.h | 37 ++ .../powerpc64le-linux-gnu/bits/setjmp.h | 4 +- .../powerpc64le-linux-gnu/bits/sigstack.h | 7 +- .../bits/socket-constants.h | 2 +- .../powerpc64le-linux-gnu/bits/struct_mutex.h | 2 +- .../bits/struct_rwlock.h | 2 +- .../powerpc64le-linux-gnu/bits/struct_stat.h | 2 +- .../powerpc64le-linux-gnu/bits/termios-baud.h | 2 +- .../powerpc64le-linux-gnu/bits/termios-c_cc.h | 2 +- .../bits/termios-c_cflag.h | 8 +- .../bits/termios-c_iflag.h | 2 +- .../bits/termios-c_lflag.h | 2 +- .../bits/termios-c_oflag.h | 2 +- .../powerpc64le-linux-gnu/bits/termios-misc.h | 2 +- .../powerpc64le-linux-gnu/bits/timesize.h | 22 + .../bits/types/struct_msqid_ds.h | 2 +- .../bits/types/struct_semid_ds.h | 2 +- .../bits/types/struct_shmid_ds.h | 2 +- .../powerpc64le-linux-gnu/bits/typesizes.h | 95 ++++ .../powerpc64le-linux-gnu/fpu_control.h | 2 +- .../gnu/lib-names-64-v2.h | 2 - .../include/powerpc64le-linux-gnu/ieee754.h | 2 +- .../powerpc64le-linux-gnu/sys/ptrace.h | 9 +- .../powerpc64le-linux-gnu/sys/ucontext.h | 2 +- .../include/powerpc64le-linux-gnu/sys/user.h | 2 +- .../riscv64-linux-gnu/bits/environments.h | 2 +- .../include/riscv64-linux-gnu/bits/fcntl.h | 2 +- .../include/riscv64-linux-gnu/bits/fenv.h | 2 +- .../include/riscv64-linux-gnu/bits/floatn.h | 8 +- .../include/riscv64-linux-gnu/bits/link.h | 2 +- .../riscv64-linux-gnu/bits/long-double.h | 2 +- .../include/riscv64-linux-gnu/bits/procfs.h | 2 +- .../bits/pthreadtypes-arch.h | 2 +- .../include/riscv64-linux-gnu/bits/rseq.h | 29 + .../include/riscv64-linux-gnu/bits/setjmp.h | 2 +- .../riscv64-linux-gnu/bits/sigcontext.h | 2 +- .../riscv64-linux-gnu/bits/struct_rwlock.h | 2 +- .../riscv64-linux-gnu/bits/struct_stat.h | 2 +- .../include/riscv64-linux-gnu/bits/time64.h | 2 +- .../include/riscv64-linux-gnu/bits/timesize.h | 8 +- .../riscv64-linux-gnu/bits/typesizes.h | 3 +- .../include/riscv64-linux-gnu/bits/wordsize.h | 2 +- .../include/riscv64-linux-gnu/fpu_control.h | 2 +- .../riscv64-linux-gnu/gnu/lib-names-lp64.h | 2 - .../riscv64-linux-gnu/gnu/lib-names-lp64d.h | 30 -- .../riscv64-linux-gnu/gnu/stubs-lp64d.h | 24 - lib/libc/include/riscv64-linux-gnu/ieee754.h | 2 +- lib/libc/include/riscv64-linux-gnu/sys/asm.h | 2 +- .../include/riscv64-linux-gnu/sys/cachectl.h | 2 +- .../include/riscv64-linux-gnu/sys/ucontext.h | 2 +- lib/libc/include/riscv64-linux-gnu/sys/user.h | 2 +- .../include/s390x-linux-gnu/bits/elfclass.h | 3 +- .../s390x-linux-gnu/bits/environments.h | 2 +- lib/libc/include/s390x-linux-gnu/bits/fcntl.h | 2 +- lib/libc/include/s390x-linux-gnu/bits/fenv.h | 3 +- .../include/s390x-linux-gnu/bits/floatn.h | 8 +- lib/libc/include/s390x-linux-gnu/bits/hwcap.h | 11 +- lib/libc/include/s390x-linux-gnu/bits/link.h | 2 +- .../s390x-linux-gnu/bits/long-double.h | 2 +- .../s390x-linux-gnu/bits/procfs-extra.h | 2 +- .../include/s390x-linux-gnu/bits/procfs-id.h | 2 +- .../include/s390x-linux-gnu/bits/procfs.h | 2 +- lib/libc/include/s390x-linux-gnu/bits/rseq.h | 37 ++ .../include/s390x-linux-gnu/bits/setjmp.h | 2 +- .../include/s390x-linux-gnu/bits/sigaction.h | 2 +- .../include/s390x-linux-gnu/bits/statfs.h | 2 +- .../s390x-linux-gnu/bits/struct_mutex.h | 2 +- .../s390x-linux-gnu/bits/struct_rwlock.h | 2 +- .../s390x-linux-gnu/bits/struct_stat.h | 2 +- .../include/s390x-linux-gnu/bits/timesize.h | 22 + .../include/s390x-linux-gnu/bits/typesizes.h | 2 +- lib/libc/include/s390x-linux-gnu/bits/utmp.h | 2 +- lib/libc/include/s390x-linux-gnu/bits/utmpx.h | 2 +- .../include/s390x-linux-gnu/fpu_control.h | 8 +- .../s390x-linux-gnu/gnu/lib-names-64.h | 2 - lib/libc/include/s390x-linux-gnu/ieee754.h | 2 +- lib/libc/include/s390x-linux-gnu/sys/elf.h | 2 +- lib/libc/include/s390x-linux-gnu/sys/ptrace.h | 8 +- .../include/s390x-linux-gnu/sys/ucontext.h | 3 +- lib/libc/include/s390x-linux-gnu/sys/user.h | 2 +- .../sparc-linux-gnu/bits/long-double.h | 27 - .../include/sparc-linux-gnu/bits/resource.h | 238 --------- .../include/sparc-linux-gnu/bits/sigcontext.h | 82 --- .../sparc-linux-gnu/bits/socket-constants.h | 70 --- .../include/sparc-linux-gnu/bits/timerfd.h | 29 - .../bits/types/struct_msqid_ds.h | 53 -- .../bits/types/struct_semid_ds.h | 43 -- .../include/sparc-linux-gnu/fpu_control.h | 72 --- .../a.out.h | 0 .../bits/a.out.h | 0 .../bits/endianness.h | 0 .../bits/environments.h | 2 +- .../bits/epoll.h | 2 +- .../bits/errno.h | 2 +- .../bits/eventfd.h | 2 +- .../bits/fcntl.h | 2 +- .../bits/fenv.h | 2 +- .../bits/floatn.h | 8 +- .../bits/hwcap.h | 2 +- .../bits/inotify.h | 2 +- .../bits/ioctls.h | 2 +- .../bits/ipc-perm.h | 2 +- .../bits/link.h | 2 +- .../bits/long-double.h | 2 +- .../bits/mman.h | 32 +- .../bits/poll.h | 2 +- .../bits/procfs-extra.h | 2 +- .../bits/procfs-id.h | 2 +- .../bits/procfs.h | 2 +- .../bits/pthread_stack_min.h | 2 +- .../bits/resource.h | 2 +- .../include/sparc64-linux-gnu/bits/rseq.h | 29 + .../bits/setjmp.h | 2 +- .../bits/shmlba.h | 2 +- .../bits/sigaction.h | 2 +- .../bits/sigcontext.h | 2 +- .../bits/siginfo-arch.h | 0 .../bits/siginfo-consts-arch.h | 0 .../bits/signalfd.h | 2 +- .../bits/signum-arch.h | 2 +- .../bits/sigstack.h | 2 +- .../bits/socket-constants.h | 2 +- .../bits/socket_type.h | 2 +- .../bits/struct_rwlock.h | 2 +- .../bits/struct_stat.h | 112 ++-- .../bits/termios-baud.h | 2 +- .../bits/termios-c_cc.h | 2 +- .../bits/termios-c_oflag.h | 2 +- .../bits/termios-struct.h | 2 +- .../bits/timerfd.h | 2 +- .../include/sparc64-linux-gnu/bits/timesize.h | 22 + .../bits/types/struct_msqid_ds.h | 2 +- .../bits/types/struct_semid_ds.h | 2 +- .../bits/types/struct_shmid_ds.h | 2 +- .../bits/typesizes.h | 2 +- .../bits/wordsize.h | 0 .../fpu_control.h | 3 +- .../gnu/lib-names-64.h | 2 - .../gnu/lib-names.h | 0 .../gnu/stubs.h | 0 .../ieee754.h | 2 +- .../sys/ptrace.h | 10 +- .../sys/ucontext.h | 6 +- .../sys/user.h | 2 +- lib/libc/include/sparcv9-linux-gnu/a.out.h | 174 ------ .../include/sparcv9-linux-gnu/bits/a.out.h | 13 - .../sparcv9-linux-gnu/bits/endianness.h | 16 - .../sparcv9-linux-gnu/bits/environments.h | 96 ---- .../include/sparcv9-linux-gnu/bits/errno.h | 53 -- .../include/sparcv9-linux-gnu/bits/fcntl.h | 101 ---- .../include/sparcv9-linux-gnu/bits/fenv.h | 92 ---- .../include/sparcv9-linux-gnu/bits/floatn.h | 97 ---- .../include/sparcv9-linux-gnu/bits/hwcap.h | 51 -- .../include/sparcv9-linux-gnu/bits/ipc-perm.h | 36 -- .../include/sparcv9-linux-gnu/bits/link.h | 99 ---- .../include/sparcv9-linux-gnu/bits/mman.h | 57 -- .../include/sparcv9-linux-gnu/bits/poll.h | 49 -- .../sparcv9-linux-gnu/bits/procfs-extra.h | 88 --- .../include/sparcv9-linux-gnu/bits/procfs.h | 61 --- .../bits/pthread_stack_min.h | 20 - .../include/sparcv9-linux-gnu/bits/setjmp.h | 67 --- .../sparcv9-linux-gnu/bits/sigaction.h | 89 ---- .../sparcv9-linux-gnu/bits/siginfo-arch.h | 17 - .../bits/siginfo-consts-arch.h | 12 - .../sparcv9-linux-gnu/bits/signum-arch.h | 66 --- .../sparcv9-linux-gnu/bits/socket_type.h | 55 -- .../sparcv9-linux-gnu/bits/struct_rwlock.h | 58 -- .../sparcv9-linux-gnu/bits/struct_stat.h | 131 ----- .../sparcv9-linux-gnu/bits/termios-baud.h | 46 -- .../sparcv9-linux-gnu/bits/termios-c_cc.h | 43 -- .../sparcv9-linux-gnu/bits/termios-c_oflag.h | 64 --- .../sparcv9-linux-gnu/bits/termios-struct.h | 34 -- .../bits/types/struct_shmid_ds.h | 49 -- .../include/sparcv9-linux-gnu/bits/wordsize.h | 11 - .../include/sparcv9-linux-gnu/gnu/lib-names.h | 16 - .../include/sparcv9-linux-gnu/gnu/stubs.h | 12 - lib/libc/include/sparcv9-linux-gnu/ieee754.h | 170 ------ .../include/sparcv9-linux-gnu/sys/ptrace.h | 233 -------- .../include/sparcv9-linux-gnu/sys/ucontext.h | 304 ----------- lib/libc/include/sparcv9-linux-gnu/sys/user.h | 86 --- .../bits/dl_find_object.h} | 22 +- .../include/x86-linux-gnu/bits/environments.h | 2 +- lib/libc/include/x86-linux-gnu/bits/epoll.h | 2 +- lib/libc/include/x86-linux-gnu/bits/fcntl.h | 2 +- lib/libc/include/x86-linux-gnu/bits/fenv.h | 2 +- lib/libc/include/x86-linux-gnu/bits/floatn.h | 8 +- .../x86-linux-gnu/bits/flt-eval-method.h | 2 +- lib/libc/include/x86-linux-gnu/bits/fp-logb.h | 2 +- .../x86-linux-gnu/bits/indirect-return.h | 2 +- .../include/x86-linux-gnu/bits/ipctypes.h | 2 +- .../include/x86-linux-gnu/bits/iscanonical.h | 2 +- lib/libc/include/x86-linux-gnu/bits/link.h | 12 +- .../include/x86-linux-gnu/bits/long-double.h | 2 +- .../include/x86-linux-gnu/bits/math-vector.h | 86 ++- lib/libc/include/x86-linux-gnu/bits/mman.h | 6 +- .../include/x86-linux-gnu/bits/procfs-id.h | 2 +- lib/libc/include/x86-linux-gnu/bits/procfs.h | 2 +- .../x86-linux-gnu/bits/pthreadtypes-arch.h | 2 +- lib/libc/include/x86-linux-gnu/bits/rseq.h | 30 ++ lib/libc/include/x86-linux-gnu/bits/setjmp.h | 2 +- .../include/x86-linux-gnu/bits/sigcontext.h | 2 +- .../include/x86-linux-gnu/bits/struct_mutex.h | 2 +- .../x86-linux-gnu/bits/struct_rwlock.h | 2 +- .../include/x86-linux-gnu/bits/struct_stat.h | 2 +- .../include/x86-linux-gnu/bits/timesize.h | 4 +- .../bits/types/struct_semid_ds.h | 2 +- .../include/x86-linux-gnu/bits/typesizes.h | 2 +- .../finclude/math-vector-fortran.h | 88 ++- lib/libc/include/x86-linux-gnu/fpu_control.h | 3 +- .../gnu/lib-names-32.h | 5 +- lib/libc/include/x86-linux-gnu/sys/elf.h | 2 +- lib/libc/include/x86-linux-gnu/sys/ptrace.h | 8 +- lib/libc/include/x86-linux-gnu/sys/ucontext.h | 2 +- lib/libc/include/x86-linux-gnu/sys/user.h | 2 +- .../x86_64-linux-gnu/bits/dl_find_object.h | 29 + .../x86_64-linux-gnu/bits/environments.h | 2 +- .../include/x86_64-linux-gnu/bits/epoll.h | 2 +- .../include/x86_64-linux-gnu/bits/fcntl.h | 2 +- lib/libc/include/x86_64-linux-gnu/bits/fenv.h | 2 +- .../include/x86_64-linux-gnu/bits/floatn.h | 8 +- .../x86_64-linux-gnu/bits/flt-eval-method.h | 2 +- .../include/x86_64-linux-gnu/bits/fp-logb.h | 2 +- .../x86_64-linux-gnu/bits/indirect-return.h | 2 +- .../include/x86_64-linux-gnu/bits/ipctypes.h | 2 +- .../x86_64-linux-gnu/bits/iscanonical.h | 2 +- lib/libc/include/x86_64-linux-gnu/bits/link.h | 12 +- .../x86_64-linux-gnu/bits/long-double.h | 2 +- .../x86_64-linux-gnu/bits/math-vector.h | 86 ++- lib/libc/include/x86_64-linux-gnu/bits/mman.h | 6 +- .../include/x86_64-linux-gnu/bits/procfs-id.h | 2 +- .../include/x86_64-linux-gnu/bits/procfs.h | 2 +- .../x86_64-linux-gnu/bits/pthreadtypes-arch.h | 2 +- lib/libc/include/x86_64-linux-gnu/bits/rseq.h | 30 ++ .../include/x86_64-linux-gnu/bits/setjmp.h | 2 +- .../x86_64-linux-gnu/bits/sigcontext.h | 2 +- .../x86_64-linux-gnu/bits/struct_mutex.h | 2 +- .../x86_64-linux-gnu/bits/struct_rwlock.h | 2 +- .../x86_64-linux-gnu/bits/struct_stat.h | 2 +- .../include/x86_64-linux-gnu/bits/timesize.h | 4 +- .../bits/types/struct_semid_ds.h | 2 +- .../include/x86_64-linux-gnu/bits/typesizes.h | 2 +- .../finclude/math-vector-fortran.h | 88 ++- .../include/x86_64-linux-gnu/fpu_control.h | 3 +- .../x86_64-linux-gnu/gnu/lib-names-64.h | 2 - lib/libc/include/x86_64-linux-gnu/sys/elf.h | 2 +- .../include/x86_64-linux-gnu/sys/ptrace.h | 8 +- .../include/x86_64-linux-gnu/sys/ucontext.h | 2 +- lib/libc/include/x86_64-linux-gnu/sys/user.h | 2 +- .../x86_64-linux-gnux32/bits/dl_find_object.h | 29 + .../x86_64-linux-gnux32/bits/environments.h | 2 +- .../include/x86_64-linux-gnux32/bits/epoll.h | 2 +- .../include/x86_64-linux-gnux32/bits/fcntl.h | 2 +- .../include/x86_64-linux-gnux32/bits/fenv.h | 2 +- .../include/x86_64-linux-gnux32/bits/floatn.h | 8 +- .../bits/flt-eval-method.h | 2 +- .../x86_64-linux-gnux32/bits/fp-logb.h | 2 +- .../bits/indirect-return.h | 2 +- .../x86_64-linux-gnux32/bits/ipctypes.h | 2 +- .../x86_64-linux-gnux32/bits/iscanonical.h | 2 +- .../include/x86_64-linux-gnux32/bits/link.h | 12 +- .../x86_64-linux-gnux32/bits/long-double.h | 2 +- .../x86_64-linux-gnux32/bits/math-vector.h | 86 ++- .../include/x86_64-linux-gnux32/bits/mman.h | 6 +- .../x86_64-linux-gnux32/bits/procfs-id.h | 2 +- .../include/x86_64-linux-gnux32/bits/procfs.h | 2 +- .../bits/pthreadtypes-arch.h | 2 +- .../include/x86_64-linux-gnux32/bits/rseq.h | 30 ++ .../include/x86_64-linux-gnux32/bits/setjmp.h | 2 +- .../x86_64-linux-gnux32/bits/sigcontext.h | 2 +- .../x86_64-linux-gnux32/bits/struct_mutex.h | 2 +- .../x86_64-linux-gnux32/bits/struct_rwlock.h | 2 +- .../x86_64-linux-gnux32/bits/struct_stat.h | 2 +- .../x86_64-linux-gnux32/bits/timesize.h | 4 +- .../bits/types/struct_semid_ds.h | 2 +- .../x86_64-linux-gnux32/bits/typesizes.h | 2 +- .../finclude/math-vector-fortran.h | 88 ++- .../include/x86_64-linux-gnux32/fpu_control.h | 3 +- .../x86_64-linux-gnux32/gnu/lib-names-x32.h | 2 - .../include/x86_64-linux-gnux32/sys/elf.h | 2 +- .../include/x86_64-linux-gnux32/sys/ptrace.h | 8 +- .../x86_64-linux-gnux32/sys/ucontext.h | 2 +- .../include/x86_64-linux-gnux32/sys/user.h | 2 +- 1291 files changed, 8260 insertions(+), 6783 deletions(-) create mode 100644 lib/libc/include/aarch64-linux-gnu/bits/math-vector.h create mode 100644 lib/libc/include/aarch64-linux-gnu/bits/rseq.h create mode 100644 lib/libc/include/aarch64-linux-gnu/bits/timesize.h create mode 100644 lib/libc/include/aarch64_be-linux-gnu/bits/math-vector.h create mode 100644 lib/libc/include/aarch64_be-linux-gnu/bits/rseq.h create mode 100644 lib/libc/include/aarch64_be-linux-gnu/bits/timesize.h rename lib/libc/include/{sparcv9-linux-gnu/bits/signalfd.h => arm-linux-gnueabi/bits/dl_find_object.h} (69%) create mode 100644 lib/libc/include/arm-linux-gnueabi/bits/rseq.h create mode 100644 lib/libc/include/arm-linux-gnueabi/bits/timesize.h create mode 100644 lib/libc/include/arm-linux-gnueabi/bits/typesizes.h create mode 100644 lib/libc/include/arm-linux-gnueabihf/bits/dl_find_object.h create mode 100644 lib/libc/include/arm-linux-gnueabihf/bits/rseq.h create mode 100644 lib/libc/include/arm-linux-gnueabihf/bits/timesize.h create mode 100644 lib/libc/include/arm-linux-gnueabihf/bits/typesizes.h create mode 100644 lib/libc/include/armeb-linux-gnueabi/bits/dl_find_object.h create mode 100644 lib/libc/include/armeb-linux-gnueabi/bits/rseq.h create mode 100644 lib/libc/include/armeb-linux-gnueabi/bits/timesize.h create mode 100644 lib/libc/include/armeb-linux-gnueabi/bits/typesizes.h create mode 100644 lib/libc/include/armeb-linux-gnueabihf/bits/dl_find_object.h create mode 100644 lib/libc/include/armeb-linux-gnueabihf/bits/rseq.h create mode 100644 lib/libc/include/armeb-linux-gnueabihf/bits/timesize.h create mode 100644 lib/libc/include/armeb-linux-gnueabihf/bits/typesizes.h rename lib/libc/include/{sparc-linux-gnu/bits/ioctls.h => csky-linux-gnueabi/bits/rseq.h} (50%) create mode 100644 lib/libc/include/csky-linux-gnueabi/bits/timesize.h create mode 100644 lib/libc/include/csky-linux-gnueabihf/bits/rseq.h create mode 100644 lib/libc/include/csky-linux-gnueabihf/bits/timesize.h rename lib/libc/include/{sparc-linux-gnu/bits/eventfd.h => generic-glibc/bits/atomic_wide_counter.h} (57%) create mode 100644 lib/libc/include/generic-glibc/bits/dl_find_object.h rename lib/libc/include/{sparc-linux-gnu/bits/shmlba.h => generic-glibc/bits/link_lavcurrent.h} (67%) rename lib/libc/include/{sparcv9-linux-gnu/bits/sigstack.h => generic-glibc/bits/mman_ext.h} (60%) create mode 100644 lib/libc/include/generic-glibc/bits/rseq.h rename lib/libc/include/{sparcv9-linux-gnu/bits/procfs-id.h => generic-glibc/bits/select-decl.h} (60%) create mode 100644 lib/libc/include/generic-glibc/bits/stdio2-decl.h create mode 100644 lib/libc/include/generic-glibc/bits/syslog-decl.h create mode 100644 lib/libc/include/generic-glibc/bits/types/idtype_t.h create mode 100644 lib/libc/include/generic-glibc/bits/unistd-decl.h create mode 100644 lib/libc/include/generic-glibc/bits/wchar2-decl.h delete mode 100644 lib/libc/include/generic-glibc/crypt.h delete mode 100644 lib/libc/include/generic-glibc/gnu/lib-names-ilp32d.h delete mode 100644 lib/libc/include/generic-glibc/gnu/stubs-ilp32.h delete mode 100644 lib/libc/include/generic-glibc/gnu/stubs-ilp32d.h create mode 100644 lib/libc/include/generic-glibc/sys/pidfd.h create mode 100644 lib/libc/include/generic-glibc/sys/rseq.h create mode 100644 lib/libc/include/m68k-linux-gnu/bits/rseq.h create mode 100644 lib/libc/include/m68k-linux-gnu/bits/timesize.h create mode 100644 lib/libc/include/m68k-linux-gnu/bits/typesizes.h create mode 100644 lib/libc/include/powerpc-linux-gnueabi/bits/rseq.h rename lib/libc/include/{sparcv9-linux-gnu/bits/epoll.h => powerpc-linux-gnueabi/bits/timesize.h} (72%) rename lib/libc/include/{sparcv9-linux-gnu => powerpc-linux-gnueabi}/bits/typesizes.h (91%) delete mode 100644 lib/libc/include/powerpc-linux-gnueabi/gnu/lib-names-32.h create mode 100644 lib/libc/include/powerpc-linux-gnueabihf/bits/rseq.h create mode 100644 lib/libc/include/powerpc-linux-gnueabihf/bits/timesize.h create mode 100644 lib/libc/include/powerpc-linux-gnueabihf/bits/typesizes.h create mode 100644 lib/libc/include/powerpc64-linux-gnu/bits/rseq.h create mode 100644 lib/libc/include/powerpc64-linux-gnu/bits/timesize.h create mode 100644 lib/libc/include/powerpc64-linux-gnu/bits/typesizes.h create mode 100644 lib/libc/include/powerpc64le-linux-gnu/bits/rseq.h create mode 100644 lib/libc/include/powerpc64le-linux-gnu/bits/timesize.h create mode 100644 lib/libc/include/powerpc64le-linux-gnu/bits/typesizes.h create mode 100644 lib/libc/include/riscv64-linux-gnu/bits/rseq.h delete mode 100644 lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64d.h delete mode 100644 lib/libc/include/riscv64-linux-gnu/gnu/stubs-lp64d.h create mode 100644 lib/libc/include/s390x-linux-gnu/bits/rseq.h create mode 100644 lib/libc/include/s390x-linux-gnu/bits/timesize.h delete mode 100644 lib/libc/include/sparc-linux-gnu/bits/long-double.h delete mode 100644 lib/libc/include/sparc-linux-gnu/bits/resource.h delete mode 100644 lib/libc/include/sparc-linux-gnu/bits/sigcontext.h delete mode 100644 lib/libc/include/sparc-linux-gnu/bits/socket-constants.h delete mode 100644 lib/libc/include/sparc-linux-gnu/bits/timerfd.h delete mode 100644 lib/libc/include/sparc-linux-gnu/bits/types/struct_msqid_ds.h delete mode 100644 lib/libc/include/sparc-linux-gnu/bits/types/struct_semid_ds.h delete mode 100644 lib/libc/include/sparc-linux-gnu/fpu_control.h rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/a.out.h (100%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/a.out.h (100%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/endianness.h (100%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/environments.h (98%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/epoll.h (94%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/errno.h (95%) rename lib/libc/include/{sparcv9-linux-gnu => sparc64-linux-gnu}/bits/eventfd.h (94%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/fcntl.h (98%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/fenv.h (97%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/floatn.h (91%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/hwcap.h (97%) rename lib/libc/include/{sparcv9-linux-gnu => sparc64-linux-gnu}/bits/inotify.h (94%) rename lib/libc/include/{sparcv9-linux-gnu => sparc64-linux-gnu}/bits/ioctls.h (95%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/ipc-perm.h (96%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/link.h (98%) rename lib/libc/include/{sparcv9-linux-gnu => sparc64-linux-gnu}/bits/long-double.h (94%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/mman.h (62%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/poll.h (97%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/procfs-extra.h (97%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/procfs-id.h (94%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/procfs.h (96%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/pthread_stack_min.h (94%) rename lib/libc/include/{sparcv9-linux-gnu => sparc64-linux-gnu}/bits/resource.h (99%) create mode 100644 lib/libc/include/sparc64-linux-gnu/bits/rseq.h rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/setjmp.h (96%) rename lib/libc/include/{sparcv9-linux-gnu => sparc64-linux-gnu}/bits/shmlba.h (94%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/sigaction.h (98%) rename lib/libc/include/{sparcv9-linux-gnu => sparc64-linux-gnu}/bits/sigcontext.h (97%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/siginfo-arch.h (100%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/siginfo-consts-arch.h (100%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/signalfd.h (94%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/signum-arch.h (97%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/sigstack.h (95%) rename lib/libc/include/{sparcv9-linux-gnu => sparc64-linux-gnu}/bits/socket-constants.h (97%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/socket_type.h (97%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/struct_rwlock.h (96%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/struct_stat.h (88%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/termios-baud.h (96%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/termios-c_cc.h (95%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/termios-c_oflag.h (97%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/termios-struct.h (95%) rename lib/libc/include/{sparcv9-linux-gnu => sparc64-linux-gnu}/bits/timerfd.h (94%) create mode 100644 lib/libc/include/sparc64-linux-gnu/bits/timesize.h rename lib/libc/include/{sparcv9-linux-gnu => sparc64-linux-gnu}/bits/types/struct_msqid_ds.h (97%) rename lib/libc/include/{sparcv9-linux-gnu => sparc64-linux-gnu}/bits/types/struct_semid_ds.h (96%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/types/struct_shmid_ds.h (97%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/typesizes.h (98%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/bits/wordsize.h (100%) rename lib/libc/include/{sparcv9-linux-gnu => sparc64-linux-gnu}/fpu_control.h (96%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/gnu/lib-names-64.h (92%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/gnu/lib-names.h (100%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/gnu/stubs.h (100%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/ieee754.h (98%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/sys/ptrace.h (95%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/sys/ucontext.h (97%) rename lib/libc/include/{sparc-linux-gnu => sparc64-linux-gnu}/sys/user.h (97%) delete mode 100644 lib/libc/include/sparcv9-linux-gnu/a.out.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/a.out.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/endianness.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/environments.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/errno.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/fcntl.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/fenv.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/floatn.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/hwcap.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/ipc-perm.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/link.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/mman.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/poll.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/procfs-extra.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/procfs.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/pthread_stack_min.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/setjmp.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/sigaction.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/siginfo-arch.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/siginfo-consts-arch.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/signum-arch.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/socket_type.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/struct_rwlock.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/struct_stat.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/termios-baud.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/termios-c_cc.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/termios-c_oflag.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/termios-struct.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/types/struct_shmid_ds.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/bits/wordsize.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/gnu/lib-names.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/gnu/stubs.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/ieee754.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/sys/ptrace.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/sys/ucontext.h delete mode 100644 lib/libc/include/sparcv9-linux-gnu/sys/user.h rename lib/libc/include/{sparc-linux-gnu/bits/inotify.h => x86-linux-gnu/bits/dl_find_object.h} (66%) create mode 100644 lib/libc/include/x86-linux-gnu/bits/rseq.h rename lib/libc/include/{powerpc-linux-gnueabihf => x86-linux-gnu}/gnu/lib-names-32.h (88%) create mode 100644 lib/libc/include/x86_64-linux-gnu/bits/dl_find_object.h create mode 100644 lib/libc/include/x86_64-linux-gnu/bits/rseq.h create mode 100644 lib/libc/include/x86_64-linux-gnux32/bits/dl_find_object.h create mode 100644 lib/libc/include/x86_64-linux-gnux32/bits/rseq.h diff --git a/lib/libc/include/aarch64-linux-gnu/bits/fcntl.h b/lib/libc/include/aarch64-linux-gnu/bits/fcntl.h index 796d505b4758b840154b9c24584cfa0d54059e54..7ecd1ae21e04d7599385f21cdb796ca145e6a7db 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/fcntl.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for the AArch64 Linux ABI. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/bits/fenv.h b/lib/libc/include/aarch64-linux-gnu/bits/fenv.h index 9483c26b546b076fdc041b3eaa357696555d956c..274c745ef715e60eb59721a122af34858a6de30f 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/fenv.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/bits/floatn.h b/lib/libc/include/aarch64-linux-gnu/bits/floatn.h index 0b1b5d444dba6c324b2ef27cd91e5e4197e2ee81..a4ac95d55ea16ddd7a1a8b20a2f3c9a90c727dc1 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/floatn.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on ldbl-128 platforms. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -55,7 +55,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix f128 exists only since GCC 7.0. */ # define __f128(x) x##l # else @@ -65,7 +65,7 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __CFLOAT128 _Complex long double # else # define __CFLOAT128 _Complex _Float128 @@ -76,7 +76,7 @@ # if __HAVE_FLOAT128 /* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef long double _Float128; # endif diff --git a/lib/libc/include/aarch64-linux-gnu/bits/fp-fast.h b/lib/libc/include/aarch64-linux-gnu/bits/fp-fast.h index da438c6d3fe051600a7fcad2d0fbbe5363260fb3..d529dc4491c672bda9b00cf51c911a13a07a1f36 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/fp-fast.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/fp-fast.h @@ -1,5 +1,5 @@ /* Define FP_FAST_* macros. AArch64 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64-linux-gnu/bits/hwcap.h b/lib/libc/include/aarch64-linux-gnu/bits/hwcap.h index 75458671261694a05f186bc8930274a1f12488d3..9052ca7c891942a19ed81cb57042d837d7ce3077 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/hwcap.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP. AArch64 Linux version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -73,4 +73,28 @@ #define HWCAP2_DGH (1 << 15) #define HWCAP2_RNG (1 << 16) #define HWCAP2_BTI (1 << 17) -#define HWCAP2_MTE (1 << 18) \ No newline at end of file +#define HWCAP2_MTE (1 << 18) +#define HWCAP2_ECV (1 << 19) +#define HWCAP2_AFP (1 << 20) +#define HWCAP2_RPRES (1 << 21) +#define HWCAP2_MTE3 (1 << 22) +#define HWCAP2_SME (1 << 23) +#define HWCAP2_SME_I16I64 (1 << 24) +#define HWCAP2_SME_F64F64 (1 << 25) +#define HWCAP2_SME_I8I32 (1 << 26) +#define HWCAP2_SME_F16F32 (1 << 27) +#define HWCAP2_SME_B16F32 (1 << 28) +#define HWCAP2_SME_F32F32 (1 << 29) +#define HWCAP2_SME_FA64 (1 << 30) +#define HWCAP2_WFXT (1UL << 31) +#define HWCAP2_EBF16 (1UL << 32) +#define HWCAP2_SVE_EBF16 (1UL << 33) +#define HWCAP2_CSSC (1UL << 34) +#define HWCAP2_RPRFM (1UL << 35) +#define HWCAP2_SVE2P1 (1UL << 36) +#define HWCAP2_SME2 (1UL << 37) +#define HWCAP2_SME2P1 (1UL << 38) +#define HWCAP2_SME_I16I32 (1UL << 39) +#define HWCAP2_SME_BI32I32 (1UL << 40) +#define HWCAP2_SME_B16B16 (1UL << 41) +#define HWCAP2_SME_F16F16 (1UL << 42) \ No newline at end of file diff --git a/lib/libc/include/aarch64-linux-gnu/bits/link.h b/lib/libc/include/aarch64-linux-gnu/bits/link.h index 2fb29eb0b7280f87c40a2e6346796ce9447ff04b..d1756817b1397f1eb484def0bb32b1af068b0e5c 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/link.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -20,23 +20,31 @@ # error "Never include directly; use instead." #endif +typedef union +{ + float s; + double d; + long double q; +} La_aarch64_vector; + /* Registers for entry into PLT on AArch64. */ typedef struct La_aarch64_regs { - uint64_t lr_xreg[8]; - uint64_t lr_dreg[8]; - uint64_t lr_sp; - uint64_t lr_lr; + uint64_t lr_xreg[9]; + La_aarch64_vector lr_vreg[8]; + uint64_t lr_sp; + uint64_t lr_lr; + void *lr_vpcs; } La_aarch64_regs; /* Return values for calls from PLT on AArch64. */ typedef struct La_aarch64_retval { - /* Up to two integer registers can be used for a return value. */ - uint64_t lrv_xreg[2]; - /* Up to four D registers can be used for a return value. */ - uint64_t lrv_dreg[4]; - + /* Up to eight integer registers can be used for a return value. */ + uint64_t lrv_xreg[8]; + /* Up to eight V registers can be used for a return value. */ + La_aarch64_vector lrv_vreg[8]; + void *lrv_vpcs; } La_aarch64_retval; __BEGIN_DECLS diff --git a/lib/libc/include/aarch64-linux-gnu/bits/long-double.h b/lib/libc/include/aarch64-linux-gnu/bits/long-double.h index ec1a0674e8d5af68ad6f681616631c595c735d9b..3455ce235633dd59dd9457498ecc984996c92817 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/long-double.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-128 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64-linux-gnu/bits/math-vector.h b/lib/libc/include/aarch64-linux-gnu/bits/math-vector.h new file mode 100644 index 0000000000000000000000000000000000000000..dad8614d9933e476a5b579c9e4ad269ffb722c8a --- /dev/null +++ b/lib/libc/include/aarch64-linux-gnu/bits/math-vector.h @@ -0,0 +1,78 @@ +/* Platform-specific SIMD declarations of math functions. + + Copyright (C) 2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never include directly;\ + include instead." +#endif + +/* Get default empty definitions for simd declarations. */ +#include + +#if __GNUC_PREREQ(9, 0) +# define __ADVSIMD_VEC_MATH_SUPPORTED +typedef __Float32x4_t __f32x4_t; +typedef __Float64x2_t __f64x2_t; +#elif __glibc_clang_prereq(8, 0) +# define __ADVSIMD_VEC_MATH_SUPPORTED +typedef __attribute__ ((__neon_vector_type__ (4))) float __f32x4_t; +typedef __attribute__ ((__neon_vector_type__ (2))) double __f64x2_t; +#endif + +#if __GNUC_PREREQ(10, 0) || __glibc_clang_prereq(11, 0) +# define __SVE_VEC_MATH_SUPPORTED +typedef __SVFloat32_t __sv_f32_t; +typedef __SVFloat64_t __sv_f64_t; +typedef __SVBool_t __sv_bool_t; +#endif + +/* If vector types and vector PCS are unsupported in the working + compiler, no choice but to omit vector math declarations. */ + +#ifdef __ADVSIMD_VEC_MATH_SUPPORTED + +# define __vpcs __attribute__ ((__aarch64_vector_pcs__)) + +__vpcs __f32x4_t _ZGVnN4v_cosf (__f32x4_t); +__vpcs __f32x4_t _ZGVnN4v_expf (__f32x4_t); +__vpcs __f32x4_t _ZGVnN4v_logf (__f32x4_t); +__vpcs __f32x4_t _ZGVnN4v_sinf (__f32x4_t); + +__vpcs __f64x2_t _ZGVnN2v_cos (__f64x2_t); +__vpcs __f64x2_t _ZGVnN2v_exp (__f64x2_t); +__vpcs __f64x2_t _ZGVnN2v_log (__f64x2_t); +__vpcs __f64x2_t _ZGVnN2v_sin (__f64x2_t); + +# undef __ADVSIMD_VEC_MATH_SUPPORTED +#endif /* __ADVSIMD_VEC_MATH_SUPPORTED */ + +#ifdef __SVE_VEC_MATH_SUPPORTED + +__sv_f32_t _ZGVsMxv_cosf (__sv_f32_t, __sv_bool_t); +__sv_f32_t _ZGVsMxv_expf (__sv_f32_t, __sv_bool_t); +__sv_f32_t _ZGVsMxv_logf (__sv_f32_t, __sv_bool_t); +__sv_f32_t _ZGVsMxv_sinf (__sv_f32_t, __sv_bool_t); + +__sv_f64_t _ZGVsMxv_cos (__sv_f64_t, __sv_bool_t); +__sv_f64_t _ZGVsMxv_exp (__sv_f64_t, __sv_bool_t); +__sv_f64_t _ZGVsMxv_log (__sv_f64_t, __sv_bool_t); +__sv_f64_t _ZGVsMxv_sin (__sv_f64_t, __sv_bool_t); + +# undef __SVE_VEC_MATH_SUPPORTED +#endif /* __SVE_VEC_MATH_SUPPORTED */ \ No newline at end of file diff --git a/lib/libc/include/aarch64-linux-gnu/bits/mman.h b/lib/libc/include/aarch64-linux-gnu/bits/mman.h index 4cd40a67d386f2dde2c587993917f4e8f0c344e9..f13cce5b39aeed54721a6d73f39cf9fb7bcdd2a5 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/mman.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/AArch64 version. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64-linux-gnu/bits/procfs.h b/lib/libc/include/aarch64-linux-gnu/bits/procfs.h index a9bfca08c3a8f38ab737d4e5738089075acaf5c1..4cd1d53eff32d6c2400d60e8ed88348a3eb517b2 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/procfs.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. AArch64 version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/bits/pthread_stack_min.h b/lib/libc/include/aarch64-linux-gnu/bits/pthread_stack_min.h index b08307db0a1e41cbe1efcd46430add052c01a99c..8d736f1ec855502ca34995122206c8e40facb149 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/pthread_stack_min.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. Linux/aarch64 version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h b/lib/libc/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h index d246576aee7b0a1e24b125bc82c9974038632ee8..6a079f281738e72348197c0e4f676f364e462dfa 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/bits/rseq.h b/lib/libc/include/aarch64-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..551df98467b37aef777080cdedab9ac566093d27 --- /dev/null +++ b/lib/libc/include/aarch64-linux-gnu/bits/rseq.h @@ -0,0 +1,43 @@ +/* Restartable Sequences Linux aarch64 architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + aarch64 -mbig-endian generates mixed endianness code vs data: + little-endian code and big-endian data. Ensure the RSEQ_SIG signature + matches code endianness. */ + +#define RSEQ_SIG_CODE 0xd428bc00 /* BRK #0x45E0. */ + +#ifdef __AARCH64EB__ +# define RSEQ_SIG_DATA 0x00bc28d4 /* BRK #0x45E0. */ +#else +# define RSEQ_SIG_DATA RSEQ_SIG_CODE +#endif + +#define RSEQ_SIG RSEQ_SIG_DATA \ No newline at end of file diff --git a/lib/libc/include/aarch64-linux-gnu/bits/semaphore.h b/lib/libc/include/aarch64-linux-gnu/bits/semaphore.h index f229b05d951d224ad57ce7ee1fe1a2bde3762faa..7f8a2b05b829979c3d415693ad9cc8f6fc411956 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/semaphore.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/bits/setjmp.h b/lib/libc/include/aarch64-linux-gnu/bits/setjmp.h index eceaa97a4f689d5cbb4bae38668e5b5f9bdc8cd4..08c614da6b00b300d716f4eab0933da1f02e315d 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/setjmp.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/bits/sigstack.h b/lib/libc/include/aarch64-linux-gnu/bits/sigstack.h index 0cb5583fdecc94f38dc51c4285f780b19b8455e0..b5215f5efdef64c404d3865c164a9dffe1e0503e 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/sigstack.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/sigstack.h @@ -1,5 +1,5 @@ /* sigstack, sigaltstack definitions. - Copyright (C) 2015-2021 Free Software Foundation, Inc. + Copyright (C) 2015-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/aarch64-linux-gnu/bits/struct_rwlock.h index e89dc26963e2e8cc0585caa3da265eab366a8e15..fc284c669844dba2172b867510db7d35c1654bd6 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/struct_rwlock.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* AArch64 internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/bits/struct_stat.h b/lib/libc/include/aarch64-linux-gnu/bits/struct_stat.h index 0549e9d97f9bd4c51e7512ddb6e65f55e42cc103..54192765a29f969c6369e634d37c75223fffab5c 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/struct_stat.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64-linux-gnu/bits/timesize.h b/lib/libc/include/aarch64-linux-gnu/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..00217b042a806ffc2a36bac0bdedad21ee196301 --- /dev/null +++ b/lib/libc/include/aarch64-linux-gnu/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, general case. + Copyright (C) 2018-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 64 \ No newline at end of file diff --git a/lib/libc/include/aarch64-linux-gnu/bits/typesizes.h b/lib/libc/include/aarch64-linux-gnu/bits/typesizes.h index 4156f352ad365f075e6c1740dbe3586b24435fdb..fa5fab6be42ef47c9b359f6da3c4e6f023747131 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/typesizes.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/typesizes.h @@ -1,7 +1,6 @@ /* bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/aarch64-linux-gnu/bits/wordsize.h b/lib/libc/include/aarch64-linux-gnu/bits/wordsize.h index 6b9114f8ab763a83d9d691e311d6d284bda5e5ee..3d4ed3d0a7e774ef15c49369164c3ca3890edb56 100644 --- a/lib/libc/include/aarch64-linux-gnu/bits/wordsize.h +++ b/lib/libc/include/aarch64-linux-gnu/bits/wordsize.h @@ -1,6 +1,6 @@ /* Determine the wordsize from the preprocessor defines. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64-linux-gnu/fpu_control.h b/lib/libc/include/aarch64-linux-gnu/fpu_control.h index db73fa0b1d20ac9bac207eb3ea7fa6c103ac63e1..46ef2a97803e072c4c10f281fbb0ea8f3218d626 100644 --- a/lib/libc/include/aarch64-linux-gnu/fpu_control.h +++ b/lib/libc/include/aarch64-linux-gnu/fpu_control.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -46,7 +46,7 @@ contents. These two masks indicate which bits in each of FPCR and FPSR should not be changed. */ -#define _FPU_RESERVED 0xfe0fe0ff +#define _FPU_RESERVED 0xfe0fe0f8 #define _FPU_FPSR_RESERVED 0x0fffffe0 #define _FPU_DEFAULT 0x00000000 diff --git a/lib/libc/include/aarch64-linux-gnu/gnu/lib-names-lp64.h b/lib/libc/include/aarch64-linux-gnu/gnu/lib-names-lp64.h index f156f318c95775e0e5387751ed25c16c91f6edb6..70b282afde5493162dbf55326f80dc77a64f81e1 100644 --- a/lib/libc/include/aarch64-linux-gnu/gnu/lib-names-lp64.h +++ b/lib/libc/include/aarch64-linux-gnu/gnu/lib-names-lp64.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/aarch64-linux-gnu/ieee754.h b/lib/libc/include/aarch64-linux-gnu/ieee754.h index e65600f7425aa943c779f2c9d46bbf0e79de1f8a..c76cf156f618ac72ba3c3ce3960cb04ee12d1443 100644 --- a/lib/libc/include/aarch64-linux-gnu/ieee754.h +++ b/lib/libc/include/aarch64-linux-gnu/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64-linux-gnu/sys/elf.h b/lib/libc/include/aarch64-linux-gnu/sys/elf.h index 9aa4973466d43f5c2ee4a2feb65b592ab97e7738..4314e16baa48931cd25453942acb5fab6b5a52f5 100644 --- a/lib/libc/include/aarch64-linux-gnu/sys/elf.h +++ b/lib/libc/include/aarch64-linux-gnu/sys/elf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/sys/ptrace.h b/lib/libc/include/aarch64-linux-gnu/sys/ptrace.h index a3c6247f682a48e1b981f5a537cfa56a0b1a02f3..4f37d75d6d1a3ceef01e17f54c486bea69646dc6 100644 --- a/lib/libc/include/aarch64-linux-gnu/sys/ptrace.h +++ b/lib/libc/include/aarch64-linux-gnu/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/AArch64 version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -58,6 +58,7 @@ __BEGIN_DECLS #undef PTRACE_SECCOMP_GET_FILTER #undef PTRACE_SECCOMP_GET_METADATA #undef PTRACE_GET_SYSCALL_INFO +#undef PTRACE_GET_RSEQ_CONFIGURATION /* Type of the REQUEST argument to `ptrace.' */ enum __ptrace_request @@ -190,8 +191,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/aarch64-linux-gnu/sys/ucontext.h b/lib/libc/include/aarch64-linux-gnu/sys/ucontext.h index 7e3b484f96b5fd7fcec587cc8bf872d1bb246205..2c4417ba0c8af460937955baac03d2bf90d8e294 100644 --- a/lib/libc/include/aarch64-linux-gnu/sys/ucontext.h +++ b/lib/libc/include/aarch64-linux-gnu/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64-linux-gnu/sys/user.h b/lib/libc/include/aarch64-linux-gnu/sys/user.h index 3379256a9c81334167c26cf8ec4e3f3733372a57..2c4719e398b8cf9644a06b717ab4d20ebd44cf8d 100644 --- a/lib/libc/include/aarch64-linux-gnu/sys/user.h +++ b/lib/libc/include/aarch64-linux-gnu/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2021 Free Software Foundation, Inc. +/* Copyright (C) 2009-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/fcntl.h b/lib/libc/include/aarch64_be-linux-gnu/bits/fcntl.h index 796d505b4758b840154b9c24584cfa0d54059e54..7ecd1ae21e04d7599385f21cdb796ca145e6a7db 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/fcntl.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for the AArch64 Linux ABI. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/fenv.h b/lib/libc/include/aarch64_be-linux-gnu/bits/fenv.h index 9483c26b546b076fdc041b3eaa357696555d956c..274c745ef715e60eb59721a122af34858a6de30f 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/fenv.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/floatn.h b/lib/libc/include/aarch64_be-linux-gnu/bits/floatn.h index 0b1b5d444dba6c324b2ef27cd91e5e4197e2ee81..a4ac95d55ea16ddd7a1a8b20a2f3c9a90c727dc1 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/floatn.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on ldbl-128 platforms. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -55,7 +55,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix f128 exists only since GCC 7.0. */ # define __f128(x) x##l # else @@ -65,7 +65,7 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __CFLOAT128 _Complex long double # else # define __CFLOAT128 _Complex _Float128 @@ -76,7 +76,7 @@ # if __HAVE_FLOAT128 /* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef long double _Float128; # endif diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/fp-fast.h b/lib/libc/include/aarch64_be-linux-gnu/bits/fp-fast.h index da438c6d3fe051600a7fcad2d0fbbe5363260fb3..d529dc4491c672bda9b00cf51c911a13a07a1f36 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/fp-fast.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/fp-fast.h @@ -1,5 +1,5 @@ /* Define FP_FAST_* macros. AArch64 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/hwcap.h b/lib/libc/include/aarch64_be-linux-gnu/bits/hwcap.h index 75458671261694a05f186bc8930274a1f12488d3..9052ca7c891942a19ed81cb57042d837d7ce3077 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/hwcap.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP. AArch64 Linux version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -73,4 +73,28 @@ #define HWCAP2_DGH (1 << 15) #define HWCAP2_RNG (1 << 16) #define HWCAP2_BTI (1 << 17) -#define HWCAP2_MTE (1 << 18) \ No newline at end of file +#define HWCAP2_MTE (1 << 18) +#define HWCAP2_ECV (1 << 19) +#define HWCAP2_AFP (1 << 20) +#define HWCAP2_RPRES (1 << 21) +#define HWCAP2_MTE3 (1 << 22) +#define HWCAP2_SME (1 << 23) +#define HWCAP2_SME_I16I64 (1 << 24) +#define HWCAP2_SME_F64F64 (1 << 25) +#define HWCAP2_SME_I8I32 (1 << 26) +#define HWCAP2_SME_F16F32 (1 << 27) +#define HWCAP2_SME_B16F32 (1 << 28) +#define HWCAP2_SME_F32F32 (1 << 29) +#define HWCAP2_SME_FA64 (1 << 30) +#define HWCAP2_WFXT (1UL << 31) +#define HWCAP2_EBF16 (1UL << 32) +#define HWCAP2_SVE_EBF16 (1UL << 33) +#define HWCAP2_CSSC (1UL << 34) +#define HWCAP2_RPRFM (1UL << 35) +#define HWCAP2_SVE2P1 (1UL << 36) +#define HWCAP2_SME2 (1UL << 37) +#define HWCAP2_SME2P1 (1UL << 38) +#define HWCAP2_SME_I16I32 (1UL << 39) +#define HWCAP2_SME_BI32I32 (1UL << 40) +#define HWCAP2_SME_B16B16 (1UL << 41) +#define HWCAP2_SME_F16F16 (1UL << 42) \ No newline at end of file diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/link.h b/lib/libc/include/aarch64_be-linux-gnu/bits/link.h index 2fb29eb0b7280f87c40a2e6346796ce9447ff04b..d1756817b1397f1eb484def0bb32b1af068b0e5c 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/link.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -20,23 +20,31 @@ # error "Never include directly; use instead." #endif +typedef union +{ + float s; + double d; + long double q; +} La_aarch64_vector; + /* Registers for entry into PLT on AArch64. */ typedef struct La_aarch64_regs { - uint64_t lr_xreg[8]; - uint64_t lr_dreg[8]; - uint64_t lr_sp; - uint64_t lr_lr; + uint64_t lr_xreg[9]; + La_aarch64_vector lr_vreg[8]; + uint64_t lr_sp; + uint64_t lr_lr; + void *lr_vpcs; } La_aarch64_regs; /* Return values for calls from PLT on AArch64. */ typedef struct La_aarch64_retval { - /* Up to two integer registers can be used for a return value. */ - uint64_t lrv_xreg[2]; - /* Up to four D registers can be used for a return value. */ - uint64_t lrv_dreg[4]; - + /* Up to eight integer registers can be used for a return value. */ + uint64_t lrv_xreg[8]; + /* Up to eight V registers can be used for a return value. */ + La_aarch64_vector lrv_vreg[8]; + void *lrv_vpcs; } La_aarch64_retval; __BEGIN_DECLS diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/long-double.h b/lib/libc/include/aarch64_be-linux-gnu/bits/long-double.h index ec1a0674e8d5af68ad6f681616631c595c735d9b..3455ce235633dd59dd9457498ecc984996c92817 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/long-double.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-128 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/math-vector.h b/lib/libc/include/aarch64_be-linux-gnu/bits/math-vector.h new file mode 100644 index 0000000000000000000000000000000000000000..dad8614d9933e476a5b579c9e4ad269ffb722c8a --- /dev/null +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/math-vector.h @@ -0,0 +1,78 @@ +/* Platform-specific SIMD declarations of math functions. + + Copyright (C) 2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never include directly;\ + include instead." +#endif + +/* Get default empty definitions for simd declarations. */ +#include + +#if __GNUC_PREREQ(9, 0) +# define __ADVSIMD_VEC_MATH_SUPPORTED +typedef __Float32x4_t __f32x4_t; +typedef __Float64x2_t __f64x2_t; +#elif __glibc_clang_prereq(8, 0) +# define __ADVSIMD_VEC_MATH_SUPPORTED +typedef __attribute__ ((__neon_vector_type__ (4))) float __f32x4_t; +typedef __attribute__ ((__neon_vector_type__ (2))) double __f64x2_t; +#endif + +#if __GNUC_PREREQ(10, 0) || __glibc_clang_prereq(11, 0) +# define __SVE_VEC_MATH_SUPPORTED +typedef __SVFloat32_t __sv_f32_t; +typedef __SVFloat64_t __sv_f64_t; +typedef __SVBool_t __sv_bool_t; +#endif + +/* If vector types and vector PCS are unsupported in the working + compiler, no choice but to omit vector math declarations. */ + +#ifdef __ADVSIMD_VEC_MATH_SUPPORTED + +# define __vpcs __attribute__ ((__aarch64_vector_pcs__)) + +__vpcs __f32x4_t _ZGVnN4v_cosf (__f32x4_t); +__vpcs __f32x4_t _ZGVnN4v_expf (__f32x4_t); +__vpcs __f32x4_t _ZGVnN4v_logf (__f32x4_t); +__vpcs __f32x4_t _ZGVnN4v_sinf (__f32x4_t); + +__vpcs __f64x2_t _ZGVnN2v_cos (__f64x2_t); +__vpcs __f64x2_t _ZGVnN2v_exp (__f64x2_t); +__vpcs __f64x2_t _ZGVnN2v_log (__f64x2_t); +__vpcs __f64x2_t _ZGVnN2v_sin (__f64x2_t); + +# undef __ADVSIMD_VEC_MATH_SUPPORTED +#endif /* __ADVSIMD_VEC_MATH_SUPPORTED */ + +#ifdef __SVE_VEC_MATH_SUPPORTED + +__sv_f32_t _ZGVsMxv_cosf (__sv_f32_t, __sv_bool_t); +__sv_f32_t _ZGVsMxv_expf (__sv_f32_t, __sv_bool_t); +__sv_f32_t _ZGVsMxv_logf (__sv_f32_t, __sv_bool_t); +__sv_f32_t _ZGVsMxv_sinf (__sv_f32_t, __sv_bool_t); + +__sv_f64_t _ZGVsMxv_cos (__sv_f64_t, __sv_bool_t); +__sv_f64_t _ZGVsMxv_exp (__sv_f64_t, __sv_bool_t); +__sv_f64_t _ZGVsMxv_log (__sv_f64_t, __sv_bool_t); +__sv_f64_t _ZGVsMxv_sin (__sv_f64_t, __sv_bool_t); + +# undef __SVE_VEC_MATH_SUPPORTED +#endif /* __SVE_VEC_MATH_SUPPORTED */ \ No newline at end of file diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/mman.h b/lib/libc/include/aarch64_be-linux-gnu/bits/mman.h index 4cd40a67d386f2dde2c587993917f4e8f0c344e9..f13cce5b39aeed54721a6d73f39cf9fb7bcdd2a5 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/mman.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/AArch64 version. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/procfs.h b/lib/libc/include/aarch64_be-linux-gnu/bits/procfs.h index a9bfca08c3a8f38ab737d4e5738089075acaf5c1..4cd1d53eff32d6c2400d60e8ed88348a3eb517b2 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/procfs.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. AArch64 version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/pthread_stack_min.h b/lib/libc/include/aarch64_be-linux-gnu/bits/pthread_stack_min.h index b08307db0a1e41cbe1efcd46430add052c01a99c..8d736f1ec855502ca34995122206c8e40facb149 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/pthread_stack_min.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. Linux/aarch64 version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/pthreadtypes-arch.h b/lib/libc/include/aarch64_be-linux-gnu/bits/pthreadtypes-arch.h index d246576aee7b0a1e24b125bc82c9974038632ee8..6a079f281738e72348197c0e4f676f364e462dfa 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/pthreadtypes-arch.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/pthreadtypes-arch.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/rseq.h b/lib/libc/include/aarch64_be-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..551df98467b37aef777080cdedab9ac566093d27 --- /dev/null +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/rseq.h @@ -0,0 +1,43 @@ +/* Restartable Sequences Linux aarch64 architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + aarch64 -mbig-endian generates mixed endianness code vs data: + little-endian code and big-endian data. Ensure the RSEQ_SIG signature + matches code endianness. */ + +#define RSEQ_SIG_CODE 0xd428bc00 /* BRK #0x45E0. */ + +#ifdef __AARCH64EB__ +# define RSEQ_SIG_DATA 0x00bc28d4 /* BRK #0x45E0. */ +#else +# define RSEQ_SIG_DATA RSEQ_SIG_CODE +#endif + +#define RSEQ_SIG RSEQ_SIG_DATA \ No newline at end of file diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/semaphore.h b/lib/libc/include/aarch64_be-linux-gnu/bits/semaphore.h index f229b05d951d224ad57ce7ee1fe1a2bde3762faa..7f8a2b05b829979c3d415693ad9cc8f6fc411956 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/semaphore.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/setjmp.h b/lib/libc/include/aarch64_be-linux-gnu/bits/setjmp.h index eceaa97a4f689d5cbb4bae38668e5b5f9bdc8cd4..08c614da6b00b300d716f4eab0933da1f02e315d 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/setjmp.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/sigstack.h b/lib/libc/include/aarch64_be-linux-gnu/bits/sigstack.h index 0cb5583fdecc94f38dc51c4285f780b19b8455e0..b5215f5efdef64c404d3865c164a9dffe1e0503e 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/sigstack.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/sigstack.h @@ -1,5 +1,5 @@ /* sigstack, sigaltstack definitions. - Copyright (C) 2015-2021 Free Software Foundation, Inc. + Copyright (C) 2015-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/aarch64_be-linux-gnu/bits/struct_rwlock.h index e89dc26963e2e8cc0585caa3da265eab366a8e15..fc284c669844dba2172b867510db7d35c1654bd6 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/struct_rwlock.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* AArch64 internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/struct_stat.h b/lib/libc/include/aarch64_be-linux-gnu/bits/struct_stat.h index 0549e9d97f9bd4c51e7512ddb6e65f55e42cc103..54192765a29f969c6369e634d37c75223fffab5c 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/struct_stat.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/timesize.h b/lib/libc/include/aarch64_be-linux-gnu/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..00217b042a806ffc2a36bac0bdedad21ee196301 --- /dev/null +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, general case. + Copyright (C) 2018-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 64 \ No newline at end of file diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/typesizes.h b/lib/libc/include/aarch64_be-linux-gnu/bits/typesizes.h index 4156f352ad365f075e6c1740dbe3586b24435fdb..fa5fab6be42ef47c9b359f6da3c4e6f023747131 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/typesizes.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/typesizes.h @@ -1,7 +1,6 @@ /* bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/aarch64_be-linux-gnu/bits/wordsize.h b/lib/libc/include/aarch64_be-linux-gnu/bits/wordsize.h index 6b9114f8ab763a83d9d691e311d6d284bda5e5ee..3d4ed3d0a7e774ef15c49369164c3ca3890edb56 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/bits/wordsize.h +++ b/lib/libc/include/aarch64_be-linux-gnu/bits/wordsize.h @@ -1,6 +1,6 @@ /* Determine the wordsize from the preprocessor defines. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64_be-linux-gnu/fpu_control.h b/lib/libc/include/aarch64_be-linux-gnu/fpu_control.h index db73fa0b1d20ac9bac207eb3ea7fa6c103ac63e1..46ef2a97803e072c4c10f281fbb0ea8f3218d626 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/fpu_control.h +++ b/lib/libc/include/aarch64_be-linux-gnu/fpu_control.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -46,7 +46,7 @@ contents. These two masks indicate which bits in each of FPCR and FPSR should not be changed. */ -#define _FPU_RESERVED 0xfe0fe0ff +#define _FPU_RESERVED 0xfe0fe0f8 #define _FPU_FPSR_RESERVED 0x0fffffe0 #define _FPU_DEFAULT 0x00000000 diff --git a/lib/libc/include/aarch64_be-linux-gnu/gnu/lib-names-lp64_be.h b/lib/libc/include/aarch64_be-linux-gnu/gnu/lib-names-lp64_be.h index 7c11af71ef0d00e56be0115962f5b648a57d6332..5c315425ebc6e9950427db8eb91549a8ec3fde83 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/gnu/lib-names-lp64_be.h +++ b/lib/libc/include/aarch64_be-linux-gnu/gnu/lib-names-lp64_be.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/aarch64_be-linux-gnu/ieee754.h b/lib/libc/include/aarch64_be-linux-gnu/ieee754.h index e65600f7425aa943c779f2c9d46bbf0e79de1f8a..c76cf156f618ac72ba3c3ce3960cb04ee12d1443 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/ieee754.h +++ b/lib/libc/include/aarch64_be-linux-gnu/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/aarch64_be-linux-gnu/sys/elf.h b/lib/libc/include/aarch64_be-linux-gnu/sys/elf.h index 9aa4973466d43f5c2ee4a2feb65b592ab97e7738..4314e16baa48931cd25453942acb5fab6b5a52f5 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/sys/elf.h +++ b/lib/libc/include/aarch64_be-linux-gnu/sys/elf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/sys/ptrace.h b/lib/libc/include/aarch64_be-linux-gnu/sys/ptrace.h index a3c6247f682a48e1b981f5a537cfa56a0b1a02f3..4f37d75d6d1a3ceef01e17f54c486bea69646dc6 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/sys/ptrace.h +++ b/lib/libc/include/aarch64_be-linux-gnu/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/AArch64 version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -58,6 +58,7 @@ __BEGIN_DECLS #undef PTRACE_SECCOMP_GET_FILTER #undef PTRACE_SECCOMP_GET_METADATA #undef PTRACE_GET_SYSCALL_INFO +#undef PTRACE_GET_RSEQ_CONFIGURATION /* Type of the REQUEST argument to `ptrace.' */ enum __ptrace_request @@ -190,8 +191,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/aarch64_be-linux-gnu/sys/ucontext.h b/lib/libc/include/aarch64_be-linux-gnu/sys/ucontext.h index 7e3b484f96b5fd7fcec587cc8bf872d1bb246205..2c4417ba0c8af460937955baac03d2bf90d8e294 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/sys/ucontext.h +++ b/lib/libc/include/aarch64_be-linux-gnu/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/aarch64_be-linux-gnu/sys/user.h b/lib/libc/include/aarch64_be-linux-gnu/sys/user.h index 3379256a9c81334167c26cf8ec4e3f3733372a57..2c4719e398b8cf9644a06b717ab4d20ebd44cf8d 100644 --- a/lib/libc/include/aarch64_be-linux-gnu/sys/user.h +++ b/lib/libc/include/aarch64_be-linux-gnu/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2021 Free Software Foundation, Inc. +/* Copyright (C) 2009-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/signalfd.h b/lib/libc/include/arm-linux-gnueabi/bits/dl_find_object.h similarity index 69% rename from lib/libc/include/sparcv9-linux-gnu/bits/signalfd.h rename to lib/libc/include/arm-linux-gnueabi/bits/dl_find_object.h index c2c5bc4462f1fa059e326086e7768e94c546505f..f51873c4c1fe6a1baf9b4b0cb2006c6e63bb1a40 100644 --- a/lib/libc/include/sparcv9-linux-gnu/bits/signalfd.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/dl_find_object.h @@ -1,4 +1,5 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* arm definitions for finding objects. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,15 +16,10 @@ License along with the GNU C Library; if not, see . */ -#ifndef _SYS_SIGNALFD_H -# error "Never use directly; include instead." +#ifndef _DLFCN_H +# error "Never use directly; include instead." #endif -/* Flags for signalfd. */ -enum - { - SFD_CLOEXEC = 0x400000, -#define SFD_CLOEXEC SFD_CLOEXEC - SFD_NONBLOCK = 0x004000 -#define SFD_NONBLOCK SFD_NONBLOCK - }; \ No newline at end of file +#define DLFO_STRUCT_HAS_EH_DBASE 0 +#define DLFO_STRUCT_HAS_EH_COUNT 1 +#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabi/bits/fcntl.h b/lib/libc/include/arm-linux-gnueabi/bits/fcntl.h index 29e75898be7397d63bbb77036183bac7c32350c6..0a015fd1374c5af78c8946db63615cdbd9186d83 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/fcntl.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/fenv.h b/lib/libc/include/arm-linux-gnueabi/bits/fenv.h index 30c3cfdd47ce51c9233b66c3313ad2599c3d14ba..cb312c03b7edb5c6b3383c17abd04b294ef5be9e 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/fenv.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/floatn.h b/lib/libc/include/arm-linux-gnueabi/bits/floatn.h index 18018fa9f88db378b14721a9e852869ded8e4c66..7efc644d53e335acb2b56ba66a5fa6965345f89e 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/floatn.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/hwcap.h b/lib/libc/include/arm-linux-gnueabi/bits/hwcap.h index 944e1ab5e2a292565e03511ffa14beb5257fc301..16f1f8fb5f5778dbde804c352da57c643670f0a6 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/hwcap.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP. ARM Linux version. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -42,4 +42,10 @@ #define HWCAP_ARM_IDIVT 262144 #define HWCAP_ARM_VFPD32 524288 #define HWCAP_ARM_LPAE 1048576 -#define HWCAP_ARM_EVTSTRM 2097152 \ No newline at end of file +#define HWCAP_ARM_EVTSTRM 2097152 +#define HWCAP_FPHP 4194304 +#define HWCAP_ASIMDHP 8388608 +#define HWCAP_ASIMDDP 16777216 +#define HWCAP_ASIMDFHM 33554432 +#define HWCAP_ASIMDBF16 67108864 +#define HWCAP_I8MM 134217728 \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabi/bits/link.h b/lib/libc/include/arm-linux-gnueabi/bits/link.h index 2daf7c37cd426c40c3d2838ceb6c00a418151e31..e0f874e338f84341fa5a3678771a4d3530d7e309 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/link.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/long-double.h b/lib/libc/include/arm-linux-gnueabi/bits/long-double.h index 5d6d6c86afcdb6ce9e45a06ca49f50bcd320d48b..34ff5747e17584897e0a4e0a9d6a56daa8a7196e 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/long-double.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/procfs-id.h b/lib/libc/include/arm-linux-gnueabi/bits/procfs-id.h index 680018e8f92eb337a84359871c24968421c8198e..d2086a253d5a99b02d0086b4d7fdad6f20454418 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/procfs-id.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/arm-linux-gnueabi/bits/procfs.h b/lib/libc/include/arm-linux-gnueabi/bits/procfs.h index 378aadb89f78230796a6c48501f017cd5178e988..db604232b3a971458fe6da2c17506a6a30c1b9ba 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/procfs.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. Arm version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/rseq.h b/lib/libc/include/arm-linux-gnueabi/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..d0f633e9850f5f81778f21f5cb06515bbac8c679 --- /dev/null +++ b/lib/libc/include/arm-linux-gnueabi/bits/rseq.h @@ -0,0 +1,83 @@ +/* Restartable Sequences Linux arm architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* + RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + - ARM little endian + + RSEQ_SIG uses the udf A32 instruction with an uncommon immediate operand + value 0x5de3. This traps if user-space reaches this instruction by mistake, + and the uncommon operand ensures the kernel does not move the instruction + pointer to attacker-controlled code on rseq abort. + + The instruction pattern in the A32 instruction set is: + + e7f5def3 udf #24035 ; 0x5de3 + + This translates to the following instruction pattern in the T16 instruction + set: + + little endian: + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - ARMv6+ big endian (BE8): + + ARMv6+ -mbig-endian generates mixed endianness code vs data: little-endian + code and big-endian data. The data value of the signature needs to have its + byte order reversed to generate the trap instruction: + + Data: 0xf3def5e7 + + Translates to this A32 instruction pattern: + + e7f5def3 udf #24035 ; 0x5de3 + + Translates to this T16 instruction pattern: + + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - Prior to ARMv6 big endian (BE32): + + Prior to ARMv6, -mbig-endian generates big-endian code and data + (which match), so the endianness of the data representation of the + signature should not be reversed. However, the choice between BE32 + and BE8 is done by the linker, so we cannot know whether code and + data endianness will be mixed before the linker is invoked. So rather + than try to play tricks with the linker, the rseq signature is simply + data (not a trap instruction) prior to ARMv6 on big endian. This is + why the signature is expressed as data (.word) rather than as + instruction (.inst) in assembler. */ + +#ifdef __ARMEB__ +# define RSEQ_SIG 0xf3def5e7 /* udf #24035 ; 0x5de3 (ARMv6+) */ +#else +# define RSEQ_SIG 0xe7f5def3 /* udf #24035 ; 0x5de3 */ +#endif \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabi/bits/setjmp.h b/lib/libc/include/arm-linux-gnueabi/bits/setjmp.h index ad79830ae56b202fd2d7ba1595da961064bebc7c..ad0046a3ff967d399869414d80be592791943626 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/setjmp.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/shmlba.h b/lib/libc/include/arm-linux-gnueabi/bits/shmlba.h index cfd529afe27099040e71d4be71571d325c3188bd..639c09abad43d4226a8031a220889a48304ee9f5 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/shmlba.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. ARM version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/struct_rwlock.h b/lib/libc/include/arm-linux-gnueabi/bits/struct_rwlock.h index 7431c5597faba16ce83ea705453dcb3248e711aa..91b0a3b012aac9c7663da6e21675d50cba88afb4 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/struct_rwlock.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* Default read-write lock implementation struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/struct_stat.h b/lib/libc/include/arm-linux-gnueabi/bits/struct_stat.h index 202df2c998b8e7a46076f1d46287c45ed832a235..f7dd2c807e7fadd1dad47b36cd6b0ab964733185 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/struct_stat.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/struct_stat.h @@ -1,5 +1,5 @@ -/* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. +/* Definition for struct stat. Linux/arm version. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/bits/timesize.h b/lib/libc/include/arm-linux-gnueabi/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..10207daaec90137a3c411bb44a11ee8de3d91136 --- /dev/null +++ b/lib/libc/include/arm-linux-gnueabi/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/ARM. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabi/bits/typesizes.h b/lib/libc/include/arm-linux-gnueabi/bits/typesizes.h new file mode 100644 index 0000000000000000000000000000000000000000..9b70904d069f1d866fe769bca0da3a46fb73befa --- /dev/null +++ b/lib/libc/include/arm-linux-gnueabi/bits/typesizes.h @@ -0,0 +1,74 @@ +/* bits/typesizes.h -- underlying types for *_t. ARM version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#define __RLIM_T_MATCHES_RLIM64_T 0 +#define __STATFS_MATCHES_STATFS64 0 +/* And for getitimer, setitimer and rusage */ +#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabi/bits/wordsize.h b/lib/libc/include/arm-linux-gnueabi/bits/wordsize.h index 6561e924f5f91bd2e33da9c102a38197349149fb..229f48ad0dc72f72d7baddcfdfe138e72247cd0a 100644 --- a/lib/libc/include/arm-linux-gnueabi/bits/wordsize.h +++ b/lib/libc/include/arm-linux-gnueabi/bits/wordsize.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/fpu_control.h b/lib/libc/include/arm-linux-gnueabi/fpu_control.h index 496937215b29d5711e15a20bc509fb3811e524ff..a92cb867531fcd858645f438cd513978025ae4de 100644 --- a/lib/libc/include/arm-linux-gnueabi/fpu_control.h +++ b/lib/libc/include/arm-linux-gnueabi/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word definitions. ARM VFP version. - Copyright (C) 2004-2021 Free Software Foundation, Inc. + Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/sys/ptrace.h b/lib/libc/include/arm-linux-gnueabi/sys/ptrace.h index 178de8b3c7d2c28fad66d13caec6638df8a05ffb..4345f4ce8a03cd06f116d7cfbdc5d53aa974dc4a 100644 --- a/lib/libc/include/arm-linux-gnueabi/sys/ptrace.h +++ b/lib/libc/include/arm-linux-gnueabi/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/ARM version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -200,8 +200,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/arm-linux-gnueabi/sys/ucontext.h b/lib/libc/include/arm-linux-gnueabi/sys/ucontext.h index 48bcd9f6fc9a7c99921ae8f12eff7ff6438b7c91..dda4d8820e908df4a07db220d48405ba17b1799e 100644 --- a/lib/libc/include/arm-linux-gnueabi/sys/ucontext.h +++ b/lib/libc/include/arm-linux-gnueabi/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabi/sys/user.h b/lib/libc/include/arm-linux-gnueabi/sys/user.h index 89a14c7b4808ee3f7fad99a42fd1da9c925a9136..0935e60335dd56e541de15ef3f9f66328a3f9c87 100644 --- a/lib/libc/include/arm-linux-gnueabi/sys/user.h +++ b/lib/libc/include/arm-linux-gnueabi/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/dl_find_object.h b/lib/libc/include/arm-linux-gnueabihf/bits/dl_find_object.h new file mode 100644 index 0000000000000000000000000000000000000000..f51873c4c1fe6a1baf9b4b0cb2006c6e63bb1a40 --- /dev/null +++ b/lib/libc/include/arm-linux-gnueabihf/bits/dl_find_object.h @@ -0,0 +1,25 @@ +/* arm definitions for finding objects. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +#define DLFO_STRUCT_HAS_EH_DBASE 0 +#define DLFO_STRUCT_HAS_EH_COUNT 1 +#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/fcntl.h b/lib/libc/include/arm-linux-gnueabihf/bits/fcntl.h index 29e75898be7397d63bbb77036183bac7c32350c6..0a015fd1374c5af78c8946db63615cdbd9186d83 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/fcntl.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/fenv.h b/lib/libc/include/arm-linux-gnueabihf/bits/fenv.h index 30c3cfdd47ce51c9233b66c3313ad2599c3d14ba..cb312c03b7edb5c6b3383c17abd04b294ef5be9e 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/fenv.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/floatn.h b/lib/libc/include/arm-linux-gnueabihf/bits/floatn.h index 18018fa9f88db378b14721a9e852869ded8e4c66..7efc644d53e335acb2b56ba66a5fa6965345f89e 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/floatn.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/hwcap.h b/lib/libc/include/arm-linux-gnueabihf/bits/hwcap.h index 944e1ab5e2a292565e03511ffa14beb5257fc301..16f1f8fb5f5778dbde804c352da57c643670f0a6 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/hwcap.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP. ARM Linux version. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -42,4 +42,10 @@ #define HWCAP_ARM_IDIVT 262144 #define HWCAP_ARM_VFPD32 524288 #define HWCAP_ARM_LPAE 1048576 -#define HWCAP_ARM_EVTSTRM 2097152 \ No newline at end of file +#define HWCAP_ARM_EVTSTRM 2097152 +#define HWCAP_FPHP 4194304 +#define HWCAP_ASIMDHP 8388608 +#define HWCAP_ASIMDDP 16777216 +#define HWCAP_ASIMDFHM 33554432 +#define HWCAP_ASIMDBF16 67108864 +#define HWCAP_I8MM 134217728 \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/link.h b/lib/libc/include/arm-linux-gnueabihf/bits/link.h index 2daf7c37cd426c40c3d2838ceb6c00a418151e31..e0f874e338f84341fa5a3678771a4d3530d7e309 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/link.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/long-double.h b/lib/libc/include/arm-linux-gnueabihf/bits/long-double.h index 5d6d6c86afcdb6ce9e45a06ca49f50bcd320d48b..34ff5747e17584897e0a4e0a9d6a56daa8a7196e 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/long-double.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/procfs-id.h b/lib/libc/include/arm-linux-gnueabihf/bits/procfs-id.h index 680018e8f92eb337a84359871c24968421c8198e..d2086a253d5a99b02d0086b4d7fdad6f20454418 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/procfs-id.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/procfs.h b/lib/libc/include/arm-linux-gnueabihf/bits/procfs.h index 378aadb89f78230796a6c48501f017cd5178e988..db604232b3a971458fe6da2c17506a6a30c1b9ba 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/procfs.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. Arm version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/rseq.h b/lib/libc/include/arm-linux-gnueabihf/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..d0f633e9850f5f81778f21f5cb06515bbac8c679 --- /dev/null +++ b/lib/libc/include/arm-linux-gnueabihf/bits/rseq.h @@ -0,0 +1,83 @@ +/* Restartable Sequences Linux arm architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* + RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + - ARM little endian + + RSEQ_SIG uses the udf A32 instruction with an uncommon immediate operand + value 0x5de3. This traps if user-space reaches this instruction by mistake, + and the uncommon operand ensures the kernel does not move the instruction + pointer to attacker-controlled code on rseq abort. + + The instruction pattern in the A32 instruction set is: + + e7f5def3 udf #24035 ; 0x5de3 + + This translates to the following instruction pattern in the T16 instruction + set: + + little endian: + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - ARMv6+ big endian (BE8): + + ARMv6+ -mbig-endian generates mixed endianness code vs data: little-endian + code and big-endian data. The data value of the signature needs to have its + byte order reversed to generate the trap instruction: + + Data: 0xf3def5e7 + + Translates to this A32 instruction pattern: + + e7f5def3 udf #24035 ; 0x5de3 + + Translates to this T16 instruction pattern: + + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - Prior to ARMv6 big endian (BE32): + + Prior to ARMv6, -mbig-endian generates big-endian code and data + (which match), so the endianness of the data representation of the + signature should not be reversed. However, the choice between BE32 + and BE8 is done by the linker, so we cannot know whether code and + data endianness will be mixed before the linker is invoked. So rather + than try to play tricks with the linker, the rseq signature is simply + data (not a trap instruction) prior to ARMv6 on big endian. This is + why the signature is expressed as data (.word) rather than as + instruction (.inst) in assembler. */ + +#ifdef __ARMEB__ +# define RSEQ_SIG 0xf3def5e7 /* udf #24035 ; 0x5de3 (ARMv6+) */ +#else +# define RSEQ_SIG 0xe7f5def3 /* udf #24035 ; 0x5de3 */ +#endif \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/setjmp.h b/lib/libc/include/arm-linux-gnueabihf/bits/setjmp.h index ad79830ae56b202fd2d7ba1595da961064bebc7c..ad0046a3ff967d399869414d80be592791943626 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/setjmp.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/shmlba.h b/lib/libc/include/arm-linux-gnueabihf/bits/shmlba.h index cfd529afe27099040e71d4be71571d325c3188bd..639c09abad43d4226a8031a220889a48304ee9f5 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/shmlba.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. ARM version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/struct_rwlock.h b/lib/libc/include/arm-linux-gnueabihf/bits/struct_rwlock.h index 7431c5597faba16ce83ea705453dcb3248e711aa..91b0a3b012aac9c7663da6e21675d50cba88afb4 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/struct_rwlock.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* Default read-write lock implementation struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/struct_stat.h b/lib/libc/include/arm-linux-gnueabihf/bits/struct_stat.h index 202df2c998b8e7a46076f1d46287c45ed832a235..f7dd2c807e7fadd1dad47b36cd6b0ab964733185 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/struct_stat.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/struct_stat.h @@ -1,5 +1,5 @@ -/* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. +/* Definition for struct stat. Linux/arm version. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/timesize.h b/lib/libc/include/arm-linux-gnueabihf/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..10207daaec90137a3c411bb44a11ee8de3d91136 --- /dev/null +++ b/lib/libc/include/arm-linux-gnueabihf/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/ARM. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/typesizes.h b/lib/libc/include/arm-linux-gnueabihf/bits/typesizes.h new file mode 100644 index 0000000000000000000000000000000000000000..9b70904d069f1d866fe769bca0da3a46fb73befa --- /dev/null +++ b/lib/libc/include/arm-linux-gnueabihf/bits/typesizes.h @@ -0,0 +1,74 @@ +/* bits/typesizes.h -- underlying types for *_t. ARM version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#define __RLIM_T_MATCHES_RLIM64_T 0 +#define __STATFS_MATCHES_STATFS64 0 +/* And for getitimer, setitimer and rusage */ +#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/arm-linux-gnueabihf/bits/wordsize.h b/lib/libc/include/arm-linux-gnueabihf/bits/wordsize.h index 6561e924f5f91bd2e33da9c102a38197349149fb..229f48ad0dc72f72d7baddcfdfe138e72247cd0a 100644 --- a/lib/libc/include/arm-linux-gnueabihf/bits/wordsize.h +++ b/lib/libc/include/arm-linux-gnueabihf/bits/wordsize.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/fpu_control.h b/lib/libc/include/arm-linux-gnueabihf/fpu_control.h index 496937215b29d5711e15a20bc509fb3811e524ff..a92cb867531fcd858645f438cd513978025ae4de 100644 --- a/lib/libc/include/arm-linux-gnueabihf/fpu_control.h +++ b/lib/libc/include/arm-linux-gnueabihf/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word definitions. ARM VFP version. - Copyright (C) 2004-2021 Free Software Foundation, Inc. + Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/sys/ptrace.h b/lib/libc/include/arm-linux-gnueabihf/sys/ptrace.h index 178de8b3c7d2c28fad66d13caec6638df8a05ffb..4345f4ce8a03cd06f116d7cfbdc5d53aa974dc4a 100644 --- a/lib/libc/include/arm-linux-gnueabihf/sys/ptrace.h +++ b/lib/libc/include/arm-linux-gnueabihf/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/ARM version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -200,8 +200,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/arm-linux-gnueabihf/sys/ucontext.h b/lib/libc/include/arm-linux-gnueabihf/sys/ucontext.h index 48bcd9f6fc9a7c99921ae8f12eff7ff6438b7c91..dda4d8820e908df4a07db220d48405ba17b1799e 100644 --- a/lib/libc/include/arm-linux-gnueabihf/sys/ucontext.h +++ b/lib/libc/include/arm-linux-gnueabihf/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/arm-linux-gnueabihf/sys/user.h b/lib/libc/include/arm-linux-gnueabihf/sys/user.h index 89a14c7b4808ee3f7fad99a42fd1da9c925a9136..0935e60335dd56e541de15ef3f9f66328a3f9c87 100644 --- a/lib/libc/include/arm-linux-gnueabihf/sys/user.h +++ b/lib/libc/include/arm-linux-gnueabihf/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/dl_find_object.h b/lib/libc/include/armeb-linux-gnueabi/bits/dl_find_object.h new file mode 100644 index 0000000000000000000000000000000000000000..f51873c4c1fe6a1baf9b4b0cb2006c6e63bb1a40 --- /dev/null +++ b/lib/libc/include/armeb-linux-gnueabi/bits/dl_find_object.h @@ -0,0 +1,25 @@ +/* arm definitions for finding objects. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +#define DLFO_STRUCT_HAS_EH_DBASE 0 +#define DLFO_STRUCT_HAS_EH_COUNT 1 +#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/fcntl.h b/lib/libc/include/armeb-linux-gnueabi/bits/fcntl.h index 29e75898be7397d63bbb77036183bac7c32350c6..0a015fd1374c5af78c8946db63615cdbd9186d83 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/fcntl.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/fenv.h b/lib/libc/include/armeb-linux-gnueabi/bits/fenv.h index 30c3cfdd47ce51c9233b66c3313ad2599c3d14ba..cb312c03b7edb5c6b3383c17abd04b294ef5be9e 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/fenv.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/floatn.h b/lib/libc/include/armeb-linux-gnueabi/bits/floatn.h index 18018fa9f88db378b14721a9e852869ded8e4c66..7efc644d53e335acb2b56ba66a5fa6965345f89e 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/floatn.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/hwcap.h b/lib/libc/include/armeb-linux-gnueabi/bits/hwcap.h index 944e1ab5e2a292565e03511ffa14beb5257fc301..16f1f8fb5f5778dbde804c352da57c643670f0a6 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/hwcap.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP. ARM Linux version. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -42,4 +42,10 @@ #define HWCAP_ARM_IDIVT 262144 #define HWCAP_ARM_VFPD32 524288 #define HWCAP_ARM_LPAE 1048576 -#define HWCAP_ARM_EVTSTRM 2097152 \ No newline at end of file +#define HWCAP_ARM_EVTSTRM 2097152 +#define HWCAP_FPHP 4194304 +#define HWCAP_ASIMDHP 8388608 +#define HWCAP_ASIMDDP 16777216 +#define HWCAP_ASIMDFHM 33554432 +#define HWCAP_ASIMDBF16 67108864 +#define HWCAP_I8MM 134217728 \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/link.h b/lib/libc/include/armeb-linux-gnueabi/bits/link.h index 2daf7c37cd426c40c3d2838ceb6c00a418151e31..e0f874e338f84341fa5a3678771a4d3530d7e309 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/link.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/long-double.h b/lib/libc/include/armeb-linux-gnueabi/bits/long-double.h index 5d6d6c86afcdb6ce9e45a06ca49f50bcd320d48b..34ff5747e17584897e0a4e0a9d6a56daa8a7196e 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/long-double.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/procfs-id.h b/lib/libc/include/armeb-linux-gnueabi/bits/procfs-id.h index 680018e8f92eb337a84359871c24968421c8198e..d2086a253d5a99b02d0086b4d7fdad6f20454418 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/procfs-id.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/procfs.h b/lib/libc/include/armeb-linux-gnueabi/bits/procfs.h index 378aadb89f78230796a6c48501f017cd5178e988..db604232b3a971458fe6da2c17506a6a30c1b9ba 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/procfs.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. Arm version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/rseq.h b/lib/libc/include/armeb-linux-gnueabi/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..d0f633e9850f5f81778f21f5cb06515bbac8c679 --- /dev/null +++ b/lib/libc/include/armeb-linux-gnueabi/bits/rseq.h @@ -0,0 +1,83 @@ +/* Restartable Sequences Linux arm architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* + RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + - ARM little endian + + RSEQ_SIG uses the udf A32 instruction with an uncommon immediate operand + value 0x5de3. This traps if user-space reaches this instruction by mistake, + and the uncommon operand ensures the kernel does not move the instruction + pointer to attacker-controlled code on rseq abort. + + The instruction pattern in the A32 instruction set is: + + e7f5def3 udf #24035 ; 0x5de3 + + This translates to the following instruction pattern in the T16 instruction + set: + + little endian: + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - ARMv6+ big endian (BE8): + + ARMv6+ -mbig-endian generates mixed endianness code vs data: little-endian + code and big-endian data. The data value of the signature needs to have its + byte order reversed to generate the trap instruction: + + Data: 0xf3def5e7 + + Translates to this A32 instruction pattern: + + e7f5def3 udf #24035 ; 0x5de3 + + Translates to this T16 instruction pattern: + + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - Prior to ARMv6 big endian (BE32): + + Prior to ARMv6, -mbig-endian generates big-endian code and data + (which match), so the endianness of the data representation of the + signature should not be reversed. However, the choice between BE32 + and BE8 is done by the linker, so we cannot know whether code and + data endianness will be mixed before the linker is invoked. So rather + than try to play tricks with the linker, the rseq signature is simply + data (not a trap instruction) prior to ARMv6 on big endian. This is + why the signature is expressed as data (.word) rather than as + instruction (.inst) in assembler. */ + +#ifdef __ARMEB__ +# define RSEQ_SIG 0xf3def5e7 /* udf #24035 ; 0x5de3 (ARMv6+) */ +#else +# define RSEQ_SIG 0xe7f5def3 /* udf #24035 ; 0x5de3 */ +#endif \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/setjmp.h b/lib/libc/include/armeb-linux-gnueabi/bits/setjmp.h index ad79830ae56b202fd2d7ba1595da961064bebc7c..ad0046a3ff967d399869414d80be592791943626 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/setjmp.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/shmlba.h b/lib/libc/include/armeb-linux-gnueabi/bits/shmlba.h index cfd529afe27099040e71d4be71571d325c3188bd..639c09abad43d4226a8031a220889a48304ee9f5 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/shmlba.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. ARM version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/struct_rwlock.h b/lib/libc/include/armeb-linux-gnueabi/bits/struct_rwlock.h index 7431c5597faba16ce83ea705453dcb3248e711aa..91b0a3b012aac9c7663da6e21675d50cba88afb4 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/struct_rwlock.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* Default read-write lock implementation struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/struct_stat.h b/lib/libc/include/armeb-linux-gnueabi/bits/struct_stat.h index 202df2c998b8e7a46076f1d46287c45ed832a235..f7dd2c807e7fadd1dad47b36cd6b0ab964733185 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/struct_stat.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/struct_stat.h @@ -1,5 +1,5 @@ -/* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. +/* Definition for struct stat. Linux/arm version. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/timesize.h b/lib/libc/include/armeb-linux-gnueabi/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..10207daaec90137a3c411bb44a11ee8de3d91136 --- /dev/null +++ b/lib/libc/include/armeb-linux-gnueabi/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/ARM. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/typesizes.h b/lib/libc/include/armeb-linux-gnueabi/bits/typesizes.h new file mode 100644 index 0000000000000000000000000000000000000000..9b70904d069f1d866fe769bca0da3a46fb73befa --- /dev/null +++ b/lib/libc/include/armeb-linux-gnueabi/bits/typesizes.h @@ -0,0 +1,74 @@ +/* bits/typesizes.h -- underlying types for *_t. ARM version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#define __RLIM_T_MATCHES_RLIM64_T 0 +#define __STATFS_MATCHES_STATFS64 0 +/* And for getitimer, setitimer and rusage */ +#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabi/bits/wordsize.h b/lib/libc/include/armeb-linux-gnueabi/bits/wordsize.h index 6561e924f5f91bd2e33da9c102a38197349149fb..229f48ad0dc72f72d7baddcfdfe138e72247cd0a 100644 --- a/lib/libc/include/armeb-linux-gnueabi/bits/wordsize.h +++ b/lib/libc/include/armeb-linux-gnueabi/bits/wordsize.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/fpu_control.h b/lib/libc/include/armeb-linux-gnueabi/fpu_control.h index 496937215b29d5711e15a20bc509fb3811e524ff..a92cb867531fcd858645f438cd513978025ae4de 100644 --- a/lib/libc/include/armeb-linux-gnueabi/fpu_control.h +++ b/lib/libc/include/armeb-linux-gnueabi/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word definitions. ARM VFP version. - Copyright (C) 2004-2021 Free Software Foundation, Inc. + Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/sys/ptrace.h b/lib/libc/include/armeb-linux-gnueabi/sys/ptrace.h index 178de8b3c7d2c28fad66d13caec6638df8a05ffb..4345f4ce8a03cd06f116d7cfbdc5d53aa974dc4a 100644 --- a/lib/libc/include/armeb-linux-gnueabi/sys/ptrace.h +++ b/lib/libc/include/armeb-linux-gnueabi/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/ARM version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -200,8 +200,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/armeb-linux-gnueabi/sys/ucontext.h b/lib/libc/include/armeb-linux-gnueabi/sys/ucontext.h index 48bcd9f6fc9a7c99921ae8f12eff7ff6438b7c91..dda4d8820e908df4a07db220d48405ba17b1799e 100644 --- a/lib/libc/include/armeb-linux-gnueabi/sys/ucontext.h +++ b/lib/libc/include/armeb-linux-gnueabi/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabi/sys/user.h b/lib/libc/include/armeb-linux-gnueabi/sys/user.h index 89a14c7b4808ee3f7fad99a42fd1da9c925a9136..0935e60335dd56e541de15ef3f9f66328a3f9c87 100644 --- a/lib/libc/include/armeb-linux-gnueabi/sys/user.h +++ b/lib/libc/include/armeb-linux-gnueabi/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/dl_find_object.h b/lib/libc/include/armeb-linux-gnueabihf/bits/dl_find_object.h new file mode 100644 index 0000000000000000000000000000000000000000..f51873c4c1fe6a1baf9b4b0cb2006c6e63bb1a40 --- /dev/null +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/dl_find_object.h @@ -0,0 +1,25 @@ +/* arm definitions for finding objects. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +#define DLFO_STRUCT_HAS_EH_DBASE 0 +#define DLFO_STRUCT_HAS_EH_COUNT 1 +#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/fcntl.h b/lib/libc/include/armeb-linux-gnueabihf/bits/fcntl.h index 29e75898be7397d63bbb77036183bac7c32350c6..0a015fd1374c5af78c8946db63615cdbd9186d83 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/fcntl.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/fenv.h b/lib/libc/include/armeb-linux-gnueabihf/bits/fenv.h index 30c3cfdd47ce51c9233b66c3313ad2599c3d14ba..cb312c03b7edb5c6b3383c17abd04b294ef5be9e 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/fenv.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/floatn.h b/lib/libc/include/armeb-linux-gnueabihf/bits/floatn.h index 18018fa9f88db378b14721a9e852869ded8e4c66..7efc644d53e335acb2b56ba66a5fa6965345f89e 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/floatn.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/hwcap.h b/lib/libc/include/armeb-linux-gnueabihf/bits/hwcap.h index 944e1ab5e2a292565e03511ffa14beb5257fc301..16f1f8fb5f5778dbde804c352da57c643670f0a6 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/hwcap.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP. ARM Linux version. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -42,4 +42,10 @@ #define HWCAP_ARM_IDIVT 262144 #define HWCAP_ARM_VFPD32 524288 #define HWCAP_ARM_LPAE 1048576 -#define HWCAP_ARM_EVTSTRM 2097152 \ No newline at end of file +#define HWCAP_ARM_EVTSTRM 2097152 +#define HWCAP_FPHP 4194304 +#define HWCAP_ASIMDHP 8388608 +#define HWCAP_ASIMDDP 16777216 +#define HWCAP_ASIMDFHM 33554432 +#define HWCAP_ASIMDBF16 67108864 +#define HWCAP_I8MM 134217728 \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/link.h b/lib/libc/include/armeb-linux-gnueabihf/bits/link.h index 2daf7c37cd426c40c3d2838ceb6c00a418151e31..e0f874e338f84341fa5a3678771a4d3530d7e309 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/link.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/long-double.h b/lib/libc/include/armeb-linux-gnueabihf/bits/long-double.h index 5d6d6c86afcdb6ce9e45a06ca49f50bcd320d48b..34ff5747e17584897e0a4e0a9d6a56daa8a7196e 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/long-double.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/procfs-id.h b/lib/libc/include/armeb-linux-gnueabihf/bits/procfs-id.h index 680018e8f92eb337a84359871c24968421c8198e..d2086a253d5a99b02d0086b4d7fdad6f20454418 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/procfs-id.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/procfs.h b/lib/libc/include/armeb-linux-gnueabihf/bits/procfs.h index 378aadb89f78230796a6c48501f017cd5178e988..db604232b3a971458fe6da2c17506a6a30c1b9ba 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/procfs.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. Arm version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/rseq.h b/lib/libc/include/armeb-linux-gnueabihf/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..d0f633e9850f5f81778f21f5cb06515bbac8c679 --- /dev/null +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/rseq.h @@ -0,0 +1,83 @@ +/* Restartable Sequences Linux arm architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* + RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + - ARM little endian + + RSEQ_SIG uses the udf A32 instruction with an uncommon immediate operand + value 0x5de3. This traps if user-space reaches this instruction by mistake, + and the uncommon operand ensures the kernel does not move the instruction + pointer to attacker-controlled code on rseq abort. + + The instruction pattern in the A32 instruction set is: + + e7f5def3 udf #24035 ; 0x5de3 + + This translates to the following instruction pattern in the T16 instruction + set: + + little endian: + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - ARMv6+ big endian (BE8): + + ARMv6+ -mbig-endian generates mixed endianness code vs data: little-endian + code and big-endian data. The data value of the signature needs to have its + byte order reversed to generate the trap instruction: + + Data: 0xf3def5e7 + + Translates to this A32 instruction pattern: + + e7f5def3 udf #24035 ; 0x5de3 + + Translates to this T16 instruction pattern: + + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - Prior to ARMv6 big endian (BE32): + + Prior to ARMv6, -mbig-endian generates big-endian code and data + (which match), so the endianness of the data representation of the + signature should not be reversed. However, the choice between BE32 + and BE8 is done by the linker, so we cannot know whether code and + data endianness will be mixed before the linker is invoked. So rather + than try to play tricks with the linker, the rseq signature is simply + data (not a trap instruction) prior to ARMv6 on big endian. This is + why the signature is expressed as data (.word) rather than as + instruction (.inst) in assembler. */ + +#ifdef __ARMEB__ +# define RSEQ_SIG 0xf3def5e7 /* udf #24035 ; 0x5de3 (ARMv6+) */ +#else +# define RSEQ_SIG 0xe7f5def3 /* udf #24035 ; 0x5de3 */ +#endif \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/setjmp.h b/lib/libc/include/armeb-linux-gnueabihf/bits/setjmp.h index ad79830ae56b202fd2d7ba1595da961064bebc7c..ad0046a3ff967d399869414d80be592791943626 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/setjmp.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/shmlba.h b/lib/libc/include/armeb-linux-gnueabihf/bits/shmlba.h index cfd529afe27099040e71d4be71571d325c3188bd..639c09abad43d4226a8031a220889a48304ee9f5 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/shmlba.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. ARM version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/struct_rwlock.h b/lib/libc/include/armeb-linux-gnueabihf/bits/struct_rwlock.h index 7431c5597faba16ce83ea705453dcb3248e711aa..91b0a3b012aac9c7663da6e21675d50cba88afb4 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/struct_rwlock.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* Default read-write lock implementation struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/struct_stat.h b/lib/libc/include/armeb-linux-gnueabihf/bits/struct_stat.h index 202df2c998b8e7a46076f1d46287c45ed832a235..f7dd2c807e7fadd1dad47b36cd6b0ab964733185 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/struct_stat.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/struct_stat.h @@ -1,5 +1,5 @@ -/* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. +/* Definition for struct stat. Linux/arm version. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/timesize.h b/lib/libc/include/armeb-linux-gnueabihf/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..10207daaec90137a3c411bb44a11ee8de3d91136 --- /dev/null +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/ARM. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/typesizes.h b/lib/libc/include/armeb-linux-gnueabihf/bits/typesizes.h new file mode 100644 index 0000000000000000000000000000000000000000..9b70904d069f1d866fe769bca0da3a46fb73befa --- /dev/null +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/typesizes.h @@ -0,0 +1,74 @@ +/* bits/typesizes.h -- underlying types for *_t. ARM version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#define __RLIM_T_MATCHES_RLIM64_T 0 +#define __STATFS_MATCHES_STATFS64 0 +/* And for getitimer, setitimer and rusage */ +#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/armeb-linux-gnueabihf/bits/wordsize.h b/lib/libc/include/armeb-linux-gnueabihf/bits/wordsize.h index 6561e924f5f91bd2e33da9c102a38197349149fb..229f48ad0dc72f72d7baddcfdfe138e72247cd0a 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/bits/wordsize.h +++ b/lib/libc/include/armeb-linux-gnueabihf/bits/wordsize.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/fpu_control.h b/lib/libc/include/armeb-linux-gnueabihf/fpu_control.h index 496937215b29d5711e15a20bc509fb3811e524ff..a92cb867531fcd858645f438cd513978025ae4de 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/fpu_control.h +++ b/lib/libc/include/armeb-linux-gnueabihf/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word definitions. ARM VFP version. - Copyright (C) 2004-2021 Free Software Foundation, Inc. + Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/sys/ptrace.h b/lib/libc/include/armeb-linux-gnueabihf/sys/ptrace.h index 178de8b3c7d2c28fad66d13caec6638df8a05ffb..4345f4ce8a03cd06f116d7cfbdc5d53aa974dc4a 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/sys/ptrace.h +++ b/lib/libc/include/armeb-linux-gnueabihf/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/ARM version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -200,8 +200,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/armeb-linux-gnueabihf/sys/ucontext.h b/lib/libc/include/armeb-linux-gnueabihf/sys/ucontext.h index 48bcd9f6fc9a7c99921ae8f12eff7ff6438b7c91..dda4d8820e908df4a07db220d48405ba17b1799e 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/sys/ucontext.h +++ b/lib/libc/include/armeb-linux-gnueabihf/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/armeb-linux-gnueabihf/sys/user.h b/lib/libc/include/armeb-linux-gnueabihf/sys/user.h index 89a14c7b4808ee3f7fad99a42fd1da9c925a9136..0935e60335dd56e541de15ef3f9f66328a3f9c87 100644 --- a/lib/libc/include/armeb-linux-gnueabihf/sys/user.h +++ b/lib/libc/include/armeb-linux-gnueabihf/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/bits/fcntl.h b/lib/libc/include/csky-linux-gnueabi/bits/fcntl.h index 8241dc7482bebd308cae2e3a1c2188259cefbe96..fe46d428e692fa3884345d7e148d3dbafab74dfe 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/fcntl.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/fcntl.h @@ -1,7 +1,6 @@ /* O_*, F_*, FD_* bit values for the generic Linux ABI. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/csky-linux-gnueabi/bits/fenv.h b/lib/libc/include/csky-linux-gnueabi/bits/fenv.h index f544eb6f8ff7d1d8073ff4e9af30d8ef7c382a5c..a4fbccbf57464ca7d6367684fe0df44dcd141cb9 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/fenv.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/fenv.h @@ -1,5 +1,5 @@ /* Floating point environment. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/bits/floatn.h b/lib/libc/include/csky-linux-gnueabi/bits/floatn.h index 18018fa9f88db378b14721a9e852869ded8e4c66..7efc644d53e335acb2b56ba66a5fa6965345f89e 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/floatn.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/bits/link.h b/lib/libc/include/csky-linux-gnueabi/bits/link.h index df280b4c816cc0e524b21e4099cf048c55481239..4f4c3707ccafd50dbe89dabcb2116cb460fce240 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/link.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/link.h @@ -1,5 +1,5 @@ /* Machine-specific declarations for dynamic linker interface. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/bits/long-double.h b/lib/libc/include/csky-linux-gnueabi/bits/long-double.h index 5d6d6c86afcdb6ce9e45a06ca49f50bcd320d48b..34ff5747e17584897e0a4e0a9d6a56daa8a7196e 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/long-double.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/bits/procfs.h b/lib/libc/include/csky-linux-gnueabi/bits/procfs.h index e2da19ccf7b7371fd8d48d7b6b5926249c815f68..a126329ca21e039c6913cc598719c0501130843c 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/procfs.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/ioctls.h b/lib/libc/include/csky-linux-gnueabi/bits/rseq.h similarity index 50% rename from lib/libc/include/sparc-linux-gnu/bits/ioctls.h rename to lib/libc/include/csky-linux-gnueabi/bits/rseq.h index 9ed3b296275bcfd40c54f90e778b3575cf85906d..fe2e400300a07daf7d0ac3400b1fa5640bfa75c8 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/ioctls.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/rseq.h @@ -1,5 +1,5 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. +/* Restartable Sequences architecture header. Stub version. + Copyright (C) 2021-2023 Free Software Foundation, Inc. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -15,22 +15,15 @@ License along with the GNU C Library; if not, see . */ -#ifndef _SYS_IOCTL_H -# error "Never use directly; include instead." +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." #endif -/* Use the definitions from the kernel header files. */ -#include +/* RSEQ_SIG is a signature required before each abort handler code. -/* Oh well, this is necessary since the kernel data structure is - different from the user-level version. */ -#undef TCGETS -#undef TCSETS -#undef TCSETSW -#undef TCSETSF -#define TCGETS _IOR ('T', 8, char[36]) -#define TCSETS _IOW ('T', 9, char[36]) -#define TCSETSW _IOW ('T', 10, char[36]) -#define TCSETSF _IOW ('T', 11, char[36]) - -#include \ No newline at end of file + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. */ \ No newline at end of file diff --git a/lib/libc/include/csky-linux-gnueabi/bits/setjmp.h b/lib/libc/include/csky-linux-gnueabi/bits/setjmp.h index c0b6623ddcdd0a30a6f54c64b0e7b10a84f76755..e6f7d1230b12f687d13ba7dff586b5accfe93982 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/setjmp.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/setjmp.h @@ -1,5 +1,5 @@ /* Define the machine-dependent type `jmp_buf'. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/bits/shmlba.h b/lib/libc/include/csky-linux-gnueabi/bits/shmlba.h index 15e78caf7161e8a9b9cc69f32e68c378fedd2552..9aba3108939c38db0b2ba18c3a6388d1464165a0 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/shmlba.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/bits/statfs.h b/lib/libc/include/csky-linux-gnueabi/bits/statfs.h index 60421fc7fb620e65d40098821ccde163df3b063d..90a612c57a22714ffd816ca01712a80aadf043a3 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/statfs.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2011-2021 Free Software Foundation, Inc. +/* Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/bits/struct_rwlock.h b/lib/libc/include/csky-linux-gnueabi/bits/struct_rwlock.h index 7431c5597faba16ce83ea705453dcb3248e711aa..91b0a3b012aac9c7663da6e21675d50cba88afb4 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/struct_rwlock.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* Default read-write lock implementation struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/bits/struct_stat.h b/lib/libc/include/csky-linux-gnueabi/bits/struct_stat.h index 0549e9d97f9bd4c51e7512ddb6e65f55e42cc103..910bd8fc12ef73ebffd6066de1b8e74126865bbd 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/struct_stat.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/struct_stat.h @@ -1,5 +1,5 @@ -/* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. +/* Definition for struct stat. Linux/csky version. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -43,6 +43,9 @@ struct stat { +#ifdef __USE_TIME_BITS64 +# include +#else __dev_t st_dev; /* Device. */ __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */ __mode_t st_mode; /* File mode. */ @@ -55,7 +58,7 @@ struct stat __blksize_t st_blksize; /* Optimal block size for I/O. */ int __pad2; __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */ -#ifdef __USE_XOPEN2K8 +# ifdef __USE_XOPEN2K8 /* Nanosecond resolution timestamps are stored in a format equivalent to 'struct timespec'. This is the type used whenever possible but the Unix namespace rules do not allow the @@ -65,18 +68,19 @@ struct stat struct timespec st_atim; /* Time of last access. */ struct timespec st_mtim; /* Time of last modification. */ struct timespec st_ctim; /* Time of last status change. */ -# define st_atime st_atim.tv_sec /* Backward compatibility. */ -# define st_mtime st_mtim.tv_sec -# define st_ctime st_ctim.tv_sec -#else +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else __time_t st_atime; /* Time of last access. */ unsigned long int st_atimensec; /* Nscecs of last access. */ __time_t st_mtime; /* Time of last modification. */ unsigned long int st_mtimensec; /* Nsecs of last modification. */ __time_t st_ctime; /* Time of last status change. */ unsigned long int st_ctimensec; /* Nsecs of last status change. */ -#endif +# endif int __glibc_reserved[2]; +#endif }; #undef __field64 @@ -84,6 +88,9 @@ struct stat #ifdef __USE_LARGEFILE64 struct stat64 { +# ifdef __USE_TIME_BITS64 +# include +# else __dev_t st_dev; /* Device. */ __ino64_t st_ino; /* File serial number. */ __mode_t st_mode; /* File mode. */ @@ -96,7 +103,7 @@ struct stat64 __blksize_t st_blksize; /* Optimal block size for I/O. */ int __pad2; __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */ -#ifdef __USE_XOPEN2K8 +# ifdef __USE_XOPEN2K8 /* Nanosecond resolution timestamps are stored in a format equivalent to 'struct timespec'. This is the type used whenever possible but the Unix namespace rules do not allow the @@ -106,15 +113,16 @@ struct stat64 struct timespec st_atim; /* Time of last access. */ struct timespec st_mtim; /* Time of last modification. */ struct timespec st_ctim; /* Time of last status change. */ -#else +# else __time_t st_atime; /* Time of last access. */ unsigned long int st_atimensec; /* Nscecs of last access. */ __time_t st_mtime; /* Time of last modification. */ unsigned long int st_mtimensec; /* Nsecs of last modification. */ __time_t st_ctime; /* Time of last status change. */ unsigned long int st_ctimensec; /* Nsecs of last status change. */ -#endif +# endif int __glibc_reserved[2]; +# endif }; #endif diff --git a/lib/libc/include/csky-linux-gnueabi/bits/timesize.h b/lib/libc/include/csky-linux-gnueabi/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..78484f95870910a7499dd3d04a2ce485ec8a617e --- /dev/null +++ b/lib/libc/include/csky-linux-gnueabi/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/csky. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/lib/libc/include/csky-linux-gnueabi/bits/typesizes.h b/lib/libc/include/csky-linux-gnueabi/bits/typesizes.h index 4156f352ad365f075e6c1740dbe3586b24435fdb..fa5fab6be42ef47c9b359f6da3c4e6f023747131 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/typesizes.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/typesizes.h @@ -1,7 +1,6 @@ /* bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/csky-linux-gnueabi/bits/wordsize.h b/lib/libc/include/csky-linux-gnueabi/bits/wordsize.h index 6561e924f5f91bd2e33da9c102a38197349149fb..229f48ad0dc72f72d7baddcfdfe138e72247cd0a 100644 --- a/lib/libc/include/csky-linux-gnueabi/bits/wordsize.h +++ b/lib/libc/include/csky-linux-gnueabi/bits/wordsize.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/fpu_control.h b/lib/libc/include/csky-linux-gnueabi/fpu_control.h index e2ff49072375b668f44540c6b645129d3dad81ab..a198a3f9dc81f03dca1d5447e7f79063cadca07f 100644 --- a/lib/libc/include/csky-linux-gnueabi/fpu_control.h +++ b/lib/libc/include/csky-linux-gnueabi/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word bits. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/gnu/lib-names.h b/lib/libc/include/csky-linux-gnueabi/gnu/lib-names.h index aed5f023bfe074a0cff78ce90d77bda67e737f29..31a8308c70323c86ed9ab28b19f2c1b142bf2f73 100644 --- a/lib/libc/include/csky-linux-gnueabi/gnu/lib-names.h +++ b/lib/libc/include/csky-linux-gnueabi/gnu/lib-names.h @@ -22,8 +22,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/csky-linux-gnueabi/sys/cachectl.h b/lib/libc/include/csky-linux-gnueabi/sys/cachectl.h index d3a06ce16e0b4b02f149678dcb1274393d14ced5..3b37187b2af7f1db6d752c09511017cf0b8086be 100644 --- a/lib/libc/include/csky-linux-gnueabi/sys/cachectl.h +++ b/lib/libc/include/csky-linux-gnueabi/sys/cachectl.h @@ -1,5 +1,5 @@ /* C-SKY cache flushing interface. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/sys/ucontext.h b/lib/libc/include/csky-linux-gnueabi/sys/ucontext.h index afce26d79689bcbd14ad82c3a3d24f21cdfd905e..ddc502d1914b7f9f358c22daa9dcdda82ebed3ad 100644 --- a/lib/libc/include/csky-linux-gnueabi/sys/ucontext.h +++ b/lib/libc/include/csky-linux-gnueabi/sys/ucontext.h @@ -1,5 +1,5 @@ /* struct ucontext definition, C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabi/sys/user.h b/lib/libc/include/csky-linux-gnueabi/sys/user.h index c0d07c7883220bc15ff10a59a5a138b343814c05..a03437ad6d70b225773c34c7ecb66c5141e274f4 100644 --- a/lib/libc/include/csky-linux-gnueabi/sys/user.h +++ b/lib/libc/include/csky-linux-gnueabi/sys/user.h @@ -1,6 +1,6 @@ /* This file is not used by C-SKY GDB. ptrace can use pt_regs definition from linux kernel directly. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/fcntl.h b/lib/libc/include/csky-linux-gnueabihf/bits/fcntl.h index 8241dc7482bebd308cae2e3a1c2188259cefbe96..fe46d428e692fa3884345d7e148d3dbafab74dfe 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/fcntl.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/fcntl.h @@ -1,7 +1,6 @@ /* O_*, F_*, FD_* bit values for the generic Linux ABI. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/fenv.h b/lib/libc/include/csky-linux-gnueabihf/bits/fenv.h index f544eb6f8ff7d1d8073ff4e9af30d8ef7c382a5c..a4fbccbf57464ca7d6367684fe0df44dcd141cb9 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/fenv.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/fenv.h @@ -1,5 +1,5 @@ /* Floating point environment. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/floatn.h b/lib/libc/include/csky-linux-gnueabihf/bits/floatn.h index 18018fa9f88db378b14721a9e852869ded8e4c66..7efc644d53e335acb2b56ba66a5fa6965345f89e 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/floatn.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/link.h b/lib/libc/include/csky-linux-gnueabihf/bits/link.h index df280b4c816cc0e524b21e4099cf048c55481239..4f4c3707ccafd50dbe89dabcb2116cb460fce240 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/link.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/link.h @@ -1,5 +1,5 @@ /* Machine-specific declarations for dynamic linker interface. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/long-double.h b/lib/libc/include/csky-linux-gnueabihf/bits/long-double.h index 5d6d6c86afcdb6ce9e45a06ca49f50bcd320d48b..34ff5747e17584897e0a4e0a9d6a56daa8a7196e 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/long-double.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/procfs.h b/lib/libc/include/csky-linux-gnueabihf/bits/procfs.h index e2da19ccf7b7371fd8d48d7b6b5926249c815f68..a126329ca21e039c6913cc598719c0501130843c 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/procfs.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/rseq.h b/lib/libc/include/csky-linux-gnueabihf/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..fe2e400300a07daf7d0ac3400b1fa5640bfa75c8 --- /dev/null +++ b/lib/libc/include/csky-linux-gnueabihf/bits/rseq.h @@ -0,0 +1,29 @@ +/* Restartable Sequences architecture header. Stub version. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. */ \ No newline at end of file diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/setjmp.h b/lib/libc/include/csky-linux-gnueabihf/bits/setjmp.h index c0b6623ddcdd0a30a6f54c64b0e7b10a84f76755..e6f7d1230b12f687d13ba7dff586b5accfe93982 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/setjmp.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/setjmp.h @@ -1,5 +1,5 @@ /* Define the machine-dependent type `jmp_buf'. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/shmlba.h b/lib/libc/include/csky-linux-gnueabihf/bits/shmlba.h index 15e78caf7161e8a9b9cc69f32e68c378fedd2552..9aba3108939c38db0b2ba18c3a6388d1464165a0 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/shmlba.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/statfs.h b/lib/libc/include/csky-linux-gnueabihf/bits/statfs.h index 60421fc7fb620e65d40098821ccde163df3b063d..90a612c57a22714ffd816ca01712a80aadf043a3 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/statfs.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2011-2021 Free Software Foundation, Inc. +/* Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/struct_rwlock.h b/lib/libc/include/csky-linux-gnueabihf/bits/struct_rwlock.h index 7431c5597faba16ce83ea705453dcb3248e711aa..91b0a3b012aac9c7663da6e21675d50cba88afb4 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/struct_rwlock.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* Default read-write lock implementation struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/struct_stat.h b/lib/libc/include/csky-linux-gnueabihf/bits/struct_stat.h index 0549e9d97f9bd4c51e7512ddb6e65f55e42cc103..910bd8fc12ef73ebffd6066de1b8e74126865bbd 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/struct_stat.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/struct_stat.h @@ -1,5 +1,5 @@ -/* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. +/* Definition for struct stat. Linux/csky version. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -43,6 +43,9 @@ struct stat { +#ifdef __USE_TIME_BITS64 +# include +#else __dev_t st_dev; /* Device. */ __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */ __mode_t st_mode; /* File mode. */ @@ -55,7 +58,7 @@ struct stat __blksize_t st_blksize; /* Optimal block size for I/O. */ int __pad2; __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */ -#ifdef __USE_XOPEN2K8 +# ifdef __USE_XOPEN2K8 /* Nanosecond resolution timestamps are stored in a format equivalent to 'struct timespec'. This is the type used whenever possible but the Unix namespace rules do not allow the @@ -65,18 +68,19 @@ struct stat struct timespec st_atim; /* Time of last access. */ struct timespec st_mtim; /* Time of last modification. */ struct timespec st_ctim; /* Time of last status change. */ -# define st_atime st_atim.tv_sec /* Backward compatibility. */ -# define st_mtime st_mtim.tv_sec -# define st_ctime st_ctim.tv_sec -#else +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else __time_t st_atime; /* Time of last access. */ unsigned long int st_atimensec; /* Nscecs of last access. */ __time_t st_mtime; /* Time of last modification. */ unsigned long int st_mtimensec; /* Nsecs of last modification. */ __time_t st_ctime; /* Time of last status change. */ unsigned long int st_ctimensec; /* Nsecs of last status change. */ -#endif +# endif int __glibc_reserved[2]; +#endif }; #undef __field64 @@ -84,6 +88,9 @@ struct stat #ifdef __USE_LARGEFILE64 struct stat64 { +# ifdef __USE_TIME_BITS64 +# include +# else __dev_t st_dev; /* Device. */ __ino64_t st_ino; /* File serial number. */ __mode_t st_mode; /* File mode. */ @@ -96,7 +103,7 @@ struct stat64 __blksize_t st_blksize; /* Optimal block size for I/O. */ int __pad2; __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */ -#ifdef __USE_XOPEN2K8 +# ifdef __USE_XOPEN2K8 /* Nanosecond resolution timestamps are stored in a format equivalent to 'struct timespec'. This is the type used whenever possible but the Unix namespace rules do not allow the @@ -106,15 +113,16 @@ struct stat64 struct timespec st_atim; /* Time of last access. */ struct timespec st_mtim; /* Time of last modification. */ struct timespec st_ctim; /* Time of last status change. */ -#else +# else __time_t st_atime; /* Time of last access. */ unsigned long int st_atimensec; /* Nscecs of last access. */ __time_t st_mtime; /* Time of last modification. */ unsigned long int st_mtimensec; /* Nsecs of last modification. */ __time_t st_ctime; /* Time of last status change. */ unsigned long int st_ctimensec; /* Nsecs of last status change. */ -#endif +# endif int __glibc_reserved[2]; +# endif }; #endif diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/timesize.h b/lib/libc/include/csky-linux-gnueabihf/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..78484f95870910a7499dd3d04a2ce485ec8a617e --- /dev/null +++ b/lib/libc/include/csky-linux-gnueabihf/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/csky. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/typesizes.h b/lib/libc/include/csky-linux-gnueabihf/bits/typesizes.h index 4156f352ad365f075e6c1740dbe3586b24435fdb..fa5fab6be42ef47c9b359f6da3c4e6f023747131 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/typesizes.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/typesizes.h @@ -1,7 +1,6 @@ /* bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/csky-linux-gnueabihf/bits/wordsize.h b/lib/libc/include/csky-linux-gnueabihf/bits/wordsize.h index 6561e924f5f91bd2e33da9c102a38197349149fb..229f48ad0dc72f72d7baddcfdfe138e72247cd0a 100644 --- a/lib/libc/include/csky-linux-gnueabihf/bits/wordsize.h +++ b/lib/libc/include/csky-linux-gnueabihf/bits/wordsize.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/fpu_control.h b/lib/libc/include/csky-linux-gnueabihf/fpu_control.h index e2ff49072375b668f44540c6b645129d3dad81ab..a198a3f9dc81f03dca1d5447e7f79063cadca07f 100644 --- a/lib/libc/include/csky-linux-gnueabihf/fpu_control.h +++ b/lib/libc/include/csky-linux-gnueabihf/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word bits. C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/gnu/lib-names.h b/lib/libc/include/csky-linux-gnueabihf/gnu/lib-names.h index 9fe17746c022042a25540af7618ad5e0754e3d12..8909004c6c3a6f20c7fd9a59a5606f6f7267f548 100644 --- a/lib/libc/include/csky-linux-gnueabihf/gnu/lib-names.h +++ b/lib/libc/include/csky-linux-gnueabihf/gnu/lib-names.h @@ -22,8 +22,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/csky-linux-gnueabihf/sys/cachectl.h b/lib/libc/include/csky-linux-gnueabihf/sys/cachectl.h index d3a06ce16e0b4b02f149678dcb1274393d14ced5..3b37187b2af7f1db6d752c09511017cf0b8086be 100644 --- a/lib/libc/include/csky-linux-gnueabihf/sys/cachectl.h +++ b/lib/libc/include/csky-linux-gnueabihf/sys/cachectl.h @@ -1,5 +1,5 @@ /* C-SKY cache flushing interface. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/sys/ucontext.h b/lib/libc/include/csky-linux-gnueabihf/sys/ucontext.h index afce26d79689bcbd14ad82c3a3d24f21cdfd905e..ddc502d1914b7f9f358c22daa9dcdda82ebed3ad 100644 --- a/lib/libc/include/csky-linux-gnueabihf/sys/ucontext.h +++ b/lib/libc/include/csky-linux-gnueabihf/sys/ucontext.h @@ -1,5 +1,5 @@ /* struct ucontext definition, C-SKY version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/csky-linux-gnueabihf/sys/user.h b/lib/libc/include/csky-linux-gnueabihf/sys/user.h index c0d07c7883220bc15ff10a59a5a138b343814c05..a03437ad6d70b225773c34c7ecb66c5141e274f4 100644 --- a/lib/libc/include/csky-linux-gnueabihf/sys/user.h +++ b/lib/libc/include/csky-linux-gnueabihf/sys/user.h @@ -1,6 +1,6 @@ /* This file is not used by C-SKY GDB. ptrace can use pt_regs definition from linux kernel directly. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/aio.h b/lib/libc/include/generic-glibc/aio.h index 7a2749584349e22c7131a79f65d400546f6f442b..09f2cd7a6cbd0c0fe296e4bde1385cad9c14b080 100644 --- a/lib/libc/include/generic-glibc/aio.h +++ b/lib/libc/include/generic-glibc/aio.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -168,7 +168,7 @@ extern int aio_suspend (const struct aiocb *const __list[], int __nent, const struct timespec *__restrict __timeout) __nonnull ((1)); -/* Force all operations associated with file desriptor described by +/* Force all operations associated with file descriptor described by `aio_fildes' member of AIOCBP. */ extern int aio_fsync (int __operation, struct aiocb *__aiocbp) __THROW __nonnull ((2)); diff --git a/lib/libc/include/generic-glibc/aliases.h b/lib/libc/include/generic-glibc/aliases.h index 28a60fd59c7e90dedf805c569012c31591c3d6a1..09fcdaee1ad589b29673d40893507027fdbca0b7 100644 --- a/lib/libc/include/generic-glibc/aliases.h +++ b/lib/libc/include/generic-glibc/aliases.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/alloca.h b/lib/libc/include/generic-glibc/alloca.h index 04189d469c57e243b698732370844dc8a8b4d981..c859d0076292dfa53f7842cd0d916a48931d1be9 100644 --- a/lib/libc/include/generic-glibc/alloca.h +++ b/lib/libc/include/generic-glibc/alloca.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/ar.h b/lib/libc/include/generic-glibc/ar.h index 24cd9d81bf1035c60289d7e4a52b4ae43e80439e..41a0bbf62983a93e54a59e4ef2ba0a7df97405fc 100644 --- a/lib/libc/include/generic-glibc/ar.h +++ b/lib/libc/include/generic-glibc/ar.h @@ -1,5 +1,5 @@ /* Header describing `ar' archive file format. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/argp.h b/lib/libc/include/generic-glibc/argp.h index a34f4ef6237aca1b86065e527f3819765a83047f..f6d4b81c71f8afc83f69cfdf4cde2f971dff7628 100644 --- a/lib/libc/include/generic-glibc/argp.h +++ b/lib/libc/include/generic-glibc/argp.h @@ -1,5 +1,5 @@ /* Hierarchical argument parsing, layered over getopt. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . diff --git a/lib/libc/include/generic-glibc/argz.h b/lib/libc/include/generic-glibc/argz.h index 267c9aeb786d18d74bae736ab082c0238525a27e..a11ba74b93d3a5de79fabaa3e35d24d7c74cced6 100644 --- a/lib/libc/include/generic-glibc/argz.h +++ b/lib/libc/include/generic-glibc/argz.h @@ -1,5 +1,5 @@ /* Routines for dealing with '\0' separated arg vectors. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/arpa/inet.h b/lib/libc/include/generic-glibc/arpa/inet.h index 16227d6ce988b6172a8d66712d26ac1181eabfc3..b66521d27fa72f96cf4aaa7e542f0d76cee9f16b 100644 --- a/lib/libc/include/generic-glibc/arpa/inet.h +++ b/lib/libc/include/generic-glibc/arpa/inet.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -78,7 +78,7 @@ extern char *inet_neta (in_addr_t __net, char *__buf, size_t __len) __THROW __attribute_deprecated_msg__ ("Use inet_ntop instead"); /* Convert network number for interface type AF in buffer starting at - CP to presentation format. The result will specifiy BITS bits of + CP to presentation format. The result will specify BITS bits of the number. */ extern char *inet_net_ntop (int __af, const void *__cp, int __bits, char *__buf, size_t __len) __THROW; diff --git a/lib/libc/include/generic-glibc/arpa/nameser_compat.h b/lib/libc/include/generic-glibc/arpa/nameser_compat.h index 0c30d4636da58475b7350fcf6225bd149e244020..b18c069db756fcbea3236439dadca45f6e86ed9a 100644 --- a/lib/libc/include/generic-glibc/arpa/nameser_compat.h +++ b/lib/libc/include/generic-glibc/arpa/nameser_compat.h @@ -44,7 +44,7 @@ typedef struct { /* fields in third byte */ unsigned qr: 1; /*%< response flag */ unsigned opcode: 4; /*%< purpose of message */ - unsigned aa: 1; /*%< authoritive answer */ + unsigned aa: 1; /*%< authoritative answer */ unsigned tc: 1; /*%< truncated message */ unsigned rd: 1; /*%< recursion desired */ /* fields in fourth byte */ @@ -58,7 +58,7 @@ typedef struct { /* fields in third byte */ unsigned rd :1; /*%< recursion desired */ unsigned tc :1; /*%< truncated message */ - unsigned aa :1; /*%< authoritive answer */ + unsigned aa :1; /*%< authoritative answer */ unsigned opcode :4; /*%< purpose of message */ unsigned qr :1; /*%< response flag */ /* fields in fourth byte */ diff --git a/lib/libc/include/generic-glibc/assert.h b/lib/libc/include/generic-glibc/assert.h index f7ad8b710efb2be2206e9a6b7740c3d3bab6a5d1..b099485e8ce02e80be18ac65eb111b1e7a24d407 100644 --- a/lib/libc/include/generic-glibc/assert.h +++ b/lib/libc/include/generic-glibc/assert.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -86,10 +86,21 @@ __END_DECLS parentheses around EXPR. Otherwise, those added parentheses would suppress warnings we'd expect to be detected by gcc's -Wparentheses. */ # if defined __cplusplus +# if defined __has_builtin +# if __has_builtin (__builtin_FILE) +# define __ASSERT_FILE __builtin_FILE () +# define __ASSERT_LINE __builtin_LINE () +# endif +# endif +# if !defined __ASSERT_FILE +# define __ASSERT_FILE __FILE__ +# define __ASSERT_LINE __LINE__ +# endif # define assert(expr) \ (static_cast (expr) \ ? void (0) \ - : __assert_fail (#expr, __FILE__, __LINE__, __ASSERT_FUNCTION)) + : __assert_fail (#expr, __ASSERT_FILE, __ASSERT_LINE, \ + __ASSERT_FUNCTION)) # elif !defined __GNUC__ || defined __STRICT_ANSI__ # define assert(expr) \ ((expr) \ @@ -135,7 +146,11 @@ __END_DECLS #endif /* NDEBUG. */ -#if defined __USE_ISOC11 && !defined __cplusplus +#if (defined __USE_ISOC11 \ + && (!defined __STDC_VERSION__ \ + || __STDC_VERSION__ <= 201710L \ + || !__GNUC_PREREQ (13, 0)) \ + && !defined __cplusplus) # undef static_assert # define static_assert _Static_assert #endif \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/argp-ldbl.h b/lib/libc/include/generic-glibc/bits/argp-ldbl.h index cf7a32117f1b9337067fce44f6c9f1af98e43a7f..4a4ca5f443f7f8b440e549736eba3facfd74182e 100644 --- a/lib/libc/include/generic-glibc/bits/argp-ldbl.h +++ b/lib/libc/include/generic-glibc/bits/argp-ldbl.h @@ -1,5 +1,5 @@ /* Redirections for argp functions for -mlong-double-64. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/eventfd.h b/lib/libc/include/generic-glibc/bits/atomic_wide_counter.h similarity index 57% rename from lib/libc/include/sparc-linux-gnu/bits/eventfd.h rename to lib/libc/include/generic-glibc/bits/atomic_wide_counter.h index 71409f55ba7f8dd19f50110ff056280582fd09a8..a41140d824f9486ccd798f0e124d75ee6c41f3fe 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/eventfd.h +++ b/lib/libc/include/generic-glibc/bits/atomic_wide_counter.h @@ -1,4 +1,5 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Monotonically increasing wide counters (at least 62 bits). + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,17 +16,20 @@ License along with the GNU C Library; if not, see . */ -#ifndef _SYS_EVENTFD_H -# error "Never use directly; include instead." -#endif +#ifndef _BITS_ATOMIC_WIDE_COUNTER_H +#define _BITS_ATOMIC_WIDE_COUNTER_H -/* Flags for eventfd. */ -enum +/* Counter that is monotonically increasing (by less than 2**31 per + increment), with a single writer, and an arbitrary number of + readers. */ +typedef union +{ + __extension__ unsigned long long int __value64; + struct { - EFD_SEMAPHORE = 0x000001, -#define EFD_SEMAPHORE EFD_SEMAPHORE - EFD_CLOEXEC = 0x400000, -#define EFD_CLOEXEC EFD_CLOEXEC - EFD_NONBLOCK = 0x004000 -#define EFD_NONBLOCK EFD_NONBLOCK - }; \ No newline at end of file + unsigned int __low; + unsigned int __high; + } __value32; +} __atomic_wide_counter; + +#endif /* _BITS_ATOMIC_WIDE_COUNTER_H */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/byteswap.h b/lib/libc/include/generic-glibc/bits/byteswap.h index 70b22672af7dbca15685bd75860fee277cbcca2a..d26ee4a405d7500b1cdaca12e79c2d5fd7512e40 100644 --- a/lib/libc/include/generic-glibc/bits/byteswap.h +++ b/lib/libc/include/generic-glibc/bits/byteswap.h @@ -1,5 +1,5 @@ /* Macros and inline functions to swap the order of bytes in integer values. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/cmathcalls.h b/lib/libc/include/generic-glibc/bits/cmathcalls.h index 28d82b0960204e7f4b9690a9f97c58664524e318..d56893dc82ffa46e50d1df05056f4b1b44a97467 100644 --- a/lib/libc/include/generic-glibc/bits/cmathcalls.h +++ b/lib/libc/include/generic-glibc/bits/cmathcalls.h @@ -1,6 +1,6 @@ /* Prototype declarations for complex math functions; helper file for . - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/confname.h b/lib/libc/include/generic-glibc/bits/confname.h index a364471509e0e66eb805f242eadbb3215e9f209d..e9c89a668c110dc393d567550ec252e0c6d71302 100644 --- a/lib/libc/include/generic-glibc/bits/confname.h +++ b/lib/libc/include/generic-glibc/bits/confname.h @@ -1,5 +1,5 @@ /* `sysconf', `pathconf', and `confstr' NAME values. Generic version. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/cpu-set.h b/lib/libc/include/generic-glibc/bits/cpu-set.h index b90b3089fc7001a5033bcf5e5a86f69ffa79948f..f97b3069fb8468126ecf48c136be9435549c9290 100644 --- a/lib/libc/include/generic-glibc/bits/cpu-set.h +++ b/lib/libc/include/generic-glibc/bits/cpu-set.h @@ -1,6 +1,6 @@ /* Definition of the cpu_set_t structure used by the POSIX 1003.1b-1993 scheduling interface. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/dirent.h b/lib/libc/include/generic-glibc/bits/dirent.h index a5ade18b8612e8c46821d06cb777d419f04140e2..5979f8fcb55f462c41c81db770f598f52bafc5bd 100644 --- a/lib/libc/include/generic-glibc/bits/dirent.h +++ b/lib/libc/include/generic-glibc/bits/dirent.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/dirent_ext.h b/lib/libc/include/generic-glibc/bits/dirent_ext.h index 50c8bd123a5504f4dbdfeddd2ad60e65555f3942..90cb19a11ce2dddf06373ae9ad6a332adfdde2b2 100644 --- a/lib/libc/include/generic-glibc/bits/dirent_ext.h +++ b/lib/libc/include/generic-glibc/bits/dirent_ext.h @@ -1,5 +1,5 @@ /* System-specific extensions of . Linux version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/dl_find_object.h b/lib/libc/include/generic-glibc/bits/dl_find_object.h new file mode 100644 index 0000000000000000000000000000000000000000..612183c885da672b7dfd522b0edccfc62f7a7444 --- /dev/null +++ b/lib/libc/include/generic-glibc/bits/dl_find_object.h @@ -0,0 +1,32 @@ +/* System dependent definitions for finding objects by address. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +/* This implementation does not have a dlfo_eh_dbase member in struct + dl_find_object. */ +#define DLFO_STRUCT_HAS_EH_DBASE 0 + +/* This implementation does not have a dlfo_eh_count member in struct + dl_find_object. */ +#define DLFO_STRUCT_HAS_EH_COUNT 0 + +/* The ELF segment which contains the exception handling data. */ +#define DLFO_EH_SEGMENT_TYPE PT_GNU_EH_FRAME \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/dlfcn.h b/lib/libc/include/generic-glibc/bits/dlfcn.h index 02487a2de723415266664365ae764ec4f178ceda..ad567a6ada3cff5121f18c4d39e143b60c8b78fb 100644 --- a/lib/libc/include/generic-glibc/bits/dlfcn.h +++ b/lib/libc/include/generic-glibc/bits/dlfcn.h @@ -1,5 +1,5 @@ /* System dependent definitions for run-time dynamic loading. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/endian.h b/lib/libc/include/generic-glibc/bits/endian.h index 926d47b8695fb3fd54152faea372e76519d40a2b..4bcc9bb06bf67de65becfdd27642fe95c45b0523 100644 --- a/lib/libc/include/generic-glibc/bits/endian.h +++ b/lib/libc/include/generic-glibc/bits/endian.h @@ -1,5 +1,5 @@ /* Endian macros for string.h functions - Copyright (C) 1992-2021 Free Software Foundation, Inc. + Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/environments.h b/lib/libc/include/generic-glibc/bits/environments.h index 0cd2b0dd2e9c9e3bedb1380a107c36c97d792b32..d1db229dce4bd931c89967858a477e649955a1ad 100644 --- a/lib/libc/include/generic-glibc/bits/environments.h +++ b/lib/libc/include/generic-glibc/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/epoll.h b/lib/libc/include/generic-glibc/bits/epoll.h index 32e2f7c379ac47b1300aeaaf7231c74477ff6dc2..a9bc693592d3b79369321da08537d6f561ae3ca7 100644 --- a/lib/libc/include/generic-glibc/bits/epoll.h +++ b/lib/libc/include/generic-glibc/bits/epoll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/err-ldbl.h b/lib/libc/include/generic-glibc/bits/err-ldbl.h index 165399078dd787ed44d0dc03eb8fd7152732217d..8e2007fa9ca7832ed2d64195bccc561fa214c437 100644 --- a/lib/libc/include/generic-glibc/bits/err-ldbl.h +++ b/lib/libc/include/generic-glibc/bits/err-ldbl.h @@ -1,5 +1,5 @@ /* Redirections for err.h functions for -mlong-double-64. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/errno.h b/lib/libc/include/generic-glibc/bits/errno.h index 5129d4d92793c2fe61af0eecaf8699fd380be5d1..ec781a596952ca7b2816105f0ccabf881d9132db 100644 --- a/lib/libc/include/generic-glibc/bits/errno.h +++ b/lib/libc/include/generic-glibc/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. Linux specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/error-ldbl.h b/lib/libc/include/generic-glibc/bits/error-ldbl.h index 1514bd77f5a9ba96963205389b1df2764564fb33..c895b69b88359f768eec27790160be4689e2a925 100644 --- a/lib/libc/include/generic-glibc/bits/error-ldbl.h +++ b/lib/libc/include/generic-glibc/bits/error-ldbl.h @@ -1,5 +1,5 @@ /* Redirections for error.h functions for -mlong-double-64. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,5 +20,50 @@ # error "Never include directly; use instead." #endif +#if defined __extern_always_inline && defined __va_arg_pack +extern void __REDIRECT_LDBL (__error_alias, (int __status, int __errnum, + const char *__format, ...), error) + __attribute__ ((__format__ (__printf__, 3, 4))); +extern void __REDIRECT_LDBL (__error_noreturn, (int __status, int __errnum, + const char *__format, ...), error) + __attribute__ ((__noreturn__, __format__ (__printf__, 3, 4))); + + +/* If we know the function will never return make sure the compiler + realizes that, too. */ +__extern_always_inline void +error (int __status, int __errnum, const char *__format, ...) +{ + if (__builtin_constant_p (__status) && __status != 0) + __error_noreturn (__status, __errnum, __format, __va_arg_pack ()); + else + __error_alias (__status, __errnum, __format, __va_arg_pack ()); +} + + +extern void __REDIRECT_LDBL (__error_at_line_alias, (int __status, int __errnum, + const char *__fname, unsigned int __line, + const char *__format, ...), error_at_line) + __attribute__ ((__format__ (__printf__, 5, 6))); +extern void __REDIRECT_LDBL (__error_at_line_noreturn, (int __status, int __errnum, + const char *__fname, unsigned int __line, + const char *__format, ...), error_at_line) + __attribute__ ((__noreturn__, __format__ (__printf__, 5, 6))); + + +/* If we know the function will never return make sure the compiler + realizes that, too. */ +__extern_always_inline void +error_at_line (int __status, int __errnum, const char *__fname, + unsigned int __line, const char *__format, ...) +{ + if (__builtin_constant_p (__status) && __status != 0) + __error_at_line_noreturn (__status, __errnum, __fname, __line, __format, + __va_arg_pack ()); + else + __error_at_line_alias (__status, __errnum, __fname, __line, + __format, __va_arg_pack ()); +} +#endif __LDBL_REDIR_DECL (error) __LDBL_REDIR_DECL (error_at_line) \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/error.h b/lib/libc/include/generic-glibc/bits/error.h index fe5e0ebeedb404d06f6437545beb85da19d3b348..b4294c24b1c4351b1d75e6c07b15782545c1c79d 100644 --- a/lib/libc/include/generic-glibc/bits/error.h +++ b/lib/libc/include/generic-glibc/bits/error.h @@ -1,5 +1,5 @@ /* Specializations for error functions. - Copyright (C) 2007-2021 Free Software Foundation, Inc. + Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/eventfd.h b/lib/libc/include/generic-glibc/bits/eventfd.h index 7b6538dff95df0b87ada89f8e7ebe6df58a130cd..0a67d90b2cebd4e2550998c2423f9944c0d6996a 100644 --- a/lib/libc/include/generic-glibc/bits/eventfd.h +++ b/lib/libc/include/generic-glibc/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/fcntl-linux.h b/lib/libc/include/generic-glibc/bits/fcntl-linux.h index ededca4eb2efd73e077204dc82688f53ab5ca6d7..b93d1d9a86266de92bcd10710284de6d3fbe4771 100644 --- a/lib/libc/include/generic-glibc/bits/fcntl-linux.h +++ b/lib/libc/include/generic-glibc/bits/fcntl-linux.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -101,7 +101,7 @@ #endif #ifndef F_GETLK -# ifndef __USE_FILE_OFFSET64 +# if !defined __USE_FILE_OFFSET64 && __TIMESIZE != 64 # define F_GETLK 5 /* Get record locking info. */ # define F_SETLK 6 /* Set record locking info (non-blocking). */ # define F_SETLKW 7 /* Set record locking info (blocking). */ diff --git a/lib/libc/include/generic-glibc/bits/fcntl.h b/lib/libc/include/generic-glibc/bits/fcntl.h index ba82a90a594c9ad6a5af61bd9f70b7f217fe0e48..2e79057415de47b4dfd147e84641220fbd351d1c 100644 --- a/lib/libc/include/generic-glibc/bits/fcntl.h +++ b/lib/libc/include/generic-glibc/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/fcntl2.h b/lib/libc/include/generic-glibc/bits/fcntl2.h index 1e5e2d6a5fb5f831a0c0a889439a26e440d85d87..30c541020ad1a067cfb1eac0f6dd97064ea1920d 100644 --- a/lib/libc/include/generic-glibc/bits/fcntl2.h +++ b/lib/libc/include/generic-glibc/bits/fcntl2.h @@ -1,5 +1,5 @@ /* Checking macros for fcntl functions. - Copyright (C) 2007-2021 Free Software Foundation, Inc. + Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/fenv.h b/lib/libc/include/generic-glibc/bits/fenv.h index d99c7da1c0e6aa5142483167162fcd8cf4d9505d..009b6f2e16848cb6bd0ef45a21b780af388edead 100644 --- a/lib/libc/include/generic-glibc/bits/fenv.h +++ b/lib/libc/include/generic-glibc/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/floatn-common.h b/lib/libc/include/generic-glibc/bits/floatn-common.h index 7432380a23333994478f5ef3679785b979c615ad..61a0c8d6a1c4f6e31575227d5bfee6ebcb1e9bc9 100644 --- a/lib/libc/include/generic-glibc/bits/floatn-common.h +++ b/lib/libc/include/generic-glibc/bits/floatn-common.h @@ -1,6 +1,6 @@ /* Macros to control TS 18661-3 glibc features where the same definitions are appropriate for all platforms. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -78,7 +78,7 @@ or _FloatNx types, if __HAVE_ is 1. The corresponding literal suffixes exist since GCC 7, for C only. */ # if __HAVE_FLOAT16 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* No corresponding suffix available for this type. */ # define __f16(x) ((_Float16) x##f) # else @@ -87,7 +87,7 @@ # endif # if __HAVE_FLOAT32 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __f32(x) x##f # else # define __f32(x) x##f32 @@ -95,7 +95,7 @@ # endif # if __HAVE_FLOAT64 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # ifdef __NO_LONG_DOUBLE_MATH # define __f64(x) x##l # else @@ -107,7 +107,7 @@ # endif # if __HAVE_FLOAT32X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __f32x(x) x # else # define __f32x(x) x##f32x @@ -115,7 +115,7 @@ # endif # if __HAVE_FLOAT64X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # if __HAVE_FLOAT64X_LONG_DOUBLE # define __f64x(x) x##l # else @@ -127,7 +127,7 @@ # endif # if __HAVE_FLOAT128X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # error "_Float128X supported but no constant suffix" # else # define __f128x(x) x##f128x @@ -136,7 +136,7 @@ /* Defined to a complex type if __HAVE_ is 1. */ # if __HAVE_FLOAT16 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); # define __CFLOAT16 __cfloat16 # else @@ -145,7 +145,7 @@ typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); # endif # if __HAVE_FLOAT32 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __CFLOAT32 _Complex float # else # define __CFLOAT32 _Complex _Float32 @@ -153,7 +153,7 @@ typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); # endif # if __HAVE_FLOAT64 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # ifdef __NO_LONG_DOUBLE_MATH # define __CFLOAT64 _Complex long double # else @@ -165,7 +165,7 @@ typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); # endif # if __HAVE_FLOAT32X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __CFLOAT32X _Complex double # else # define __CFLOAT32X _Complex _Float32x @@ -173,7 +173,7 @@ typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); # endif # if __HAVE_FLOAT64X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # if __HAVE_FLOAT64X_LONG_DOUBLE # define __CFLOAT64X _Complex long double # else @@ -185,7 +185,7 @@ typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); # endif # if __HAVE_FLOAT128X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # error "_Float128X supported but no complex type" # else # define __CFLOAT128X _Complex _Float128x @@ -195,7 +195,7 @@ typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); /* The remaining of this file provides support for older compilers. */ # if __HAVE_FLOAT16 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef float _Float16 __attribute__ ((__mode__ (__HF__))); # endif @@ -210,7 +210,7 @@ typedef float _Float16 __attribute__ ((__mode__ (__HF__))); # if __HAVE_FLOAT32 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef float _Float32; # endif @@ -234,7 +234,7 @@ typedef float _Float32; # ifdef __NO_LONG_DOUBLE_MATH -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef long double _Float64; # endif @@ -247,7 +247,7 @@ typedef long double _Float64; # else -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef double _Float64; # endif @@ -264,7 +264,7 @@ typedef double _Float64; # if __HAVE_FLOAT32X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef double _Float32x; # endif @@ -281,7 +281,7 @@ typedef double _Float32x; # if __HAVE_FLOAT64X_LONG_DOUBLE -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef long double _Float64x; # endif @@ -294,7 +294,7 @@ typedef long double _Float64x; # else -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef _Float128 _Float64x; # endif @@ -311,7 +311,7 @@ typedef _Float128 _Float64x; # if __HAVE_FLOAT128X -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # error "_Float128x supported but no type" # endif diff --git a/lib/libc/include/generic-glibc/bits/floatn.h b/lib/libc/include/generic-glibc/bits/floatn.h index c05a5e55e0b0149661766d6698dff4c02519a903..62a22bcb27853d6b5e89565e2f1faf6c09256c8f 100644 --- a/lib/libc/include/generic-glibc/bits/floatn.h +++ b/lib/libc/include/generic-glibc/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on MIPS platforms. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -55,7 +55,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix f128 exists only since GCC 7.0. */ # define __f128(x) x##l # else @@ -65,7 +65,7 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __CFLOAT128 _Complex long double # else # define __CFLOAT128 _Complex _Float128 @@ -76,7 +76,7 @@ # if __HAVE_FLOAT128 /* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef long double _Float128; # endif diff --git a/lib/libc/include/generic-glibc/bits/flt-eval-method.h b/lib/libc/include/generic-glibc/bits/flt-eval-method.h index 671c39a3baaafab3d1bacf1ef241b2e920e534df..82c890d6ff18c234e3f700e42663defc36addeb0 100644 --- a/lib/libc/include/generic-glibc/bits/flt-eval-method.h +++ b/lib/libc/include/generic-glibc/bits/flt-eval-method.h @@ -1,5 +1,5 @@ /* Define __GLIBC_FLT_EVAL_METHOD. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -26,14 +26,12 @@ -1. */ /* In the default version of this header, follow __FLT_EVAL_METHOD__. - -1 is mapped to 2 (considering evaluation as long double to be a - conservatively safe assumption), and if __FLT_EVAL_METHOD__ is not - defined then assume there is no excess precision and use the value - 0. */ + If __FLT_EVAL_METHOD__ is not defined or set to -1, assume there is no + excess precision and use the value 0 (this is correct for most targets). */ #ifdef __FLT_EVAL_METHOD__ # if __FLT_EVAL_METHOD__ == -1 -# define __GLIBC_FLT_EVAL_METHOD 2 +# define __GLIBC_FLT_EVAL_METHOD 0 # else # define __GLIBC_FLT_EVAL_METHOD __FLT_EVAL_METHOD__ # endif diff --git a/lib/libc/include/generic-glibc/bits/fp-fast.h b/lib/libc/include/generic-glibc/bits/fp-fast.h index b06a22fc8bb649266edecc01a5b03bb28abb4dce..b33245b75c3b837413edbbcc021d5c6ed80107dc 100644 --- a/lib/libc/include/generic-glibc/bits/fp-fast.h +++ b/lib/libc/include/generic-glibc/bits/fp-fast.h @@ -1,5 +1,5 @@ /* Define FP_FAST_* macros. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/fp-logb.h b/lib/libc/include/generic-glibc/bits/fp-logb.h index bcb800097d8d6d5c60b036f2faba35a11aa32811..e356f1af088dfb7c481d7e717234fbea9f485a4b 100644 --- a/lib/libc/include/generic-glibc/bits/fp-logb.h +++ b/lib/libc/include/generic-glibc/bits/fp-logb.h @@ -1,5 +1,5 @@ /* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/getopt_core.h b/lib/libc/include/generic-glibc/bits/getopt_core.h index d681779d99559a36c689f3a000c816523f3555e1..1008362c19e9468f8e9a389fcb39871b63d5a863 100644 --- a/lib/libc/include/generic-glibc/bits/getopt_core.h +++ b/lib/libc/include/generic-glibc/bits/getopt_core.h @@ -1,5 +1,5 @@ /* Declarations for getopt (basic, portable features only). - Copyright (C) 1989-2021 Free Software Foundation, Inc. + Copyright (C) 1989-2023 Free Software Foundation, Inc. This file is part of the GNU C Library and is also part of gnulib. Patches to this file should be submitted to both projects. diff --git a/lib/libc/include/generic-glibc/bits/getopt_ext.h b/lib/libc/include/generic-glibc/bits/getopt_ext.h index 01a59914649df70edb9e33f50b0efc2390f9c9c9..3fcd300bc4e5cc6af5121df149964afdb0925e64 100644 --- a/lib/libc/include/generic-glibc/bits/getopt_ext.h +++ b/lib/libc/include/generic-glibc/bits/getopt_ext.h @@ -1,5 +1,5 @@ /* Declarations for getopt (GNU extensions). - Copyright (C) 1989-2021 Free Software Foundation, Inc. + Copyright (C) 1989-2023 Free Software Foundation, Inc. This file is part of the GNU C Library and is also part of gnulib. Patches to this file should be submitted to both projects. diff --git a/lib/libc/include/generic-glibc/bits/getopt_posix.h b/lib/libc/include/generic-glibc/bits/getopt_posix.h index af5764650ba9bda40a086a15dbd84350d59d6923..5db63abd317c382e5286a281647bc9dc1cde4741 100644 --- a/lib/libc/include/generic-glibc/bits/getopt_posix.h +++ b/lib/libc/include/generic-glibc/bits/getopt_posix.h @@ -1,5 +1,5 @@ /* Declarations for getopt (POSIX compatibility shim). - Copyright (C) 1989-2021 Free Software Foundation, Inc. + Copyright (C) 1989-2023 Free Software Foundation, Inc. Unlike the bulk of the getopt implementation, this file is NOT part of gnulib. diff --git a/lib/libc/include/generic-glibc/bits/hwcap.h b/lib/libc/include/generic-glibc/bits/hwcap.h index 9e621f83de18a4ccce358d7b9e22472c52429da6..48f2e042d336239a76b5916a3fabcc51394b4ad2 100644 --- a/lib/libc/include/generic-glibc/bits/hwcap.h +++ b/lib/libc/include/generic-glibc/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/in.h b/lib/libc/include/generic-glibc/bits/in.h index 316fd888d91c3c68288aeed9d5ec7d1f6a3685c7..e4d2d05e8eb2dd8b6bfda23d234ec8d2f418e164 100644 --- a/lib/libc/include/generic-glibc/bits/in.h +++ b/lib/libc/include/generic-glibc/bits/in.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -128,6 +128,7 @@ #define IP_MSFILTER 41 #define IP_MULTICAST_ALL 49 #define IP_UNICAST_IF 50 +#define IP_LOCAL_PORT_RANGE 51 /* To select the IP level. */ #define SOL_IP 0 @@ -146,14 +147,6 @@ struct ip_opts char ip_opts[40]; /* Actually variable in size. */ }; -/* Like `struct ip_mreq' but including interface specification by index. */ -struct ip_mreqn - { - struct in_addr imr_multiaddr; /* IP multicast address of group */ - struct in_addr imr_address; /* local IP address of interface */ - int imr_ifindex; /* Interface index */ - }; - /* Structure used for IP_PKTINFO. */ struct in_pktinfo { diff --git a/lib/libc/include/generic-glibc/bits/indirect-return.h b/lib/libc/include/generic-glibc/bits/indirect-return.h index d6112e6fe10879680f9771c73f3d98de860bd659..ccf1b32e5da24142f80f627b2b7c8140c132b3c4 100644 --- a/lib/libc/include/generic-glibc/bits/indirect-return.h +++ b/lib/libc/include/generic-glibc/bits/indirect-return.h @@ -1,5 +1,5 @@ /* Definition of __INDIRECT_RETURN. Generic version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/inotify.h b/lib/libc/include/generic-glibc/bits/inotify.h index 167d55beb46f70d1a9208922b1755c2a3d7e5e7c..075dfcc0c1c8c5043afda4edac1036ff81ec97b5 100644 --- a/lib/libc/include/generic-glibc/bits/inotify.h +++ b/lib/libc/include/generic-glibc/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/ioctl-types.h b/lib/libc/include/generic-glibc/bits/ioctl-types.h index 312ec1c1250648e1a52b77619d427190321abfd8..c6ac52b363ab474988b16e663c0d39e205a6e0b0 100644 --- a/lib/libc/include/generic-glibc/bits/ioctl-types.h +++ b/lib/libc/include/generic-glibc/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/ioctls.h b/lib/libc/include/generic-glibc/bits/ioctls.h index 9b604b9c484162b89b5c56bd9fc9092f6441fb89..386edb867f0b3e01cbdc327206843b297316bbd8 100644 --- a/lib/libc/include/generic-glibc/bits/ioctls.h +++ b/lib/libc/include/generic-glibc/bits/ioctls.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/ipc-perm.h b/lib/libc/include/generic-glibc/bits/ipc-perm.h index eed58f2ff6a62cdf5396c1e0cc89c37244d0b720..b3ff8b80e351f24ad7f5e8463ff67a3d1b682490 100644 --- a/lib/libc/include/generic-glibc/bits/ipc-perm.h +++ b/lib/libc/include/generic-glibc/bits/ipc-perm.h @@ -1,5 +1,5 @@ /* struct ipc_perm definition. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/ipc.h b/lib/libc/include/generic-glibc/bits/ipc.h index 0681d1a86e31c95d75629c3610c5a3471868a06c..f2092493f28dc420110c7cd576b35cdc62e42899 100644 --- a/lib/libc/include/generic-glibc/bits/ipc.h +++ b/lib/libc/include/generic-glibc/bits/ipc.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/ipctypes.h b/lib/libc/include/generic-glibc/bits/ipctypes.h index 1c913e88f56af332854a4d8b4e92fac4a55b728f..926918669d037c7b2f170f17c404fe15ea17737b 100644 --- a/lib/libc/include/generic-glibc/bits/ipctypes.h +++ b/lib/libc/include/generic-glibc/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. Generic. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/iscanonical.h b/lib/libc/include/generic-glibc/bits/iscanonical.h index 2a97d3cdd8e2575cd298e0b553c62ec06580b596..8a9ae51a3c0525d324861c4e45c373d63ae100d2 100644 --- a/lib/libc/include/generic-glibc/bits/iscanonical.h +++ b/lib/libc/include/generic-glibc/bits/iscanonical.h @@ -1,5 +1,5 @@ /* Define iscanonical macro. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/libc-header-start.h b/lib/libc/include/generic-glibc/bits/libc-header-start.h index 3bb5101e0595d0c24d752de9e51453f5c5266514..04cf92576f5cc4dda0ecd844c9c10b26b767cfd9 100644 --- a/lib/libc/include/generic-glibc/bits/libc-header-start.h +++ b/lib/libc/include/generic-glibc/bits/libc-header-start.h @@ -1,5 +1,5 @@ /* Handle feature test macros at the start of a header. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/libm-simd-decl-stubs.h b/lib/libc/include/generic-glibc/bits/libm-simd-decl-stubs.h index f5fe338a6a7c9c25b4d702fff5c3754f6d3a8108..d04c6dc005e23326cc8bfc259c1073738898b190 100644 --- a/lib/libc/include/generic-glibc/bits/libm-simd-decl-stubs.h +++ b/lib/libc/include/generic-glibc/bits/libm-simd-decl-stubs.h @@ -1,5 +1,5 @@ /* Empty definitions required for __MATHCALL_VEC unfolding in mathcalls.h. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -98,4 +98,235 @@ #define __DECL_SIMD_powf32x #define __DECL_SIMD_powf64x #define __DECL_SIMD_powf128x + +#define __DECL_SIMD_acos +#define __DECL_SIMD_acosf +#define __DECL_SIMD_acosl +#define __DECL_SIMD_acosf16 +#define __DECL_SIMD_acosf32 +#define __DECL_SIMD_acosf64 +#define __DECL_SIMD_acosf128 +#define __DECL_SIMD_acosf32x +#define __DECL_SIMD_acosf64x +#define __DECL_SIMD_acosf128x + +#define __DECL_SIMD_atan +#define __DECL_SIMD_atanf +#define __DECL_SIMD_atanl +#define __DECL_SIMD_atanf16 +#define __DECL_SIMD_atanf32 +#define __DECL_SIMD_atanf64 +#define __DECL_SIMD_atanf128 +#define __DECL_SIMD_atanf32x +#define __DECL_SIMD_atanf64x +#define __DECL_SIMD_atanf128x + +#define __DECL_SIMD_asin +#define __DECL_SIMD_asinf +#define __DECL_SIMD_asinl +#define __DECL_SIMD_asinf16 +#define __DECL_SIMD_asinf32 +#define __DECL_SIMD_asinf64 +#define __DECL_SIMD_asinf128 +#define __DECL_SIMD_asinf32x +#define __DECL_SIMD_asinf64x +#define __DECL_SIMD_asinf128x + +#define __DECL_SIMD_hypot +#define __DECL_SIMD_hypotf +#define __DECL_SIMD_hypotl +#define __DECL_SIMD_hypotf16 +#define __DECL_SIMD_hypotf32 +#define __DECL_SIMD_hypotf64 +#define __DECL_SIMD_hypotf128 +#define __DECL_SIMD_hypotf32x +#define __DECL_SIMD_hypotf64x +#define __DECL_SIMD_hypotf128x + +#define __DECL_SIMD_exp2 +#define __DECL_SIMD_exp2f +#define __DECL_SIMD_exp2l +#define __DECL_SIMD_exp2f16 +#define __DECL_SIMD_exp2f32 +#define __DECL_SIMD_exp2f64 +#define __DECL_SIMD_exp2f128 +#define __DECL_SIMD_exp2f32x +#define __DECL_SIMD_exp2f64x +#define __DECL_SIMD_exp2f128x + +#define __DECL_SIMD_exp10 +#define __DECL_SIMD_exp10f +#define __DECL_SIMD_exp10l +#define __DECL_SIMD_exp10f16 +#define __DECL_SIMD_exp10f32 +#define __DECL_SIMD_exp10f64 +#define __DECL_SIMD_exp10f128 +#define __DECL_SIMD_exp10f32x +#define __DECL_SIMD_exp10f64x +#define __DECL_SIMD_exp10f128x + +#define __DECL_SIMD_cosh +#define __DECL_SIMD_coshf +#define __DECL_SIMD_coshl +#define __DECL_SIMD_coshf16 +#define __DECL_SIMD_coshf32 +#define __DECL_SIMD_coshf64 +#define __DECL_SIMD_coshf128 +#define __DECL_SIMD_coshf32x +#define __DECL_SIMD_coshf64x +#define __DECL_SIMD_coshf128x + +#define __DECL_SIMD_expm1 +#define __DECL_SIMD_expm1f +#define __DECL_SIMD_expm1l +#define __DECL_SIMD_expm1f16 +#define __DECL_SIMD_expm1f32 +#define __DECL_SIMD_expm1f64 +#define __DECL_SIMD_expm1f128 +#define __DECL_SIMD_expm1f32x +#define __DECL_SIMD_expm1f64x +#define __DECL_SIMD_expm1f128x + +#define __DECL_SIMD_sinh +#define __DECL_SIMD_sinhf +#define __DECL_SIMD_sinhl +#define __DECL_SIMD_sinhf16 +#define __DECL_SIMD_sinhf32 +#define __DECL_SIMD_sinhf64 +#define __DECL_SIMD_sinhf128 +#define __DECL_SIMD_sinhf32x +#define __DECL_SIMD_sinhf64x +#define __DECL_SIMD_sinhf128x + +#define __DECL_SIMD_cbrt +#define __DECL_SIMD_cbrtf +#define __DECL_SIMD_cbrtl +#define __DECL_SIMD_cbrtf16 +#define __DECL_SIMD_cbrtf32 +#define __DECL_SIMD_cbrtf64 +#define __DECL_SIMD_cbrtf128 +#define __DECL_SIMD_cbrtf32x +#define __DECL_SIMD_cbrtf64x +#define __DECL_SIMD_cbrtf128x + +#define __DECL_SIMD_atan2 +#define __DECL_SIMD_atan2f +#define __DECL_SIMD_atan2l +#define __DECL_SIMD_atan2f16 +#define __DECL_SIMD_atan2f32 +#define __DECL_SIMD_atan2f64 +#define __DECL_SIMD_atan2f128 +#define __DECL_SIMD_atan2f32x +#define __DECL_SIMD_atan2f64x +#define __DECL_SIMD_atan2f128x + +#define __DECL_SIMD_log10 +#define __DECL_SIMD_log10f +#define __DECL_SIMD_log10l +#define __DECL_SIMD_log10f16 +#define __DECL_SIMD_log10f32 +#define __DECL_SIMD_log10f64 +#define __DECL_SIMD_log10f128 +#define __DECL_SIMD_log10f32x +#define __DECL_SIMD_log10f64x +#define __DECL_SIMD_log10f128x + +#define __DECL_SIMD_log2 +#define __DECL_SIMD_log2f +#define __DECL_SIMD_log2l +#define __DECL_SIMD_log2f16 +#define __DECL_SIMD_log2f32 +#define __DECL_SIMD_log2f64 +#define __DECL_SIMD_log2f128 +#define __DECL_SIMD_log2f32x +#define __DECL_SIMD_log2f64x +#define __DECL_SIMD_log2f128x + +#define __DECL_SIMD_log1p +#define __DECL_SIMD_log1pf +#define __DECL_SIMD_log1pl +#define __DECL_SIMD_log1pf16 +#define __DECL_SIMD_log1pf32 +#define __DECL_SIMD_log1pf64 +#define __DECL_SIMD_log1pf128 +#define __DECL_SIMD_log1pf32x +#define __DECL_SIMD_log1pf64x +#define __DECL_SIMD_log1pf128x + +#define __DECL_SIMD_atanh +#define __DECL_SIMD_atanhf +#define __DECL_SIMD_atanhl +#define __DECL_SIMD_atanhf16 +#define __DECL_SIMD_atanhf32 +#define __DECL_SIMD_atanhf64 +#define __DECL_SIMD_atanhf128 +#define __DECL_SIMD_atanhf32x +#define __DECL_SIMD_atanhf64x +#define __DECL_SIMD_atanhf128x + +#define __DECL_SIMD_acosh +#define __DECL_SIMD_acoshf +#define __DECL_SIMD_acoshl +#define __DECL_SIMD_acoshf16 +#define __DECL_SIMD_acoshf32 +#define __DECL_SIMD_acoshf64 +#define __DECL_SIMD_acoshf128 +#define __DECL_SIMD_acoshf32x +#define __DECL_SIMD_acoshf64x +#define __DECL_SIMD_acoshf128x + +#define __DECL_SIMD_erf +#define __DECL_SIMD_erff +#define __DECL_SIMD_erfl +#define __DECL_SIMD_erff16 +#define __DECL_SIMD_erff32 +#define __DECL_SIMD_erff64 +#define __DECL_SIMD_erff128 +#define __DECL_SIMD_erff32x +#define __DECL_SIMD_erff64x +#define __DECL_SIMD_erff128x + +#define __DECL_SIMD_tanh +#define __DECL_SIMD_tanhf +#define __DECL_SIMD_tanhl +#define __DECL_SIMD_tanhf16 +#define __DECL_SIMD_tanhf32 +#define __DECL_SIMD_tanhf64 +#define __DECL_SIMD_tanhf128 +#define __DECL_SIMD_tanhf32x +#define __DECL_SIMD_tanhf64x +#define __DECL_SIMD_tanhf128x + +#define __DECL_SIMD_asinh +#define __DECL_SIMD_asinhf +#define __DECL_SIMD_asinhl +#define __DECL_SIMD_asinhf16 +#define __DECL_SIMD_asinhf32 +#define __DECL_SIMD_asinhf64 +#define __DECL_SIMD_asinhf128 +#define __DECL_SIMD_asinhf32x +#define __DECL_SIMD_asinhf64x +#define __DECL_SIMD_asinhf128x + +#define __DECL_SIMD_erfc +#define __DECL_SIMD_erfcf +#define __DECL_SIMD_erfcl +#define __DECL_SIMD_erfcf16 +#define __DECL_SIMD_erfcf32 +#define __DECL_SIMD_erfcf64 +#define __DECL_SIMD_erfcf128 +#define __DECL_SIMD_erfcf32x +#define __DECL_SIMD_erfcf64x +#define __DECL_SIMD_erfcf128x + +#define __DECL_SIMD_tan +#define __DECL_SIMD_tanf +#define __DECL_SIMD_tanl +#define __DECL_SIMD_tanf16 +#define __DECL_SIMD_tanf32 +#define __DECL_SIMD_tanf64 +#define __DECL_SIMD_tanf128 +#define __DECL_SIMD_tanf32x +#define __DECL_SIMD_tanf64x +#define __DECL_SIMD_tanf128x #endif \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/link.h b/lib/libc/include/generic-glibc/bits/link.h index ab974d6a472224bde4c1630486e762df92bc6af2..4859c16397a77ddf38efd487c079ed3ef3d2c738 100644 --- a/lib/libc/include/generic-glibc/bits/link.h +++ b/lib/libc/include/generic-glibc/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -46,7 +46,7 @@ typedef struct La_mips_32_retval typedef struct La_mips_64_regs { uint64_t lr_reg[8]; /* $a0 through $a7 */ - double lr_fpreg[8]; /* $f12 throgh $f19 */ + double lr_fpreg[8]; /* $f12 through $f19 */ uint64_t lr_ra; uint64_t lr_sp; } La_mips_64_regs; diff --git a/lib/libc/include/sparc-linux-gnu/bits/shmlba.h b/lib/libc/include/generic-glibc/bits/link_lavcurrent.h similarity index 67% rename from lib/libc/include/sparc-linux-gnu/bits/shmlba.h rename to lib/libc/include/generic-glibc/bits/link_lavcurrent.h index 0a04d45b51671ef996414e7e70beae478c1b0bc9..d391df4d9aed7ae62bf3f738a185ef0a8db506ea 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/shmlba.h +++ b/lib/libc/include/generic-glibc/bits/link_lavcurrent.h @@ -1,5 +1,6 @@ -/* Define SHMLBA. SPARC version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. +/* Data structure for communication from the run-time dynamic linker for + loaded ELF shared objects. LAV_CURRENT definition. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,14 +17,9 @@ License along with the GNU C Library; if not, see . */ -#ifndef _SYS_SHM_H -# error "Never use directly; include instead." +#ifndef _LINK_H +# error "Never include directly; use instead." #endif -__BEGIN_DECLS - -/* Segment low boundary address multiple. */ -#define SHMLBA (__getshmlba ()) -extern int __getshmlba (void) __attribute__ ((__const__)); - -__END_DECLS \ No newline at end of file +/* Version numbers for la_version handshake interface. */ +#define LAV_CURRENT 2 \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/local_lim.h b/lib/libc/include/generic-glibc/bits/local_lim.h index 0dccd480b197033f6f75c4d02bbc8a8ec83b3f61..dec28958804781e6b8ac6c4e89e2cc3a910d48b9 100644 --- a/lib/libc/include/generic-glibc/bits/local_lim.h +++ b/lib/libc/include/generic-glibc/bits/local_lim.h @@ -1,5 +1,5 @@ /* Minimum guaranteed maximum values for system limits. Linux version. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -73,7 +73,7 @@ /* We have no predefined limit on the number of threads. */ #undef PTHREAD_THREADS_MAX -/* Maximum amount by which a process can descrease its asynchronous I/O +/* Maximum amount by which a process can decrease its asynchronous I/O priority level. */ #define AIO_PRIO_DELTA_MAX 20 diff --git a/lib/libc/include/generic-glibc/bits/locale.h b/lib/libc/include/generic-glibc/bits/locale.h index 5ab3184a2aef390ec93362d947c7bcae2e07d926..971307bf371aa094fc2f8ca4b1969f3fb8d87da0 100644 --- a/lib/libc/include/generic-glibc/bits/locale.h +++ b/lib/libc/include/generic-glibc/bits/locale.h @@ -1,5 +1,5 @@ /* Definition of locale category symbol values. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/long-double.h b/lib/libc/include/generic-glibc/bits/long-double.h index 93a6e96059e2be6b15d0a779770ca960b705be3d..5065a57e4b8c9413a6c3e0dcc8d89c2e10470601 100644 --- a/lib/libc/include/generic-glibc/bits/long-double.h +++ b/lib/libc/include/generic-glibc/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. MIPS version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/math-vector.h b/lib/libc/include/generic-glibc/bits/math-vector.h index c817f744da31488cc2eaf1d6f1e0700f37ebd28f..0df3e75c842b2b54f7caa37406b85d655001d924 100644 --- a/lib/libc/include/generic-glibc/bits/math-vector.h +++ b/lib/libc/include/generic-glibc/bits/math-vector.h @@ -1,5 +1,5 @@ /* Platform-specific SIMD declarations of math functions. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/mathcalls-helper-functions.h b/lib/libc/include/generic-glibc/bits/mathcalls-helper-functions.h index 01fc8eb21280d54717846741672e7a8ac5a6cd4c..785f4d6d358edfc2254d0c186f2ed3fadb8cf8f6 100644 --- a/lib/libc/include/generic-glibc/bits/mathcalls-helper-functions.h +++ b/lib/libc/include/generic-glibc/bits/mathcalls-helper-functions.h @@ -1,5 +1,5 @@ /* Prototype declarations for math classification macros helpers. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/mathcalls-narrow.h b/lib/libc/include/generic-glibc/bits/mathcalls-narrow.h index 27a798760414b756e7132c83cc9007f20dceba06..789200d1c7b981cc7836ea05ef233d6b26581862 100644 --- a/lib/libc/include/generic-glibc/bits/mathcalls-narrow.h +++ b/lib/libc/include/generic-glibc/bits/mathcalls-narrow.h @@ -1,5 +1,5 @@ /* Declare functions returning a narrower type. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -26,8 +26,14 @@ __MATHCALL_NARROW (__MATHCALL_NAME (add), __MATHCALL_REDIR_NAME (add), 2); /* Divide. */ __MATHCALL_NARROW (__MATHCALL_NAME (div), __MATHCALL_REDIR_NAME (div), 2); +/* Fused multiply-add. */ +__MATHCALL_NARROW (__MATHCALL_NAME (fma), __MATHCALL_REDIR_NAME2 (fma), 3); + /* Multiply. */ __MATHCALL_NARROW (__MATHCALL_NAME (mul), __MATHCALL_REDIR_NAME (mul), 2); +/* Square root. */ +__MATHCALL_NARROW (__MATHCALL_NAME (sqrt), __MATHCALL_REDIR_NAME2 (sqrt), 1); + /* Subtract. */ __MATHCALL_NARROW (__MATHCALL_NAME (sub), __MATHCALL_REDIR_NAME (sub), 2); \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/mathcalls.h b/lib/libc/include/generic-glibc/bits/mathcalls.h index 526f3f3e53af3d6c2d3cbfc938af507c8283b6aa..63a4937b3521319a69a7213fa663b9e7ac187368 100644 --- a/lib/libc/include/generic-glibc/bits/mathcalls.h +++ b/lib/libc/include/generic-glibc/bits/mathcalls.h @@ -1,5 +1,5 @@ /* Prototype declarations for math functions; helper file for . - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -50,29 +50,29 @@ /* Trigonometric functions. */ /* Arc cosine of X. */ -__MATHCALL (acos,, (_Mdouble_ __x)); +__MATHCALL_VEC (acos,, (_Mdouble_ __x)); /* Arc sine of X. */ -__MATHCALL (asin,, (_Mdouble_ __x)); +__MATHCALL_VEC (asin,, (_Mdouble_ __x)); /* Arc tangent of X. */ -__MATHCALL (atan,, (_Mdouble_ __x)); +__MATHCALL_VEC (atan,, (_Mdouble_ __x)); /* Arc tangent of Y/X. */ -__MATHCALL (atan2,, (_Mdouble_ __y, _Mdouble_ __x)); +__MATHCALL_VEC (atan2,, (_Mdouble_ __y, _Mdouble_ __x)); /* Cosine of X. */ __MATHCALL_VEC (cos,, (_Mdouble_ __x)); /* Sine of X. */ __MATHCALL_VEC (sin,, (_Mdouble_ __x)); /* Tangent of X. */ -__MATHCALL (tan,, (_Mdouble_ __x)); +__MATHCALL_VEC (tan,, (_Mdouble_ __x)); /* Hyperbolic functions. */ /* Hyperbolic cosine of X. */ -__MATHCALL (cosh,, (_Mdouble_ __x)); +__MATHCALL_VEC (cosh,, (_Mdouble_ __x)); /* Hyperbolic sine of X. */ -__MATHCALL (sinh,, (_Mdouble_ __x)); +__MATHCALL_VEC (sinh,, (_Mdouble_ __x)); /* Hyperbolic tangent of X. */ -__MATHCALL (tanh,, (_Mdouble_ __x)); +__MATHCALL_VEC (tanh,, (_Mdouble_ __x)); #ifdef __USE_GNU /* Cosine and sine of X. */ @@ -82,11 +82,11 @@ __MATHDECL_VEC (void,sincos,, #if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 /* Hyperbolic arc cosine of X. */ -__MATHCALL (acosh,, (_Mdouble_ __x)); +__MATHCALL_VEC (acosh,, (_Mdouble_ __x)); /* Hyperbolic arc sine of X. */ -__MATHCALL (asinh,, (_Mdouble_ __x)); +__MATHCALL_VEC (asinh,, (_Mdouble_ __x)); /* Hyperbolic arc tangent of X. */ -__MATHCALL (atanh,, (_Mdouble_ __x)); +__MATHCALL_VEC (atanh,, (_Mdouble_ __x)); #endif /* Exponential and logarithmic functions. */ @@ -104,22 +104,22 @@ __MATHCALL (ldexp,, (_Mdouble_ __x, int __exponent)); __MATHCALL_VEC (log,, (_Mdouble_ __x)); /* Base-ten logarithm of X. */ -__MATHCALL (log10,, (_Mdouble_ __x)); +__MATHCALL_VEC (log10,, (_Mdouble_ __x)); /* Break VALUE into integral and fractional parts. */ __MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr)) __nonnull ((2)); #if __GLIBC_USE (IEC_60559_FUNCS_EXT_C2X) /* Compute exponent to base ten. */ -__MATHCALL (exp10,, (_Mdouble_ __x)); +__MATHCALL_VEC (exp10,, (_Mdouble_ __x)); #endif #if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 /* Return exp(X) - 1. */ -__MATHCALL (expm1,, (_Mdouble_ __x)); +__MATHCALL_VEC (expm1,, (_Mdouble_ __x)); /* Return log(1 + X). */ -__MATHCALL (log1p,, (_Mdouble_ __x)); +__MATHCALL_VEC (log1p,, (_Mdouble_ __x)); /* Return the base 2 signed integral exponent of X. */ __MATHCALL (logb,, (_Mdouble_ __x)); @@ -127,10 +127,10 @@ __MATHCALL (logb,, (_Mdouble_ __x)); #ifdef __USE_ISOC99 /* Compute base-2 exponential of X. */ -__MATHCALL (exp2,, (_Mdouble_ __x)); +__MATHCALL_VEC (exp2,, (_Mdouble_ __x)); /* Compute base-2 logarithm of X. */ -__MATHCALL (log2,, (_Mdouble_ __x)); +__MATHCALL_VEC (log2,, (_Mdouble_ __x)); #endif @@ -144,12 +144,12 @@ __MATHCALL (sqrt,, (_Mdouble_ __x)); #if defined __USE_XOPEN || defined __USE_ISOC99 /* Return `sqrt(X*X + Y*Y)'. */ -__MATHCALL (hypot,, (_Mdouble_ __x, _Mdouble_ __y)); +__MATHCALL_VEC (hypot,, (_Mdouble_ __x, _Mdouble_ __y)); #endif #if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 /* Return the cube root of X. */ -__MATHCALL (cbrt,, (_Mdouble_ __x)); +__MATHCALL_VEC (cbrt,, (_Mdouble_ __x)); #endif @@ -228,8 +228,8 @@ __MATHCALL (yn,, (int, _Mdouble_)); #if defined __USE_XOPEN || defined __USE_ISOC99 /* Error and gamma functions. */ -__MATHCALL (erf,, (_Mdouble_)); -__MATHCALL (erfc,, (_Mdouble_)); +__MATHCALL_VEC (erf,, (_Mdouble_)); +__MATHCALL_VEC (erfc,, (_Mdouble_)); __MATHCALL (lgamma,, (_Mdouble_)); #endif @@ -271,7 +271,7 @@ __MATHCALL (nextdown,, (_Mdouble_ __x)); __MATHCALL (nextup,, (_Mdouble_ __x)); # endif -/* Return the remainder of integer divison X / Y with infinite precision. */ +/* Return the remainder of integer division X / Y with infinite precision. */ __MATHCALL (remainder,, (_Mdouble_ __x, _Mdouble_ __y)); # ifdef __USE_ISOC99 @@ -328,11 +328,13 @@ __MATHDECL (long long int,llround,, (_Mdouble_ __x)); /* Return positive difference between X and Y. */ __MATHCALL (fdim,, (_Mdouble_ __x, _Mdouble_ __y)); +# if !__MATH_DECLARING_FLOATN || defined __USE_GNU || !__GLIBC_USE (ISOC2X) /* Return maximum numeric value from X and Y. */ __MATHCALLX (fmax,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); /* Return minimum numeric value from X and Y. */ __MATHCALLX (fmin,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); +# endif /* Multiply-add function computed as a ternary operation. */ __MATHCALL (fma,, (_Mdouble_ __x, _Mdouble_ __y, _Mdouble_ __z)); @@ -378,6 +380,32 @@ __MATHCALLX (fmaxmag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); __MATHCALLX (fminmag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); #endif +#if __GLIBC_USE (ISOC2X) +/* Return maximum value from X and Y. */ +__MATHCALLX (fmaximum,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return minimum value from X and Y. */ +__MATHCALLX (fminimum,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return maximum numeric value from X and Y. */ +__MATHCALLX (fmaximum_num,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return minimum numeric value from X and Y. */ +__MATHCALLX (fminimum_num,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return value with maximum magnitude. */ +__MATHCALLX (fmaximum_mag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return value with minimum magnitude. */ +__MATHCALLX (fminimum_mag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return numeric value with maximum magnitude. */ +__MATHCALLX (fmaximum_mag_num,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return numeric value with minimum magnitude. */ +__MATHCALLX (fminimum_mag_num,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); +#endif + #if __GLIBC_USE (IEC_60559_EXT) || __MATH_DECLARING_FLOATN /* Total order operation. */ __MATHDECL_1 (int, totalorder,, (const _Mdouble_ *__x, diff --git a/lib/libc/include/generic-glibc/bits/mathdef.h b/lib/libc/include/generic-glibc/bits/mathdef.h index f73024e1ffbbfbcedc76773271c425a56a2c60e7..bca002de35aa88178322f94abfdcf03b7d24004e 100644 --- a/lib/libc/include/generic-glibc/bits/mathdef.h +++ b/lib/libc/include/generic-glibc/bits/mathdef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/mman-linux.h b/lib/libc/include/generic-glibc/bits/mman-linux.h index 209a8678d5a08fcfa22fd07cae54f5b880bbfb9c..fccf35a1e563403ad742556d6c90b835599e56ca 100644 --- a/lib/libc/include/generic-glibc/bits/mman-linux.h +++ b/lib/libc/include/generic-glibc/bits/mman-linux.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux generic version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -41,26 +41,22 @@ /* Sharing types (must choose one and only one of these). */ #define MAP_SHARED 0x01 /* Share changes. */ #define MAP_PRIVATE 0x02 /* Changes are private. */ -#ifdef __USE_MISC -# define MAP_SHARED_VALIDATE 0x03 /* Share changes and validate +#define MAP_SHARED_VALIDATE 0x03 /* Share changes and validate extension flags. */ -# define MAP_TYPE 0x0f /* Mask for type of mapping. */ -#endif +#define MAP_TYPE 0x0f /* Mask for type of mapping. */ /* Other flags. */ #define MAP_FIXED 0x10 /* Interpret addr exactly. */ -#ifdef __USE_MISC -# define MAP_FILE 0 -# ifdef __MAP_ANONYMOUS -# define MAP_ANONYMOUS __MAP_ANONYMOUS /* Don't use a file. */ -# else -# define MAP_ANONYMOUS 0x20 /* Don't use a file. */ -# endif -# define MAP_ANON MAP_ANONYMOUS +#define MAP_FILE 0 +#ifdef __MAP_ANONYMOUS +# define MAP_ANONYMOUS __MAP_ANONYMOUS /* Don't use a file. */ +#else +# define MAP_ANONYMOUS 0x20 /* Don't use a file. */ +#endif +#define MAP_ANON MAP_ANONYMOUS /* When MAP_HUGETLB is set bits [26:31] encode the log2 of the huge page size. */ -# define MAP_HUGE_SHIFT 26 -# define MAP_HUGE_MASK 0x3f -#endif +#define MAP_HUGE_SHIFT 26 +#define MAP_HUGE_MASK 0x3f /* Flags to `msync'. */ #define MS_ASYNC 1 /* Sync memory asynchronously. */ @@ -82,13 +78,20 @@ # define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages. */ # define MADV_HUGEPAGE 14 /* Worth backing with hugepages. */ # define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages. */ -# define MADV_DONTDUMP 16 /* Explicity exclude from the core dump, +# define MADV_DONTDUMP 16 /* Explicitly exclude from the core dump, overrides the coredump filter bits. */ # define MADV_DODUMP 17 /* Clear the MADV_DONTDUMP flag. */ # define MADV_WIPEONFORK 18 /* Zero memory on fork, child only. */ # define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK. */ # define MADV_COLD 20 /* Deactivate these pages. */ # define MADV_PAGEOUT 21 /* Reclaim these pages. */ +# define MADV_POPULATE_READ 22 /* Populate (prefault) page tables + readable. */ +# define MADV_POPULATE_WRITE 23 /* Populate (prefault) page tables + writable. */ +# define MADV_DONTNEED_LOCKED 24 /* Like MADV_DONTNEED, but drop + locked pages too. */ +# define MADV_COLLAPSE 25 /* Synchronous hugepage collapse. */ # define MADV_HWPOISON 100 /* Poison a page for testing. */ #endif diff --git a/lib/libc/include/generic-glibc/bits/mman-map-flags-generic.h b/lib/libc/include/generic-glibc/bits/mman-map-flags-generic.h index 0b07c14a77ad5b9621c652782f0ad8aaeb8b34d2..11e2d10189570734b5f86607905fd38831dfc5c4 100644 --- a/lib/libc/include/generic-glibc/bits/mman-map-flags-generic.h +++ b/lib/libc/include/generic-glibc/bits/mman-map-flags-generic.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/generic version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -25,18 +25,16 @@ includes asm-generic/mman.h without any changes to the values of the MAP_* flags defined in that header. */ -#ifdef __USE_MISC -# define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ -# define MAP_DENYWRITE 0x00800 /* ETXTBSY. */ -# define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ -# define MAP_LOCKED 0x02000 /* Lock the mapping. */ -# define MAP_NORESERVE 0x04000 /* Don't check for reservations. */ -# define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ -# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ -# define MAP_STACK 0x20000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ -# define MAP_SYNC 0x80000 /* Perform synchronous page +#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ +#define MAP_DENYWRITE 0x00800 /* ETXTBSY. */ +#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ +#define MAP_LOCKED 0x02000 /* Lock the mapping. */ +#define MAP_NORESERVE 0x04000 /* Don't check for reservations. */ +#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ +#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ +#define MAP_STACK 0x20000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +#define MAP_SYNC 0x80000 /* Perform synchronous page faults for the mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap - underlying mapping. */ -#endif \ No newline at end of file +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap + underlying mapping. */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/mman-shared.h b/lib/libc/include/generic-glibc/bits/mman-shared.h index 5f2d11b307cef7ecdbb5a082ed27451c710635d5..c1d324dc31a7431f0d45414a69b4fce3c9659fd5 100644 --- a/lib/libc/include/generic-glibc/bits/mman-shared.h +++ b/lib/libc/include/generic-glibc/bits/mman-shared.h @@ -1,5 +1,5 @@ /* Memory-mapping-related declarations/definitions, not architecture-specific. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,6 +32,10 @@ # define MFD_ALLOW_SEALING 2U # define MFD_HUGETLB 4U # endif +# ifndef MFD_NOEXEC_SEAL +# define MFD_NOEXEC_SEAL 8U +# define MFD_EXEC 0x10U +# endif /* Flags for mlock2. */ # ifndef MLOCK_ONFAULT diff --git a/lib/libc/include/generic-glibc/bits/mman.h b/lib/libc/include/generic-glibc/bits/mman.h index 0eefbf5fb5abccc81ea574ffc2cc4864fa94bb36..addb5b1033f8521f9eff5c0e427fd5442d201e56 100644 --- a/lib/libc/include/generic-glibc/bits/mman.h +++ b/lib/libc/include/generic-glibc/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/generic version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/sigstack.h b/lib/libc/include/generic-glibc/bits/mman_ext.h similarity index 60% rename from lib/libc/include/sparcv9-linux-gnu/bits/sigstack.h rename to lib/libc/include/generic-glibc/bits/mman_ext.h index f2371950e290c1427a9758287af0be999b05047d..c470c06200f826832940f1cc7cd4bbbb2a1868d4 100644 --- a/lib/libc/include/sparcv9-linux-gnu/bits/sigstack.h +++ b/lib/libc/include/generic-glibc/bits/mman_ext.h @@ -1,5 +1,5 @@ -/* sigstack, sigaltstack definitions. - Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* System-specific extensions of , Linux version. + Copyright (C) 2022-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,17 +16,17 @@ License along with the GNU C Library; if not, see . */ -#ifndef _BITS_SIGSTACK_H -#define _BITS_SIGSTACK_H 1 - -#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H -# error "Never include this file directly. Use instead" +#ifndef _SYS_MMAN_H +# error "Never include directly; use instead." #endif -/* Minimum stack size for a signal handler. */ -#define MINSIGSTKSZ 4096 +#ifdef __USE_GNU +struct iovec; +extern __ssize_t process_madvise (int __pid_fd, const struct iovec *__iov, + size_t __count, int __advice, + unsigned __flags) + __THROW; -/* System default stack size. */ -#define SIGSTKSZ 16384 +extern int process_mrelease (int pidfd, unsigned int flags) __THROW; -#endif /* bits/sigstack.h */ \ No newline at end of file +#endif /* __USE_GNU */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/monetary-ldbl.h b/lib/libc/include/generic-glibc/bits/monetary-ldbl.h index 312338cb0200bf2f74080362d47332a9757456c6..1d9b5f5db68f8aa3dd1d0f5e399bb50e3460fb83 100644 --- a/lib/libc/include/generic-glibc/bits/monetary-ldbl.h +++ b/lib/libc/include/generic-glibc/bits/monetary-ldbl.h @@ -1,5 +1,5 @@ /* -mlong-double-64 compatibility mode for monetary functions. - Copyright (C) 2006-2021 Free Software Foundation, Inc. + Copyright (C) 2006-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/mqueue.h b/lib/libc/include/generic-glibc/bits/mqueue.h index 87ef1ccf9a05670feb81be0776f5ffc8b153fa46..0ce1225d402bfa3d573dd952da2305ed45444bc7 100644 --- a/lib/libc/include/generic-glibc/bits/mqueue.h +++ b/lib/libc/include/generic-glibc/bits/mqueue.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/mqueue2.h b/lib/libc/include/generic-glibc/bits/mqueue2.h index 63f84158e22820749d26dbda71fbf73a0e6eaecd..c7eb0fdd0444024e320023701918ebef69743c98 100644 --- a/lib/libc/include/generic-glibc/bits/mqueue2.h +++ b/lib/libc/include/generic-glibc/bits/mqueue2.h @@ -1,5 +1,5 @@ /* Checking macros for mq functions. - Copyright (C) 2007-2021 Free Software Foundation, Inc. + Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/msq.h b/lib/libc/include/generic-glibc/bits/msq.h index ec07f9f195156c66e9b6d926a78f9262d56498e6..506311a7e5ab875d0da8f08ce98d5efd70ebca4e 100644 --- a/lib/libc/include/generic-glibc/bits/msq.h +++ b/lib/libc/include/generic-glibc/bits/msq.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/netdb.h b/lib/libc/include/generic-glibc/bits/netdb.h index 9bb0a26493c9e6fc1c485712f9a0148d947db35f..87fb10035311c2799da259375799c7fe5f936443 100644 --- a/lib/libc/include/generic-glibc/bits/netdb.h +++ b/lib/libc/include/generic-glibc/bits/netdb.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/param.h b/lib/libc/include/generic-glibc/bits/param.h index 77a458a39471550e229bddcc4ef0f728a9130296..9780c258d2fb7f628a9f09fde0eb1c6448149383 100644 --- a/lib/libc/include/generic-glibc/bits/param.h +++ b/lib/libc/include/generic-glibc/bits/param.h @@ -1,5 +1,5 @@ /* Old-style Unix parameters and limits. Linux version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/platform/x86.h b/lib/libc/include/generic-glibc/bits/platform/x86.h index 214f2a93a8e10164244cfdb5817d22a01463b4c0..f8051770b392340f6ed29c86bc1b4132c25b6de5 100644 --- a/lib/libc/include/generic-glibc/bits/platform/x86.h +++ b/lib/libc/include/generic-glibc/bits/platform/x86.h @@ -1,6 +1,6 @@ /* Constants and data structures for x86 CPU features. This file is part of the GNU C Library. - Copyright (C) 2008-2020 Free Software Foundation, Inc. + Copyright (C) 2008-2023 Free Software Foundation, Inc. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -181,13 +181,13 @@ enum x86_cpu_AVX512_BITALG = x86_cpu_index_7_ecx + 12, x86_cpu_INDEX_7_ECX_13 = x86_cpu_index_7_ecx + 13, x86_cpu_AVX512_VPOPCNTDQ = x86_cpu_index_7_ecx + 14, - x86_cpu_INDEX_7_ECX_1 = x86_cpu_index_7_ecx + 15, - x86_cpu_INDEX_7_ECX_16 = x86_cpu_index_7_ecx + 16, + x86_cpu_INDEX_7_ECX_15 = x86_cpu_index_7_ecx + 15, + x86_cpu_LA57 = x86_cpu_index_7_ecx + 16, /* Note: Bits 17-21: The value of MAWAU used by the BNDLDX and BNDSTX instructions in 64-bit mode. */ x86_cpu_RDPID = x86_cpu_index_7_ecx + 22, x86_cpu_KL = x86_cpu_index_7_ecx + 23, - x86_cpu_INDEX_7_ECX_24 = x86_cpu_index_7_ecx + 24, + x86_cpu_BUS_LOCK_DETECT = x86_cpu_index_7_ecx + 24, x86_cpu_CLDEMOTE = x86_cpu_index_7_ecx + 25, x86_cpu_INDEX_7_ECX_26 = x86_cpu_index_7_ecx + 26, x86_cpu_MOVDIRI = x86_cpu_index_7_ecx + 27, @@ -201,7 +201,7 @@ enum + cpuid_register_index_edx * 8 * sizeof (unsigned int)), x86_cpu_INDEX_7_EDX_0 = x86_cpu_index_7_edx, - x86_cpu_INDEX_7_EDX_1 = x86_cpu_index_7_edx + 1, + x86_cpu_SGX_KEYS = x86_cpu_index_7_edx + 1, x86_cpu_AVX512_4VNNIW = x86_cpu_index_7_edx + 2, x86_cpu_AVX512_4FMAPS = x86_cpu_index_7_edx + 3, x86_cpu_FSRM = x86_cpu_index_7_edx + 4, @@ -213,13 +213,13 @@ enum x86_cpu_MD_CLEAR = x86_cpu_index_7_edx + 10, x86_cpu_RTM_ALWAYS_ABORT = x86_cpu_index_7_edx + 11, x86_cpu_INDEX_7_EDX_12 = x86_cpu_index_7_edx + 12, - x86_cpu_INDEX_7_EDX_13 = x86_cpu_index_7_edx + 13, + x86_cpu_RTM_FORCE_ABORT = x86_cpu_index_7_edx + 13, x86_cpu_SERIALIZE = x86_cpu_index_7_edx + 14, x86_cpu_HYBRID = x86_cpu_index_7_edx + 15, x86_cpu_TSXLDTRK = x86_cpu_index_7_edx + 16, x86_cpu_INDEX_7_EDX_17 = x86_cpu_index_7_edx + 17, x86_cpu_PCONFIG = x86_cpu_index_7_edx + 18, - x86_cpu_INDEX_7_EDX_19 = x86_cpu_index_7_edx + 19, + x86_cpu_LBR = x86_cpu_index_7_edx + 19, x86_cpu_IBT = x86_cpu_index_7_edx + 20, x86_cpu_INDEX_7_EDX_21 = x86_cpu_index_7_edx + 21, x86_cpu_AMX_BF16 = x86_cpu_index_7_edx + 22, @@ -288,13 +288,31 @@ enum = (CPUID_INDEX_7_ECX_1 * 8 * 4 * sizeof (unsigned int) + cpuid_register_index_eax * 8 * sizeof (unsigned int)), + x86_cpu_RAO_INT = x86_cpu_index_7_ecx_1_eax + 3, x86_cpu_AVX_VNNI = x86_cpu_index_7_ecx_1_eax + 4, x86_cpu_AVX512_BF16 = x86_cpu_index_7_ecx_1_eax + 5, + x86_cpu_LASS = x86_cpu_index_7_ecx_1_eax + 6, + x86_cpu_CMPCCXADD = x86_cpu_index_7_ecx_1_eax + 7, + x86_cpu_ArchPerfmonExt = x86_cpu_index_7_ecx_1_eax + 8, x86_cpu_FZLRM = x86_cpu_index_7_ecx_1_eax + 10, x86_cpu_FSRS = x86_cpu_index_7_ecx_1_eax + 11, x86_cpu_FSRCS = x86_cpu_index_7_ecx_1_eax + 12, + x86_cpu_WRMSRNS = x86_cpu_index_7_ecx_1_eax + 19, + x86_cpu_AMX_FP16 = x86_cpu_index_7_ecx_1_eax + 21, x86_cpu_HRESET = x86_cpu_index_7_ecx_1_eax + 22, + x86_cpu_AVX_IFMA = x86_cpu_index_7_ecx_1_eax + 23, x86_cpu_LAM = x86_cpu_index_7_ecx_1_eax + 26, + x86_cpu_MSRLIST = x86_cpu_index_7_ecx_1_eax + 27, + + x86_cpu_index_7_ecx_1_edx + = (CPUID_INDEX_7_ECX_1 * 8 * 4 * sizeof (unsigned int) + + cpuid_register_index_edx * 8 * sizeof (unsigned int)), + + x86_cpu_AVX_VNNI_INT8 = x86_cpu_index_7_ecx_1_edx + 4, + x86_cpu_AVX_NE_CONVERT = x86_cpu_index_7_ecx_1_edx + 5, + x86_cpu_AMX_COMPLEX = x86_cpu_index_7_ecx_1_edx + 8, + x86_cpu_PREFETCHI = x86_cpu_index_7_ecx_1_edx + 14, + x86_cpu_APX_F = x86_cpu_index_7_ecx_1_edx + 21, x86_cpu_index_19_ebx = (CPUID_INDEX_19 * 8 * 4 * sizeof (unsigned int) diff --git a/lib/libc/include/generic-glibc/bits/poll.h b/lib/libc/include/generic-glibc/bits/poll.h index bcfddcac4d44e3f24b9b699094393a7d7c3e682d..ab960fcdffbf0afae6f75b7ecd05ef01a0ab1d4b 100644 --- a/lib/libc/include/generic-glibc/bits/poll.h +++ b/lib/libc/include/generic-glibc/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/poll2.h b/lib/libc/include/generic-glibc/bits/poll2.h index 10bcf5b7f18d6247f23a11ab5c3a0cd7d728bd6d..6be68c7c4641c3fbaca7ecb7a6b735beefd659a3 100644 --- a/lib/libc/include/generic-glibc/bits/poll2.h +++ b/lib/libc/include/generic-glibc/bits/poll2.h @@ -1,5 +1,5 @@ /* Checking macros for poll functions. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -33,23 +33,40 @@ extern int __REDIRECT (__poll_chk_warn, (struct pollfd *__fds, nfds_t __nfds, __poll_chk) __warnattr ("poll called with fds buffer too small file nfds entries"); -__fortify_function __attr_access ((__write_only__, 1, 2)) int +__fortify_function __fortified_attr_access (__write_only__, 1, 2) int poll (struct pollfd *__fds, nfds_t __nfds, int __timeout) { - if (__glibc_objsize (__fds) != (__SIZE_TYPE__) -1) - { - if (! __builtin_constant_p (__nfds)) - return __poll_chk (__fds, __nfds, __timeout, __glibc_objsize (__fds)); - else if (__glibc_objsize (__fds) / sizeof (*__fds) < __nfds) - return __poll_chk_warn (__fds, __nfds, __timeout, - __glibc_objsize (__fds)); - } - - return __poll_alias (__fds, __nfds, __timeout); + return __glibc_fortify (poll, __nfds, sizeof (*__fds), + __glibc_objsize (__fds), + __fds, __nfds, __timeout); } #ifdef __USE_GNU +# ifdef __USE_TIME_BITS64 +extern int __REDIRECT (__ppoll64_alias, (struct pollfd *__fds, nfds_t __nfds, + const struct timespec *__timeout, + const __sigset_t *__ss), __ppoll64); +extern int __ppoll64_chk (struct pollfd *__fds, nfds_t __nfds, + const struct timespec *__timeout, + const __sigset_t *__ss, __SIZE_TYPE__ __fdslen) + __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT (__ppoll64_chk_warn, (struct pollfd *__fds, nfds_t __n, + const struct timespec *__timeout, + const __sigset_t *__ss, + __SIZE_TYPE__ __fdslen), + __ppoll64_chk) + __warnattr ("ppoll called with fds buffer too small file nfds entries"); + +__fortify_function __fortified_attr_access (__write_only__, 1, 2) int +ppoll (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout, + const __sigset_t *__ss) +{ + return __glibc_fortify (ppoll64, __nfds, sizeof (*__fds), + __glibc_objsize (__fds), + __fds, __nfds, __timeout, __ss); +} +# else extern int __REDIRECT (__ppoll_alias, (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout, const __sigset_t *__ss), ppoll); @@ -64,22 +81,15 @@ extern int __REDIRECT (__ppoll_chk_warn, (struct pollfd *__fds, nfds_t __nfds, __ppoll_chk) __warnattr ("ppoll called with fds buffer too small file nfds entries"); -__fortify_function __attr_access ((__write_only__, 1, 2)) int +__fortify_function __fortified_attr_access (__write_only__, 1, 2) int ppoll (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout, const __sigset_t *__ss) { - if (__glibc_objsize (__fds) != (__SIZE_TYPE__) -1) - { - if (! __builtin_constant_p (__nfds)) - return __ppoll_chk (__fds, __nfds, __timeout, __ss, - __glibc_objsize (__fds)); - else if (__glibc_objsize (__fds) / sizeof (*__fds) < __nfds) - return __ppoll_chk_warn (__fds, __nfds, __timeout, __ss, - __glibc_objsize (__fds)); - } - - return __ppoll_alias (__fds, __nfds, __timeout, __ss); + return __glibc_fortify (ppoll, __nfds, sizeof (*__fds), + __glibc_objsize (__fds), + __fds, __nfds, __timeout, __ss); } +# endif #endif __END_DECLS \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/posix1_lim.h b/lib/libc/include/generic-glibc/bits/posix1_lim.h index a6a8178b01ea7abe82291afaece67624f0943160..d55620705286d7e18d99303e90cebda787538ee3 100644 --- a/lib/libc/include/generic-glibc/bits/posix1_lim.h +++ b/lib/libc/include/generic-glibc/bits/posix1_lim.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -134,7 +134,7 @@ /* Maximum number of characters in a tty name. */ #define _POSIX_TTY_NAME_MAX 9 -/* Maximum length of a timezone name (element of `tzname'). */ +/* Maximum length of a time zone abbreviation (element of 'tzname'). */ #ifdef __USE_XOPEN2K # define _POSIX_TZNAME_MAX 6 #else diff --git a/lib/libc/include/generic-glibc/bits/posix2_lim.h b/lib/libc/include/generic-glibc/bits/posix2_lim.h index 259ba04141ff649679b1fbd2e24d6f51f388d473..defb8376b00b8a0ad52fe35c31eca96a78c29d5a 100644 --- a/lib/libc/include/generic-glibc/bits/posix2_lim.h +++ b/lib/libc/include/generic-glibc/bits/posix2_lim.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/posix_opt.h b/lib/libc/include/generic-glibc/bits/posix_opt.h index 14338737d821de75c89ffe9fb590163bea0c9697..1be7043d0bfe460ad7002af2ff13b8e35bdbbdb1 100644 --- a/lib/libc/include/generic-glibc/bits/posix_opt.h +++ b/lib/libc/include/generic-glibc/bits/posix_opt.h @@ -1,5 +1,5 @@ /* Define POSIX options for Linux. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -84,7 +84,7 @@ /* We support user-defined stacks. */ #define _POSIX_THREAD_ATTR_STACKADDR 200809L -/* We support priority inheritence. */ +/* We support priority inheritance. */ #define _POSIX_THREAD_PRIO_INHERIT 200809L /* We support priority protection, though only for non-robust @@ -92,7 +92,7 @@ #define _POSIX_THREAD_PRIO_PROTECT 200809L #ifdef __USE_XOPEN2K8 -/* We support priority inheritence for robust mutexes. */ +/* We support priority inheritance for robust mutexes. */ # define _POSIX_THREAD_ROBUST_PRIO_INHERIT 200809L /* We do not support priority protection for robust mutexes. */ diff --git a/lib/libc/include/generic-glibc/bits/ppc.h b/lib/libc/include/generic-glibc/bits/ppc.h index f2cf29b94ce58447ee3600581337e913cb8185cf..7a28bf261c4edd18c25d256ea3c8205c99a70fc4 100644 --- a/lib/libc/include/generic-glibc/bits/ppc.h +++ b/lib/libc/include/generic-glibc/bits/ppc.h @@ -1,5 +1,5 @@ /* Facilities specific to the PowerPC architecture on Linux - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/printf-ldbl.h b/lib/libc/include/generic-glibc/bits/printf-ldbl.h index bbcd0facb3f8d4653f0978514bceaccce3873605..0f1d406e1e1e0734aa778ad0961d22f45e5e093b 100644 --- a/lib/libc/include/generic-glibc/bits/printf-ldbl.h +++ b/lib/libc/include/generic-glibc/bits/printf-ldbl.h @@ -1,5 +1,5 @@ /* -mlong-double-64 compatibility mode for functions. - Copyright (C) 2006-2021 Free Software Foundation, Inc. + Copyright (C) 2006-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/procfs-extra.h b/lib/libc/include/generic-glibc/bits/procfs-extra.h index e22e0c3277f6bea1518729fe75cedeabdf89e81c..38f764af5fec2659fe5344d606dbe34c39a5b5e0 100644 --- a/lib/libc/include/generic-glibc/bits/procfs-extra.h +++ b/lib/libc/include/generic-glibc/bits/procfs-extra.h @@ -1,5 +1,5 @@ /* Extra sys/procfs.h definitions. Generic Linux version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/generic-glibc/bits/procfs-id.h b/lib/libc/include/generic-glibc/bits/procfs-id.h index 898230c97d8192e5acb42bce812c8b0710e2cef8..26a2efbdbd43042e1f109cbb42e31910b2412931 100644 --- a/lib/libc/include/generic-glibc/bits/procfs-id.h +++ b/lib/libc/include/generic-glibc/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. Generic Linux version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/generic-glibc/bits/procfs-prregset.h b/lib/libc/include/generic-glibc/bits/procfs-prregset.h index 10f855a56065e85e1b8a61744eacde4e86c72119..18127f7eb379bb662587a7932299e5b1b0afe295 100644 --- a/lib/libc/include/generic-glibc/bits/procfs-prregset.h +++ b/lib/libc/include/generic-glibc/bits/procfs-prregset.h @@ -1,5 +1,5 @@ /* Types of prgregset_t and prfpregset_t. Generic Linux version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/generic-glibc/bits/procfs.h b/lib/libc/include/generic-glibc/bits/procfs.h index d309e364896b0f2cf6f45476b58e67af9fd1e1f1..ed08a9ae3dd2bada0dc222fabc43760c261af201 100644 --- a/lib/libc/include/generic-glibc/bits/procfs.h +++ b/lib/libc/include/generic-glibc/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. MIPS version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/pthread_stack_min-dynamic.h b/lib/libc/include/generic-glibc/bits/pthread_stack_min-dynamic.h index a01a2eb280651993a2c1696e5ba42322fb141b7f..09d1c8b873d9807e70e9934e815f9524660a8aa3 100644 --- a/lib/libc/include/generic-glibc/bits/pthread_stack_min-dynamic.h +++ b/lib/libc/include/generic-glibc/bits/pthread_stack_min-dynamic.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN, possibly dynamic. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/pthread_stack_min.h b/lib/libc/include/generic-glibc/bits/pthread_stack_min.h index af78521be76497c01d73ba80ff4e1f31c42ee6d7..9085496e9899914ef06a0212fd8bc7a4995b5d2c 100644 --- a/lib/libc/include/generic-glibc/bits/pthread_stack_min.h +++ b/lib/libc/include/generic-glibc/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. Linux version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/pthreadtypes-arch.h b/lib/libc/include/generic-glibc/bits/pthreadtypes-arch.h index 645c708f135e76a9d4f4b329a1c99bfb3f56ecfd..4f52badcceecb4251197aae3f4141a2b3dca3e4b 100644 --- a/lib/libc/include/generic-glibc/bits/pthreadtypes-arch.h +++ b/lib/libc/include/generic-glibc/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. Generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/generic-glibc/bits/pthreadtypes.h b/lib/libc/include/generic-glibc/bits/pthreadtypes.h index 0f8308ca31aae3220d01e60e966ef73cc4b88b33..67a7d7964065d8d81a4f2570160fd4669185422c 100644 --- a/lib/libc/include/generic-glibc/bits/pthreadtypes.h +++ b/lib/libc/include/generic-glibc/bits/pthreadtypes.h @@ -1,5 +1,5 @@ /* Declaration of common pthread types for all architectures. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/ptrace-shared.h b/lib/libc/include/generic-glibc/bits/ptrace-shared.h index 19b127b7e1bce5eac795e8b2f39bd6316f0f54fd..1f432d1aa3975e5612352bdc493473f6f5d613dc 100644 --- a/lib/libc/include/generic-glibc/bits/ptrace-shared.h +++ b/lib/libc/include/generic-glibc/bits/ptrace-shared.h @@ -1,6 +1,6 @@ /* `ptrace' debugger support interface. Linux version, not architecture-specific. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -120,6 +120,16 @@ struct __ptrace_syscall_info }; }; +/* Results of PTRACE_GET_RSEQ_CONFIGURATION. */ +struct __ptrace_rseq_configuration +{ + __uint64_t rseq_abi_pointer; + __uint32_t rseq_abi_size; + __uint32_t signature; + __uint32_t flags; + __uint32_t pad; +}; + /* Perform process tracing functions. REQUEST is one of the values above, and determines the action to be taken. For all requests except PTRACE_TRACEME, PID specifies the process to be diff --git a/lib/libc/include/generic-glibc/bits/resource.h b/lib/libc/include/generic-glibc/bits/resource.h index 613360fe29a462c51a21ad056c2b515b0bad43fc..21cc08e77a999f291f11f674aef08716e4c4d69c 100644 --- a/lib/libc/include/generic-glibc/bits/resource.h +++ b/lib/libc/include/generic-glibc/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/rseq.h b/lib/libc/include/generic-glibc/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..3f7e6fd758504f921232d7c0d833b22298299cf0 --- /dev/null +++ b/lib/libc/include/generic-glibc/bits/rseq.h @@ -0,0 +1,62 @@ +/* Restartable Sequences Linux mips architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the break instruction. The instruction pattern is: + + On MIPS: + 0350000d break 0x350 + + On nanoMIPS: + 00100350 break 0x350 + + On microMIPS: + 0000d407 break 0x350 + + For nanoMIPS32 and microMIPS, the instruction stream is encoded as + 16-bit halfwords, so the signature halfwords need to be swapped + accordingly for little-endian. */ + +#if defined (__nanomips__) +# ifdef __MIPSEL__ +# define RSEQ_SIG 0x03500010 +# else +# define RSEQ_SIG 0x00100350 +# endif +#elif defined (__mips_micromips) +# ifdef __MIPSEL__ +# define RSEQ_SIG 0xd4070000 +# else +# define RSEQ_SIG 0x0000d407 +# endif +#elif defined (__mips__) +# define RSEQ_SIG 0x0350000d +#else +/* Unknown MIPS architecture. */ +#endif \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/sched.h b/lib/libc/include/generic-glibc/bits/sched.h index 41bf119703e663d93d8053230b5cb2d0588da723..aaeb4950a019e85e878b2a28e062e46f570842dc 100644 --- a/lib/libc/include/generic-glibc/bits/sched.h +++ b/lib/libc/include/generic-glibc/bits/sched.h @@ -1,6 +1,6 @@ /* Definitions of constants and data structure for POSIX 1003.1b-1993 scheduling interface. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -71,6 +71,10 @@ # define CLONE_NEWPID 0x20000000 /* New pid namespace. */ # define CLONE_NEWNET 0x40000000 /* New network namespace. */ # define CLONE_IO 0x80000000 /* Clone I/O context. */ + +/* cloning flags intersect with CSIGNAL so can be used only with unshare and + clone3 syscalls. */ +#define CLONE_NEWTIME 0x00000080 /* New time namespace */ #endif #include diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/procfs-id.h b/lib/libc/include/generic-glibc/bits/select-decl.h similarity index 60% rename from lib/libc/include/sparcv9-linux-gnu/bits/procfs-id.h rename to lib/libc/include/generic-glibc/bits/select-decl.h index 3bdb35d0f99ffdc1ad60c5d8f869a868b5d8683c..19d1335116e25f91c5a9db715f4a4c43c6a813d3 100644 --- a/lib/libc/include/sparcv9-linux-gnu/bits/procfs-id.h +++ b/lib/libc/include/generic-glibc/bits/select-decl.h @@ -1,6 +1,5 @@ -/* Types of pr_uid and pr_gid in struct elf_prpsinfo. SPARC version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. - +/* Checking routines for select functions. Declaration only. + Copyright (C) 2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -17,14 +16,16 @@ License along with the GNU C Library; if not, see . */ -#ifndef _SYS_PROCFS_H -# error "Never include directly; use instead." +#ifndef _BITS_SELECT_DECL_H +#define _BITS_SELECT_DECL_H 1 + +#ifndef _SYS_SELECT_H +# error "Never include directly; use instead." #endif -#if __WORDSIZE == 64 -typedef unsigned int __pr_uid_t; -typedef unsigned int __pr_gid_t; -#else -typedef unsigned short int __pr_uid_t; -typedef unsigned short int __pr_gid_t; +/* Helper functions to issue warnings and errors when needed. */ +extern long int __fdelt_chk (long int __d); +extern long int __fdelt_warn (long int __d) + __warnattr ("bit outside of fd_set selected"); + #endif \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/select.h b/lib/libc/include/generic-glibc/bits/select.h index f2581c204545a828710f72ab57129406267f1917..684c93c78a489eff56f8bfd85e57c228c71a2ca3 100644 --- a/lib/libc/include/generic-glibc/bits/select.h +++ b/lib/libc/include/generic-glibc/bits/select.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/select2.h b/lib/libc/include/generic-glibc/bits/select2.h index 53d894ceb0e383cd1e8de8564541e713e072f791..b5577567dfdfe10c0c5447b5a45c97589f1fefbd 100644 --- a/lib/libc/include/generic-glibc/bits/select2.h +++ b/lib/libc/include/generic-glibc/bits/select2.h @@ -1,5 +1,5 @@ /* Checking macros for select functions. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,10 +20,8 @@ # error "Never include directly; use instead." #endif -/* Helper functions to issue warnings and errors when needed. */ -extern long int __fdelt_chk (long int __d); -extern long int __fdelt_warn (long int __d) - __warnattr ("bit outside of fd_set selected"); +#include + #undef __FD_ELT #define __FD_ELT(d) \ __extension__ \ diff --git a/lib/libc/include/generic-glibc/bits/sem.h b/lib/libc/include/generic-glibc/bits/sem.h index efab0d3b07e55c3b5958dca89ae896d025b8551e..dc0bec8396d26d6d558f071d7826be4292ea882a 100644 --- a/lib/libc/include/generic-glibc/bits/sem.h +++ b/lib/libc/include/generic-glibc/bits/sem.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/semaphore.h b/lib/libc/include/generic-glibc/bits/semaphore.h index 55241317561064dbc3a366eafacaeb34238b400f..54a7c74d9013ba7203249b4b9ac35831a5faf308 100644 --- a/lib/libc/include/generic-glibc/bits/semaphore.h +++ b/lib/libc/include/generic-glibc/bits/semaphore.h @@ -1,5 +1,5 @@ /* Generic POSIX semaphore type layout - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/setjmp.h b/lib/libc/include/generic-glibc/bits/setjmp.h index 1eba8c81fad24806b3728e6ea796bf6d59552fc2..92cdc008a8846b814d0dc5d02d25ee58099b2f29 100644 --- a/lib/libc/include/generic-glibc/bits/setjmp.h +++ b/lib/libc/include/generic-glibc/bits/setjmp.h @@ -1,5 +1,5 @@ /* Define the machine-dependent type `jmp_buf'. MIPS version. - Copyright (C) 1992-2021 Free Software Foundation, Inc. + Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/setjmp2.h b/lib/libc/include/generic-glibc/bits/setjmp2.h index a0dbc65c284e8ae8c11420f45f2f95c99361c0ce..fcf58ea15f02d2a3df24e1e32978800cda413ce9 100644 --- a/lib/libc/include/generic-glibc/bits/setjmp2.h +++ b/lib/libc/include/generic-glibc/bits/setjmp2.h @@ -1,5 +1,5 @@ /* Checking macros for setjmp functions. - Copyright (C) 2009-2021 Free Software Foundation, Inc. + Copyright (C) 2009-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/shm.h b/lib/libc/include/generic-glibc/bits/shm.h index 28b171ed98e5cd872ff6530b8ae261290d767b77..af5e636fde70b4abf67b58b8abdef689d021f01f 100644 --- a/lib/libc/include/generic-glibc/bits/shm.h +++ b/lib/libc/include/generic-glibc/bits/shm.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/shmlba.h b/lib/libc/include/generic-glibc/bits/shmlba.h index 1519a2965ca0459e6ddbadec75e5d0d1e9f37fc4..7fc321d6ecd6cc20f51e29bae96ee9e347b581d4 100644 --- a/lib/libc/include/generic-glibc/bits/shmlba.h +++ b/lib/libc/include/generic-glibc/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. Generic version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/sigaction.h b/lib/libc/include/generic-glibc/bits/sigaction.h index c56810569143ac28661d58da0a6df4adbcd8e359..42a8c87aefc0c9c93e29088fd288c5a5eebb366f 100644 --- a/lib/libc/include/generic-glibc/bits/sigaction.h +++ b/lib/libc/include/generic-glibc/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux's sigaction. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/sigcontext.h b/lib/libc/include/generic-glibc/bits/sigcontext.h index b10a18865f11126f07923594ce020f29a01bd6c3..300f983ac5cbcdbf5e318eaf271d3da35371e0b9 100644 --- a/lib/libc/include/generic-glibc/bits/sigcontext.h +++ b/lib/libc/include/generic-glibc/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/sigevent-consts.h b/lib/libc/include/generic-glibc/bits/sigevent-consts.h index 5b2041601f8dc652eb41fd532b976ec4197598f8..24b55eab590c99ea3ffa292bb7631b73c2549764 100644 --- a/lib/libc/include/generic-glibc/bits/sigevent-consts.h +++ b/lib/libc/include/generic-glibc/bits/sigevent-consts.h @@ -1,5 +1,5 @@ /* sigevent constants. Linux version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/siginfo-consts.h b/lib/libc/include/generic-glibc/bits/siginfo-consts.h index d7f1c8feb2e78f34a26b67bca977af98fb1bb06e..a9de1350b8d8f14843dcf6f5cc2c33a727d18e1e 100644 --- a/lib/libc/include/generic-glibc/bits/siginfo-consts.h +++ b/lib/libc/include/generic-glibc/bits/siginfo-consts.h @@ -1,5 +1,5 @@ /* siginfo constants. Linux version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -143,7 +143,7 @@ enum { BUS_ADRALN = 1, /* Invalid address alignment. */ # define BUS_ADRALN BUS_ADRALN - BUS_ADRERR, /* Non-existant physical address. */ + BUS_ADRERR, /* Non-existent physical address. */ # define BUS_ADRERR BUS_ADRERR BUS_OBJERR, /* Object specific hardware error. */ # define BUS_OBJERR BUS_OBJERR diff --git a/lib/libc/include/generic-glibc/bits/signal_ext.h b/lib/libc/include/generic-glibc/bits/signal_ext.h index 310f52bebc12dd0c4506922e4d2f6c88be6e83bd..f106f2c83ac351c2eaafa3ae7dda0838e8fddbf8 100644 --- a/lib/libc/include/generic-glibc/bits/signal_ext.h +++ b/lib/libc/include/generic-glibc/bits/signal_ext.h @@ -1,5 +1,5 @@ /* System-specific extensions of , Linux version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/signalfd.h b/lib/libc/include/generic-glibc/bits/signalfd.h index 2851f61fa5f8dfe213bae8864277a4525cad12a9..26bca1bf4a7a865612bba56b27eba95179a1e60e 100644 --- a/lib/libc/include/generic-glibc/bits/signalfd.h +++ b/lib/libc/include/generic-glibc/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/signum-arch.h b/lib/libc/include/generic-glibc/bits/signum-arch.h index 36a3d33827a178f1f61bfeab766fa5df62cc583e..e268889fc233eab9437ead31e977310cfaecf1b5 100644 --- a/lib/libc/include/generic-glibc/bits/signum-arch.h +++ b/lib/libc/include/generic-glibc/bits/signum-arch.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/signum-generic.h b/lib/libc/include/generic-glibc/bits/signum-generic.h index 2a3247ebd6d607e6dda98a822f026b951e4d7768..05172b26347255ca09ee99533cf445a158bb982d 100644 --- a/lib/libc/include/generic-glibc/bits/signum-generic.h +++ b/lib/libc/include/generic-glibc/bits/signum-generic.h @@ -1,5 +1,5 @@ /* Signal number constants. Generic template. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/sigstack.h b/lib/libc/include/generic-glibc/bits/sigstack.h index 7e6cf36d8eb38c217488b30e9df1d097cf88af29..25bd7cb9ebf5019504d0990fe290711706ccdb49 100644 --- a/lib/libc/include/generic-glibc/bits/sigstack.h +++ b/lib/libc/include/generic-glibc/bits/sigstack.h @@ -1,5 +1,5 @@ /* sigstack, sigaltstack definitions. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/sigstksz.h b/lib/libc/include/generic-glibc/bits/sigstksz.h index b9cda80f3e8d6bbf334741e757ccd352e0081781..30729be6038dcb7df9baff40ccb9d767808b2916 100644 --- a/lib/libc/include/generic-glibc/bits/sigstksz.h +++ b/lib/libc/include/generic-glibc/bits/sigstksz.h @@ -1,5 +1,5 @@ /* Definition of MINSIGSTKSZ and SIGSTKSZ. Linux version. - Copyright (C) 2020 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/sigthread.h b/lib/libc/include/generic-glibc/bits/sigthread.h index 2d7fac43ebcfdf0201e82350f891642bdc243da3..00cd9054290865838c2a354188f241beaa433c7f 100644 --- a/lib/libc/include/generic-glibc/bits/sigthread.h +++ b/lib/libc/include/generic-glibc/bits/sigthread.h @@ -1,5 +1,5 @@ /* Signal handling function for threaded programs. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/sockaddr.h b/lib/libc/include/generic-glibc/bits/sockaddr.h index 056b5e3f27440d7d6a5204929db635df69e19f97..a67b661d073d58b8559d1e5ee8e17837719b9719 100644 --- a/lib/libc/include/generic-glibc/bits/sockaddr.h +++ b/lib/libc/include/generic-glibc/bits/sockaddr.h @@ -1,5 +1,5 @@ /* Definition of struct sockaddr_* common members and sizes, generic version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/socket-constants.h b/lib/libc/include/generic-glibc/bits/socket-constants.h index f82406abd8c8cf02a0391fec1601996d4b1545dd..a7d111ca84036b9ada0897be95c3b6e2eaf25b4c 100644 --- a/lib/libc/include/generic-glibc/bits/socket-constants.h +++ b/lib/libc/include/generic-glibc/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/socket.h b/lib/libc/include/generic-glibc/bits/socket.h index 30d74fa2149b65ad69170c7fff69803ae0f530ce..e207418f5b53f71ed50f57c6a4913c439bb12331 100644 --- a/lib/libc/include/generic-glibc/bits/socket.h +++ b/lib/libc/include/generic-glibc/bits/socket.h @@ -1,5 +1,5 @@ /* System-specific socket constants and types. Linux version. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -86,7 +86,8 @@ typedef __socklen_t socklen_t; #define PF_QIPCRTR 42 /* Qualcomm IPC Router. */ #define PF_SMC 43 /* SMC sockets. */ #define PF_XDP 44 /* XDP sockets. */ -#define PF_MAX 45 /* For now.. */ +#define PF_MCTP 45 /* Management component transport protocol. */ +#define PF_MAX 46 /* For now.. */ /* Address families. */ #define AF_UNSPEC PF_UNSPEC @@ -137,6 +138,7 @@ typedef __socklen_t socklen_t; #define AF_QIPCRTR PF_QIPCRTR #define AF_SMC PF_SMC #define AF_XDP PF_XDP +#define AF_MCTP PF_MCTP #define AF_MAX PF_MAX /* Socket level values. Others are defined in the appropriate headers. @@ -167,6 +169,9 @@ typedef __socklen_t socklen_t; #define SOL_KCM 281 #define SOL_TLS 282 #define SOL_XDP 283 +#define SOL_MPTCP 284 +#define SOL_MCTP 285 +#define SOL_SMC 286 /* Maximum queue length specifiable by listen. */ #define SOMAXCONN 4096 @@ -302,6 +307,12 @@ struct cmsghdr + CMSG_ALIGN (sizeof (struct cmsghdr))) #define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len)) +/* Given a length, return the additional padding necessary such that + len + __CMSG_PADDING(len) == CMSG_ALIGN (len). */ +#define __CMSG_PADDING(len) ((sizeof (size_t) \ + - ((len) & (sizeof (size_t) - 1))) \ + & (sizeof (size_t) - 1)) + extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) __THROW; #ifdef __USE_EXTERN_INLINES @@ -311,18 +322,38 @@ extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, _EXTERN_INLINE struct cmsghdr * __NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg)) { + /* We may safely assume that __cmsg lies between __mhdr->msg_control and + __mhdr->msg_controllen because the user is required to obtain the first + cmsg via CMSG_FIRSTHDR, set its length, then obtain subsequent cmsgs + via CMSG_NXTHDR, setting lengths along the way. However, we don't yet + trust the value of __cmsg->cmsg_len and therefore do not use it in any + pointer arithmetic until we check its value. */ + + unsigned char * __msg_control_ptr = (unsigned char *) __mhdr->msg_control; + unsigned char * __cmsg_ptr = (unsigned char *) __cmsg; + + size_t __size_needed = sizeof (struct cmsghdr) + + __CMSG_PADDING (__cmsg->cmsg_len); + + /* The current header is malformed, too small to be a full header. */ if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr)) - /* The kernel header does this so there may be a reason. */ return (struct cmsghdr *) 0; + /* There isn't enough space between __cmsg and the end of the buffer to + hold the current cmsg *and* the next one. */ + if (((size_t) + (__msg_control_ptr + __mhdr->msg_controllen - __cmsg_ptr) + < __size_needed) + || ((size_t) + (__msg_control_ptr + __mhdr->msg_controllen - __cmsg_ptr + - __size_needed) + < __cmsg->cmsg_len)) + + return (struct cmsghdr *) 0; + + /* Now, we trust cmsg_len and can use it to find the next header. */ __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len)); - if ((unsigned char *) (__cmsg + 1) > ((unsigned char *) __mhdr->msg_control - + __mhdr->msg_controllen) - || ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len) - > ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen))) - /* No more entries. */ - return (struct cmsghdr *) 0; return __cmsg; } #endif /* Use `extern inline'. */ diff --git a/lib/libc/include/generic-glibc/bits/socket2.h b/lib/libc/include/generic-glibc/bits/socket2.h index 8f6980bd67575c776a79f695e5ee96fd3d41e731..5d7ef6a9dc74088150d728feb220332fc9111a41 100644 --- a/lib/libc/include/generic-glibc/bits/socket2.h +++ b/lib/libc/include/generic-glibc/bits/socket2.h @@ -1,5 +1,5 @@ /* Checking macros for socket functions. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -33,17 +33,12 @@ extern ssize_t __REDIRECT (__recv_chk_warn, __fortify_function ssize_t recv (int __fd, void *__buf, size_t __n, int __flags) { - if (__glibc_objsize0 (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__n)) - return __recv_chk (__fd, __buf, __n, __glibc_objsize0 (__buf), - __flags); - - if (__n > __glibc_objsize0 (__buf)) - return __recv_chk_warn (__fd, __buf, __n, __glibc_objsize0 (__buf), - __flags); - } - return __recv_alias (__fd, __buf, __n, __flags); + size_t sz = __glibc_objsize0 (__buf); + if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz)) + return __recv_alias (__fd, __buf, __n, __flags); + if (__glibc_unsafe_len (__n, sizeof (char), sz)) + return __recv_chk_warn (__fd, __buf, __n, sz, __flags); + return __recv_chk (__fd, __buf, __n, sz, __flags); } extern ssize_t __recvfrom_chk (int __fd, void *__restrict __buf, size_t __n, @@ -66,14 +61,11 @@ __fortify_function ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n, int __flags, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len) { - if (__glibc_objsize0 (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__n)) - return __recvfrom_chk (__fd, __buf, __n, __glibc_objsize0 (__buf), - __flags, __addr, __addr_len); - if (__n > __glibc_objsize0 (__buf)) - return __recvfrom_chk_warn (__fd, __buf, __n, __glibc_objsize0 (__buf), - __flags, __addr, __addr_len); - } - return __recvfrom_alias (__fd, __buf, __n, __flags, __addr, __addr_len); + size_t sz = __glibc_objsize0 (__buf); + if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz)) + return __recvfrom_alias (__fd, __buf, __n, __flags, __addr, __addr_len); + if (__glibc_unsafe_len (__n, sizeof (char), sz)) + return __recvfrom_chk_warn (__fd, __buf, __n, sz, __flags, __addr, + __addr_len); + return __recvfrom_chk (__fd, __buf, __n, sz, __flags, __addr, __addr_len); } \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/socket_type.h b/lib/libc/include/generic-glibc/bits/socket_type.h index d906ebbaf074f5b668bf0ac754fb0feac69d66f1..0691169e17f4bba4215a72177c01fa061b2d01ce 100644 --- a/lib/libc/include/generic-glibc/bits/socket_type.h +++ b/lib/libc/include/generic-glibc/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for generic Linux. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/ss_flags.h b/lib/libc/include/generic-glibc/bits/ss_flags.h index a24d1e66d278a69aae137b34cf23733cfa0e6274..9e82dfcf6dd691c1a709a678f8a82738d8e12228 100644 --- a/lib/libc/include/generic-glibc/bits/ss_flags.h +++ b/lib/libc/include/generic-glibc/bits/ss_flags.h @@ -1,5 +1,5 @@ /* ss_flags values for stack_t. Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/stab.def b/lib/libc/include/generic-glibc/bits/stab.def index d1b7c9874509d977f8f2f5262200f38aea9b3f82..ffd1485d78a9fb9256c209fa0242d2f3c9bfde70 100644 --- a/lib/libc/include/generic-glibc/bits/stab.def +++ b/lib/libc/include/generic-glibc/bits/stab.def @@ -1,5 +1,5 @@ /* Table of DBX symbol codes for the GNU system. - Copyright (C) 1988, 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1988, 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/stat.h b/lib/libc/include/generic-glibc/bits/stat.h index ddcdcb957e81d9bb903c4e8fc3fd369e61989234..850b3872bd3c70027f761763b57f7b4d00c20d60 100644 --- a/lib/libc/include/generic-glibc/bits/stat.h +++ b/lib/libc/include/generic-glibc/bits/stat.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/statfs.h b/lib/libc/include/generic-glibc/bits/statfs.h index 9d651f397cf093b6277fedbc4b8499b453ea4d98..55be462a4c0e6034296779630b32c9d7d3416a4a 100644 --- a/lib/libc/include/generic-glibc/bits/statfs.h +++ b/lib/libc/include/generic-glibc/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/statvfs.h b/lib/libc/include/generic-glibc/bits/statvfs.h index da2c1fd0071a42db0791022996b053635a004a9d..8aab459a7e71f332d01708e72fde96feb27aea71 100644 --- a/lib/libc/include/generic-glibc/bits/statvfs.h +++ b/lib/libc/include/generic-glibc/bits/statvfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/statx-generic.h b/lib/libc/include/generic-glibc/bits/statx-generic.h index 52709c24650288c2ba5104f041525ffef3043c77..6b58bc9752d649626444cc270eb0edf8a6cb459e 100644 --- a/lib/libc/include/generic-glibc/bits/statx-generic.h +++ b/lib/libc/include/generic-glibc/bits/statx-generic.h @@ -1,5 +1,5 @@ /* Generic statx-related definitions and declarations. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -41,6 +41,7 @@ # define STATX_ALL 0x0fffU # define STATX_BTIME 0x0800U # define STATX_MNT_ID 0x1000U +# define STATX_DIOALIGN 0x2000U # define STATX__RESERVED 0x80000000U # define STATX_ATTR_COMPRESSED 0x0004 diff --git a/lib/libc/include/generic-glibc/bits/statx.h b/lib/libc/include/generic-glibc/bits/statx.h index a0af9c62462f2495939cacfc9e3837547ff6c3d8..889735fb78be9bfbcdb1865861ab5145daaf92f2 100644 --- a/lib/libc/include/generic-glibc/bits/statx.h +++ b/lib/libc/include/generic-glibc/bits/statx.h @@ -1,5 +1,5 @@ /* statx-related definitions and declarations. Linux version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/stdint-intn.h b/lib/libc/include/generic-glibc/bits/stdint-intn.h index 70e25ae1a98a2173795d8e7e834e7c56b9c0db2f..4bcdd3bf550b5c38f962a7b35f8b8c8220e86ad4 100644 --- a/lib/libc/include/generic-glibc/bits/stdint-intn.h +++ b/lib/libc/include/generic-glibc/bits/stdint-intn.h @@ -1,5 +1,5 @@ /* Define intN_t types. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/stdint-uintn.h b/lib/libc/include/generic-glibc/bits/stdint-uintn.h index a683f414aacbefda502a727b080bdb6232f56276..24470180d53d9cdc7a0eccda83c150784b4bf9f7 100644 --- a/lib/libc/include/generic-glibc/bits/stdint-uintn.h +++ b/lib/libc/include/generic-glibc/bits/stdint-uintn.h @@ -1,5 +1,5 @@ /* Define uintN_t types. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/stdio-ldbl.h b/lib/libc/include/generic-glibc/bits/stdio-ldbl.h index fea9a9906c82554f54ca8340c1c7753e47828e16..f4952129d8fa9786f874950d299ae65e6cc4707d 100644 --- a/lib/libc/include/generic-glibc/bits/stdio-ldbl.h +++ b/lib/libc/include/generic-glibc/bits/stdio-ldbl.h @@ -1,5 +1,5 @@ /* -mlong-double-64 compatibility mode for stdio functions. - Copyright (C) 2006-2021 Free Software Foundation, Inc. + Copyright (C) 2006-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -28,13 +28,25 @@ __LDBL_REDIR_DECL (vprintf) __LDBL_REDIR_DECL (vsprintf) #if !__GLIBC_USE (DEPRECATED_SCANF) # if defined __LDBL_COMPAT +# if __GLIBC_USE (C2X_STRTOL) +__LDBL_REDIR1_DECL (fscanf, __nldbl___isoc23_fscanf) +__LDBL_REDIR1_DECL (scanf, __nldbl___isoc23_scanf) +__LDBL_REDIR1_DECL (sscanf, __nldbl___isoc23_sscanf) +# else __LDBL_REDIR1_DECL (fscanf, __nldbl___isoc99_fscanf) __LDBL_REDIR1_DECL (scanf, __nldbl___isoc99_scanf) __LDBL_REDIR1_DECL (sscanf, __nldbl___isoc99_sscanf) +# endif # elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# if __GLIBC_USE (C2X_STRTOL) +__LDBL_REDIR1_DECL (fscanf, __isoc23_fscanfieee128) +__LDBL_REDIR1_DECL (scanf, __isoc23_scanfieee128) +__LDBL_REDIR1_DECL (sscanf, __isoc23_sscanfieee128) +# else __LDBL_REDIR1_DECL (fscanf, __isoc99_fscanfieee128) __LDBL_REDIR1_DECL (scanf, __isoc99_scanfieee128) __LDBL_REDIR1_DECL (sscanf, __isoc99_sscanfieee128) +# endif # else # error bits/stdlib-ldbl.h included when no ldbl redirections are required. # endif @@ -52,13 +64,25 @@ __LDBL_REDIR_DECL (vsnprintf) #ifdef __USE_ISOC99 # if !__GLIBC_USE (DEPRECATED_SCANF) # if defined __LDBL_COMPAT +# if __GLIBC_USE (C2X_STRTOL) +__LDBL_REDIR1_DECL (vfscanf, __nldbl___isoc23_vfscanf) +__LDBL_REDIR1_DECL (vscanf, __nldbl___isoc23_vscanf) +__LDBL_REDIR1_DECL (vsscanf, __nldbl___isoc23_vsscanf) +# else __LDBL_REDIR1_DECL (vfscanf, __nldbl___isoc99_vfscanf) __LDBL_REDIR1_DECL (vscanf, __nldbl___isoc99_vscanf) __LDBL_REDIR1_DECL (vsscanf, __nldbl___isoc99_vsscanf) +# endif # elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# if __GLIBC_USE (C2X_STRTOL) +__LDBL_REDIR1_DECL (vfscanf, __isoc23_vfscanfieee128) +__LDBL_REDIR1_DECL (vscanf, __isoc23_vscanfieee128) +__LDBL_REDIR1_DECL (vsscanf, __isoc23_vsscanfieee128) +# else __LDBL_REDIR1_DECL (vfscanf, __isoc99_vfscanfieee128) __LDBL_REDIR1_DECL (vscanf, __isoc99_vscanfieee128) __LDBL_REDIR1_DECL (vsscanf, __isoc99_vsscanfieee128) +# endif # else # error bits/stdlib-ldbl.h included when no ldbl redirections are required. # endif diff --git a/lib/libc/include/generic-glibc/bits/stdio.h b/lib/libc/include/generic-glibc/bits/stdio.h index 1e9685797bf462e25e7d1d6c2fef43e1357d2b13..3802c954a42df163373832f19e03021d91dfd7e3 100644 --- a/lib/libc/include/generic-glibc/bits/stdio.h +++ b/lib/libc/include/generic-glibc/bits/stdio.h @@ -1,5 +1,5 @@ /* Optimizing macros and inline functions for stdio functions. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/stdio2-decl.h b/lib/libc/include/generic-glibc/bits/stdio2-decl.h new file mode 100644 index 0000000000000000000000000000000000000000..c8e242532c447119574d04fdc6c64a74529c79d4 --- /dev/null +++ b/lib/libc/include/generic-glibc/bits/stdio2-decl.h @@ -0,0 +1,160 @@ +/* Checking macros for stdio functions. Declarations only. + Copyright (C) 2004-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_STDIO2_DEC_H +#define _BITS_STDIO2_DEC_H 1 + +#ifndef _STDIO_H +# error "Never include directly; use instead." +#endif + +extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, ...) __THROW + __attr_access ((__write_only__, 1, 3)); +extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, + __gnuc_va_list __ap) __THROW + __attr_access ((__write_only__, 1, 3)); + +#if defined __USE_ISOC99 || defined __USE_UNIX98 + +extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + ...) __THROW + __attr_access ((__write_only__, 1, 2)); +extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + __gnuc_va_list __ap) __THROW + __attr_access ((__write_only__, 1, 2)); + +#endif + +#if __USE_FORTIFY_LEVEL > 1 + +extern int __fprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, ...); +extern int __printf_chk (int __flag, const char *__restrict __format, ...); +extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, __gnuc_va_list __ap); +extern int __vprintf_chk (int __flag, const char *__restrict __format, + __gnuc_va_list __ap); + +# ifdef __USE_XOPEN2K8 +extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, + ...) __attribute__ ((__format__ (__printf__, 3, 4))); +extern int __vdprintf_chk (int __fd, int __flag, + const char *__restrict __fmt, __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 3, 0))); +# endif + +# ifdef __USE_GNU + +extern int __asprintf_chk (char **__restrict __ptr, int __flag, + const char *__restrict __fmt, ...) + __THROW __attribute__ ((__format__ (__printf__, 3, 4))) __wur; +extern int __vasprintf_chk (char **__restrict __ptr, int __flag, + const char *__restrict __fmt, __gnuc_va_list __arg) + __THROW __attribute__ ((__format__ (__printf__, 3, 0))) __wur; +extern int __obstack_printf_chk (struct obstack *__restrict __obstack, + int __flag, const char *__restrict __format, + ...) + __THROW __attribute__ ((__format__ (__printf__, 3, 4))); +extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack, + int __flag, + const char *__restrict __format, + __gnuc_va_list __args) + __THROW __attribute__ ((__format__ (__printf__, 3, 0))); + +# endif +#endif + +#if __GLIBC_USE (DEPRECATED_GETS) +extern char *__REDIRECT (__gets_warn, (char *__str), gets) + __wur __warnattr ("please use fgets or getline instead, gets can't " + "specify buffer size"); + +extern char *__gets_chk (char *__str, size_t) __wur; +#endif + +extern char *__REDIRECT (__fgets_alias, + (char *__restrict __s, int __n, + FILE *__restrict __stream), fgets) + __wur __attr_access ((__write_only__, 1, 2)); +extern char *__REDIRECT (__fgets_chk_warn, + (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream), __fgets_chk) + __wur __warnattr ("fgets called with bigger size than length " + "of destination buffer"); + +extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream) + __wur __attr_access ((__write_only__, 1, 3)); + +extern size_t __REDIRECT (__fread_alias, + (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream), + fread) __wur; +extern size_t __REDIRECT (__fread_chk_warn, + (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream), + __fread_chk) + __wur __warnattr ("fread called with bigger size * nmemb than length " + "of destination buffer"); + +extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) __wur; + +#ifdef __USE_GNU +extern char *__REDIRECT_FORTIFY (__fgets_unlocked_alias, + (char *__restrict __s, int __n, + FILE *__restrict __stream), fgets_unlocked) + __wur __attr_access ((__write_only__, 1, 2)); +extern char *__REDIRECT (__fgets_unlocked_chk_warn, + (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream), __fgets_unlocked_chk) + __wur __warnattr ("fgets_unlocked called with bigger size than length " + "of destination buffer"); + + +extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size, + int __n, FILE *__restrict __stream) + __wur __attr_access ((__write_only__, 1, 3)); +#endif + +#ifdef __USE_MISC +# undef fread_unlocked +extern size_t __REDIRECT (__fread_unlocked_alias, + (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream), + fread_unlocked) __wur; +extern size_t __REDIRECT (__fread_unlocked_chk_warn, + (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream), + __fread_unlocked_chk) + __wur __warnattr ("fread_unlocked called with bigger size * nmemb than " + "length of destination buffer"); + +extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) __wur; +#endif + +#endif /* bits/stdio2-decl.h. */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/stdio2.h b/lib/libc/include/generic-glibc/bits/stdio2.h index 5608dfd198325cd96648d41b4ff443a15d0e31b0..4ed100e3534f81ccfcc31023452a686267ba8871 100644 --- a/lib/libc/include/generic-glibc/bits/stdio2.h +++ b/lib/libc/include/generic-glibc/bits/stdio2.h @@ -1,5 +1,5 @@ /* Checking macros for stdio functions. - Copyright (C) 2004-2021 Free Software Foundation, Inc. + Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,14 +23,6 @@ # error "Never include directly; use instead." #endif -extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, - const char *__restrict __format, ...) __THROW - __attr_access ((__write_only__, 1, 3)); -extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, - const char *__restrict __format, - __gnuc_va_list __ap) __THROW - __attr_access ((__write_only__, 1, 3)); - #ifdef __va_arg_pack __fortify_function int __NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...)) @@ -54,15 +46,6 @@ __NTH (vsprintf (char *__restrict __s, const char *__restrict __fmt, } #if defined __USE_ISOC99 || defined __USE_UNIX98 - -extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, - size_t __slen, const char *__restrict __format, - ...) __THROW - __attr_access ((__write_only__, 1, 2)); -extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, - size_t __slen, const char *__restrict __format, - __gnuc_va_list __ap) __THROW; - # ifdef __va_arg_pack __fortify_function int __NTH (snprintf (char *__restrict __s, size_t __n, @@ -89,15 +72,6 @@ __NTH (vsnprintf (char *__restrict __s, size_t __n, #endif #if __USE_FORTIFY_LEVEL > 1 - -extern int __fprintf_chk (FILE *__restrict __stream, int __flag, - const char *__restrict __format, ...); -extern int __printf_chk (int __flag, const char *__restrict __format, ...); -extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, - const char *__restrict __format, __gnuc_va_list __ap); -extern int __vprintf_chk (int __flag, const char *__restrict __format, - __gnuc_va_list __ap); - # ifdef __va_arg_pack __fortify_function int fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) @@ -136,12 +110,6 @@ vfprintf (FILE *__restrict __stream, } # ifdef __USE_XOPEN2K8 -extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, - ...) __attribute__ ((__format__ (__printf__, 3, 4))); -extern int __vdprintf_chk (int __fd, int __flag, - const char *__restrict __fmt, __gnuc_va_list __arg) - __attribute__ ((__format__ (__printf__, 3, 0))); - # ifdef __va_arg_pack __fortify_function int dprintf (int __fd, const char *__restrict __fmt, ...) @@ -162,23 +130,6 @@ vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap) # endif # ifdef __USE_GNU - -extern int __asprintf_chk (char **__restrict __ptr, int __flag, - const char *__restrict __fmt, ...) - __THROW __attribute__ ((__format__ (__printf__, 3, 4))) __wur; -extern int __vasprintf_chk (char **__restrict __ptr, int __flag, - const char *__restrict __fmt, __gnuc_va_list __arg) - __THROW __attribute__ ((__format__ (__printf__, 3, 0))) __wur; -extern int __obstack_printf_chk (struct obstack *__restrict __obstack, - int __flag, const char *__restrict __format, - ...) - __THROW __attribute__ ((__format__ (__printf__, 3, 4))); -extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack, - int __flag, - const char *__restrict __format, - __gnuc_va_list __args) - __THROW __attribute__ ((__format__ (__printf__, 3, 0))); - # ifdef __va_arg_pack __fortify_function int __NTH (asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...)) @@ -231,11 +182,6 @@ __NTH (obstack_vprintf (struct obstack *__restrict __obstack, #endif #if __GLIBC_USE (DEPRECATED_GETS) -extern char *__gets_chk (char *__str, size_t) __wur; -extern char *__REDIRECT (__gets_warn, (char *__str), gets) - __wur __warnattr ("please use fgets or getline instead, gets can't " - "specify buffer size"); - __fortify_function __wur char * gets (char *__str) { @@ -245,154 +191,78 @@ gets (char *__str) } #endif -extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, - FILE *__restrict __stream) - __wur __attr_access ((__write_only__, 1, 3)); -extern char *__REDIRECT (__fgets_alias, - (char *__restrict __s, int __n, - FILE *__restrict __stream), fgets) - __wur __attr_access ((__write_only__, 1, 2)); -extern char *__REDIRECT (__fgets_chk_warn, - (char *__restrict __s, size_t __size, int __n, - FILE *__restrict __stream), __fgets_chk) - __wur __warnattr ("fgets called with bigger size than length " - "of destination buffer"); - -__fortify_function __wur __attr_access ((__write_only__, 1, 2)) char * +__fortify_function __wur __fortified_attr_access (__write_only__, 1, 2) char * fgets (char *__restrict __s, int __n, FILE *__restrict __stream) { - if (__glibc_objsize (__s) != (size_t) -1) - { - if (!__builtin_constant_p (__n) || __n <= 0) - return __fgets_chk (__s, __glibc_objsize (__s), __n, __stream); - - if ((size_t) __n > __glibc_objsize (__s)) - return __fgets_chk_warn (__s, __glibc_objsize (__s), __n, __stream); - } - return __fgets_alias (__s, __n, __stream); + size_t sz = __glibc_objsize (__s); + if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz)) + return __fgets_alias (__s, __n, __stream); + if (__glibc_unsafe_len (__n, sizeof (char), sz)) + return __fgets_chk_warn (__s, sz, __n, __stream); + return __fgets_chk (__s, sz, __n, __stream); } -extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, - size_t __size, size_t __n, - FILE *__restrict __stream) __wur; -extern size_t __REDIRECT (__fread_alias, - (void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream), - fread) __wur; -extern size_t __REDIRECT (__fread_chk_warn, - (void *__restrict __ptr, size_t __ptrlen, - size_t __size, size_t __n, - FILE *__restrict __stream), - __fread_chk) - __wur __warnattr ("fread called with bigger size * nmemb than length " - "of destination buffer"); - __fortify_function __wur size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) { - if (__glibc_objsize0 (__ptr) != (size_t) -1) - { - if (!__builtin_constant_p (__size) - || !__builtin_constant_p (__n) - || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) - return __fread_chk (__ptr, __glibc_objsize0 (__ptr), __size, __n, - __stream); - - if (__size * __n > __glibc_objsize0 (__ptr)) - return __fread_chk_warn (__ptr, __glibc_objsize0 (__ptr), __size, __n, - __stream); - } - return __fread_alias (__ptr, __size, __n, __stream); + size_t sz = __glibc_objsize0 (__ptr); + if (__glibc_safe_or_unknown_len (__n, __size, sz)) + return __fread_alias (__ptr, __size, __n, __stream); + if (__glibc_unsafe_len (__n, __size, sz)) + return __fread_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_chk (__ptr, sz, __size, __n, __stream); } #ifdef __USE_GNU -extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size, - int __n, FILE *__restrict __stream) - __wur __attr_access ((__write_only__, 1, 3)); -extern char *__REDIRECT (__fgets_unlocked_alias, - (char *__restrict __s, int __n, - FILE *__restrict __stream), fgets_unlocked) - __wur __attr_access ((__write_only__, 1, 2)); -extern char *__REDIRECT (__fgets_unlocked_chk_warn, - (char *__restrict __s, size_t __size, int __n, - FILE *__restrict __stream), __fgets_unlocked_chk) - __wur __warnattr ("fgets_unlocked called with bigger size than length " - "of destination buffer"); - -__fortify_function __wur __attr_access ((__write_only__, 1, 2)) char * +__fortify_function __wur __fortified_attr_access (__write_only__, 1, 2) char * fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) { - if (__glibc_objsize (__s) != (size_t) -1) - { - if (!__builtin_constant_p (__n) || __n <= 0) - return __fgets_unlocked_chk (__s, __glibc_objsize (__s), __n, - __stream); - - if ((size_t) __n > __glibc_objsize (__s)) - return __fgets_unlocked_chk_warn (__s, __glibc_objsize (__s), __n, - __stream); - } - return __fgets_unlocked_alias (__s, __n, __stream); + size_t sz = __glibc_objsize (__s); + if (__glibc_safe_or_unknown_len (__n, sizeof (char), sz)) + return __fgets_unlocked_alias (__s, __n, __stream); + if (__glibc_unsafe_len (__n, sizeof (char), sz)) + return __fgets_unlocked_chk_warn (__s, sz, __n, __stream); + return __fgets_unlocked_chk (__s, sz, __n, __stream); } #endif #ifdef __USE_MISC # undef fread_unlocked -extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, - size_t __size, size_t __n, - FILE *__restrict __stream) __wur; -extern size_t __REDIRECT (__fread_unlocked_alias, - (void *__restrict __ptr, size_t __size, - size_t __n, FILE *__restrict __stream), - fread_unlocked) __wur; -extern size_t __REDIRECT (__fread_unlocked_chk_warn, - (void *__restrict __ptr, size_t __ptrlen, - size_t __size, size_t __n, - FILE *__restrict __stream), - __fread_unlocked_chk) - __wur __warnattr ("fread_unlocked called with bigger size * nmemb than " - "length of destination buffer"); - __fortify_function __wur size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) { - if (__glibc_objsize0 (__ptr) != (size_t) -1) + size_t sz = __glibc_objsize0 (__ptr); + if (__glibc_safe_or_unknown_len (__n, __size, sz)) { - if (!__builtin_constant_p (__size) - || !__builtin_constant_p (__n) - || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2))) - return __fread_unlocked_chk (__ptr, __glibc_objsize0 (__ptr), __size, - __n, __stream); - - if (__size * __n > __glibc_objsize0 (__ptr)) - return __fread_unlocked_chk_warn (__ptr, __glibc_objsize0 (__ptr), - __size, __n, __stream); - } - # ifdef __USE_EXTERN_INLINES - if (__builtin_constant_p (__size) - && __builtin_constant_p (__n) - && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) - && __size * __n <= 8) - { - size_t __cnt = __size * __n; - char *__cptr = (char *) __ptr; - if (__cnt == 0) - return 0; - - for (; __cnt > 0; --__cnt) + if (__builtin_constant_p (__size) + && __builtin_constant_p (__n) + && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) + && __size * __n <= 8) { - int __c = getc_unlocked (__stream); - if (__c == EOF) - break; - *__cptr++ = __c; + size_t __cnt = __size * __n; + char *__cptr = (char *) __ptr; + if (__cnt == 0) + return 0; + + for (; __cnt > 0; --__cnt) + { + int __c = getc_unlocked (__stream); + if (__c == EOF) + break; + *__cptr++ = __c; + } + return (__cptr - (char *) __ptr) / __size; } - return (__cptr - (char *) __ptr) / __size; - } # endif - return __fread_unlocked_alias (__ptr, __size, __n, __stream); + return __fread_unlocked_alias (__ptr, __size, __n, __stream); + } + if (__glibc_unsafe_len (__n, __size, sz)) + return __fread_unlocked_chk_warn (__ptr, sz, __size, __n, __stream); + return __fread_unlocked_chk (__ptr, sz, __size, __n, __stream); + } #endif diff --git a/lib/libc/include/generic-glibc/bits/stdio_lim.h b/lib/libc/include/generic-glibc/bits/stdio_lim.h index bcb352b466f44d7bdc34744216c90e6899acc79a..2486178022be3da32a866fbf99510b9fd9fb751a 100644 --- a/lib/libc/include/generic-glibc/bits/stdio_lim.h +++ b/lib/libc/include/generic-glibc/bits/stdio_lim.h @@ -1,4 +1,5 @@ -/* Copyright (C) 1994-2021 Free Software Foundation, Inc. +/* System specific stdio.h definitions. Linux version. + Copyright (C) 2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,18 +23,6 @@ # error "Never include directly; use instead." #endif -#define L_tmpnam 20 -#define TMP_MAX 238328 #define FILENAME_MAX 4096 -#ifdef __USE_POSIX -# define L_ctermid 9 -# if !defined __USE_XOPEN2K || defined __USE_GNU -# define L_cuserid 9 -# endif -#endif - -#undef FOPEN_MAX -#define FOPEN_MAX 16 - #endif /* bits/stdio_lim.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/stdlib-bsearch.h b/lib/libc/include/generic-glibc/bits/stdlib-bsearch.h index 843ba7ac69ff12430e4092f44456eaed870749a2..1852b6b10ff72ced1aac9dec82aaee6ddfe4031f 100644 --- a/lib/libc/include/generic-glibc/bits/stdlib-bsearch.h +++ b/lib/libc/include/generic-glibc/bits/stdlib-bsearch.h @@ -1,5 +1,5 @@ /* Perform binary search - inline version. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -29,14 +29,23 @@ bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, while (__l < __u) { __idx = (__l + __u) / 2; - __p = (void *) (((const char *) __base) + (__idx * __size)); + __p = (const void *) (((const char *) __base) + (__idx * __size)); __comparison = (*__compar) (__key, __p); if (__comparison < 0) __u = __idx; else if (__comparison > 0) __l = __idx + 1; else - return (void *) __p; + { +#if __GNUC_PREREQ(4, 6) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wcast-qual" +#endif + return (void *) __p; +#if __GNUC_PREREQ(4, 6) +# pragma GCC diagnostic pop +#endif + } } return NULL; diff --git a/lib/libc/include/generic-glibc/bits/stdlib-float.h b/lib/libc/include/generic-glibc/bits/stdlib-float.h index 5dd603e7adb5ab1feaff8628207296a6e2e00847..1803bf24903a3e0e1ca6e746b4d46db6ffee9003 100644 --- a/lib/libc/include/generic-glibc/bits/stdlib-float.h +++ b/lib/libc/include/generic-glibc/bits/stdlib-float.h @@ -1,5 +1,5 @@ /* Floating-point inline functions for stdlib.h. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/stdlib-ldbl.h b/lib/libc/include/generic-glibc/bits/stdlib-ldbl.h index 6921e99522d38222d87050a7dc5316177ed9a241..aa2d711e78faae8db1073c10282644738b2420f6 100644 --- a/lib/libc/include/generic-glibc/bits/stdlib-ldbl.h +++ b/lib/libc/include/generic-glibc/bits/stdlib-ldbl.h @@ -1,5 +1,5 @@ /* -mlong-double-64 compatibility mode for functions. - Copyright (C) 2006-2021 Free Software Foundation, Inc. + Copyright (C) 2006-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/stdlib.h b/lib/libc/include/generic-glibc/bits/stdlib.h index 95c3fc66cf9640c91014bafab82ec3971eebac27..db46378a2606de48b766150831669b4cb357e78b 100644 --- a/lib/libc/include/generic-glibc/bits/stdlib.h +++ b/lib/libc/include/generic-glibc/bits/stdlib.h @@ -1,5 +1,5 @@ /* Checking macros for stdlib functions. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -36,17 +36,16 @@ extern char *__REDIRECT_NTH (__realpath_chk_warn, __fortify_function __wur char * __NTH (realpath (const char *__restrict __name, char *__restrict __resolved)) { - if (__glibc_objsize (__resolved) != (size_t) -1) - { + size_t sz = __glibc_objsize (__resolved); + + if (sz == (size_t) -1) + return __realpath_alias (__name, __resolved); + #if defined _LIBC_LIMITS_H_ && defined PATH_MAX - if (__glibc_objsize (__resolved) < PATH_MAX) - return __realpath_chk_warn (__name, __resolved, - __glibc_objsize (__resolved)); + if (__glibc_unsafe_len (PATH_MAX, sizeof (char), sz)) + return __realpath_chk_warn (__name, __resolved, sz); #endif - return __realpath_chk (__name, __resolved, __glibc_objsize (__resolved)); - } - - return __realpath_alias (__name, __resolved); + return __realpath_chk (__name, __resolved, sz); } @@ -65,16 +64,9 @@ extern int __REDIRECT_NTH (__ptsname_r_chk_warn, __fortify_function int __NTH (ptsname_r (int __fd, char *__buf, size_t __buflen)) { - if (__glibc_objsize (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__buflen)) - return __ptsname_r_chk (__fd, __buf, __buflen, - __glibc_objsize (__buf)); - if (__buflen > __glibc_objsize (__buf)) - return __ptsname_r_chk_warn (__fd, __buf, __buflen, - __glibc_objsize (__buf)); - } - return __ptsname_r_alias (__fd, __buf, __buflen); + return __glibc_fortify (ptsname_r, __buflen, sizeof (char), + __glibc_objsize (__buf), + __fd, __buf, __buflen); } @@ -104,6 +96,11 @@ extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) __THROW __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2)); +extern size_t __REDIRECT_NTH (__mbstowcs_nulldst, + (wchar_t *__restrict __dst, + const char *__restrict __src, + size_t __len), mbstowcs) + __attr_access ((__read_only__, 2)); extern size_t __REDIRECT_NTH (__mbstowcs_alias, (wchar_t *__restrict __dst, const char *__restrict __src, @@ -120,21 +117,13 @@ __fortify_function size_t __NTH (mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len)) { - if (__glibc_objsize (__dst) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __mbstowcs_chk (__dst, __src, __len, - __glibc_objsize (__dst) / sizeof (wchar_t)); - - if (__len > __glibc_objsize (__dst) / sizeof (wchar_t)) - return __mbstowcs_chk_warn (__dst, __src, __len, - (__glibc_objsize (__dst) - / sizeof (wchar_t))); - } - return __mbstowcs_alias (__dst, __src, __len); + if (__builtin_constant_p (__dst == NULL) && __dst == NULL) + return __mbstowcs_nulldst (__dst, __src, __len); + else + return __glibc_fortify_n (mbstowcs, __len, sizeof (wchar_t), + __glibc_objsize (__dst), __dst, __src, __len); } - extern size_t __wcstombs_chk (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) __THROW @@ -154,13 +143,7 @@ __fortify_function size_t __NTH (wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len)) { - if (__glibc_objsize (__dst) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __wcstombs_chk (__dst, __src, __len, __glibc_objsize (__dst)); - if (__len > __glibc_objsize (__dst)) - return __wcstombs_chk_warn (__dst, __src, __len, - __glibc_objsize (__dst)); - } - return __wcstombs_alias (__dst, __src, __len); + return __glibc_fortify (wcstombs, __len, sizeof (char), + __glibc_objsize (__dst), + __dst, __src, __len); } \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/string_fortified.h b/lib/libc/include/generic-glibc/bits/string_fortified.h index ba7b8700e12f39c8d6f5d4b90c4d9b92f7b892c4..b579e514727c61f70137bfaed71315776a376c9a 100644 --- a/lib/libc/include/generic-glibc/bits/string_fortified.h +++ b/lib/libc/include/generic-glibc/bits/string_fortified.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -64,7 +64,7 @@ __NTH (memset (void *__dest, int __ch, size_t __len)) # include void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen) - __THROW __nonnull ((1)) __attr_access ((__write_only__, 1, 2)); + __THROW __nonnull ((1)) __fortified_attr_access (__write_only__, 1, 2); __fortify_function void __NTH (explicit_bzero (void *__dest, size_t __len)) @@ -79,7 +79,7 @@ __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) return __builtin___strcpy_chk (__dest, __src, __glibc_objsize (__dest)); } -#ifdef __USE_GNU +#ifdef __USE_XOPEN2K8 __fortify_function char * __NTH (stpcpy (char *__restrict __dest, const char *__restrict __src)) { @@ -96,17 +96,19 @@ __NTH (strncpy (char *__restrict __dest, const char *__restrict __src, __glibc_objsize (__dest)); } -#if __GNUC_PREREQ (4, 7) || __glibc_clang_prereq (2, 6) +#ifdef __USE_XOPEN2K8 +# if __GNUC_PREREQ (4, 7) || __glibc_clang_prereq (2, 6) __fortify_function char * __NTH (stpncpy (char *__dest, const char *__src, size_t __n)) { return __builtin___stpncpy_chk (__dest, __src, __n, __glibc_objsize (__dest)); } -#else +# else extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n, size_t __destlen) __THROW - __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2)); + __fortified_attr_access (__write_only__, 1, 3) + __attr_access ((__read_only__, 2)); extern char *__REDIRECT_NTH (__stpncpy_alias, (char *__dest, const char *__src, size_t __n), stpncpy); @@ -118,6 +120,7 @@ __NTH (stpncpy (char *__dest, const char *__src, size_t __n)) return __stpncpy_chk (__dest, __src, __n, __bos (__dest)); return __stpncpy_alias (__dest, __src, __n); } +# endif #endif @@ -136,4 +139,40 @@ __NTH (strncat (char *__restrict __dest, const char *__restrict __src, __glibc_objsize (__dest)); } +#ifdef __USE_MISC +extern size_t __strlcpy_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __THROW; +extern size_t __REDIRECT_NTH (__strlcpy_alias, + (char *__dest, const char *__src, size_t __n), + strlcpy); + +__fortify_function size_t +__NTH (strlcpy (char *__restrict __dest, const char *__restrict __src, + size_t __n)) +{ + if (__glibc_objsize (__dest) != (size_t) -1 + && (!__builtin_constant_p (__n > __glibc_objsize (__dest)) + || __n > __glibc_objsize (__dest))) + return __strlcpy_chk (__dest, __src, __n, __glibc_objsize (__dest)); + return __strlcpy_alias (__dest, __src, __n); +} + +extern size_t __strlcat_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __THROW; +extern size_t __REDIRECT_NTH (__strlcat_alias, + (char *__dest, const char *__src, size_t __n), + strlcat); + +__fortify_function size_t +__NTH (strlcat (char *__restrict __dest, const char *__restrict __src, + size_t __n)) +{ + if (__glibc_objsize (__dest) != (size_t) -1 + && (!__builtin_constant_p (__n > __glibc_objsize (__dest)) + || __n > __glibc_objsize (__dest))) + return __strlcat_chk (__dest, __src, __n, __glibc_objsize (__dest)); + return __strlcat_alias (__dest, __src, __n); +} +#endif /* __USE_MISC */ + #endif /* bits/string_fortified.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/strings_fortified.h b/lib/libc/include/generic-glibc/bits/strings_fortified.h index 5e41ef68f02cece8859bc7389d10d8015e39a0d5..5b565e7f9303749bbf471ce49acdcd772a2ec41b 100644 --- a/lib/libc/include/generic-glibc/bits/strings_fortified.h +++ b/lib/libc/include/generic-glibc/bits/strings_fortified.h @@ -1,5 +1,5 @@ /* Fortify macros for strings.h functions. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/struct_mutex.h b/lib/libc/include/generic-glibc/bits/struct_mutex.h index 26f2cf4f9909877ccce44581f5909d042b0678d1..bb245e95611588841af34be7b9f4b48fe794cb85 100644 --- a/lib/libc/include/generic-glibc/bits/struct_mutex.h +++ b/lib/libc/include/generic-glibc/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* Default mutex implementation struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/struct_rwlock.h b/lib/libc/include/generic-glibc/bits/struct_rwlock.h index 6355f539b971cae20b39fac3de7868cecabf9e73..1de6d9250c1f42ba827f7ec94c944ef903ae4af7 100644 --- a/lib/libc/include/generic-glibc/bits/struct_rwlock.h +++ b/lib/libc/include/generic-glibc/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* MIPS internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/struct_stat.h b/lib/libc/include/generic-glibc/bits/struct_stat.h index 49c901ce9a302f6f4f895153b14efde4686f4993..b847f5786b84cf48790a7db40743628e403d3aa0 100644 --- a/lib/libc/include/generic-glibc/bits/struct_stat.h +++ b/lib/libc/include/generic-glibc/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -131,27 +131,30 @@ struct stat64 struct stat { +# ifdef __USE_TIME_BITS64 +# include +# else __dev_t st_dev; int st_pad1[3]; /* Reserved for st_dev expansion */ -# ifndef __USE_FILE_OFFSET64 +# ifndef __USE_FILE_OFFSET64 __ino_t st_ino; -# else +# else __ino64_t st_ino; -# endif +# endif __mode_t st_mode; __nlink_t st_nlink; __uid_t st_uid; __gid_t st_gid; __dev_t st_rdev; -# if !defined __USE_FILE_OFFSET64 +# if !defined __USE_FILE_OFFSET64 unsigned int st_pad2[2]; /* Reserved for st_rdev expansion */ __off_t st_size; int st_pad3; -# else +# else unsigned int st_pad2[3]; /* Reserved for st_rdev expansion */ __off64_t st_size; -# endif -# ifdef __USE_XOPEN2K8 +# endif +# ifdef __USE_XOPEN2K8 /* Nanosecond resolution timestamps are stored in a format equivalent to 'struct timespec'. This is the type used whenever possible but the Unix namespace rules do not allow the @@ -161,30 +164,34 @@ struct stat struct timespec st_atim; /* Time of last access. */ struct timespec st_mtim; /* Time of last modification. */ struct timespec st_ctim; /* Time of last status change. */ -# define st_atime st_atim.tv_sec /* Backward compatibility. */ -# define st_mtime st_mtim.tv_sec -# define st_ctime st_ctim.tv_sec -# else +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else __time_t st_atime; /* Time of last access. */ unsigned long int st_atimensec; /* Nscecs of last access. */ __time_t st_mtime; /* Time of last modification. */ unsigned long int st_mtimensec; /* Nsecs of last modification. */ __time_t st_ctime; /* Time of last status change. */ unsigned long int st_ctimensec; /* Nsecs of last status change. */ -# endif +# endif __blksize_t st_blksize; unsigned int st_pad4; -# ifndef __USE_FILE_OFFSET64 +# ifndef __USE_FILE_OFFSET64 __blkcnt_t st_blocks; -# else +# else __blkcnt64_t st_blocks; -# endif +# endif int st_pad5[14]; +# endif }; #ifdef __USE_LARGEFILE64 struct stat64 { +# ifdef __USE_TIME_BITS64 +# include +# else __dev_t st_dev; unsigned int st_pad1[3]; /* Reserved for st_dev expansion */ __ino64_t st_ino; @@ -217,6 +224,7 @@ struct stat64 unsigned int st_pad3; __blkcnt64_t st_blocks; int st_pad4[14]; +# endif /* __USE_TIME_BITS64 */ }; #endif diff --git a/lib/libc/include/generic-glibc/bits/struct_stat_time64_helper.h b/lib/libc/include/generic-glibc/bits/struct_stat_time64_helper.h index 15f02c4dc15d9d901fa7f3cb0dad22ba684eadf0..1ddcd5c116c6b10e77c3e96c0837ea4b871b51d5 100644 --- a/lib/libc/include/generic-glibc/bits/struct_stat_time64_helper.h +++ b/lib/libc/include/generic-glibc/bits/struct_stat_time64_helper.h @@ -1,5 +1,5 @@ /* Definition for helper to define struct stat with 64-bit time. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/syscall.h b/lib/libc/include/generic-glibc/bits/syscall.h index 5cd10027e191b9b25f65b28a26f7f011732e6212..35735b73f655a0e6608f5521ec668d81e3bbf40a 100644 --- a/lib/libc/include/generic-glibc/bits/syscall.h +++ b/lib/libc/include/generic-glibc/bits/syscall.h @@ -1,11 +1,11 @@ /* Generated at libc build time from syscall list. */ -/* The system call list corresponds to kernel 5.13. */ +/* The system call list corresponds to kernel 6.4. */ #ifndef _SYSCALL_H # error "Never use directly; include instead." #endif -#define __GLIBC_LINUX_VERSION_CODE 331008 +#define __GLIBC_LINUX_VERSION_CODE 394240 #ifdef __NR_FAST_atomic_update # define SYS_FAST_atomic_update __NR_FAST_atomic_update @@ -495,6 +495,10 @@ # define SYS_futex_time64 __NR_futex_time64 #endif +#ifdef __NR_futex_waitv +# define SYS_futex_waitv __NR_futex_waitv +#endif + #ifdef __NR_futimesat # define SYS_futimesat __NR_futimesat #endif @@ -899,6 +903,10 @@ # define SYS_memfd_create __NR_memfd_create #endif +#ifdef __NR_memfd_secret +# define SYS_memfd_secret __NR_memfd_secret +#endif + #ifdef __NR_memory_ordering # define SYS_memory_ordering __NR_memory_ordering #endif @@ -1123,6 +1131,10 @@ # define SYS_openat2 __NR_openat2 #endif +#ifdef __NR_or1k_atomic +# define SYS_or1k_atomic __NR_or1k_atomic +#endif + #ifdef __NR_osf_adjtime # define SYS_osf_adjtime __NR_osf_adjtime #endif @@ -1667,6 +1679,10 @@ # define SYS_process_madvise __NR_process_madvise #endif +#ifdef __NR_process_mrelease +# define SYS_process_mrelease __NR_process_mrelease +#endif + #ifdef __NR_process_vm_readv # define SYS_process_vm_readv __NR_process_vm_readv #endif @@ -1719,6 +1735,10 @@ # define SYS_quotactl __NR_quotactl #endif +#ifdef __NR_quotactl_fd +# define SYS_quotactl_fd __NR_quotactl_fd +#endif + #ifdef __NR_read # define SYS_read __NR_read #endif @@ -1799,6 +1819,10 @@ # define SYS_riscv_flush_icache __NR_riscv_flush_icache #endif +#ifdef __NR_riscv_hwprobe +# define SYS_riscv_hwprobe __NR_riscv_hwprobe +#endif + #ifdef __NR_rmdir # define SYS_rmdir __NR_rmdir #endif @@ -1987,6 +2011,10 @@ # define SYS_set_mempolicy __NR_set_mempolicy #endif +#ifdef __NR_set_mempolicy_home_node +# define SYS_set_mempolicy_home_node __NR_set_mempolicy_home_node +#endif + #ifdef __NR_set_robust_list # define SYS_set_robust_list __NR_set_robust_list #endif diff --git a/lib/libc/include/generic-glibc/bits/syslog-decl.h b/lib/libc/include/generic-glibc/bits/syslog-decl.h new file mode 100644 index 0000000000000000000000000000000000000000..cc96f01c8f6e45861889782d2699d84847b3cee4 --- /dev/null +++ b/lib/libc/include/generic-glibc/bits/syslog-decl.h @@ -0,0 +1,35 @@ +/* Checking routines for syslog functions. Declaration only. + Copyright (C) 2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_SYSLOG_DECL_H +#define _BITS_SYSLOG_DECL_H 1 + +#ifndef _SYS_SYSLOG_H +# error "Never include directly; use instead." +#endif + +extern void __syslog_chk (int __pri, int __flag, const char *__fmt, ...) + __attribute__ ((__format__ (__printf__, 3, 4))); + +#ifdef __USE_MISC +extern void __vsyslog_chk (int __pri, int __flag, const char *__fmt, + __gnuc_va_list __ap) + __attribute__ ((__format__ (__printf__, 3, 0))); +#endif + +#endif \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/syslog-ldbl.h b/lib/libc/include/generic-glibc/bits/syslog-ldbl.h index b75903b0bcc9ac32b7c08128563b0ea12d9634ee..254082dd9c417fccd60a953467fb8460a83e25e3 100644 --- a/lib/libc/include/generic-glibc/bits/syslog-ldbl.h +++ b/lib/libc/include/generic-glibc/bits/syslog-ldbl.h @@ -1,5 +1,5 @@ /* -mlong-double-64 compatibility mode for syslog functions. - Copyright (C) 2006-2021 Free Software Foundation, Inc. + Copyright (C) 2006-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/syslog-path.h b/lib/libc/include/generic-glibc/bits/syslog-path.h index 90cabe160d139062ccb406262b56b91c587b5d88..1ff11192c23fd0fe3511c461fc544ab4fb4cbd68 100644 --- a/lib/libc/include/generic-glibc/bits/syslog-path.h +++ b/lib/libc/include/generic-glibc/bits/syslog-path.h @@ -1,5 +1,5 @@ /* -- _PATH_LOG definition - Copyright (C) 2006-2021 Free Software Foundation, Inc. + Copyright (C) 2006-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/syslog.h b/lib/libc/include/generic-glibc/bits/syslog.h index 00bfac8fbfe6cf0c99d82ba60d453cdac6482516..b160d4cd1a31de4de5a882b14e67c76b912fc49b 100644 --- a/lib/libc/include/generic-glibc/bits/syslog.h +++ b/lib/libc/include/generic-glibc/bits/syslog.h @@ -1,5 +1,5 @@ /* Checking macros for syslog functions. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,9 +20,15 @@ # error "Never include directly; use instead." #endif +#include -extern void __syslog_chk (int __pri, int __flag, const char *__fmt, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); +#include +#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# include +#endif + +/* The following functions must be used only after applying all asm + redirections, e.g. long double asm redirections. */ #ifdef __va_arg_pack __fortify_function void @@ -37,10 +43,6 @@ syslog (int __pri, const char *__fmt, ...) #ifdef __USE_MISC -extern void __vsyslog_chk (int __pri, int __flag, const char *__fmt, - __gnuc_va_list __ap) - __attribute__ ((__format__ (__printf__, 3, 0))); - __fortify_function void vsyslog (int __pri, const char *__fmt, __gnuc_va_list __ap) { diff --git a/lib/libc/include/generic-glibc/bits/sysmacros.h b/lib/libc/include/generic-glibc/bits/sysmacros.h index a236fdd12c251e346e19e515f0d193faddb693bc..4c2b9c3e96e7627c1a94e631ef0dae8579760341 100644 --- a/lib/libc/include/generic-glibc/bits/sysmacros.h +++ b/lib/libc/include/generic-glibc/bits/sysmacros.h @@ -1,5 +1,5 @@ /* Definitions of macros to access `dev_t' values. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/termios-baud.h b/lib/libc/include/generic-glibc/bits/termios-baud.h index 8e73d65bd36075dce2e995e8777d285657215a41..18dacc8666dd19e3c23827304f1da41130d063ca 100644 --- a/lib/libc/include/generic-glibc/bits/termios-baud.h +++ b/lib/libc/include/generic-glibc/bits/termios-baud.h @@ -1,5 +1,5 @@ /* termios baud rate selection definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/termios-c_cc.h b/lib/libc/include/generic-glibc/bits/termios-c_cc.h index 6f3513bc12d819d74ccd960eb1f1bd5dabaf8e1e..6463548d10ee65c7b8fce739025251bf899a27f4 100644 --- a/lib/libc/include/generic-glibc/bits/termios-c_cc.h +++ b/lib/libc/include/generic-glibc/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/termios-c_cflag.h b/lib/libc/include/generic-glibc/bits/termios-c_cflag.h index 174882f6210a773ce423a6480f19a8a049dd513e..bb60e32e4235b8676451f9ba254552a159232185 100644 --- a/lib/libc/include/generic-glibc/bits/termios-c_cflag.h +++ b/lib/libc/include/generic-glibc/bits/termios-c_cflag.h @@ -1,5 +1,5 @@ /* termios control mode definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -31,4 +31,8 @@ #define PARENB 0000400 #define PARODD 0001000 #define HUPCL 0002000 -#define CLOCAL 0004000 \ No newline at end of file +#define CLOCAL 0004000 + +#ifdef __USE_MISC +# define ADDRB 04000000000 +#endif \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/termios-c_iflag.h b/lib/libc/include/generic-glibc/bits/termios-c_iflag.h index cd3bec9a483edaf3ccb6c52bba6c3568a15297cb..c102b958922128d1005070ac274f8e59a37319a1 100644 --- a/lib/libc/include/generic-glibc/bits/termios-c_iflag.h +++ b/lib/libc/include/generic-glibc/bits/termios-c_iflag.h @@ -1,5 +1,5 @@ /* termios input mode definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/termios-c_lflag.h b/lib/libc/include/generic-glibc/bits/termios-c_lflag.h index 84ffa74d77cfa290001d04d397f4264982aaa95d..7774a67e5b1cf53ea3a627c2a60756a2cd4bd4e7 100644 --- a/lib/libc/include/generic-glibc/bits/termios-c_lflag.h +++ b/lib/libc/include/generic-glibc/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/termios-c_oflag.h b/lib/libc/include/generic-glibc/bits/termios-c_oflag.h index 7bc565cd22f09c971a7a9a7c0706bb315627a36d..d4f9e4e8615f362734ff35ef82b8a897c3ba5e4a 100644 --- a/lib/libc/include/generic-glibc/bits/termios-c_oflag.h +++ b/lib/libc/include/generic-glibc/bits/termios-c_oflag.h @@ -1,5 +1,5 @@ /* termios output mode definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/termios-misc.h b/lib/libc/include/generic-glibc/bits/termios-misc.h index eca54813c06c8dc11ab582b63879c302a81e3997..1a7ab9be21a13196b690ebdefcdd6e3fed17fe2a 100644 --- a/lib/libc/include/generic-glibc/bits/termios-misc.h +++ b/lib/libc/include/generic-glibc/bits/termios-misc.h @@ -1,5 +1,5 @@ /* termios baud platform specific definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/termios-struct.h b/lib/libc/include/generic-glibc/bits/termios-struct.h index 9b65f635db9c178f7b444e3a9c5d51a674bc717b..380ed81f8be33170e11940fdbcffee085bffc68c 100644 --- a/lib/libc/include/generic-glibc/bits/termios-struct.h +++ b/lib/libc/include/generic-glibc/bits/termios-struct.h @@ -1,5 +1,5 @@ /* struct termios definition. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/termios-tcflow.h b/lib/libc/include/generic-glibc/bits/termios-tcflow.h index 6cc64868e631594fd9321558e404d1238f9ab643..1d3e598df49cd4b06db8759da95e3ed8bdcbc99b 100644 --- a/lib/libc/include/generic-glibc/bits/termios-tcflow.h +++ b/lib/libc/include/generic-glibc/bits/termios-tcflow.h @@ -1,5 +1,5 @@ -/* termios tcflag symbolic contants definitions. Linux/generic version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. +/* termios tcflag symbolic constant definitions. Linux/generic version. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/termios.h b/lib/libc/include/generic-glibc/bits/termios.h index 352469d7aaace4ce9a8da8b40f6bc204c3062c94..004137f8dad7cd64bf7ea99461430fe50e4f2cf0 100644 --- a/lib/libc/include/generic-glibc/bits/termios.h +++ b/lib/libc/include/generic-glibc/bits/termios.h @@ -1,5 +1,5 @@ /* termios type and macro definitions. Linux version. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/thread-shared-types.h b/lib/libc/include/generic-glibc/bits/thread-shared-types.h index ffc86742ca8a667bf276db5e887b46ec3de8acf1..5b03da2e4436aaf4131848270d756a4492d791ab 100644 --- a/lib/libc/include/generic-glibc/bits/thread-shared-types.h +++ b/lib/libc/include/generic-glibc/bits/thread-shared-types.h @@ -1,5 +1,5 @@ /* Common threading primitives definitions for both POSIX and C11. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -43,6 +43,8 @@ #include +#include + /* Common definition of pthread_mutex_t. */ @@ -91,24 +93,8 @@ typedef struct __pthread_internal_slist struct __pthread_cond_s { - __extension__ union - { - __extension__ unsigned long long int __wseq; - struct - { - unsigned int __low; - unsigned int __high; - } __wseq32; - }; - __extension__ union - { - __extension__ unsigned long long int __g1_start; - struct - { - unsigned int __low; - unsigned int __high; - } __g1_start32; - }; + __atomic_wide_counter __wseq; + __atomic_wide_counter __g1_start; unsigned int __g_refs[2] __LOCK_ALIGNMENT; unsigned int __g_size[2]; unsigned int __g1_orig_size; diff --git a/lib/libc/include/generic-glibc/bits/time.h b/lib/libc/include/generic-glibc/bits/time.h index 2cc9c18c35de53ccfedf0e04136382e3041a8899..043b2e03ca3bec7ff285b5ad2c8f715225006e8c 100644 --- a/lib/libc/include/generic-glibc/bits/time.h +++ b/lib/libc/include/generic-glibc/bits/time.h @@ -1,5 +1,5 @@ /* System-dependent timing definitions. Linux version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -75,13 +75,13 @@ extern long int __sysconf (int); __BEGIN_DECLS /* Tune a POSIX clock. */ -extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __THROW; +extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __THROW __nonnull((2)); #ifdef __USE_TIME_BITS64 # if defined(__REDIRECT_NTH) extern int __REDIRECT_NTH (clock_adjtime, (__clockid_t __clock_id, struct timex *__utx), - __clock_adjtime64); + __clock_adjtime64) __nonnull((2)); # else # define clock_adjtime __clock_adjtime64 # endif diff --git a/lib/libc/include/generic-glibc/bits/time64.h b/lib/libc/include/generic-glibc/bits/time64.h index 7359231806c1230b9c0012007d34014803396cc5..ac4faa0a57e64e6375e517c47fefb5c7f120e899 100644 --- a/lib/libc/include/generic-glibc/bits/time64.h +++ b/lib/libc/include/generic-glibc/bits/time64.h @@ -1,5 +1,5 @@ /* bits/time64.h -- underlying types for __time64_t. Generic version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/timerfd.h b/lib/libc/include/generic-glibc/bits/timerfd.h index 58fef8da71c194e641945ac7b5069416d798c2e2..60cd1b997064760db19b7afcea1cc93b14fd4d2c 100644 --- a/lib/libc/include/generic-glibc/bits/timerfd.h +++ b/lib/libc/include/generic-glibc/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/timesize.h b/lib/libc/include/generic-glibc/bits/timesize.h index eea3ce639603ec7b1ef8dff4ff76702fd634e354..0c8caad8c9df048690503b7b00212a154934bf22 100644 --- a/lib/libc/include/generic-glibc/bits/timesize.h +++ b/lib/libc/include/generic-glibc/bits/timesize.h @@ -1,5 +1,5 @@ -/* Bit size of the time_t type at glibc build time, general case. - Copyright (C) 2018-2021 Free Software Foundation, Inc. +/* Bit size of the time_t type at glibc build time, Linux/MIPS. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/timex.h b/lib/libc/include/generic-glibc/bits/timex.h index 40295471b405de527b8e23f89aa0adfaf48ef0e2..fc267669f6eb878a0ba8623dd3a858fc6940f5f2 100644 --- a/lib/libc/include/generic-glibc/bits/timex.h +++ b/lib/libc/include/generic-glibc/bits/timex.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -25,7 +25,7 @@ struct timex { -# ifdef __USE_TIME_BITS64 +# if defined __USE_TIME_BITS64 || (__TIMESIZE == 64 && __WORDSIZE == 32) unsigned int modes; /* mode selector */ int :32; /* pad */ long long offset; /* time offset (usec) */ diff --git a/lib/libc/include/generic-glibc/bits/types.h b/lib/libc/include/generic-glibc/bits/types.h index 5e93f78e7c7f9df0e951c6ef61f15ad93e31e6aa..54d5d7baa2014af7686e0b38fab0b5a374714c89 100644 --- a/lib/libc/include/generic-glibc/bits/types.h +++ b/lib/libc/include/generic-glibc/bits/types.h @@ -1,5 +1,5 @@ /* bits/types.h -- definitions of __*_t types underlying *_t types. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/__locale_t.h b/lib/libc/include/generic-glibc/bits/types/__locale_t.h index 72ce88a4403ddf0d1dda57e4f1868b125c8db3bd..1202f8f72094f79b5465d4d3bbae4a4d976205e9 100644 --- a/lib/libc/include/generic-glibc/bits/types/__locale_t.h +++ b/lib/libc/include/generic-glibc/bits/types/__locale_t.h @@ -1,7 +1,6 @@ /* Definition of struct __locale_struct and __locale_t. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1997. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/generic-glibc/bits/types/__sigval_t.h b/lib/libc/include/generic-glibc/bits/types/__sigval_t.h index 3ca534a19d75db3cc5fa092f93117ffa11426ec0..bffaae4189273a57559b7dd49b20bcb43249e506 100644 --- a/lib/libc/include/generic-glibc/bits/types/__sigval_t.h +++ b/lib/libc/include/generic-glibc/bits/types/__sigval_t.h @@ -1,5 +1,5 @@ /* Define __sigval_t. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/cookie_io_functions_t.h b/lib/libc/include/generic-glibc/bits/types/cookie_io_functions_t.h index 62185e20144794a7acaa02dbb639f77be4ab2842..1bc52a1b63214c3d0083a524e15936ab041a7880 100644 --- a/lib/libc/include/generic-glibc/bits/types/cookie_io_functions_t.h +++ b/lib/libc/include/generic-glibc/bits/types/cookie_io_functions_t.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/error_t.h b/lib/libc/include/generic-glibc/bits/types/error_t.h index 73ed5b3a2f863c5f48c17076d785b09d001a4e7b..da549dec48a3b409762dc7d54ac9e5c6ead0f8a6 100644 --- a/lib/libc/include/generic-glibc/bits/types/error_t.h +++ b/lib/libc/include/generic-glibc/bits/types/error_t.h @@ -1,5 +1,5 @@ /* Define error_t. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/idtype_t.h b/lib/libc/include/generic-glibc/bits/types/idtype_t.h new file mode 100644 index 0000000000000000000000000000000000000000..32eef351adb8588f688eef5d010d8be9189b0a85 --- /dev/null +++ b/lib/libc/include/generic-glibc/bits/types/idtype_t.h @@ -0,0 +1,14 @@ +#ifndef __idtype_t_defined +#define __idtype_t_defined + +/* The following values are used by the `waitid' function. */ +typedef enum +{ + P_ALL, /* Wait for any child. */ + P_PID, /* Wait for specified process. */ + P_PGID, /* Wait for members of process group. */ + P_PIDFD, /* Wait for the child referred by the PID file + descriptor. */ +} idtype_t; + +#endif \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/types/locale_t.h b/lib/libc/include/generic-glibc/bits/types/locale_t.h index 0292481bdb4d3efa2aa8350b20712ca021fc1f17..9f6b1877a10e3dc8682cb3f9eb16c58ad288fcb9 100644 --- a/lib/libc/include/generic-glibc/bits/types/locale_t.h +++ b/lib/libc/include/generic-glibc/bits/types/locale_t.h @@ -1,5 +1,5 @@ /* Definition of locale_t. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/res_state.h b/lib/libc/include/generic-glibc/bits/types/res_state.h index 2b4060274d4a3832c643fdac33ef05b84c95e7d6..acc0f3fc60b6c80f1ad695c644df8b318e411067 100644 --- a/lib/libc/include/generic-glibc/bits/types/res_state.h +++ b/lib/libc/include/generic-glibc/bits/types/res_state.h @@ -11,7 +11,7 @@ #define MAXRESOLVSORT 10 /* number of net to sort on */ struct __res_state { - int retrans; /* retransmition time interval */ + int retrans; /* retransmission time interval */ int retry; /* number of times to retransmit */ unsigned long options; /* option flags - see below. */ int nscount; /* number of name servers */ diff --git a/lib/libc/include/generic-glibc/bits/types/stack_t.h b/lib/libc/include/generic-glibc/bits/types/stack_t.h index aa1bdf930b3771a56038a1f723aed9d7280c8a03..d2aecf0561239256fc663cea1c4741bd15e6741d 100644 --- a/lib/libc/include/generic-glibc/bits/types/stack_t.h +++ b/lib/libc/include/generic-glibc/bits/types/stack_t.h @@ -1,5 +1,5 @@ /* Define stack_t. Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_FILE.h b/lib/libc/include/generic-glibc/bits/types/struct_FILE.h index 85e45424922d0d98faca951a76b4fc25582acb0d..23801cf2a4db53b90ac9e63dc5ed642b6ee96321 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_FILE.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_FILE.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct___jmp_buf_tag.h b/lib/libc/include/generic-glibc/bits/types/struct___jmp_buf_tag.h index de11e2ad5c91bf1a8119a1fc8dbfc02733b88322..73f9de32d463acfe185e9b3f888dc3b460ce6415 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct___jmp_buf_tag.h +++ b/lib/libc/include/generic-glibc/bits/types/struct___jmp_buf_tag.h @@ -1,5 +1,5 @@ /* Define struct __jmp_buf_tag. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_iovec.h b/lib/libc/include/generic-glibc/bits/types/struct_iovec.h index 71faeb358da13f30374deb7b23c40cfd245d02c6..8e5186585c6a4aab0dd1737033110bda7f0fb994 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_iovec.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_iovec.h @@ -1,5 +1,5 @@ /* Define struct iovec. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds.h b/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds.h index 44e70eddaeb6af89de3b7db17a3cf76891d47e4e..dada8392ea74a08262e33cbe8054cfa29762619a 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds.h @@ -1,5 +1,5 @@ /* Generic implementation of the SysV message struct msqid64_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds_helper.h b/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds_helper.h index 9887c5f47889092b36d2bb556bfc40a7f420647a..890ad3f8e5dc9e8b5861943d71f61d7c87a78110 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds_helper.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds_helper.h @@ -1,5 +1,5 @@ /* Common definitions for struct msqid_ds with 64-bit time. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_msqid_ds.h b/lib/libc/include/generic-glibc/bits/types/struct_msqid_ds.h index 4ed63d17421b0d8ed1c0390d5970f4de02993641..d4d4ceb55c31d50a2101d0adc6844fcc278b9fa4 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Generic implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_rusage.h b/lib/libc/include/generic-glibc/bits/types/struct_rusage.h index 4a1a5eb58d52b7eaf4be887d2b8f388ef765edcf..d01b6e7495df48fc13fb81b715ef9bc452315611 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_rusage.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_rusage.h @@ -1,5 +1,5 @@ /* Define struct rusage. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_sched_param.h b/lib/libc/include/generic-glibc/bits/types/struct_sched_param.h index 3e80d75038d518e8edf33e2e4e2f23676a99b4c5..ff64400e9d398ecfa94b94d1c962e27f4f26fc36 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_sched_param.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_sched_param.h @@ -1,5 +1,5 @@ /* Sched parameter structure. Generic version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds.h b/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds.h index b6f423abe0fe49bfa9a3e9cb8983a431f6770395..87f1bbfd55805126648c8a78cbca9a75f785ce98 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds.h @@ -1,5 +1,5 @@ /* Generic implementation of the semaphore struct semid64_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds_helper.h b/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds_helper.h index f9d237db0353f9d03f823666cb5a44e64be759b9..33fdab3bd0e51b06bd11291d71e5a8f61604741c 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds_helper.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds_helper.h @@ -1,5 +1,5 @@ /* Common definitions for struct semid_ds with 64-bit time. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_semid_ds.h b/lib/libc/include/generic-glibc/bits/types/struct_semid_ds.h index fcbf6447fc601aac97ffd151b66d01a848a6bf24..ddc82015c8780bc06c674765755bd536076408be 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_semid_ds.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* Generic implementation of the semaphore struct semid_ds. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds.h b/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds.h index ec2c97d59cc42b3583a66682f3ef7915238b4452..5246141fc49300709baa7b77b31cd1c8e5831fc1 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds.h @@ -1,5 +1,5 @@ /* Generic implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds_helper.h b/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds_helper.h index 157d363e8dcfff01c94785d1767244bbb2d443c0..da5a35ee1bdf986da52ecd66b66e33cb895dc35d 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds_helper.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds_helper.h @@ -1,5 +1,5 @@ /* Common definitions for struct semid_ds with 64-bit time. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_shmid_ds.h b/lib/libc/include/generic-glibc/bits/types/struct_shmid_ds.h index 07ecb8c0d33d68774e7f869c43ee8c69a80c3a46..7a35a2f75a4cbfcf6e983a924d52e832a51289cf 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Generic implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_sigstack.h b/lib/libc/include/generic-glibc/bits/types/struct_sigstack.h index 986c599b6cccc933476d065082a7d620ec3f0786..56cf58e4f8a50bbac9f15f7a9e2ebe82c5ff0f78 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_sigstack.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_sigstack.h @@ -1,5 +1,5 @@ /* Define struct sigstack. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_statx.h b/lib/libc/include/generic-glibc/bits/types/struct_statx.h index fd9ccf9e1ea823bc862d1847bed440008a5260a5..41ae595f75fa0abb0ff9c3de3bd6943318563fd1 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_statx.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_statx.h @@ -1,5 +1,5 @@ /* Definition of the generic version of struct statx. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/types/struct_statx_timestamp.h b/lib/libc/include/generic-glibc/bits/types/struct_statx_timestamp.h index 4957626c7399e6967ce26f04cf8c8b5283aad5af..1e99a5f286c852b9d343b871755850235a76b9b5 100644 --- a/lib/libc/include/generic-glibc/bits/types/struct_statx_timestamp.h +++ b/lib/libc/include/generic-glibc/bits/types/struct_statx_timestamp.h @@ -1,5 +1,5 @@ /* Definition of the generic version of struct statx_timestamp. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/typesizes.h b/lib/libc/include/generic-glibc/bits/typesizes.h index 47d2bc9c45fdfdec82a29f2030c2eb3cfd03201f..483428043e90984e983b92fd2141f3395efd5049 100644 --- a/lib/libc/include/generic-glibc/bits/typesizes.h +++ b/lib/libc/include/generic-glibc/bits/typesizes.h @@ -1,5 +1,5 @@ -/* bits/typesizes.h -- underlying types for *_t. Generic version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* bits/typesizes.h -- underlying types for *_t. MIPS version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/uintn-identity.h b/lib/libc/include/generic-glibc/bits/uintn-identity.h index 7cdf181da60181a0603bf77a57a22764247ebfe1..c424c783d6f60207791eeda0ef315908edcfa024 100644 --- a/lib/libc/include/generic-glibc/bits/uintn-identity.h +++ b/lib/libc/include/generic-glibc/bits/uintn-identity.h @@ -1,5 +1,5 @@ /* Inline functions to return unsigned integer values unchanged. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/uio-ext.h b/lib/libc/include/generic-glibc/bits/uio-ext.h index 9290927a03c01f08f5adf9b633d5adff835ff00f..5323492484a86f935abc6377a5ecfefb74f934d9 100644 --- a/lib/libc/include/generic-glibc/bits/uio-ext.h +++ b/lib/libc/include/generic-glibc/bits/uio-ext.h @@ -1,5 +1,5 @@ /* Operating system-specific extensions to sys/uio.h - Linux version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/uio_lim.h b/lib/libc/include/generic-glibc/bits/uio_lim.h index d5a3319e315976f21902a538e3bae0b505958e7a..5bbbe25d6589a9eddc8a6140a9940794ee4d33bf 100644 --- a/lib/libc/include/generic-glibc/bits/uio_lim.h +++ b/lib/libc/include/generic-glibc/bits/uio_lim.h @@ -1,5 +1,5 @@ /* Implementation limits related to sys/uio.h - Linux version. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/unistd-decl.h b/lib/libc/include/generic-glibc/bits/unistd-decl.h new file mode 100644 index 0000000000000000000000000000000000000000..d06ca053a12fbffe24b42a10b2ecba1691a9aedc --- /dev/null +++ b/lib/libc/include/generic-glibc/bits/unistd-decl.h @@ -0,0 +1,198 @@ +/* Checking routines for unistd functions. Declaration only. + Copyright (C) 2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_UNISTD_DECL_H +#define _BITS_UNISTD_DECL_H 1 + +#ifndef _UNISTD_H +# error "Never include directly; use instead." +#endif + +extern ssize_t __read_chk (int __fd, void *__buf, size_t __nbytes, + size_t __buflen) + __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT_FORTIFY (__read_alias, (int __fd, void *__buf, + size_t __nbytes), read) + __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT (__read_chk_warn, + (int __fd, void *__buf, size_t __nbytes, + size_t __buflen), __read_chk) + __wur __warnattr ("read called with bigger length than size of " + "the destination buffer"); + +#if defined __USE_UNIX98 || defined __USE_XOPEN2K8 +extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes, + __off_t __offset, size_t __bufsize) + __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes, + __off64_t __offset, size_t __bufsize) + __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT (__pread_alias, + (int __fd, void *__buf, size_t __nbytes, + __off_t __offset), pread) + __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT (__pread64_alias, + (int __fd, void *__buf, size_t __nbytes, + __off64_t __offset), pread64) + __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT (__pread_chk_warn, + (int __fd, void *__buf, size_t __nbytes, + __off_t __offset, size_t __bufsize), __pread_chk) + __wur __warnattr ("pread called with bigger length than size of " + "the destination buffer"); +extern ssize_t __REDIRECT (__pread64_chk_warn, + (int __fd, void *__buf, size_t __nbytes, + __off64_t __offset, size_t __bufsize), + __pread64_chk) + __wur __warnattr ("pread64 called with bigger length than size of " + "the destination buffer"); +#endif + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K +extern ssize_t __readlink_chk (const char *__restrict __path, + char *__restrict __buf, size_t __len, + size_t __buflen) + __THROW __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT_NTH (__readlink_alias, + (const char *__restrict __path, + char *__restrict __buf, size_t __len), readlink) + __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT_NTH (__readlink_chk_warn, + (const char *__restrict __path, + char *__restrict __buf, size_t __len, + size_t __buflen), __readlink_chk) + __nonnull ((1, 2)) __wur __warnattr ("readlink called with bigger length " + "than size of destination buffer"); +#endif + +#ifdef __USE_ATFILE +extern ssize_t __readlinkat_chk (int __fd, const char *__restrict __path, + char *__restrict __buf, size_t __len, + size_t __buflen) + __THROW __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4)); +extern ssize_t __REDIRECT_NTH (__readlinkat_alias, + (int __fd, const char *__restrict __path, + char *__restrict __buf, size_t __len), + readlinkat) + __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4)); +extern ssize_t __REDIRECT_NTH (__readlinkat_chk_warn, + (int __fd, const char *__restrict __path, + char *__restrict __buf, size_t __len, + size_t __buflen), __readlinkat_chk) + __nonnull ((2, 3)) __wur __warnattr ("readlinkat called with bigger " + "length than size of destination " + "buffer"); +#endif + +extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen) + __THROW __wur; +extern char *__REDIRECT_NTH (__getcwd_alias, + (char *__buf, size_t __size), getcwd) __wur; +extern char *__REDIRECT_NTH (__getcwd_chk_warn, + (char *__buf, size_t __size, size_t __buflen), + __getcwd_chk) + __wur __warnattr ("getcwd caller with bigger length than size of " + "destination buffer"); + +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +extern char *__getwd_chk (char *__buf, size_t buflen) + __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2)); +extern char *__REDIRECT_NTH (__getwd_warn, (char *__buf), getwd) + __nonnull ((1)) __wur __warnattr ("please use getcwd instead, as getwd " + "doesn't specify buffer size"); +#endif + +extern size_t __confstr_chk (int __name, char *__buf, size_t __len, + size_t __buflen) __THROW + __attr_access ((__write_only__, 2, 3)); +extern size_t __REDIRECT_NTH (__confstr_alias, (int __name, char *__buf, + size_t __len), confstr) + __attr_access ((__write_only__, 2, 3)); +extern size_t __REDIRECT_NTH (__confstr_chk_warn, + (int __name, char *__buf, size_t __len, + size_t __buflen), __confstr_chk) + __warnattr ("confstr called with bigger length than size of destination " + "buffer"); + + +extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen) + __THROW __wur __attr_access ((__write_only__, 2, 1)); +extern int __REDIRECT_NTH (__getgroups_alias, (int __size, __gid_t __list[]), + getgroups) __wur __attr_access ((__write_only__, 2, 1)); +extern int __REDIRECT_NTH (__getgroups_chk_warn, + (int __size, __gid_t __list[], size_t __listlen), + __getgroups_chk) + __wur __warnattr ("getgroups called with bigger group count than what " + "can fit into destination buffer"); + + +extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen, + size_t __nreal) __THROW __nonnull ((2)) + __attr_access ((__write_only__, 2, 3)); +extern int __REDIRECT_NTH (__ttyname_r_alias, (int __fd, char *__buf, + size_t __buflen), ttyname_r) + __nonnull ((2)); +extern int __REDIRECT_NTH (__ttyname_r_chk_warn, + (int __fd, char *__buf, size_t __buflen, + size_t __nreal), __ttyname_r_chk) + __nonnull ((2)) __warnattr ("ttyname_r called with bigger buflen than " + "size of destination buffer"); + + +#ifdef __USE_POSIX199506 +extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal) + __nonnull ((1)) __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT_FORTIFY (__getlogin_r_alias, (char *__buf, size_t __buflen), + getlogin_r) __nonnull ((1)); +extern int __REDIRECT (__getlogin_r_chk_warn, + (char *__buf, size_t __buflen, size_t __nreal), + __getlogin_r_chk) + __nonnull ((1)) __warnattr ("getlogin_r called with bigger buflen than " + "size of destination buffer"); +#endif + + +#if defined __USE_MISC || defined __USE_UNIX98 +extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal) + __THROW __nonnull ((1)) __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT_NTH (__gethostname_alias, (char *__buf, size_t __buflen), + gethostname) + __nonnull ((1)) __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT_NTH (__gethostname_chk_warn, + (char *__buf, size_t __buflen, size_t __nreal), + __gethostname_chk) + __nonnull ((1)) __warnattr ("gethostname called with bigger buflen than " + "size of destination buffer"); +#endif + + +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_UNIX98) +extern int __getdomainname_chk (char *__buf, size_t __buflen, size_t __nreal) + __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT_FORTIFY_NTH (__getdomainname_alias, (char *__buf, + size_t __buflen), + getdomainname) __nonnull ((1)) + __wur __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT_NTH (__getdomainname_chk_warn, + (char *__buf, size_t __buflen, size_t __nreal), + __getdomainname_chk) + __nonnull ((1)) __wur __warnattr ("getdomainname called with bigger " + "buflen than size of destination " + "buffer"); +#endif +#endif /* bits/unistd-decl.h. */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/unistd.h b/lib/libc/include/generic-glibc/bits/unistd.h index 76791bf9360d5d6954b5f4dfc3af72a62c82364c..964ffd374e401891a5047c2b1330f2191b508def 100644 --- a/lib/libc/include/generic-glibc/bits/unistd.h +++ b/lib/libc/include/generic-glibc/bits/unistd.h @@ -1,5 +1,5 @@ /* Checking macros for unistd functions. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,92 +20,32 @@ # error "Never include directly; use instead." #endif -extern ssize_t __read_chk (int __fd, void *__buf, size_t __nbytes, - size_t __buflen) - __wur __attr_access ((__write_only__, 2, 3)); -extern ssize_t __REDIRECT (__read_alias, (int __fd, void *__buf, - size_t __nbytes), read) - __wur __attr_access ((__write_only__, 2, 3)); -extern ssize_t __REDIRECT (__read_chk_warn, - (int __fd, void *__buf, size_t __nbytes, - size_t __buflen), __read_chk) - __wur __warnattr ("read called with bigger length than size of " - "the destination buffer"); +# include __fortify_function __wur ssize_t read (int __fd, void *__buf, size_t __nbytes) { - if (__glibc_objsize0 (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__nbytes)) - return __read_chk (__fd, __buf, __nbytes, __glibc_objsize0 (__buf)); - - if (__nbytes > __glibc_objsize0 (__buf)) - return __read_chk_warn (__fd, __buf, __nbytes, - __glibc_objsize0 (__buf)); - } - return __read_alias (__fd, __buf, __nbytes); + return __glibc_fortify (read, __nbytes, sizeof (char), + __glibc_objsize0 (__buf), + __fd, __buf, __nbytes); } -#ifdef __USE_UNIX98 -extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes, - __off_t __offset, size_t __bufsize) - __wur __attr_access ((__write_only__, 2, 3)); -extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes, - __off64_t __offset, size_t __bufsize) - __wur __attr_access ((__write_only__, 2, 3)); -extern ssize_t __REDIRECT (__pread_alias, - (int __fd, void *__buf, size_t __nbytes, - __off_t __offset), pread) - __wur __attr_access ((__write_only__, 2, 3)); -extern ssize_t __REDIRECT (__pread64_alias, - (int __fd, void *__buf, size_t __nbytes, - __off64_t __offset), pread64) - __wur __attr_access ((__write_only__, 2, 3)); -extern ssize_t __REDIRECT (__pread_chk_warn, - (int __fd, void *__buf, size_t __nbytes, - __off_t __offset, size_t __bufsize), __pread_chk) - __wur __warnattr ("pread called with bigger length than size of " - "the destination buffer"); -extern ssize_t __REDIRECT (__pread64_chk_warn, - (int __fd, void *__buf, size_t __nbytes, - __off64_t __offset, size_t __bufsize), - __pread64_chk) - __wur __warnattr ("pread64 called with bigger length than size of " - "the destination buffer"); - +#if defined __USE_UNIX98 || defined __USE_XOPEN2K8 # ifndef __USE_FILE_OFFSET64 __fortify_function __wur ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset) { - if (__glibc_objsize0 (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__nbytes)) - return __pread_chk (__fd, __buf, __nbytes, __offset, - __glibc_objsize0 (__buf)); - - if ( __nbytes > __glibc_objsize0 (__buf)) - return __pread_chk_warn (__fd, __buf, __nbytes, __offset, - __glibc_objsize0 (__buf)); - } - return __pread_alias (__fd, __buf, __nbytes, __offset); + return __glibc_fortify (pread, __nbytes, sizeof (char), + __glibc_objsize0 (__buf), + __fd, __buf, __nbytes, __offset); } # else __fortify_function __wur ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) { - if (__glibc_objsize0 (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__nbytes)) - return __pread64_chk (__fd, __buf, __nbytes, __offset, - __glibc_objsize0 (__buf)); - - if ( __nbytes > __glibc_objsize0 (__buf)) - return __pread64_chk_warn (__fd, __buf, __nbytes, __offset, - __glibc_objsize0 (__buf)); - } - - return __pread64_alias (__fd, __buf, __nbytes, __offset); + return __glibc_fortify (pread64, __nbytes, sizeof (char), + __glibc_objsize0 (__buf), + __fd, __buf, __nbytes, __offset); } # endif @@ -113,123 +53,44 @@ pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __fortify_function __wur ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) { - if (__glibc_objsize0 (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__nbytes)) - return __pread64_chk (__fd, __buf, __nbytes, __offset, - __glibc_objsize0 (__buf)); - - if ( __nbytes > __glibc_objsize0 (__buf)) - return __pread64_chk_warn (__fd, __buf, __nbytes, __offset, - __glibc_objsize0 (__buf)); - } - - return __pread64_alias (__fd, __buf, __nbytes, __offset); + return __glibc_fortify (pread64, __nbytes, sizeof (char), + __glibc_objsize0 (__buf), + __fd, __buf, __nbytes, __offset); } # endif #endif #if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K -extern ssize_t __readlink_chk (const char *__restrict __path, - char *__restrict __buf, size_t __len, - size_t __buflen) - __THROW __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3)); -extern ssize_t __REDIRECT_NTH (__readlink_alias, - (const char *__restrict __path, - char *__restrict __buf, size_t __len), readlink) - __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3)); -extern ssize_t __REDIRECT_NTH (__readlink_chk_warn, - (const char *__restrict __path, - char *__restrict __buf, size_t __len, - size_t __buflen), __readlink_chk) - __nonnull ((1, 2)) __wur __warnattr ("readlink called with bigger length " - "than size of destination buffer"); - __fortify_function __nonnull ((1, 2)) __wur ssize_t __NTH (readlink (const char *__restrict __path, char *__restrict __buf, size_t __len)) { - if (__glibc_objsize (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __readlink_chk (__path, __buf, __len, __glibc_objsize (__buf)); - - if ( __len > __glibc_objsize (__buf)) - return __readlink_chk_warn (__path, __buf, __len, - __glibc_objsize (__buf)); - } - return __readlink_alias (__path, __buf, __len); + return __glibc_fortify (readlink, __len, sizeof (char), + __glibc_objsize (__buf), + __path, __buf, __len); } #endif #ifdef __USE_ATFILE -extern ssize_t __readlinkat_chk (int __fd, const char *__restrict __path, - char *__restrict __buf, size_t __len, - size_t __buflen) - __THROW __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4)); -extern ssize_t __REDIRECT_NTH (__readlinkat_alias, - (int __fd, const char *__restrict __path, - char *__restrict __buf, size_t __len), - readlinkat) - __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4)); -extern ssize_t __REDIRECT_NTH (__readlinkat_chk_warn, - (int __fd, const char *__restrict __path, - char *__restrict __buf, size_t __len, - size_t __buflen), __readlinkat_chk) - __nonnull ((2, 3)) __wur __warnattr ("readlinkat called with bigger " - "length than size of destination " - "buffer"); - __fortify_function __nonnull ((2, 3)) __wur ssize_t __NTH (readlinkat (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len)) { - if (__glibc_objsize (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __readlinkat_chk (__fd, __path, __buf, __len, - __glibc_objsize (__buf)); - - if (__len > __glibc_objsize (__buf)) - return __readlinkat_chk_warn (__fd, __path, __buf, __len, - __glibc_objsize (__buf)); - } - return __readlinkat_alias (__fd, __path, __buf, __len); + return __glibc_fortify (readlinkat, __len, sizeof (char), + __glibc_objsize (__buf), + __fd, __path, __buf, __len); } #endif -extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen) - __THROW __wur __attr_access ((__write_only__, 1, 2)); -extern char *__REDIRECT_NTH (__getcwd_alias, - (char *__buf, size_t __size), getcwd) - __wur __attr_access ((__write_only__, 1, 2)); -extern char *__REDIRECT_NTH (__getcwd_chk_warn, - (char *__buf, size_t __size, size_t __buflen), - __getcwd_chk) - __wur __warnattr ("getcwd caller with bigger length than size of " - "destination buffer"); - __fortify_function __wur char * __NTH (getcwd (char *__buf, size_t __size)) { - if (__glibc_objsize (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__size)) - return __getcwd_chk (__buf, __size, __glibc_objsize (__buf)); - - if (__size > __glibc_objsize (__buf)) - return __getcwd_chk_warn (__buf, __size, __glibc_objsize (__buf)); - } - return __getcwd_alias (__buf, __size); + return __glibc_fortify (getcwd, __size, sizeof (char), + __glibc_objsize (__buf), + __buf, __size); } #if defined __USE_MISC || defined __USE_XOPEN_EXTENDED -extern char *__getwd_chk (char *__buf, size_t buflen) - __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2)); -extern char *__REDIRECT_NTH (__getwd_warn, (char *__buf), getwd) - __nonnull ((1)) __wur __warnattr ("please use getcwd instead, as getwd " - "doesn't specify buffer size"); - __fortify_function __nonnull ((1)) __attribute_deprecated__ __wur char * __NTH (getwd (char *__buf)) { @@ -239,171 +100,61 @@ __NTH (getwd (char *__buf)) } #endif -extern size_t __confstr_chk (int __name, char *__buf, size_t __len, - size_t __buflen) __THROW - __attr_access ((__write_only__, 2, 3)); -extern size_t __REDIRECT_NTH (__confstr_alias, (int __name, char *__buf, - size_t __len), confstr) - __attr_access ((__write_only__, 2, 3)); -extern size_t __REDIRECT_NTH (__confstr_chk_warn, - (int __name, char *__buf, size_t __len, - size_t __buflen), __confstr_chk) - __warnattr ("confstr called with bigger length than size of destination " - "buffer"); - __fortify_function size_t __NTH (confstr (int __name, char *__buf, size_t __len)) { - if (__glibc_objsize (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __confstr_chk (__name, __buf, __len, __glibc_objsize (__buf)); - - if (__glibc_objsize (__buf) < __len) - return __confstr_chk_warn (__name, __buf, __len, - __glibc_objsize (__buf)); - } - return __confstr_alias (__name, __buf, __len); + return __glibc_fortify (confstr, __len, sizeof (char), + __glibc_objsize (__buf), + __name, __buf, __len); } -extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen) - __THROW __wur __attr_access ((__write_only__, 2, 1)); -extern int __REDIRECT_NTH (__getgroups_alias, (int __size, __gid_t __list[]), - getgroups) __wur __attr_access ((__write_only__, 2, 1)); -extern int __REDIRECT_NTH (__getgroups_chk_warn, - (int __size, __gid_t __list[], size_t __listlen), - __getgroups_chk) - __wur __warnattr ("getgroups called with bigger group count than what " - "can fit into destination buffer"); - __fortify_function int __NTH (getgroups (int __size, __gid_t __list[])) { - if (__glibc_objsize (__list) != (size_t) -1) - { - if (!__builtin_constant_p (__size) || __size < 0) - return __getgroups_chk (__size, __list, __glibc_objsize (__list)); - - if (__size * sizeof (__gid_t) > __glibc_objsize (__list)) - return __getgroups_chk_warn (__size, __list, __glibc_objsize (__list)); - } - return __getgroups_alias (__size, __list); + return __glibc_fortify (getgroups, __size, sizeof (__gid_t), + __glibc_objsize (__list), + __size, __list); } -extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen, - size_t __nreal) __THROW __nonnull ((2)) - __attr_access ((__write_only__, 2, 3)); -extern int __REDIRECT_NTH (__ttyname_r_alias, (int __fd, char *__buf, - size_t __buflen), ttyname_r) - __nonnull ((2)); -extern int __REDIRECT_NTH (__ttyname_r_chk_warn, - (int __fd, char *__buf, size_t __buflen, - size_t __nreal), __ttyname_r_chk) - __nonnull ((2)) __warnattr ("ttyname_r called with bigger buflen than " - "size of destination buffer"); - __fortify_function int __NTH (ttyname_r (int __fd, char *__buf, size_t __buflen)) { - if (__glibc_objsize (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__buflen)) - return __ttyname_r_chk (__fd, __buf, __buflen, - __glibc_objsize (__buf)); - - if (__buflen > __glibc_objsize (__buf)) - return __ttyname_r_chk_warn (__fd, __buf, __buflen, - __glibc_objsize (__buf)); - } - return __ttyname_r_alias (__fd, __buf, __buflen); + return __glibc_fortify (ttyname_r, __buflen, sizeof (char), + __glibc_objsize (__buf), + __fd, __buf, __buflen); } #ifdef __USE_POSIX199506 -extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal) - __nonnull ((1)) __attr_access ((__write_only__, 1, 2)); -extern int __REDIRECT (__getlogin_r_alias, (char *__buf, size_t __buflen), - getlogin_r) __nonnull ((1)); -extern int __REDIRECT (__getlogin_r_chk_warn, - (char *__buf, size_t __buflen, size_t __nreal), - __getlogin_r_chk) - __nonnull ((1)) __warnattr ("getlogin_r called with bigger buflen than " - "size of destination buffer"); - __fortify_function int getlogin_r (char *__buf, size_t __buflen) { - if (__glibc_objsize (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__buflen)) - return __getlogin_r_chk (__buf, __buflen, __glibc_objsize (__buf)); - - if (__buflen > __glibc_objsize (__buf)) - return __getlogin_r_chk_warn (__buf, __buflen, - __glibc_objsize (__buf)); - } - return __getlogin_r_alias (__buf, __buflen); + return __glibc_fortify (getlogin_r, __buflen, sizeof (char), + __glibc_objsize (__buf), + __buf, __buflen); } #endif #if defined __USE_MISC || defined __USE_UNIX98 -extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal) - __THROW __nonnull ((1)) __attr_access ((__write_only__, 1, 2)); -extern int __REDIRECT_NTH (__gethostname_alias, (char *__buf, size_t __buflen), - gethostname) - __nonnull ((1)) __attr_access ((__write_only__, 1, 2)); -extern int __REDIRECT_NTH (__gethostname_chk_warn, - (char *__buf, size_t __buflen, size_t __nreal), - __gethostname_chk) - __nonnull ((1)) __warnattr ("gethostname called with bigger buflen than " - "size of destination buffer"); - __fortify_function int __NTH (gethostname (char *__buf, size_t __buflen)) { - if (__glibc_objsize (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__buflen)) - return __gethostname_chk (__buf, __buflen, __glibc_objsize (__buf)); - - if (__buflen > __glibc_objsize (__buf)) - return __gethostname_chk_warn (__buf, __buflen, - __glibc_objsize (__buf)); - } - return __gethostname_alias (__buf, __buflen); + return __glibc_fortify (gethostname, __buflen, sizeof (char), + __glibc_objsize (__buf), + __buf, __buflen); } #endif #if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_UNIX98) -extern int __getdomainname_chk (char *__buf, size_t __buflen, size_t __nreal) - __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2)); -extern int __REDIRECT_NTH (__getdomainname_alias, (char *__buf, - size_t __buflen), - getdomainname) __nonnull ((1)) - __wur __attr_access ((__write_only__, 1, 2)); -extern int __REDIRECT_NTH (__getdomainname_chk_warn, - (char *__buf, size_t __buflen, size_t __nreal), - __getdomainname_chk) - __nonnull ((1)) __wur __warnattr ("getdomainname called with bigger " - "buflen than size of destination " - "buffer"); - __fortify_function int __NTH (getdomainname (char *__buf, size_t __buflen)) { - if (__glibc_objsize (__buf) != (size_t) -1) - { - if (!__builtin_constant_p (__buflen)) - return __getdomainname_chk (__buf, __buflen, __glibc_objsize (__buf)); - - if (__buflen > __glibc_objsize (__buf)) - return __getdomainname_chk_warn (__buf, __buflen, - __glibc_objsize (__buf)); - } - return __getdomainname_alias (__buf, __buflen); + return __glibc_fortify (getdomainname, __buflen, sizeof (char), + __glibc_objsize (__buf), + __buf, __buflen); } #endif \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/unistd_ext.h b/lib/libc/include/generic-glibc/bits/unistd_ext.h index 7ea3163bf6540cece372d50c787a78fcb8194a6e..95fd6fc31666e23ae908f7ef1910e8676852fc16 100644 --- a/lib/libc/include/generic-glibc/bits/unistd_ext.h +++ b/lib/libc/include/generic-glibc/bits/unistd_ext.h @@ -1,5 +1,5 @@ /* System-specific extensions of , Linux version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -47,13 +47,4 @@ extern __pid_t gettid (void) __THROW; # define CLOSE_RANGE_CLOEXEC (1U << 2) #endif -/* Close all file descriptors in the range FD up to MAX_FD. The flag FLAGS - are define by the CLOSE_RANGE prefix. This function behaves like close - on the range, but in a fail-safe where it will either fail and not close - any file descriptor or close all of them. Gaps where the file descriptor - is invalid are ignored. Returns 0 on successor or -1 for failure (and - sets errno accordingly). */ -extern int close_range (unsigned int __fd, unsigned int __max_fd, - int __flags) __THROW; - #endif /* __USE_GNU */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/utmp.h b/lib/libc/include/generic-glibc/bits/utmp.h index bf103669e72e4ab0ebed89898a1dbe1df72422e0..8172fb2e80fcbc7376ae66f25d94a82a4203c950 100644 --- a/lib/libc/include/generic-glibc/bits/utmp.h +++ b/lib/libc/include/generic-glibc/bits/utmp.h @@ -1,5 +1,5 @@ /* The `struct utmp' type, describing entries in the utmp file. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/utmpx.h b/lib/libc/include/generic-glibc/bits/utmpx.h index ea2179fb4da52f8b43d2003fbb2efcfcef53b604..86649eafac8dedbfc320fc8716ece3530a50b1a2 100644 --- a/lib/libc/include/generic-glibc/bits/utmpx.h +++ b/lib/libc/include/generic-glibc/bits/utmpx.h @@ -1,5 +1,5 @@ /* Structures and definitions for the user accounting database. GNU version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/utsname.h b/lib/libc/include/generic-glibc/bits/utsname.h index dc073157cbf6eaff85e309accdc0c9fc57e8a2b7..59c73981bdeccee6ff8417674c46e60f77fc7c0a 100644 --- a/lib/libc/include/generic-glibc/bits/utsname.h +++ b/lib/libc/include/generic-glibc/bits/utsname.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/waitflags.h b/lib/libc/include/generic-glibc/bits/waitflags.h index 6f00f8b551ae1ad3aafe85988c7e8bebf4e5996c..ca6b771fce70dd33c2f54f6a8cbfc21b130e60a4 100644 --- a/lib/libc/include/generic-glibc/bits/waitflags.h +++ b/lib/libc/include/generic-glibc/bits/waitflags.h @@ -1,5 +1,5 @@ /* Definitions of flag bits for `waitpid' et al. - Copyright (C) 1992-2021 Free Software Foundation, Inc. + Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/waitstatus.h b/lib/libc/include/generic-glibc/bits/waitstatus.h index a7735631c1bdada6a6d2e8ca6736253070d87432..4678684ccbf27cbc17dbeb3c4724c44eca6f7e96 100644 --- a/lib/libc/include/generic-glibc/bits/waitstatus.h +++ b/lib/libc/include/generic-glibc/bits/waitstatus.h @@ -1,5 +1,5 @@ /* Definitions of status bits for `wait' et al. - Copyright (C) 1992-2021 Free Software Foundation, Inc. + Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/wchar-ldbl.h b/lib/libc/include/generic-glibc/bits/wchar-ldbl.h index 47e03474938689e1090dfcdce4bb5d189bd51fb9..24db821fa5a3525903bff719d50617b98851bddb 100644 --- a/lib/libc/include/generic-glibc/bits/wchar-ldbl.h +++ b/lib/libc/include/generic-glibc/bits/wchar-ldbl.h @@ -1,5 +1,5 @@ /* -mlong-double-64 compatibility mode for functions. - Copyright (C) 2006-2021 Free Software Foundation, Inc. + Copyright (C) 2006-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -29,13 +29,25 @@ __LDBL_REDIR_DECL (vwprintf); __LDBL_REDIR_DECL (vswprintf); # if !__GLIBC_USE (DEPRECATED_SCANF) # if defined __LDBL_COMPAT +# if __GLIBC_USE (C2X_STRTOL) +__LDBL_REDIR1_DECL (fwscanf, __nldbl___isoc23_fwscanf) +__LDBL_REDIR1_DECL (wscanf, __nldbl___isoc23_wscanf) +__LDBL_REDIR1_DECL (swscanf, __nldbl___isoc23_swscanf) +# else __LDBL_REDIR1_DECL (fwscanf, __nldbl___isoc99_fwscanf) __LDBL_REDIR1_DECL (wscanf, __nldbl___isoc99_wscanf) __LDBL_REDIR1_DECL (swscanf, __nldbl___isoc99_swscanf) +# endif # elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# if __GLIBC_USE (C2X_STRTOL) +__LDBL_REDIR1_DECL (fwscanf, __isoc23_fwscanfieee128) +__LDBL_REDIR1_DECL (wscanf, __isoc23_wscanfieee128) +__LDBL_REDIR1_DECL (swscanf, __isoc23_swscanfieee128) +# else __LDBL_REDIR1_DECL (fwscanf, __isoc99_fwscanfieee128) __LDBL_REDIR1_DECL (wscanf, __isoc99_wscanfieee128) __LDBL_REDIR1_DECL (swscanf, __isoc99_swscanfieee128) +# endif # else # error bits/stdlib-ldbl.h included when no ldbl redirections are required. # endif @@ -54,13 +66,25 @@ __LDBL_REDIR1_DECL (wcstold, __wcstoieee128) # endif # if !__GLIBC_USE (DEPRECATED_SCANF) # if defined __LDBL_COMPAT +# if __GLIBC_USE (C2X_STRTOL) +__LDBL_REDIR1_DECL (vfwscanf, __nldbl___isoc23_vfwscanf) +__LDBL_REDIR1_DECL (vwscanf, __nldbl___isoc23_vwscanf) +__LDBL_REDIR1_DECL (vswscanf, __nldbl___isoc23_vswscanf) +# else __LDBL_REDIR1_DECL (vfwscanf, __nldbl___isoc99_vfwscanf) __LDBL_REDIR1_DECL (vwscanf, __nldbl___isoc99_vwscanf) __LDBL_REDIR1_DECL (vswscanf, __nldbl___isoc99_vswscanf) +# endif # elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# if __GLIBC_USE (C2X_STRTOL) +__LDBL_REDIR1_DECL (vfwscanf, __isoc23_vfwscanfieee128) +__LDBL_REDIR1_DECL (vwscanf, __isoc23_vwscanfieee128) +__LDBL_REDIR1_DECL (vswscanf, __isoc23_vswscanfieee128) +# else __LDBL_REDIR1_DECL (vfwscanf, __isoc99_vfwscanfieee128) __LDBL_REDIR1_DECL (vwscanf, __isoc99_vwscanfieee128) __LDBL_REDIR1_DECL (vswscanf, __isoc99_vswscanfieee128) +# endif # else # error bits/stdlib-ldbl.h included when no ldbl redirections are required. # endif diff --git a/lib/libc/include/generic-glibc/bits/wchar.h b/lib/libc/include/generic-glibc/bits/wchar.h index ad8b4e2664456be9a3abce9990de625e061e8b52..154b61c44982205d8b8b013270597ff9db0ef75e 100644 --- a/lib/libc/include/generic-glibc/bits/wchar.h +++ b/lib/libc/include/generic-glibc/bits/wchar.h @@ -1,5 +1,5 @@ /* wchar_t type related definitions. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/wchar2-decl.h b/lib/libc/include/generic-glibc/bits/wchar2-decl.h new file mode 100644 index 0000000000000000000000000000000000000000..3747c241d1b48807383412abd320c8a7ed5b0d43 --- /dev/null +++ b/lib/libc/include/generic-glibc/bits/wchar2-decl.h @@ -0,0 +1,296 @@ +/* Checking macros for wchar functions. Declarations only. + Copyright (C) 2004-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_WCHAR2_DECL_H +#define _BITS_WCHAR2_DECL_H 1 + +#ifndef _WCHAR_H +# error "Never include directly; use instead." +#endif + + +extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n, + size_t __ns1) __THROW; +extern wchar_t *__REDIRECT_NTH (__wmemcpy_alias, + (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n), + wmemcpy); +extern wchar_t *__REDIRECT_NTH (__wmemcpy_chk_warn, + (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n, + size_t __ns1), __wmemcpy_chk) + __warnattr ("wmemcpy called with length bigger than size of destination " + "buffer"); + +extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2, + size_t __n, size_t __ns1) __THROW; +extern wchar_t *__REDIRECT_NTH (__wmemmove_alias, (wchar_t *__s1, + const wchar_t *__s2, + size_t __n), wmemmove); +extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn, + (wchar_t *__s1, const wchar_t *__s2, + size_t __n, size_t __ns1), __wmemmove_chk) + __warnattr ("wmemmove called with length bigger than size of destination " + "buffer"); + + +#ifdef __USE_GNU + +extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n, + size_t __ns1) __THROW; +extern wchar_t *__REDIRECT_NTH (__wmempcpy_alias, + (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, + size_t __n), wmempcpy); +extern wchar_t *__REDIRECT_NTH (__wmempcpy_chk_warn, + (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n, + size_t __ns1), __wmempcpy_chk) + __warnattr ("wmempcpy called with length bigger than size of destination " + "buffer"); + +#endif + + +extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n, + size_t __ns) __THROW; +extern wchar_t *__REDIRECT_FORTIFY_NTH (__wmemset_alias, (wchar_t *__s, wchar_t __c, + size_t __n), wmemset); +extern wchar_t *__REDIRECT_NTH (__wmemset_chk_warn, + (wchar_t *__s, wchar_t __c, size_t __n, + size_t __ns), __wmemset_chk) + __warnattr ("wmemset called with length bigger than size of destination " + "buffer"); + +extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcscpy_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src), wcscpy); + +extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __destlen) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src), wcpcpy); + +extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, size_t __n, + size_t __destlen) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcsncpy_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n), wcsncpy); +extern wchar_t *__REDIRECT_NTH (__wcsncpy_chk_warn, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n, size_t __destlen), __wcsncpy_chk) + __warnattr ("wcsncpy called with length bigger than size of destination " + "buffer"); + +extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, size_t __n, + size_t __destlen) __THROW; + +extern wchar_t *__REDIRECT_NTH (__wcpncpy_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n), wcpncpy); +extern wchar_t *__REDIRECT_NTH (__wcpncpy_chk_warn, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n, size_t __destlen), __wcpncpy_chk) + __warnattr ("wcpncpy called with length bigger than size of destination " + "buffer"); + +extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __destlen) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcscat_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src), wcscat); + +extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n, size_t __destlen) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcsncat_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n), wcsncat); + +extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n, + int __flag, size_t __s_len, + const wchar_t *__restrict __format, ...) + __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 6))) */; +extern int __REDIRECT_NTH_LDBL (__swprintf_alias, + (wchar_t *__restrict __s, size_t __n, + const wchar_t *__restrict __fmt, ...), + swprintf); + +extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n, + int __flag, size_t __s_len, + const wchar_t *__restrict __format, + __gnuc_va_list __arg) + __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 0))) */; +extern int __REDIRECT_NTH_LDBL (__vswprintf_alias, + (wchar_t *__restrict __s, size_t __n, + const wchar_t *__restrict __fmt, + __gnuc_va_list __ap), vswprintf); + + +#if __USE_FORTIFY_LEVEL > 1 + +extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag, + const wchar_t *__restrict __format, ...); +extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format, + ...); +extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag, + const wchar_t *__restrict __format, + __gnuc_va_list __ap); +extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format, + __gnuc_va_list __ap); + +#endif + +extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n, + __FILE *__restrict __stream) __wur; +extern wchar_t *__REDIRECT (__fgetws_alias, + (wchar_t *__restrict __s, int __n, + __FILE *__restrict __stream), fgetws) __wur; +extern wchar_t *__REDIRECT (__fgetws_chk_warn, + (wchar_t *__restrict __s, size_t __size, int __n, + __FILE *__restrict __stream), __fgetws_chk) + __wur __warnattr ("fgetws called with bigger size than length " + "of destination buffer"); + +#ifdef __USE_GNU + +extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size, + int __n, __FILE *__restrict __stream) + __wur; +extern wchar_t *__REDIRECT (__fgetws_unlocked_alias, + (wchar_t *__restrict __s, int __n, + __FILE *__restrict __stream), fgetws_unlocked) + __wur; +extern wchar_t *__REDIRECT (__fgetws_unlocked_chk_warn, + (wchar_t *__restrict __s, size_t __size, int __n, + __FILE *__restrict __stream), + __fgetws_unlocked_chk) + __wur __warnattr ("fgetws_unlocked called with bigger size than length " + "of destination buffer"); + +#endif + +extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar, + mbstate_t *__restrict __p, + size_t __buflen) __THROW __wur; +extern size_t __REDIRECT_FORTIFY_NTH (__wcrtomb_alias, + (char *__restrict __s, wchar_t __wchar, + mbstate_t *__restrict __ps), wcrtomb) __wur; + +extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst, + const char **__restrict __src, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen) __THROW; +extern size_t __REDIRECT_NTH (__mbsrtowcs_alias, + (wchar_t *__restrict __dst, + const char **__restrict __src, + size_t __len, mbstate_t *__restrict __ps), + mbsrtowcs); +extern size_t __REDIRECT_NTH (__mbsrtowcs_chk_warn, + (wchar_t *__restrict __dst, + const char **__restrict __src, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen), __mbsrtowcs_chk) + __warnattr ("mbsrtowcs called with dst buffer smaller than len " + "* sizeof (wchar_t)"); + +extern size_t __wcsrtombs_chk (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen) __THROW; +extern size_t __REDIRECT_NTH (__wcsrtombs_alias, + (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __len, mbstate_t *__restrict __ps), + wcsrtombs); +extern size_t __REDIRECT_NTH (__wcsrtombs_chk_warn, + (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen), __wcsrtombs_chk) + __warnattr ("wcsrtombs called with dst buffer smaller than len"); + +#ifdef __USE_XOPEN2K8 + +extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst, + const char **__restrict __src, size_t __nmc, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen) __THROW; +extern size_t __REDIRECT_NTH (__mbsnrtowcs_alias, + (wchar_t *__restrict __dst, + const char **__restrict __src, size_t __nmc, + size_t __len, mbstate_t *__restrict __ps), + mbsnrtowcs); +extern size_t __REDIRECT_NTH (__mbsnrtowcs_chk_warn, + (wchar_t *__restrict __dst, + const char **__restrict __src, size_t __nmc, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen), __mbsnrtowcs_chk) + __warnattr ("mbsnrtowcs called with dst buffer smaller than len " + "* sizeof (wchar_t)"); + +extern size_t __wcsnrtombs_chk (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __nwc, size_t __len, + mbstate_t *__restrict __ps, size_t __dstlen) + __THROW; +extern size_t __REDIRECT_NTH (__wcsnrtombs_alias, + (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __nwc, size_t __len, + mbstate_t *__restrict __ps), wcsnrtombs); +extern size_t __REDIRECT_NTH (__wcsnrtombs_chk_warn, + (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __nwc, size_t __len, + mbstate_t *__restrict __ps, + size_t __dstlen), __wcsnrtombs_chk) + __warnattr ("wcsnrtombs called with dst buffer smaller than len"); + +#endif + +#ifdef __USE_MISC +extern size_t __wcslcpy_chk (wchar_t *__dest, const wchar_t *__src, size_t __n, + size_t __destlen) __THROW; +extern size_t __REDIRECT_NTH (__wcslcpy_alias, + (wchar_t *__dest, const wchar_t *__src, + size_t __n), wcslcpy); + +extern size_t __wcslcat_chk (wchar_t *__dest, const wchar_t *__src, size_t __n, + size_t __destlen) __THROW; +extern size_t __REDIRECT_NTH (__wcslcat_alias, + (wchar_t *__dest, const wchar_t *__src, + size_t __n), wcslcat); +#endif /* __USE_MISC */ + +#endif /* bits/wchar2-decl.h. */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/wchar2.h b/lib/libc/include/generic-glibc/bits/wchar2.h index 0e15ea3923bfbc5878a36b5ac47d5e77317a8ab9..a41e87d777b1ba5375ac02f3890a3d0da8aa7d7f 100644 --- a/lib/libc/include/generic-glibc/bits/wchar2.h +++ b/lib/libc/include/generic-glibc/bits/wchar2.h @@ -1,5 +1,5 @@ /* Checking macros for wchar functions. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,283 +20,134 @@ # error "Never include directly; use instead." #endif - -extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n, - size_t __ns1) __THROW; -extern wchar_t *__REDIRECT_NTH (__wmemcpy_alias, - (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n), - wmemcpy); -extern wchar_t *__REDIRECT_NTH (__wmemcpy_chk_warn, - (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n, - size_t __ns1), __wmemcpy_chk) - __warnattr ("wmemcpy called with length bigger than size of destination " - "buffer"); - __fortify_function wchar_t * __NTH (wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n)) { - if (__glibc_objsize0 (__s1) != (size_t) -1) - { - if (!__builtin_constant_p (__n)) - return __wmemcpy_chk (__s1, __s2, __n, - __glibc_objsize0 (__s1) / sizeof (wchar_t)); - - if (__n > __glibc_objsize0 (__s1) / sizeof (wchar_t)) - return __wmemcpy_chk_warn (__s1, __s2, __n, - __glibc_objsize0 (__s1) / sizeof (wchar_t)); - } - return __wmemcpy_alias (__s1, __s2, __n); + return __glibc_fortify_n (wmemcpy, __n, sizeof (wchar_t), + __glibc_objsize0 (__s1), + __s1, __s2, __n); } - -extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2, - size_t __n, size_t __ns1) __THROW; -extern wchar_t *__REDIRECT_NTH (__wmemmove_alias, (wchar_t *__s1, - const wchar_t *__s2, - size_t __n), wmemmove); -extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn, - (wchar_t *__s1, const wchar_t *__s2, - size_t __n, size_t __ns1), __wmemmove_chk) - __warnattr ("wmemmove called with length bigger than size of destination " - "buffer"); - __fortify_function wchar_t * __NTH (wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)) { - if (__glibc_objsize0 (__s1) != (size_t) -1) - { - if (!__builtin_constant_p (__n)) - return __wmemmove_chk (__s1, __s2, __n, - __glibc_objsize0 (__s1) / sizeof (wchar_t)); - - if (__n > __glibc_objsize0 (__s1) / sizeof (wchar_t)) - return __wmemmove_chk_warn (__s1, __s2, __n, - (__glibc_objsize0 (__s1) - / sizeof (wchar_t))); - } - return __wmemmove_alias (__s1, __s2, __n); + return __glibc_fortify_n (wmemmove, __n, sizeof (wchar_t), + __glibc_objsize0 (__s1), + __s1, __s2, __n); } - #ifdef __USE_GNU -extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n, - size_t __ns1) __THROW; -extern wchar_t *__REDIRECT_NTH (__wmempcpy_alias, - (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, - size_t __n), wmempcpy); -extern wchar_t *__REDIRECT_NTH (__wmempcpy_chk_warn, - (wchar_t *__restrict __s1, - const wchar_t *__restrict __s2, size_t __n, - size_t __ns1), __wmempcpy_chk) - __warnattr ("wmempcpy called with length bigger than size of destination " - "buffer"); - __fortify_function wchar_t * __NTH (wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n)) { - if (__glibc_objsize0 (__s1) != (size_t) -1) - { - if (!__builtin_constant_p (__n)) - return __wmempcpy_chk (__s1, __s2, __n, - __glibc_objsize0 (__s1) / sizeof (wchar_t)); - - if (__n > __glibc_objsize0 (__s1) / sizeof (wchar_t)) - return __wmempcpy_chk_warn (__s1, __s2, __n, - (__glibc_objsize0 (__s1) - / sizeof (wchar_t))); - } - return __wmempcpy_alias (__s1, __s2, __n); + return __glibc_fortify_n (wmempcpy, __n, sizeof (wchar_t), + __glibc_objsize0 (__s1), + __s1, __s2, __n); } #endif - -extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n, - size_t __ns) __THROW; -extern wchar_t *__REDIRECT_NTH (__wmemset_alias, (wchar_t *__s, wchar_t __c, - size_t __n), wmemset); -extern wchar_t *__REDIRECT_NTH (__wmemset_chk_warn, - (wchar_t *__s, wchar_t __c, size_t __n, - size_t __ns), __wmemset_chk) - __warnattr ("wmemset called with length bigger than size of destination " - "buffer"); - __fortify_function wchar_t * __NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n)) { - if (__glibc_objsize0 (__s) != (size_t) -1) - { - if (!__builtin_constant_p (__n)) - return __wmemset_chk (__s, __c, __n, - __glibc_objsize0 (__s) / sizeof (wchar_t)); - - if (__n > __glibc_objsize0 (__s) / sizeof (wchar_t)) - return __wmemset_chk_warn (__s, __c, __n, - __glibc_objsize0 (__s) / sizeof (wchar_t)); - } - return __wmemset_alias (__s, __c, __n); + return __glibc_fortify_n (wmemset, __n, sizeof (wchar_t), + __glibc_objsize0 (__s), + __s, __c, __n); } - -extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __n) __THROW; -extern wchar_t *__REDIRECT_NTH (__wcscpy_alias, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src), wcscpy); - __fortify_function wchar_t * __NTH (wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) { - if (__glibc_objsize (__dest) != (size_t) -1) - return __wcscpy_chk (__dest, __src, - __glibc_objsize (__dest) / sizeof (wchar_t)); + size_t sz = __glibc_objsize (__dest); + if (sz != (size_t) -1) + return __wcscpy_chk (__dest, __src, sz / sizeof (wchar_t)); return __wcscpy_alias (__dest, __src); } - -extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __destlen) __THROW; -extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src), wcpcpy); - __fortify_function wchar_t * __NTH (wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) { - if (__glibc_objsize (__dest) != (size_t) -1) - return __wcpcpy_chk (__dest, __src, - __glibc_objsize (__dest) / sizeof (wchar_t)); + size_t sz = __glibc_objsize (__dest); + if (sz != (size_t) -1) + return __wcpcpy_chk (__dest, __src, sz / sizeof (wchar_t)); return __wcpcpy_alias (__dest, __src); } - -extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n, - size_t __destlen) __THROW; -extern wchar_t *__REDIRECT_NTH (__wcsncpy_alias, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __n), wcsncpy); -extern wchar_t *__REDIRECT_NTH (__wcsncpy_chk_warn, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __n, size_t __destlen), __wcsncpy_chk) - __warnattr ("wcsncpy called with length bigger than size of destination " - "buffer"); - __fortify_function wchar_t * __NTH (wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n)) { - if (__glibc_objsize (__dest) != (size_t) -1) - { - if (!__builtin_constant_p (__n)) - return __wcsncpy_chk (__dest, __src, __n, - __glibc_objsize (__dest) / sizeof (wchar_t)); - if (__n > __glibc_objsize (__dest) / sizeof (wchar_t)) - return __wcsncpy_chk_warn (__dest, __src, __n, - (__glibc_objsize (__dest) - / sizeof (wchar_t))); - } - return __wcsncpy_alias (__dest, __src, __n); + return __glibc_fortify_n (wcsncpy, __n, sizeof (wchar_t), + __glibc_objsize (__dest), + __dest, __src, __n); } - -extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, size_t __n, - size_t __destlen) __THROW; -extern wchar_t *__REDIRECT_NTH (__wcpncpy_alias, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __n), wcpncpy); -extern wchar_t *__REDIRECT_NTH (__wcpncpy_chk_warn, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __n, size_t __destlen), __wcpncpy_chk) - __warnattr ("wcpncpy called with length bigger than size of destination " - "buffer"); - __fortify_function wchar_t * __NTH (wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n)) { - if (__glibc_objsize (__dest) != (size_t) -1) - { - if (!__builtin_constant_p (__n)) - return __wcpncpy_chk (__dest, __src, __n, - __glibc_objsize (__dest) / sizeof (wchar_t)); - if (__n > __glibc_objsize (__dest) / sizeof (wchar_t)) - return __wcpncpy_chk_warn (__dest, __src, __n, - (__glibc_objsize (__dest) - / sizeof (wchar_t))); - } - return __wcpncpy_alias (__dest, __src, __n); + return __glibc_fortify_n (wcpncpy, __n, sizeof (wchar_t), + __glibc_objsize (__dest), + __dest, __src, __n); } - -extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __destlen) __THROW; -extern wchar_t *__REDIRECT_NTH (__wcscat_alias, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src), wcscat); - __fortify_function wchar_t * __NTH (wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src)) { - if (__glibc_objsize (__dest) != (size_t) -1) - return __wcscat_chk (__dest, __src, - __glibc_objsize (__dest) / sizeof (wchar_t)); + size_t sz = __glibc_objsize (__dest); + if (sz != (size_t) -1) + return __wcscat_chk (__dest, __src, sz / sizeof (wchar_t)); return __wcscat_alias (__dest, __src); } - -extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __n, size_t __destlen) __THROW; -extern wchar_t *__REDIRECT_NTH (__wcsncat_alias, - (wchar_t *__restrict __dest, - const wchar_t *__restrict __src, - size_t __n), wcsncat); - __fortify_function wchar_t * __NTH (wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n)) { - if (__glibc_objsize (__dest) != (size_t) -1) - return __wcsncat_chk (__dest, __src, __n, - __glibc_objsize (__dest) / sizeof (wchar_t)); + size_t sz = __glibc_objsize (__dest); + if (sz != (size_t) -1) + return __wcsncat_chk (__dest, __src, __n, sz / sizeof (wchar_t)); return __wcsncat_alias (__dest, __src, __n); } +#ifdef __USE_MISC +__fortify_function size_t +__NTH (wcslcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, + size_t __n)) +{ + if (__glibc_objsize (__dest) != (size_t) -1 + && (!__builtin_constant_p (__n + > __glibc_objsize (__dest) / sizeof (wchar_t)) + || __n > __glibc_objsize (__dest) / sizeof (wchar_t))) + return __wcslcpy_chk (__dest, __src, __n, + __glibc_objsize (__dest) / sizeof (wchar_t)); + return __wcslcpy_alias (__dest, __src, __n); +} -extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n, - int __flag, size_t __s_len, - const wchar_t *__restrict __format, ...) - __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 6))) */; - -extern int __REDIRECT_NTH_LDBL (__swprintf_alias, - (wchar_t *__restrict __s, size_t __n, - const wchar_t *__restrict __fmt, ...), - swprintf); +__fortify_function size_t +__NTH (wcslcat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, + size_t __n)) +{ + if (__glibc_objsize (__dest) != (size_t) -1 + && (!__builtin_constant_p (__n > __glibc_objsize (__dest) + / sizeof (wchar_t)) + || __n > __glibc_objsize (__dest) / sizeof (wchar_t))) + return __wcslcat_chk (__dest, __src, __n, + __glibc_objsize (__dest) / sizeof (wchar_t)); + return __wcslcat_alias (__dest, __src, __n); +} +#endif /* __USE_MISC */ #ifdef __va_arg_pack __fortify_function int __NTH (swprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...)) { - if (__glibc_objsize (__s) != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) + size_t sz = __glibc_objsize (__s); + if (sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) return __swprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, - __glibc_objsize (__s) / sizeof (wchar_t), - __fmt, __va_arg_pack ()); + sz / sizeof (wchar_t), __fmt, __va_arg_pack ()); return __swprintf_alias (__s, __n, __fmt, __va_arg_pack ()); } #elif !defined __cplusplus @@ -308,41 +159,20 @@ __NTH (swprintf (wchar_t *__restrict __s, size_t __n, : swprintf (s, n, __VA_ARGS__)) #endif -extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n, - int __flag, size_t __s_len, - const wchar_t *__restrict __format, - __gnuc_va_list __arg) - __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 0))) */; - -extern int __REDIRECT_NTH_LDBL (__vswprintf_alias, - (wchar_t *__restrict __s, size_t __n, - const wchar_t *__restrict __fmt, - __gnuc_va_list __ap), vswprintf); - __fortify_function int __NTH (vswprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap)) { - if (__glibc_objsize (__s) != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) + size_t sz = __glibc_objsize (__s); + if (sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) return __vswprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, - __glibc_objsize (__s) / sizeof (wchar_t), __fmt, - __ap); + sz / sizeof (wchar_t), __fmt, __ap); return __vswprintf_alias (__s, __n, __fmt, __ap); } #if __USE_FORTIFY_LEVEL > 1 -extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag, - const wchar_t *__restrict __format, ...); -extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format, - ...); -extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag, - const wchar_t *__restrict __format, - __gnuc_va_list __ap); -extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format, - __gnuc_va_list __ap); - # ifdef __va_arg_pack __fortify_function int wprintf (const wchar_t *__restrict __fmt, ...) @@ -377,78 +207,31 @@ vfwprintf (__FILE *__restrict __stream, } #endif - -extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n, - __FILE *__restrict __stream) __wur; -extern wchar_t *__REDIRECT (__fgetws_alias, - (wchar_t *__restrict __s, int __n, - __FILE *__restrict __stream), fgetws) __wur; -extern wchar_t *__REDIRECT (__fgetws_chk_warn, - (wchar_t *__restrict __s, size_t __size, int __n, - __FILE *__restrict __stream), __fgetws_chk) - __wur __warnattr ("fgetws called with bigger size than length " - "of destination buffer"); - __fortify_function __wur wchar_t * fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) { - if (__glibc_objsize (__s) != (size_t) -1) - { - if (!__builtin_constant_p (__n) || __n <= 0) - return __fgetws_chk (__s, __glibc_objsize (__s) / sizeof (wchar_t), - __n, __stream); - - if ((size_t) __n > __glibc_objsize (__s) / sizeof (wchar_t)) - return __fgetws_chk_warn (__s, - __glibc_objsize (__s) / sizeof (wchar_t), - __n, __stream); - } - return __fgetws_alias (__s, __n, __stream); + size_t sz = __glibc_objsize (__s); + if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), sz)) + return __fgetws_alias (__s, __n, __stream); + if (__glibc_unsafe_len (__n, sizeof (wchar_t), sz)) + return __fgetws_chk_warn (__s, sz / sizeof (wchar_t), __n, __stream); + return __fgetws_chk (__s, sz / sizeof (wchar_t), __n, __stream); } #ifdef __USE_GNU -extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size, - int __n, __FILE *__restrict __stream) - __wur; -extern wchar_t *__REDIRECT (__fgetws_unlocked_alias, - (wchar_t *__restrict __s, int __n, - __FILE *__restrict __stream), fgetws_unlocked) - __wur; -extern wchar_t *__REDIRECT (__fgetws_unlocked_chk_warn, - (wchar_t *__restrict __s, size_t __size, int __n, - __FILE *__restrict __stream), - __fgetws_unlocked_chk) - __wur __warnattr ("fgetws_unlocked called with bigger size than length " - "of destination buffer"); - __fortify_function __wur wchar_t * fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) { - if (__glibc_objsize (__s) != (size_t) -1) - { - if (!__builtin_constant_p (__n) || __n <= 0) - return __fgetws_unlocked_chk (__s, - __glibc_objsize (__s) / sizeof (wchar_t), - __n, __stream); - - if ((size_t) __n > __glibc_objsize (__s) / sizeof (wchar_t)) - return __fgetws_unlocked_chk_warn (__s, - (__glibc_objsize (__s) - / sizeof (wchar_t)), - __n, __stream); - } - return __fgetws_unlocked_alias (__s, __n, __stream); + size_t sz = __glibc_objsize (__s); + if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), sz)) + return __fgetws_unlocked_alias (__s, __n, __stream); + if (__glibc_unsafe_len (__n, sizeof (wchar_t), sz)) + return __fgetws_unlocked_chk_warn (__s, sz / sizeof (wchar_t), __n, + __stream); + return __fgetws_unlocked_chk (__s, sz / sizeof (wchar_t), __n, __stream); } #endif - -extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar, - mbstate_t *__restrict __p, - size_t __buflen) __THROW __wur; -extern size_t __REDIRECT_NTH (__wcrtomb_alias, - (char *__restrict __s, wchar_t __wchar, - mbstate_t *__restrict __ps), wcrtomb) __wur; - __fortify_function __wur size_t __NTH (wcrtomb (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps)) @@ -466,146 +249,41 @@ __NTH (wcrtomb (char *__restrict __s, wchar_t __wchar, return __wcrtomb_alias (__s, __wchar, __ps); } - -extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst, - const char **__restrict __src, - size_t __len, mbstate_t *__restrict __ps, - size_t __dstlen) __THROW; -extern size_t __REDIRECT_NTH (__mbsrtowcs_alias, - (wchar_t *__restrict __dst, - const char **__restrict __src, - size_t __len, mbstate_t *__restrict __ps), - mbsrtowcs); -extern size_t __REDIRECT_NTH (__mbsrtowcs_chk_warn, - (wchar_t *__restrict __dst, - const char **__restrict __src, - size_t __len, mbstate_t *__restrict __ps, - size_t __dstlen), __mbsrtowcs_chk) - __warnattr ("mbsrtowcs called with dst buffer smaller than len " - "* sizeof (wchar_t)"); - __fortify_function size_t __NTH (mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps)) { - if (__glibc_objsize (__dst) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __mbsrtowcs_chk (__dst, __src, __len, __ps, - __glibc_objsize (__dst) / sizeof (wchar_t)); - - if (__len > __glibc_objsize (__dst) / sizeof (wchar_t)) - return __mbsrtowcs_chk_warn (__dst, __src, __len, __ps, - (__glibc_objsize (__dst) - / sizeof (wchar_t))); - } - return __mbsrtowcs_alias (__dst, __src, __len, __ps); + return __glibc_fortify_n (mbsrtowcs, __len, sizeof (wchar_t), + __glibc_objsize (__dst), + __dst, __src, __len, __ps); } - -extern size_t __wcsrtombs_chk (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __len, mbstate_t *__restrict __ps, - size_t __dstlen) __THROW; -extern size_t __REDIRECT_NTH (__wcsrtombs_alias, - (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __len, mbstate_t *__restrict __ps), - wcsrtombs); -extern size_t __REDIRECT_NTH (__wcsrtombs_chk_warn, - (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __len, mbstate_t *__restrict __ps, - size_t __dstlen), __wcsrtombs_chk) - __warnattr ("wcsrtombs called with dst buffer smaller than len"); - __fortify_function size_t __NTH (wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps)) { - if (__glibc_objsize (__dst) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __wcsrtombs_chk (__dst, __src, __len, __ps, - __glibc_objsize (__dst)); - - if (__len > __glibc_objsize (__dst)) - return __wcsrtombs_chk_warn (__dst, __src, __len, __ps, - __glibc_objsize (__dst)); - } - return __wcsrtombs_alias (__dst, __src, __len, __ps); + return __glibc_fortify (wcsrtombs, __len, sizeof (char), + __glibc_objsize (__dst), + __dst, __src, __len, __ps); } -#ifdef __USE_GNU -extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst, - const char **__restrict __src, size_t __nmc, - size_t __len, mbstate_t *__restrict __ps, - size_t __dstlen) __THROW; -extern size_t __REDIRECT_NTH (__mbsnrtowcs_alias, - (wchar_t *__restrict __dst, - const char **__restrict __src, size_t __nmc, - size_t __len, mbstate_t *__restrict __ps), - mbsnrtowcs); -extern size_t __REDIRECT_NTH (__mbsnrtowcs_chk_warn, - (wchar_t *__restrict __dst, - const char **__restrict __src, size_t __nmc, - size_t __len, mbstate_t *__restrict __ps, - size_t __dstlen), __mbsnrtowcs_chk) - __warnattr ("mbsnrtowcs called with dst buffer smaller than len " - "* sizeof (wchar_t)"); - +#ifdef __USE_XOPEN2K8 __fortify_function size_t __NTH (mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps)) { - if (__glibc_objsize (__dst) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __mbsnrtowcs_chk (__dst, __src, __nmc, __len, __ps, - __glibc_objsize (__dst) / sizeof (wchar_t)); - - if (__len > __glibc_objsize (__dst) / sizeof (wchar_t)) - return __mbsnrtowcs_chk_warn (__dst, __src, __nmc, __len, __ps, - (__glibc_objsize (__dst) - / sizeof (wchar_t))); - } - return __mbsnrtowcs_alias (__dst, __src, __nmc, __len, __ps); + return __glibc_fortify_n (mbsnrtowcs, __len, sizeof (wchar_t), + __glibc_objsize (__dst), + __dst, __src, __nmc, __len, __ps); } - -extern size_t __wcsnrtombs_chk (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __nwc, size_t __len, - mbstate_t *__restrict __ps, size_t __dstlen) - __THROW; -extern size_t __REDIRECT_NTH (__wcsnrtombs_alias, - (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __nwc, size_t __len, - mbstate_t *__restrict __ps), wcsnrtombs); -extern size_t __REDIRECT_NTH (__wcsnrtombs_chk_warn, - (char *__restrict __dst, - const wchar_t **__restrict __src, - size_t __nwc, size_t __len, - mbstate_t *__restrict __ps, - size_t __dstlen), __wcsnrtombs_chk) - __warnattr ("wcsnrtombs called with dst buffer smaller than len"); - __fortify_function size_t __NTH (wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps)) { - if (__glibc_objsize (__dst) != (size_t) -1) - { - if (!__builtin_constant_p (__len)) - return __wcsnrtombs_chk (__dst, __src, __nwc, __len, __ps, - __glibc_objsize (__dst)); - - if (__len > __glibc_objsize (__dst)) - return __wcsnrtombs_chk_warn (__dst, __src, __nwc, __len, __ps, - __glibc_objsize (__dst)); - } - return __wcsnrtombs_alias (__dst, __src, __nwc, __len, __ps); + return __glibc_fortify (wcsnrtombs, __len, sizeof (char), + __glibc_objsize (__dst), + __dst, __src, __nwc, __len, __ps); } #endif \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/bits/wctype-wchar.h b/lib/libc/include/generic-glibc/bits/wctype-wchar.h index 942d11a140d489a17faf39c99e53a41f7330e158..b02fd4a3c1ef1dbd4afdedf4d7a0f486b2d8ed16 100644 --- a/lib/libc/include/generic-glibc/bits/wctype-wchar.h +++ b/lib/libc/include/generic-glibc/bits/wctype-wchar.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/wordsize.h b/lib/libc/include/generic-glibc/bits/wordsize.h index 9e405e4e4e958fee350fe4d264e8f367dff574a5..275ac586dade36cadfe3bcfcc8cf80c3b9ffecc4 100644 --- a/lib/libc/include/generic-glibc/bits/wordsize.h +++ b/lib/libc/include/generic-glibc/bits/wordsize.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/bits/xopen_lim.h b/lib/libc/include/generic-glibc/bits/xopen_lim.h index c99f35211308b8ab822cdce146ec55323b9b1bb4..30a41354e0b9a136a314c1cc2b55dfb02685842d 100644 --- a/lib/libc/include/generic-glibc/bits/xopen_lim.h +++ b/lib/libc/include/generic-glibc/bits/xopen_lim.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/byteswap.h b/lib/libc/include/generic-glibc/byteswap.h index 075ee64046b168ad32b44381a3a3eee05a645838..10398f477079d918ca3a3a3cab87c90fa31420f6 100644 --- a/lib/libc/include/generic-glibc/byteswap.h +++ b/lib/libc/include/generic-glibc/byteswap.h @@ -1,5 +1,5 @@ /* Swap byte order for 16, 32 and 64 bit values - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/complex.h b/lib/libc/include/generic-glibc/complex.h index 04fc55d55c77978cdac81e64a6c073a4c9e6f5ee..996f05bbea428c36f78d49aef246af7d12a05333 100644 --- a/lib/libc/include/generic-glibc/complex.h +++ b/lib/libc/include/generic-glibc/complex.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/cpio.h b/lib/libc/include/generic-glibc/cpio.h index 45b38af0aa76c76ac331a239e0ecdf600dd2f364..85945c2a2e63642ceba96398d4cd59e02ee47f77 100644 --- a/lib/libc/include/generic-glibc/cpio.h +++ b/lib/libc/include/generic-glibc/cpio.h @@ -1,6 +1,6 @@ /* Extended cpio format from POSIX.1. This file is part of the GNU C Library. - Copyright (C) 1992-2021 Free Software Foundation, Inc. + Copyright (C) 1992-2023 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU cpio. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/crypt.h b/lib/libc/include/generic-glibc/crypt.h deleted file mode 100644 index baa55496668f697cd51f9219cfd6d7414ba7ed1d..0000000000000000000000000000000000000000 --- a/lib/libc/include/generic-glibc/crypt.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * UFC-crypt: ultra fast crypt(3) implementation - * - * Copyright (C) 1991-2021 Free Software Foundation, Inc. - * - * The GNU C Library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * The GNU C Library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with the GNU C Library; if not, see - * . - * - * @(#)crypt.h 1.5 12/20/96 - * - */ - -#ifndef _CRYPT_H -#define _CRYPT_H 1 - -#include - -__BEGIN_DECLS - -/* One-way hash PHRASE, returning a string suitable for storage in the - user database. SALT selects the one-way function to use, and - ensures that no two users' hashes are the same, even if they use - the same passphrase. The return value points to static storage - which will be overwritten by the next call to crypt. */ -extern char *crypt (const char *__phrase, const char *__salt) - __THROW __nonnull ((1, 2)); - -#ifdef __USE_GNU - -/* This structure provides scratch and output buffers for 'crypt_r'. - Its contents should not be accessed directly. */ -struct crypt_data - { - char keysched[16 * 8]; - char sb0[32768]; - char sb1[32768]; - char sb2[32768]; - char sb3[32768]; - /* end-of-aligment-critical-data */ - char crypt_3_buf[14]; - char current_salt[2]; - long int current_saltbits; - int direction, initialized; - }; - -/* Thread-safe version of 'crypt'. - DATA must point to a 'struct crypt_data' allocated by the caller. - Before the first call to 'crypt_r' with a new 'struct crypt_data', - that object must be initialized to all zeroes. The pointer - returned, if not NULL, will point within DATA. (It will still be - overwritten by the next call to 'crypt_r' with the same DATA.) */ -extern char *crypt_r (const char *__phrase, const char *__salt, - struct crypt_data * __restrict __data) - __THROW __nonnull ((1, 2, 3)); -#endif - -__END_DECLS - -#endif /* crypt.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/ctype.h b/lib/libc/include/generic-glibc/ctype.h index 7417f91a320d87cab5da8b9bc5f49f2f5577550b..2f600ead410091b79548d63e3736dd47c585257c 100644 --- a/lib/libc/include/generic-glibc/ctype.h +++ b/lib/libc/include/generic-glibc/ctype.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/dirent.h b/lib/libc/include/generic-glibc/dirent.h index 5b094807a5376d5abdc4ee478e1ac7c87489cc67..c253b6eec2e6fb3d340ed832725748387c4a2b33 100644 --- a/lib/libc/include/generic-glibc/dirent.h +++ b/lib/libc/include/generic-glibc/dirent.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -126,21 +126,6 @@ enum The actual structure is opaque to users. */ typedef struct __dirstream DIR; -/* Open a directory stream on NAME. - Return a DIR stream on the directory, or NULL if it could not be opened. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern DIR *opendir (const char *__name) __nonnull ((1)); - -#ifdef __USE_XOPEN2K8 -/* Same as opendir, but open the stream on the file descriptor FD. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern DIR *fdopendir (int __fd); -#endif - /* Close the directory stream DIRP. Return 0 if successful, -1 if not. @@ -148,6 +133,23 @@ extern DIR *fdopendir (int __fd); marked with __THROW. */ extern int closedir (DIR *__dirp) __nonnull ((1)); +/* Open a directory stream on NAME. + Return a DIR stream on the directory, or NULL if it could not be opened. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern DIR *opendir (const char *__name) __nonnull ((1)) + __attribute_malloc__ __attr_dealloc (closedir, 1); + +#ifdef __USE_XOPEN2K8 +/* Same as opendir, but open the stream on the file descriptor FD. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern DIR *fdopendir (int __fd) + __attribute_malloc__ __attr_dealloc (closedir, 1); +#endif + /* Read a directory entry from DIRP. Return a pointer to a `struct dirent' describing the entry, or NULL for EOF or error. The storage returned may be overwritten by a later readdir call on the diff --git a/lib/libc/include/generic-glibc/dlfcn.h b/lib/libc/include/generic-glibc/dlfcn.h index 8fa3a090b0663f5e193f9aa6d05d01a0dc276ff3..53ff12dc211083c93349c607803e1efc1dd34e41 100644 --- a/lib/libc/include/generic-glibc/dlfcn.h +++ b/lib/libc/include/generic-glibc/dlfcn.h @@ -1,5 +1,5 @@ /* User functions for run-time dynamic loading. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -28,26 +28,26 @@ #ifdef __USE_GNU +#include + +/* Type for namespace indices. */ +typedef long int Lmid_t; + +/* Special namespace ID values. */ +# define LM_ID_BASE 0 /* Initial namespace. */ +# define LM_ID_NEWLM -1 /* For dlmopen: request new namespace. */ +#endif + /* If the first argument of `dlsym' or `dlvsym' is set to RTLD_NEXT the run-time address of the symbol called NAME in the next shared object is returned. The "next" relation is defined by the order the shared objects were loaded. */ -# define RTLD_NEXT ((void *) -1l) +#define RTLD_NEXT ((void *) -1l) /* If the first argument to `dlsym' or `dlvsym' is set to RTLD_DEFAULT the run-time address of the symbol called NAME in the global scope is returned. */ -# define RTLD_DEFAULT ((void *) 0) - - -/* Type for namespace indices. */ -typedef long int Lmid_t; - -/* Special namespace ID values. */ -# define LM_ID_BASE 0 /* Initial namespace. */ -# define LM_ID_NEWLM -1 /* For dlmopen: request new namespace. */ -#endif - +#define RTLD_DEFAULT ((void *) 0) __BEGIN_DECLS @@ -162,7 +162,12 @@ enum segment, or if the calling thread has not allocated a block for it. */ RTLD_DI_TLS_DATA = 10, - RTLD_DI_MAX = 10 + /* Treat ARG as const ElfW(Phdr) **, and store the address of the + program header array at that location. The dlinfo call returns + the number of program headers in the array. */ + RTLD_DI_PHDR = 11, + + RTLD_DI_MAX = 11 }; @@ -194,6 +199,31 @@ typedef struct Dl_serpath dls_serpath[1]; /* Actually longer, dls_cnt elements. */ # endif } Dl_serinfo; + +struct dl_find_object +{ + __extension__ unsigned long long int dlfo_flags; + void *dlfo_map_start; /* Beginning of mapping containing address. */ + void *dlfo_map_end; /* End of mapping. */ + struct link_map *dlfo_link_map; + void *dlfo_eh_frame; /* Exception handling data of the object. */ +# if DLFO_STRUCT_HAS_EH_DBASE + void *dlfo_eh_dbase; /* Base address for DW_EH_PE_datarel. */ +# if __WORDSIZE == 32 + unsigned int __dlfo_eh_dbase_pad; +# endif +# endif +# if DLFO_STRUCT_HAS_EH_COUNT + int dlfo_eh_count; /* Number of exception handling entries. */ + unsigned int __dlfo_eh_count_pad; +# endif + __extension__ unsigned long long int __dflo_reserved[7]; +}; + +/* If ADDRESS is found in an object, fill in *RESULT and return 0. + Otherwise, return -1. */ +int _dl_find_object (void *__address, struct dl_find_object *__result) __THROW; + #endif /* __USE_GNU */ diff --git a/lib/libc/include/generic-glibc/elf.h b/lib/libc/include/generic-glibc/elf.h index e55c74a275902e79a35a9a0f06a3bc5e5f0f7738..85a0eed6d6930f557640e5076ed76caa02ecc1b7 100644 --- a/lib/libc/include/generic-glibc/elf.h +++ b/lib/libc/include/generic-glibc/elf.h @@ -1,5 +1,5 @@ /* This file defines standard ELF types, structures, and macros. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -210,7 +210,7 @@ typedef struct #define EM_68HC12 53 /* Motorola M68HC12 */ #define EM_MMA 54 /* Fujitsu MMA Multimedia Accelerator */ #define EM_PCP 55 /* Siemens PCP */ -#define EM_NCPU 56 /* Sony nCPU embeeded RISC */ +#define EM_NCPU 56 /* Sony nCPU embedded RISC */ #define EM_NDR1 57 /* Denso NDR1 microprocessor */ #define EM_STARCORE 58 /* Motorola Start*Core processor */ #define EM_ME16 59 /* Toyota ME16 processor */ @@ -358,8 +358,9 @@ typedef struct #define EM_BPF 247 /* Linux BPF -- in-kernel virtual machine */ #define EM_CSKY 252 /* C-SKY */ +#define EM_LOONGARCH 258 /* LoongArch */ -#define EM_NUM 253 +#define EM_NUM 259 /* Old spellings/synonyms. */ @@ -443,7 +444,8 @@ typedef struct #define SHT_PREINIT_ARRAY 16 /* Array of pre-constructors */ #define SHT_GROUP 17 /* Section group */ #define SHT_SYMTAB_SHNDX 18 /* Extended section indices */ -#define SHT_NUM 19 /* Number of defined types. */ +#define SHT_RELR 19 /* RELR relative relocations */ +#define SHT_NUM 20 /* Number of defined types. */ #define SHT_LOOS 0x60000000 /* Start OS-specific. */ #define SHT_GNU_ATTRIBUTES 0x6ffffff5 /* Object attributes. */ #define SHT_GNU_HASH 0x6ffffff6 /* GNU-style hash table. */ @@ -504,6 +506,7 @@ typedef struct /* Legal values for ch_type (compression algorithm). */ #define ELFCOMPRESS_ZLIB 1 /* ZLIB/DEFLATE algorithm. */ +#define ELFCOMPRESS_ZSTD 2 /* Zstandard algorithm. */ #define ELFCOMPRESS_LOOS 0x60000000 /* Start of OS-specific. */ #define ELFCOMPRESS_HIOS 0x6fffffff /* End of OS-specific. */ #define ELFCOMPRESS_LOPROC 0x70000000 /* Start of processor-specific. */ @@ -556,7 +559,7 @@ typedef struct /* Possible bitmasks for si_flags. */ #define SYMINFO_FLG_DIRECT 0x0001 /* Direct bound symbol */ -#define SYMINFO_FLG_PASSTHRU 0x0002 /* Pass-thru symbol for translator */ +#define SYMINFO_FLG_PASSTHRU 0x0002 /* Pass-through symbol for translator */ #define SYMINFO_FLG_COPY 0x0004 /* Symbol is a copy-reloc */ #define SYMINFO_FLG_LAZYLOAD 0x0008 /* Symbol bound to object to be lazy loaded */ @@ -662,6 +665,11 @@ typedef struct Elf64_Sxword r_addend; /* Addend */ } Elf64_Rela; +/* RELR relocation table entry */ + +typedef Elf32_Word Elf32_Relr; +typedef Elf64_Xword Elf64_Relr; + /* How to extract and insert information held in the r_info field. */ #define ELF32_R_SYM(val) ((val) >> 8) @@ -720,6 +728,7 @@ typedef struct #define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */ #define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */ #define PT_GNU_PROPERTY 0x6474e553 /* GNU property */ +#define PT_GNU_SFRAME 0x6474e554 /* SFrame segment. */ #define PT_LOSUNW 0x6ffffffa #define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */ #define PT_SUNWSTACK 0x6ffffffb /* Stack segment */ @@ -801,6 +810,7 @@ typedef struct #define NT_S390_GS_BC 0x30c /* s390 guarded storage broadcast control block. */ #define NT_S390_RI_CB 0x30d /* s390 runtime instrumentation. */ +#define NT_S390_PV_CPU_DATA 0x30e /* s390 protvirt cpu dump data. */ #define NT_ARM_VFP 0x400 /* ARM VFP/NEON registers */ #define NT_ARM_TLS 0x401 /* ARM TLS register */ #define NT_ARM_HW_BREAK 0x402 /* ARM hardware breakpoint registers */ @@ -822,6 +832,15 @@ typedef struct #define NT_MIPS_DSP 0x800 /* MIPS DSP ASE registers. */ #define NT_MIPS_FP_MODE 0x801 /* MIPS floating-point mode. */ #define NT_MIPS_MSA 0x802 /* MIPS SIMD registers. */ +#define NT_LOONGARCH_CPUCFG 0xa00 /* LoongArch CPU config registers. */ +#define NT_LOONGARCH_CSR 0xa01 /* LoongArch control and + status registers. */ +#define NT_LOONGARCH_LSX 0xa02 /* LoongArch Loongson SIMD + Extension registers. */ +#define NT_LOONGARCH_LASX 0xa03 /* LoongArch Loongson Advanced + SIMD Extension registers. */ +#define NT_LOONGARCH_LBT 0xa04 /* LoongArch Loongson Binary + Translation registers. */ /* Legal values for the note segment descriptor types for object files. */ @@ -887,7 +906,10 @@ typedef struct #define DT_PREINIT_ARRAY 32 /* Array with addresses of preinit fct*/ #define DT_PREINIT_ARRAYSZ 33 /* size in bytes of DT_PREINIT_ARRAY */ #define DT_SYMTAB_SHNDX 34 /* Address of SYMTAB_SHNDX section */ -#define DT_NUM 35 /* Number used */ +#define DT_RELRSZ 35 /* Total size of RELR relative relocations */ +#define DT_RELR 36 /* Address of RELR relative relocations */ +#define DT_RELRENT 37 /* Size of one RELR relative relocaction */ +#define DT_NUM 38 /* Number used */ #define DT_LOOS 0x6000000d /* Start of OS-specific */ #define DT_HIOS 0x6ffff000 /* End of OS-specific */ #define DT_LOPROC 0x70000000 /* Start of processor-specific */ @@ -1044,7 +1066,8 @@ typedef struct /* Legal values for vd_flags (version information flags). */ #define VER_FLG_BASE 0x1 /* Version definition of file itself */ -#define VER_FLG_WEAK 0x2 /* Weak version identifier */ +#define VER_FLG_WEAK 0x2 /* Weak version identifier. Also + used by vna_flags below. */ /* Versym symbol index values. */ #define VER_NDX_LOCAL 0 /* Symbol is local. */ @@ -1122,10 +1145,6 @@ typedef struct } Elf64_Vernaux; -/* Legal values for vna_flags. */ -#define VER_FLG_WEAK 0x2 /* Weak version identifier */ - - /* Auxiliary vector. */ /* This vector is normally only used by the program interpreter. The @@ -1205,6 +1224,9 @@ typedef struct #define AT_HWCAP2 26 /* More machine-dependent hints about processor capabilities. */ +#define AT_RSEQ_FEATURE_SIZE 27 /* rseq supported feature size. */ +#define AT_RSEQ_ALIGN 28 /* rseq allocation alignment. */ + #define AT_EXECFN 31 /* Filename of executable. */ /* Pointer to the global system page used for system calls and other @@ -1231,8 +1253,7 @@ typedef struct #define AT_L3_CACHESIZE 46 #define AT_L3_CACHEGEOMETRY 47 -#define AT_MINSIGSTKSZ 51 /* Stack needed for signal delivery - (AArch64). */ +#define AT_MINSIGSTKSZ 51 /* Stack needed for signal delivery */ /* Note section contents. Each entry in the note section begins with a header of a fixed form. */ @@ -1259,6 +1280,8 @@ typedef struct /* Note entries for GNU systems have this name. */ #define ELF_NOTE_GNU "GNU" +/* Note entries for freedesktop.org have this name. */ +#define ELF_NOTE_FDO "FDO" /* Defined types of notes for Solaris. */ @@ -1302,6 +1325,10 @@ typedef struct /* Program property. */ #define NT_GNU_PROPERTY_TYPE_0 5 +/* Packaging metadata as defined on + https://systemd.io/COREDUMP_PACKAGE_METADATA/ */ +#define NT_FDO_PACKAGING_METADATA 0xcafe1a7e + /* Note section name of program property. */ #define NOTE_GNU_PROPERTY_SECTION_NAME ".note.gnu.property" @@ -1312,6 +1339,23 @@ typedef struct /* No copy relocation on protected data symbol. */ #define GNU_PROPERTY_NO_COPY_ON_PROTECTED 2 +/* A 4-byte unsigned integer property: A bit is set if it is set in all + relocatable inputs. */ +#define GNU_PROPERTY_UINT32_AND_LO 0xb0000000 +#define GNU_PROPERTY_UINT32_AND_HI 0xb0007fff + +/* A 4-byte unsigned integer property: A bit is set if it is set in any + relocatable inputs. */ +#define GNU_PROPERTY_UINT32_OR_LO 0xb0008000 +#define GNU_PROPERTY_UINT32_OR_HI 0xb000ffff + +/* The needed properties by the object file. */ +#define GNU_PROPERTY_1_NEEDED GNU_PROPERTY_UINT32_OR_LO + +/* Set if the object file requires canonical function pointers and + cannot be used with copy relocation. */ +#define GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS (1U << 0) + /* Processor-specific semantics, lo */ #define GNU_PROPERTY_LOPROC 0xc0000000 /* Processor-specific semantics, hi */ @@ -2871,6 +2915,9 @@ enum #define R_AARCH64_TLSDESC 1031 /* TLS Descriptor. */ #define R_AARCH64_IRELATIVE 1032 /* STT_GNU_IFUNC relocation. */ +/* MTE memory tag segment type. */ +#define PT_AARCH64_MEMTAG_MTE (PT_LOPROC + 2) + /* AArch64 specific values for the Dyn d_tag field. */ #define DT_AARCH64_BTI_PLT (DT_LOPROC + 1) #define DT_AARCH64_PAC_PLT (DT_LOPROC + 3) @@ -3896,6 +3943,8 @@ enum #define EF_RISCV_FLOAT_ABI_SINGLE 0x0002 #define EF_RISCV_FLOAT_ABI_DOUBLE 0x0004 #define EF_RISCV_FLOAT_ABI_QUAD 0x0006 +#define EF_RISCV_RVE 0x0008 +#define EF_RISCV_TSO 0x0010 /* RISC-V relocations. */ #define R_RISCV_NONE 0 @@ -3953,8 +4002,24 @@ enum #define R_RISCV_SET32 56 #define R_RISCV_32_PCREL 57 #define R_RISCV_IRELATIVE 58 +#define R_RISCV_PLT32 59 +#define R_RISCV_SET_ULEB128 60 +#define R_RISCV_SUB_ULEB128 61 -#define R_RISCV_NUM 59 +#define R_RISCV_NUM 62 + +/* RISC-V specific values for the st_other field. */ +#define STO_RISCV_VARIANT_CC 0x80 /* Function uses variant calling + convention */ + +/* RISC-V specific values for the sh_type field. */ +#define SHT_RISCV_ATTRIBUTES (SHT_LOPROC + 3) + +/* RISC-V specific values for the p_type field. */ +#define PT_RISCV_ATTRIBUTES (PT_LOPROC + 3) + +/* RISC-V specific values for the d_tag field. */ +#define DT_RISCV_VARIANT_CC (DT_LOPROC + 1) /* BPF specific declarations. */ @@ -4034,13 +4099,130 @@ enum #define R_NDS32_TLS_TPOFF 102 #define R_NDS32_TLS_DESC 119 +/* LoongArch ELF Flags */ +#define EF_LARCH_ABI_MODIFIER_MASK 0x07 +#define EF_LARCH_ABI_SOFT_FLOAT 0x01 +#define EF_LARCH_ABI_SINGLE_FLOAT 0x02 +#define EF_LARCH_ABI_DOUBLE_FLOAT 0x03 +#define EF_LARCH_OBJABI_V1 0x40 + +/* LoongArch specific dynamic relocations */ +#define R_LARCH_NONE 0 +#define R_LARCH_32 1 +#define R_LARCH_64 2 +#define R_LARCH_RELATIVE 3 +#define R_LARCH_COPY 4 +#define R_LARCH_JUMP_SLOT 5 +#define R_LARCH_TLS_DTPMOD32 6 +#define R_LARCH_TLS_DTPMOD64 7 +#define R_LARCH_TLS_DTPREL32 8 +#define R_LARCH_TLS_DTPREL64 9 +#define R_LARCH_TLS_TPREL32 10 +#define R_LARCH_TLS_TPREL64 11 +#define R_LARCH_IRELATIVE 12 + +/* Reserved for future relocs that the dynamic linker must understand. */ + +/* used by the static linker for relocating .text. */ +#define R_LARCH_MARK_LA 20 +#define R_LARCH_MARK_PCREL 21 +#define R_LARCH_SOP_PUSH_PCREL 22 +#define R_LARCH_SOP_PUSH_ABSOLUTE 23 +#define R_LARCH_SOP_PUSH_DUP 24 +#define R_LARCH_SOP_PUSH_GPREL 25 +#define R_LARCH_SOP_PUSH_TLS_TPREL 26 +#define R_LARCH_SOP_PUSH_TLS_GOT 27 +#define R_LARCH_SOP_PUSH_TLS_GD 28 +#define R_LARCH_SOP_PUSH_PLT_PCREL 29 +#define R_LARCH_SOP_ASSERT 30 +#define R_LARCH_SOP_NOT 31 +#define R_LARCH_SOP_SUB 32 +#define R_LARCH_SOP_SL 33 +#define R_LARCH_SOP_SR 34 +#define R_LARCH_SOP_ADD 35 +#define R_LARCH_SOP_AND 36 +#define R_LARCH_SOP_IF_ELSE 37 +#define R_LARCH_SOP_POP_32_S_10_5 38 +#define R_LARCH_SOP_POP_32_U_10_12 39 +#define R_LARCH_SOP_POP_32_S_10_12 40 +#define R_LARCH_SOP_POP_32_S_10_16 41 +#define R_LARCH_SOP_POP_32_S_10_16_S2 42 +#define R_LARCH_SOP_POP_32_S_5_20 43 +#define R_LARCH_SOP_POP_32_S_0_5_10_16_S2 44 +#define R_LARCH_SOP_POP_32_S_0_10_10_16_S2 45 +#define R_LARCH_SOP_POP_32_U 46 + +/* used by the static linker for relocating non .text. */ +#define R_LARCH_ADD8 47 +#define R_LARCH_ADD16 48 +#define R_LARCH_ADD24 49 +#define R_LARCH_ADD32 50 +#define R_LARCH_ADD64 51 +#define R_LARCH_SUB8 52 +#define R_LARCH_SUB16 53 +#define R_LARCH_SUB24 54 +#define R_LARCH_SUB32 55 +#define R_LARCH_SUB64 56 +#define R_LARCH_GNU_VTINHERIT 57 +#define R_LARCH_GNU_VTENTRY 58 + +/* reserved 59-63 */ + +#define R_LARCH_B16 64 +#define R_LARCH_B21 65 +#define R_LARCH_B26 66 +#define R_LARCH_ABS_HI20 67 +#define R_LARCH_ABS_LO12 68 +#define R_LARCH_ABS64_LO20 69 +#define R_LARCH_ABS64_HI12 70 +#define R_LARCH_PCALA_HI20 71 +#define R_LARCH_PCALA_LO12 72 +#define R_LARCH_PCALA64_LO20 73 +#define R_LARCH_PCALA64_HI12 74 +#define R_LARCH_GOT_PC_HI20 75 +#define R_LARCH_GOT_PC_LO12 76 +#define R_LARCH_GOT64_PC_LO20 77 +#define R_LARCH_GOT64_PC_HI12 78 +#define R_LARCH_GOT_HI20 79 +#define R_LARCH_GOT_LO12 80 +#define R_LARCH_GOT64_LO20 81 +#define R_LARCH_GOT64_HI12 82 +#define R_LARCH_TLS_LE_HI20 83 +#define R_LARCH_TLS_LE_LO12 84 +#define R_LARCH_TLS_LE64_LO20 85 +#define R_LARCH_TLS_LE64_HI12 86 +#define R_LARCH_TLS_IE_PC_HI20 87 +#define R_LARCH_TLS_IE_PC_LO12 88 +#define R_LARCH_TLS_IE64_PC_LO20 89 +#define R_LARCH_TLS_IE64_PC_HI12 90 +#define R_LARCH_TLS_IE_HI20 91 +#define R_LARCH_TLS_IE_LO12 92 +#define R_LARCH_TLS_IE64_LO20 93 +#define R_LARCH_TLS_IE64_HI12 94 +#define R_LARCH_TLS_LD_PC_HI20 95 +#define R_LARCH_TLS_LD_HI20 96 +#define R_LARCH_TLS_GD_PC_HI20 97 +#define R_LARCH_TLS_GD_HI20 98 +#define R_LARCH_32_PCREL 99 +#define R_LARCH_RELAX 100 + +/* ARC specific declarations. */ + +/* Processor specific flags for the Ehdr e_flags field. */ +#define EF_ARC_MACH_MSK 0x000000ff +#define EF_ARC_OSABI_MSK 0x00000f00 +#define EF_ARC_ALL_MSK (EF_ARC_MACH_MSK | EF_ARC_OSABI_MSK) + +/* Processor specific values for the Shdr sh_type field. */ +#define SHT_ARC_ATTRIBUTES (SHT_LOPROC + 1) /* ARC attributes section. */ + /* ARCompact/ARCv2 specific relocs. */ #define R_ARC_NONE 0x0 #define R_ARC_8 0x1 #define R_ARC_16 0x2 #define R_ARC_24 0x3 #define R_ARC_32 0x4 -#define R_ARC_B26 0x5 + #define R_ARC_B22_PCREL 0x6 #define R_ARC_H30 0x7 #define R_ARC_N8 0x8 @@ -4080,16 +4262,23 @@ enum #define R_ARC_SECTOFF_ME_2 0x2A #define R_ARC_SECTOFF_1 0x2B #define R_ARC_SECTOFF_2 0x2C +#define R_ARC_SDA_12 0x2D +#define R_ARC_SDA16_ST2 0x30 +#define R_ARC_32_PCREL 0x31 #define R_ARC_PC32 0x32 #define R_ARC_GOTPC32 0x33 #define R_ARC_PLT32 0x34 #define R_ARC_COPY 0x35 #define R_ARC_GLOB_DAT 0x36 -#define R_ARC_JUMP_SLOT 0x37 +#define R_ARC_JMP_SLOT 0x37 #define R_ARC_RELATIVE 0x38 #define R_ARC_GOTOFF 0x39 #define R_ARC_GOTPC 0x3A #define R_ARC_GOT32 0x3B +#define R_ARC_S21W_PCREL_PLT 0x3C +#define R_ARC_S25H_PCREL_PLT 0x3D + +#define R_ARC_JLI_SECTOFF 0x3F #define R_ARC_TLS_DTPMOD 0x42 #define R_ARC_TLS_DTPOFF 0x43 @@ -4098,8 +4287,48 @@ enum #define R_ARC_TLS_GD_LD 0x46 #define R_ARC_TLS_GD_CALL 0x47 #define R_ARC_TLS_IE_GOT 0x48 -#define R_ARC_TLS_DTPOFF_S9 0x4a -#define R_ARC_TLS_LE_S9 0x4a -#define R_ARC_TLS_LE_32 0x4b +#define R_ARC_TLS_DTPOFF_S9 0x49 +#define R_ARC_TLS_LE_S9 0x4A +#define R_ARC_TLS_LE_32 0x4B +#define R_ARC_S25W_PCREL_PLT 0x4C +#define R_ARC_S21H_PCREL_PLT 0x4D +#define R_ARC_NPS_CMEM16 0x4E + +/* OpenRISC 1000 specific relocs. */ +#define R_OR1K_NONE 0 +#define R_OR1K_32 1 +#define R_OR1K_16 2 +#define R_OR1K_8 3 +#define R_OR1K_LO_16_IN_INSN 4 +#define R_OR1K_HI_16_IN_INSN 5 +#define R_OR1K_INSN_REL_26 6 +#define R_OR1K_GNU_VTENTRY 7 +#define R_OR1K_GNU_VTINHERIT 8 +#define R_OR1K_32_PCREL 9 +#define R_OR1K_16_PCREL 10 +#define R_OR1K_8_PCREL 11 +#define R_OR1K_GOTPC_HI16 12 +#define R_OR1K_GOTPC_LO16 13 +#define R_OR1K_GOT16 14 +#define R_OR1K_PLT26 15 +#define R_OR1K_GOTOFF_HI16 16 +#define R_OR1K_GOTOFF_LO16 17 +#define R_OR1K_COPY 18 +#define R_OR1K_GLOB_DAT 19 +#define R_OR1K_JMP_SLOT 20 +#define R_OR1K_RELATIVE 21 +#define R_OR1K_TLS_GD_HI16 22 +#define R_OR1K_TLS_GD_LO16 23 +#define R_OR1K_TLS_LDM_HI16 24 +#define R_OR1K_TLS_LDM_LO16 25 +#define R_OR1K_TLS_LDO_HI16 26 +#define R_OR1K_TLS_LDO_LO16 27 +#define R_OR1K_TLS_IE_HI16 28 +#define R_OR1K_TLS_IE_LO16 29 +#define R_OR1K_TLS_LE_HI16 30 +#define R_OR1K_TLS_LE_LO16 31 +#define R_OR1K_TLS_TPOFF 32 +#define R_OR1K_TLS_DTPOFF 33 +#define R_OR1K_TLS_DTPMOD 34 #endif /* elf.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/endian.h b/lib/libc/include/generic-glibc/endian.h index b72d888f343a07ca0c9c82deace010b258570d2c..a121c174d5159b0949d7a73292e123fcd6279bdd 100644 --- a/lib/libc/include/generic-glibc/endian.h +++ b/lib/libc/include/generic-glibc/endian.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/envz.h b/lib/libc/include/generic-glibc/envz.h index f58aae10ee9ac3dce732279ae201e3ca108cc6f6..7380ed1b74ee9983668585337b8e7fde4ce91a0f 100644 --- a/lib/libc/include/generic-glibc/envz.h +++ b/lib/libc/include/generic-glibc/envz.h @@ -1,5 +1,5 @@ /* Routines for dealing with '\0' separated environment vectors - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/err.h b/lib/libc/include/generic-glibc/err.h index 8dc0d54bf16ccffc0a202fdbb219c1b793958770..ac65ae3e79c749aa52e264bcff2609df4671b113 100644 --- a/lib/libc/include/generic-glibc/err.h +++ b/lib/libc/include/generic-glibc/err.h @@ -1,5 +1,5 @@ /* 4.4BSD utility functions for error messages. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,9 +32,9 @@ __BEGIN_DECLS /* Print "program: ", FORMAT, ": ", the standard error string for errno, and a newline, on stderr. */ extern void warn (const char *__format, ...) - __attribute__ ((__format__ (__printf__, 1, 2))); + __attribute__ ((__format__ (__printf__, 1, 2))) __COLD; extern void vwarn (const char *__format, __gnuc_va_list) - __attribute__ ((__format__ (__printf__, 1, 0))); + __attribute__ ((__format__ (__printf__, 1, 0))) __COLD; /* Likewise, but without ": " and the standard error string. */ extern void warnx (const char *__format, ...) @@ -44,13 +44,13 @@ extern void vwarnx (const char *__format, __gnuc_va_list) /* Likewise, and then exit with STATUS. */ extern void err (int __status, const char *__format, ...) - __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))); + __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))) __COLD; extern void verr (int __status, const char *__format, __gnuc_va_list) - __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))); + __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))) __COLD; extern void errx (int __status, const char *__format, ...) - __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))); + __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))) __COLD; extern void verrx (int __status, const char *, __gnuc_va_list) - __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))); + __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))) __COLD; #include #if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 diff --git a/lib/libc/include/generic-glibc/errno.h b/lib/libc/include/generic-glibc/errno.h index 2fe78325ac3c6fdf0ec0a02010d0d651704d3c63..8a7960188d1feff36aa03cd21b9fb2bb807f9bb0 100644 --- a/lib/libc/include/generic-glibc/errno.h +++ b/lib/libc/include/generic-glibc/errno.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/error.h b/lib/libc/include/generic-glibc/error.h index 4b024e0b9eaebd92ca2ee780409e4ba0bce20938..8b4b655ba074da92cb1c5b754a4e2c8206ee3e74 100644 --- a/lib/libc/include/generic-glibc/error.h +++ b/lib/libc/include/generic-glibc/error.h @@ -1,5 +1,5 @@ /* Declaration for error-reporting function - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -29,11 +29,11 @@ __BEGIN_DECLS If STATUS is nonzero, terminate the program with `exit (STATUS)'. */ extern void error (int __status, int __errnum, const char *__format, ...) - __attribute__ ((__format__ (__printf__, 3, 4))); + __attribute__ ((__format__ (__printf__, 3, 4))) __COLD; extern void error_at_line (int __status, int __errnum, const char *__fname, unsigned int __lineno, const char *__format, ...) - __attribute__ ((__format__ (__printf__, 5, 6))); + __attribute__ ((__format__ (__printf__, 5, 6))) __COLD; /* If NULL, error will flush stdout, then print on stderr the program name, a colon and a space. Otherwise, error will call this diff --git a/lib/libc/include/generic-glibc/execinfo.h b/lib/libc/include/generic-glibc/execinfo.h index efee46f7667346e5fb5967256ff26fbfa76ca8f2..d9ed82cca79b1881a7cb35fbef252d959b527fd8 100644 --- a/lib/libc/include/generic-glibc/execinfo.h +++ b/lib/libc/include/generic-glibc/execinfo.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/fcntl.h b/lib/libc/include/generic-glibc/fcntl.h index fb93ee658bbc80d5a850cc57eb9bd7793bd0c91f..ebe306343e74c9c17a98c9e1088882c2dac85318 100644 --- a/lib/libc/include/generic-glibc/fcntl.h +++ b/lib/libc/include/generic-glibc/fcntl.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -167,11 +167,6 @@ typedef __pid_t pid_t; effective IDs, not real IDs. */ #endif - -/* fcntl was a simple symbol until glibc 2.27 inclusive. - * glibc 2.28 onwards converted it to a macro when compiled with - * USE_LARGEFILE64. */ -#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 28) || __GLIBC__ > 2 /* Do the file control operation described by CMD on FD. The remaining arguments are interpreted depending on CMD. @@ -192,19 +187,16 @@ extern int fcntl64 (int __fd, int __cmd, ...); # endif #else /* __USE_TIME_BITS64 */ # ifdef __REDIRECT -extern int __REDIRECT (fcntl, (int __fd, int __request, ...), - __fcntl_time64) __THROW; -extern int __REDIRECT (fcntl64, (int __fd, int __request, ...), - __fcntl_time64) __THROW; +extern int __REDIRECT_NTH (fcntl, (int __fd, int __request, ...), + __fcntl_time64); +extern int __REDIRECT_NTH (fcntl64, (int __fd, int __request, ...), + __fcntl_time64); # else extern int __fcntl_time64 (int __fd, int __request, ...) __THROW; # define fcntl64 __fcntl_time64 # define fcntl __fcntl_time64 # endif #endif -#else /* glibc 2.27 or lower */ -extern int fcntl (int __fd, int __cmd, ...); -#endif /* Open FILE and return a new file descriptor for it, or -1 on error. OFLAG determines the type of access used. If O_CREAT or O_TMPFILE is set diff --git a/lib/libc/include/generic-glibc/features-time64.h b/lib/libc/include/generic-glibc/features-time64.h index 8e8163f6a3806fe8243016394cf57fb0318bed8a..68ef417efdeced29fd0489c5ed374b12655ffb88 100644 --- a/lib/libc/include/generic-glibc/features-time64.h +++ b/lib/libc/include/generic-glibc/features-time64.h @@ -1,5 +1,5 @@ /* Features part to handle 64-bit time_t support. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/features.h b/lib/libc/include/generic-glibc/features.h index dba3fc84912ca314bc66e4051fc0f0b5dd12bc00..a86e84edc4c4872dbb73cacf33dbbdf9f3365624 100644 --- a/lib/libc/include/generic-glibc/features.h +++ b/lib/libc/include/generic-glibc/features.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -57,7 +57,8 @@ __STRICT_ANSI__). _FORTIFY_SOURCE Add security hardening to many library functions. - Set to 1 or 2; 2 performs stricter checks than 1. + Set to 1, 2 or 3; 3 performs stricter checks than 2, which + performs stricter checks than 1. _REENTRANT, _THREAD_SAFE Obsolete; equivalent to _POSIX_C_SOURCE=199506L. @@ -150,6 +151,7 @@ #undef __GLIBC_USE_ISOC2X #undef __GLIBC_USE_DEPRECATED_GETS #undef __GLIBC_USE_DEPRECATED_SCANF +#undef __GLIBC_USE_C2X_STRTOL /* Suppress kernel-name space pollution unless user expressedly asks for it. */ @@ -220,12 +222,8 @@ # define _DEFAULT_SOURCE 1 # undef _ATFILE_SOURCE # define _ATFILE_SOURCE 1 - -# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 34) || __GLIBC__ > 2 # undef _DYNAMIC_STACK_SIZE_SOURCE # define _DYNAMIC_STACK_SIZE_SOURCE 1 -# endif - #endif /* If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined, @@ -416,7 +414,9 @@ # warning _FORTIFY_SOURCE requires compiling with optimization (-O) # elif !__GNUC_PREREQ (4, 1) # warning _FORTIFY_SOURCE requires GCC 4.1 or later -# elif _FORTIFY_SOURCE > 2 && __glibc_clang_prereq (9, 0) +# elif _FORTIFY_SOURCE > 2 && (__glibc_clang_prereq (9, 0) \ + || __GNUC_PREREQ (12, 0)) + # if _FORTIFY_SOURCE > 3 # warning _FORTIFY_SOURCE > 3 is treated like 3 on this platform # endif @@ -465,6 +465,17 @@ # define __GLIBC_USE_DEPRECATED_SCANF 0 #endif +/* ISO C2X added support for a 0b or 0B prefix on binary constants as + inputs to strtol-family functions (base 0 or 2). This macro is + used to condition redirection in headers to allow that redirection + to be disabled when building those functions, despite _GNU_SOURCE + being defined. */ +#if __GLIBC_USE (ISOC2X) +# define __GLIBC_USE_C2X_STRTOL 1 +#else +# define __GLIBC_USE_C2X_STRTOL 0 +#endif + /* Get definitions of __STDC_* predefined macros, if the compiler has not preincluded this header automatically. */ #include @@ -481,7 +492,7 @@ /* Major and minor version number of the GNU C library package. Use these macros to test for features in specific releases. */ #define __GLIBC__ 2 -/* Zig patch: we pass `-D__GLIBC_MINOR__=XX` depending on the target. */ +#define __GLIBC_MINOR__ 38 #define __GLIBC_PREREQ(maj, min) \ ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min)) @@ -516,4 +527,4 @@ #include -#endif /* features.h */ +#endif /* features.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/fenv.h b/lib/libc/include/generic-glibc/fenv.h index 978d81009dbf9263aad2917677b1fcece440eed1..081cac0eccb93e7d16210131f42dde8e38cafa79 100644 --- a/lib/libc/include/generic-glibc/fenv.h +++ b/lib/libc/include/generic-glibc/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -25,7 +25,7 @@ #define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION #include -/* Get the architecture dependend definitions. The following definitions +/* Get the architecture dependent definitions. The following definitions are expected to be done: fenv_t type for object representing an entire floating-point diff --git a/lib/libc/include/generic-glibc/finclude/math-vector-fortran.h b/lib/libc/include/generic-glibc/finclude/math-vector-fortran.h index 0f2ebfeba3881a71c1260501a7bb53796f0146c8..3ac3c6f253025a55b25a43c616b9de80f5fd9e77 100644 --- a/lib/libc/include/generic-glibc/finclude/math-vector-fortran.h +++ b/lib/libc/include/generic-glibc/finclude/math-vector-fortran.h @@ -1,5 +1,5 @@ ! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*- -! Copyright (C) 2019-2021 Free Software Foundation, Inc. +! Copyright (C) 2019-2023 Free Software Foundation, Inc. ! This file is part of the GNU C Library. ! ! The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/fmtmsg.h b/lib/libc/include/generic-glibc/fmtmsg.h index 6bdb421cd6c3fa0e268e49a31a488f041668baa1..da9e9a2b53693e8f4dc4a78aaf259563228b467c 100644 --- a/lib/libc/include/generic-glibc/fmtmsg.h +++ b/lib/libc/include/generic-glibc/fmtmsg.h @@ -1,5 +1,5 @@ /* Message display handling. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/fnmatch.h b/lib/libc/include/generic-glibc/fnmatch.h index acea08c1d85316c49a5dd6563c49937d99273677..2472a0075a4d6606753d1f8966a19e8d2ebbd21f 100644 --- a/lib/libc/include/generic-glibc/fnmatch.h +++ b/lib/libc/include/generic-glibc/fnmatch.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/fpregdef.h b/lib/libc/include/generic-glibc/fpregdef.h index 7c670560e002db260d5016e6ce0579526f6550db..b78efa58be94c8dcbb5049bf48cc403b83c02fba 100644 --- a/lib/libc/include/generic-glibc/fpregdef.h +++ b/lib/libc/include/generic-glibc/fpregdef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/fpu_control.h b/lib/libc/include/generic-glibc/fpu_control.h index 729526935e40a06d149f1a629b3f432888abc41c..73334a41a87ccfc688e36cef78bf363274184e3d 100644 --- a/lib/libc/include/generic-glibc/fpu_control.h +++ b/lib/libc/include/generic-glibc/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word bits. Mips version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/fts.h b/lib/libc/include/generic-glibc/fts.h index 2705c1c67afcf2e2eef5c227dca324bfbd2a213b..18c153b42077df348af18942576dc194dcf1c6bc 100644 --- a/lib/libc/include/generic-glibc/fts.h +++ b/lib/libc/include/generic-glibc/fts.h @@ -1,5 +1,5 @@ /* File tree traversal functions declarations. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/ftw.h b/lib/libc/include/generic-glibc/ftw.h index 14531bc774e834fc65dce2e45decffe25fc7a85d..ea1490482aa017d602596632291cd5df4739b2e8 100644 --- a/lib/libc/include/generic-glibc/ftw.h +++ b/lib/libc/include/generic-glibc/ftw.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/gconv.h b/lib/libc/include/generic-glibc/gconv.h index 8c7b9422275d477b3b6492efc195124d954ae803..46fb3fab48afea06ba4b7ab87eada4b5c6547848 100644 --- a/lib/libc/include/generic-glibc/gconv.h +++ b/lib/libc/include/generic-glibc/gconv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/getopt.h b/lib/libc/include/generic-glibc/getopt.h index 7b879b96eff2634e4640ccf028e5d67b6dde95c8..dfaf7b07572d41d67c8b653ad203aa1521a556c8 100644 --- a/lib/libc/include/generic-glibc/getopt.h +++ b/lib/libc/include/generic-glibc/getopt.h @@ -1,5 +1,5 @@ /* Declarations for getopt. - Copyright (C) 1989-2021 Free Software Foundation, Inc. + Copyright (C) 1989-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. Unlike the bulk of the getopt implementation, this file is NOT part of gnulib; gnulib also has a getopt.h but it is different. diff --git a/lib/libc/include/generic-glibc/glob.h b/lib/libc/include/generic-glibc/glob.h index a014ec4db5e1ba938faeef48f3dc610439747c9e..a0f8156156ee3866eda25cef77af1956ab1dbaf2 100644 --- a/lib/libc/include/generic-glibc/glob.h +++ b/lib/libc/include/generic-glibc/glob.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/gnu-versions.h b/lib/libc/include/generic-glibc/gnu-versions.h index 4f5206c97e5f8929665a3bd1ec3c7e708db0e128..110e1acc0c7319bca7ae3274abddcf301825b83a 100644 --- a/lib/libc/include/generic-glibc/gnu-versions.h +++ b/lib/libc/include/generic-glibc/gnu-versions.h @@ -1,5 +1,5 @@ /* Header with interface version macros for library pieces copied elsewhere. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/gnu/lib-names-32.h b/lib/libc/include/generic-glibc/gnu/lib-names-32.h index 94b406673b985c7b53ad18395b4e7762b8af5f62..61122a2b06ab2cbba25670ae11a838a1214ddb2b 100644 --- a/lib/libc/include/generic-glibc/gnu/lib-names-32.h +++ b/lib/libc/include/generic-glibc/gnu/lib-names-32.h @@ -3,8 +3,7 @@ # error "Never use directly; include instead." #endif -#define LD_LINUX_SO "ld-linux.so.2" -#define LD_SO "ld-linux.so.2" +#define LD_SO "ld.so.1" #define LIBANL_SO "libanl.so.1" #define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" #define LIBCRYPT_SO "libcrypt.so.1" @@ -21,8 +20,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/generic-glibc/gnu/lib-names-hard.h b/lib/libc/include/generic-glibc/gnu/lib-names-hard.h index eab958367047eb267637cf2d8dc129ccc04c3a5d..13a873c5d2a60a75f937f6c7bc92205fe99030f4 100644 --- a/lib/libc/include/generic-glibc/gnu/lib-names-hard.h +++ b/lib/libc/include/generic-glibc/gnu/lib-names-hard.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/generic-glibc/gnu/lib-names-ilp32d.h b/lib/libc/include/generic-glibc/gnu/lib-names-ilp32d.h deleted file mode 100644 index da6ef4813b3a8ee97a5ef5bbdf9e4da26b4d979b..0000000000000000000000000000000000000000 --- a/lib/libc/include/generic-glibc/gnu/lib-names-ilp32d.h +++ /dev/null @@ -1,30 +0,0 @@ -/* This file is automatically generated. */ -#ifndef __GNU_LIB_NAMES_H -# error "Never use directly; include instead." -#endif - -#define LD_LINUX_RISCV32_ILP32D_SO "ld-linux-riscv32-ilp32d.so.1" -#define LD_SO "ld-linux-riscv32-ilp32d.so.1" -#define LIBANL_SO "libanl.so.1" -#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" -#define LIBCRYPT_SO "libcrypt.so.1" -#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" -#define LIBC_SO "libc.so.6" -#define LIBDL_SO "libdl.so.2" -#define LIBGCC_S_SO "libgcc_s.so.1" -#define LIBMVEC_SO "libmvec.so.1" -#define LIBM_SO "libm.so.6" -#define LIBNSL_SO "libnsl.so.1" -#define LIBNSS_COMPAT_SO "libnss_compat.so.2" -#define LIBNSS_DB_SO "libnss_db.so.2" -#define LIBNSS_DNS_SO "libnss_dns.so.2" -#define LIBNSS_FILES_SO "libnss_files.so.2" -#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" -#define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" -#define LIBPTHREAD_SO "libpthread.so.0" -#define LIBRESOLV_SO "libresolv.so.2" -#define LIBRT_SO "librt.so.1" -#define LIBTHREAD_DB_SO "libthread_db.so.1" -#define LIBUTIL_SO "libutil.so.1" diff --git a/lib/libc/include/generic-glibc/gnu/lib-names-n32_hard.h b/lib/libc/include/generic-glibc/gnu/lib-names-n32_hard.h index a941c82ff7ac144458818217ac2c1c66fd698c01..f65868f500eccd873ff980825d94439d8ececb41 100644 --- a/lib/libc/include/generic-glibc/gnu/lib-names-n32_hard.h +++ b/lib/libc/include/generic-glibc/gnu/lib-names-n32_hard.h @@ -20,8 +20,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/generic-glibc/gnu/lib-names-n64_hard.h b/lib/libc/include/generic-glibc/gnu/lib-names-n64_hard.h index 740f99f84fad153427b410b680a09e794bca80f7..6a0aca7bee94fec632548447c2a94ff7a6ee9146 100644 --- a/lib/libc/include/generic-glibc/gnu/lib-names-n64_hard.h +++ b/lib/libc/include/generic-glibc/gnu/lib-names-n64_hard.h @@ -20,8 +20,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/generic-glibc/gnu/lib-names-o32_hard.h b/lib/libc/include/generic-glibc/gnu/lib-names-o32_hard.h index e5bde87e450c226595157037381d5fbdfa3f2399..da37326c058f552221f7c29380169b6526d2ef8a 100644 --- a/lib/libc/include/generic-glibc/gnu/lib-names-o32_hard.h +++ b/lib/libc/include/generic-glibc/gnu/lib-names-o32_hard.h @@ -20,8 +20,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/generic-glibc/gnu/lib-names-o32_soft.h b/lib/libc/include/generic-glibc/gnu/lib-names-o32_soft.h index 2eb6ca4f6a05310d003238b04abb255ca004752a..8cb4e356d1cf1309130bbff9bb401f7af298957b 100644 --- a/lib/libc/include/generic-glibc/gnu/lib-names-o32_soft.h +++ b/lib/libc/include/generic-glibc/gnu/lib-names-o32_soft.h @@ -20,8 +20,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/generic-glibc/gnu/lib-names-soft.h b/lib/libc/include/generic-glibc/gnu/lib-names-soft.h index bcafe34bddb68c5bf7128ee193330ec90138d7ff..10795569f1803227f6135447f9c32d9c1ad9cbaa 100644 --- a/lib/libc/include/generic-glibc/gnu/lib-names-soft.h +++ b/lib/libc/include/generic-glibc/gnu/lib-names-soft.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/generic-glibc/gnu/libc-version.h b/lib/libc/include/generic-glibc/gnu/libc-version.h index 76852fcb2470db890a43cc6cdefeac955f3a88ff..8da47d45f67730a6989ba057565ca0a1c954ac87 100644 --- a/lib/libc/include/generic-glibc/gnu/libc-version.h +++ b/lib/libc/include/generic-glibc/gnu/libc-version.h @@ -1,5 +1,5 @@ /* Interface to GNU libc specific functions for version information. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/gnu/stubs-ilp32.h b/lib/libc/include/generic-glibc/gnu/stubs-ilp32.h deleted file mode 100644 index b9af396166e6dfc0c19e99ac906269c7008453e3..0000000000000000000000000000000000000000 --- a/lib/libc/include/generic-glibc/gnu/stubs-ilp32.h +++ /dev/null @@ -1,38 +0,0 @@ -/* This file is automatically generated. - It defines a symbol `__stub_FUNCTION' for each function - in the C library which is a stub, meaning it will fail - every time called, usually setting errno to ENOSYS. */ - -#ifdef _LIBC - #error Applications may not define the macro _LIBC -#endif - -#define __stub___compat_bdflush -#define __stub___compat_create_module -#define __stub___compat_get_kernel_syms -#define __stub___compat_query_module -#define __stub___compat_uselib -#define __stub_chflags -#define __stub_fchflags -#define __stub_feclearexcept -#define __stub_fedisableexcept -#define __stub_feenableexcept -#define __stub_fegetenv -#define __stub_fegetexcept -#define __stub_fegetexceptflag -#define __stub_fegetmode -#define __stub_fegetround -#define __stub_feholdexcept -#define __stub_feraiseexcept -#define __stub_fesetenv -#define __stub_fesetexcept -#define __stub_fesetexceptflag -#define __stub_fesetmode -#define __stub_fesetround -#define __stub_fetestexcept -#define __stub_feupdateenv -#define __stub_gtty -#define __stub_revoke -#define __stub_setlogin -#define __stub_sigreturn -#define __stub_stty diff --git a/lib/libc/include/generic-glibc/gnu/stubs-ilp32d.h b/lib/libc/include/generic-glibc/gnu/stubs-ilp32d.h deleted file mode 100644 index 4d4c0d146a4063129577bff6724df15f3a36b84f..0000000000000000000000000000000000000000 --- a/lib/libc/include/generic-glibc/gnu/stubs-ilp32d.h +++ /dev/null @@ -1,24 +0,0 @@ -/* This file is automatically generated. - It defines a symbol `__stub_FUNCTION' for each function - in the C library which is a stub, meaning it will fail - every time called, usually setting errno to ENOSYS. */ - -#ifdef _LIBC - #error Applications may not define the macro _LIBC -#endif - -#define __stub___compat_bdflush -#define __stub___compat_create_module -#define __stub___compat_get_kernel_syms -#define __stub___compat_query_module -#define __stub___compat_uselib -#define __stub_chflags -#define __stub_fchflags -#define __stub_fedisableexcept -#define __stub_feenableexcept -#define __stub_fegetexcept -#define __stub_gtty -#define __stub_revoke -#define __stub_setlogin -#define __stub_sigreturn -#define __stub_stty diff --git a/lib/libc/include/generic-glibc/grp.h b/lib/libc/include/generic-glibc/grp.h index b7c890f673ed126a8c722ac5804e747e72ed1696..530d5d360dad05b186eddeadb15f36300f2272c6 100644 --- a/lib/libc/include/generic-glibc/grp.h +++ b/lib/libc/include/generic-glibc/grp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -130,7 +130,8 @@ extern struct group *getgrnam (const char *__name); # ifdef __USE_GNU extern int getgrent_r (struct group *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, - struct group **__restrict __result); + struct group **__restrict __result) + __attr_access ((__write_only__, 2, 3)); # endif /* Search for an entry with a matching group ID. @@ -139,7 +140,8 @@ extern int getgrent_r (struct group *__restrict __resultbuf, marked with __THROW. */ extern int getgrgid_r (__gid_t __gid, struct group *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, - struct group **__restrict __result); + struct group **__restrict __result) + __attr_access ((__write_only__, 3, 4)); /* Search for an entry with a matching group name. @@ -148,7 +150,8 @@ extern int getgrgid_r (__gid_t __gid, struct group *__restrict __resultbuf, extern int getgrnam_r (const char *__restrict __name, struct group *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, - struct group **__restrict __result); + struct group **__restrict __result) + __attr_access ((__write_only__, 3, 4)); # ifdef __USE_MISC /* Read a group entry from STREAM. This function is not standardized @@ -161,7 +164,8 @@ extern int getgrnam_r (const char *__restrict __name, extern int fgetgrent_r (FILE *__restrict __stream, struct group *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, - struct group **__restrict __result); + struct group **__restrict __result) + __attr_access ((__write_only__, 3, 4)); # endif #endif /* POSIX or reentrant */ diff --git a/lib/libc/include/generic-glibc/gshadow.h b/lib/libc/include/generic-glibc/gshadow.h index d784c8ce5346f467619ae8e9ca7dc40c9c81223f..865acf118866f9849b42b6d3524af6feecc6b9a3 100644 --- a/lib/libc/include/generic-glibc/gshadow.h +++ b/lib/libc/include/generic-glibc/gshadow.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2009-2021 Free Software Foundation, Inc. +/* Copyright (C) 2009-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -108,19 +108,23 @@ extern int putsgent (const struct sgrp *__g, FILE *__stream); or due to the implementation they are cancellation points and therefore not marked with __THROW. */ extern int getsgent_r (struct sgrp *__result_buf, char *__buffer, - size_t __buflen, struct sgrp **__result); + size_t __buflen, struct sgrp **__result) + __attr_access ((__write_only__, 2, 3)); extern int getsgnam_r (const char *__name, struct sgrp *__result_buf, char *__buffer, size_t __buflen, - struct sgrp **__result); + struct sgrp **__result) + __attr_access ((__write_only__, 3, 4)); extern int sgetsgent_r (const char *__string, struct sgrp *__result_buf, char *__buffer, size_t __buflen, - struct sgrp **__result); + struct sgrp **__result) + __attr_access ((__write_only__, 3, 4)); extern int fgetsgent_r (FILE *__stream, struct sgrp *__result_buf, char *__buffer, size_t __buflen, - struct sgrp **__result); + struct sgrp **__result) + __attr_access ((__write_only__, 3, 4)); #endif /* misc */ __END_DECLS diff --git a/lib/libc/include/generic-glibc/iconv.h b/lib/libc/include/generic-glibc/iconv.h index 8a5722ae933aca1c7a61ff9fecf0b418584c33d8..a1ec71760176c64c52ba880418189e3e37c4ec80 100644 --- a/lib/libc/include/generic-glibc/iconv.h +++ b/lib/libc/include/generic-glibc/iconv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -29,12 +29,19 @@ __BEGIN_DECLS typedef void *iconv_t; +/* Free resources allocated for descriptor CD for code conversion. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int iconv_close (iconv_t __cd); + /* Allocate descriptor for code conversion from codeset FROMCODE to codeset TOCODE. This function is a possible cancellation point and therefore not marked with __THROW. */ -extern iconv_t iconv_open (const char *__tocode, const char *__fromcode); +extern iconv_t iconv_open (const char *__tocode, const char *__fromcode) + __attribute_malloc__ __attr_dealloc (iconv_close, 1); /* Convert at most *INBYTESLEFT bytes from *INBUF according to the code conversion algorithm specified by CD and place up to @@ -44,12 +51,6 @@ extern size_t iconv (iconv_t __cd, char **__restrict __inbuf, char **__restrict __outbuf, size_t *__restrict __outbytesleft); -/* Free resources allocated for descriptor CD for code conversion. - - This function is a possible cancellation point and therefore not - marked with __THROW. */ -extern int iconv_close (iconv_t __cd); - __END_DECLS #endif /* iconv.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/ieee754.h b/lib/libc/include/generic-glibc/ieee754.h index e25e6187cc77e9155201eda51910014cae0ea437..56cf582de332b80b1ed11112c6769d2030471200 100644 --- a/lib/libc/include/generic-glibc/ieee754.h +++ b/lib/libc/include/generic-glibc/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/ifaddrs.h b/lib/libc/include/generic-glibc/ifaddrs.h index 6f866c018f8f5b9dd321c9588401c22a8ba510e4..c6c196945620b613c8b4eb0a37683f0a1e7da83d 100644 --- a/lib/libc/include/generic-glibc/ifaddrs.h +++ b/lib/libc/include/generic-glibc/ifaddrs.h @@ -1,5 +1,5 @@ /* ifaddrs.h -- declarations for getting network interface addresses - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/inttypes.h b/lib/libc/include/generic-glibc/inttypes.h index 86bbd004fa2c5e8c1a22e5dffa407a06e7e7488e..484280650247a135e20863a4258695be0b59cee9 100644 --- a/lib/libc/include/generic-glibc/inttypes.h +++ b/lib/libc/include/generic-glibc/inttypes.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -164,6 +164,45 @@ typedef wchar_t __gwchar_t; # define PRIxPTR __PRIPTR_PREFIX "x" # define PRIXPTR __PRIPTR_PREFIX "X" +/* Binary notation. */ +# if __GLIBC_USE (ISOC2X) +# define PRIb8 "b" +# define PRIb16 "b" +# define PRIb32 "b" +# define PRIb64 __PRI64_PREFIX "b" + +# define PRIbLEAST8 "b" +# define PRIbLEAST16 "b" +# define PRIbLEAST32 "b" +# define PRIbLEAST64 __PRI64_PREFIX "b" + +# define PRIbFAST8 "b" +# define PRIbFAST16 __PRIPTR_PREFIX "b" +# define PRIbFAST32 __PRIPTR_PREFIX "b" +# define PRIbFAST64 __PRI64_PREFIX "b" + +# define PRIbMAX __PRI64_PREFIX "b" +# define PRIbPTR __PRIPTR_PREFIX "b" + +# define PRIB8 "B" +# define PRIB16 "B" +# define PRIB32 "B" +# define PRIB64 __PRI64_PREFIX "B" + +# define PRIBLEAST8 "B" +# define PRIBLEAST16 "B" +# define PRIBLEAST32 "B" +# define PRIBLEAST64 __PRI64_PREFIX "B" + +# define PRIBFAST8 "B" +# define PRIBFAST16 __PRIPTR_PREFIX "B" +# define PRIBFAST32 __PRIPTR_PREFIX "B" +# define PRIBFAST64 __PRI64_PREFIX "B" + +# define PRIBMAX __PRI64_PREFIX "B" +# define PRIBPTR __PRIPTR_PREFIX "B" +# endif + /* Macros for scanning format specifiers. */ @@ -255,7 +294,7 @@ typedef wchar_t __gwchar_t; # define SCNuMAX __PRI64_PREFIX "u" # define SCNxMAX __PRI64_PREFIX "x" -/* Macros for scaning `intptr_t' and `uintptr_t'. */ +/* Macros for scanning `intptr_t' and `uintptr_t'. */ # define SCNdPTR __PRIPTR_PREFIX "d" # define SCNiPTR __PRIPTR_PREFIX "i" # define SCNoPTR __PRIPTR_PREFIX "o" @@ -263,6 +302,28 @@ typedef wchar_t __gwchar_t; # define SCNxPTR __PRIPTR_PREFIX "x" +/* Binary notation. */ +# if __GLIBC_USE (ISOC2X) +# define SCNb8 "hhb" +# define SCNb16 "hb" +# define SCNb32 "b" +# define SCNb64 __PRI64_PREFIX "b" + +# define SCNbLEAST8 "hhb" +# define SCNbLEAST16 "hb" +# define SCNbLEAST32 "b" +# define SCNbLEAST64 __PRI64_PREFIX "b" + +# define SCNbFAST8 "hhb" +# define SCNbFAST16 __PRIPTR_PREFIX "b" +# define SCNbFAST32 __PRIPTR_PREFIX "b" +# define SCNbFAST64 __PRI64_PREFIX "b" + +# define SCNbMAX __PRI64_PREFIX "b" +# define SCNbPTR __PRIPTR_PREFIX "b" +# endif + + __BEGIN_DECLS #if __WORDSIZE == 64 @@ -311,6 +372,46 @@ extern uintmax_t wcstoumax (const __gwchar_t *__restrict __nptr, __gwchar_t ** __restrict __endptr, int __base) __THROW; +/* Versions of the above functions that handle '0b' and '0B' prefixes + in base 0 or 2. */ +#if __GLIBC_USE (C2X_STRTOL) +# ifdef __REDIRECT +extern intmax_t __REDIRECT_NTH (strtoimax, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoimax); +extern uintmax_t __REDIRECT_NTH (strtoumax, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoumax); +extern intmax_t __REDIRECT_NTH (wcstoimax, + (const __gwchar_t *__restrict __nptr, + __gwchar_t **__restrict __endptr, int __base), + __isoc23_wcstoimax); +extern uintmax_t __REDIRECT_NTH (wcstoumax, + (const __gwchar_t *__restrict __nptr, + __gwchar_t **__restrict __endptr, int __base), + __isoc23_wcstoumax); +# else +extern intmax_t __isoc23_strtoimax (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW; +extern uintmax_t __isoc23_strtoumax (const char *__restrict __nptr, + char ** __restrict __endptr, int __base) + __THROW; +extern intmax_t __isoc23_wcstoimax (const __gwchar_t *__restrict __nptr, + __gwchar_t **__restrict __endptr, + int __base) + __THROW; +extern uintmax_t __isoc23_wcstoumax (const __gwchar_t *__restrict __nptr, + __gwchar_t ** __restrict __endptr, + int __base) + __THROW; +# define strtoimax __isoc23_strtoimax +# define strtoumax __isoc23_strtoumax +# define wcstoimax __isoc23_wcstoimax +# define wcstoumax __isoc23_wcstoumax +# endif +#endif + __END_DECLS #endif /* inttypes.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/langinfo.h b/lib/libc/include/generic-glibc/langinfo.h index 5c04c86774ab50e5ac0e66283bed99733d2f70eb..3e85bea96e3aff6931b042a100b382e7953165e4 100644 --- a/lib/libc/include/generic-glibc/langinfo.h +++ b/lib/libc/include/generic-glibc/langinfo.h @@ -1,5 +1,5 @@ /* Access to locale-dependent parameters. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/libgen.h b/lib/libc/include/generic-glibc/libgen.h index de85144d8d0a0a2b2bdfa87be62357ef71dc032a..1408bd60964aadfc5d3bb17dd74a3923abe34bbd 100644 --- a/lib/libc/include/generic-glibc/libgen.h +++ b/lib/libc/include/generic-glibc/libgen.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/libintl.h b/lib/libc/include/generic-glibc/libintl.h index 5c3eb1e8ad3168c34c32a56cf888ac579486f5af..77f9b709beb2f1386e1b635722a25545abd40445 100644 --- a/lib/libc/include/generic-glibc/libintl.h +++ b/lib/libc/include/generic-glibc/libintl.h @@ -1,5 +1,5 @@ /* Message catalogs for internationalization. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. This file is derived from the file libgettext.h in the GNU gettext package. diff --git a/lib/libc/include/generic-glibc/limits.h b/lib/libc/include/generic-glibc/limits.h index a5a9f317acc358069b888433c3d7ecb0667e4488..2634f227d24ec03a8c78eab61848d7e818f4474b 100644 --- a/lib/libc/include/generic-glibc/limits.h +++ b/lib/libc/include/generic-glibc/limits.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/link.h b/lib/libc/include/generic-glibc/link.h index a32d10ede96a183f62a01c149a2a3bc742702dbb..ec9ba1f451b7e3d4784082ba9b6b60fad3b8910c 100644 --- a/lib/libc/include/generic-glibc/link.h +++ b/lib/libc/include/generic-glibc/link.h @@ -1,6 +1,6 @@ /* Data structure for communication from the run-time dynamic linker for loaded ELF shared objects. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -34,14 +34,13 @@ #include /* Defines __ELF_NATIVE_CLASS. */ #include -/* Rendezvous structure used by the run-time dynamic linker to communicate - details of shared object loading to the debugger. If the executable's - dynamic section has a DT_DEBUG element, the run-time linker sets that - element's value to the address where this structure can be found. */ +/* The legacy rendezvous structure used by the run-time dynamic linker to + communicate details of shared object loading to the debugger. */ struct r_debug { - int r_version; /* Version number for this protocol. */ + /* Version number for this protocol. It should be greater than 0. */ + int r_version; struct link_map *r_map; /* Head of the chain of loaded objects. */ @@ -63,16 +62,34 @@ struct r_debug ElfW(Addr) r_ldbase; /* Base address the linker is loaded at. */ }; -/* This is the instance of that structure used by the dynamic linker. */ +/* This is the symbol of that structure provided by the dynamic linker. */ extern struct r_debug _r_debug; +/* The extended rendezvous structure used by the run-time dynamic linker + to communicate details of shared object loading to the debugger. If + the executable's dynamic section has a DT_DEBUG element, the run-time + linker sets that element's value to the address where this structure + can be found. */ + +struct r_debug_extended + { + struct r_debug base; + + /* The following field is added by r_version == 2. */ + + /* Link to the next r_debug_extended structure. Each r_debug_extended + structure represents a different namespace. The first + r_debug_extended structure is for the default namespace. */ + struct r_debug_extended *r_next; + }; + /* This symbol refers to the "dynamic structure" in the `.dynamic' section of whatever module refers to `_DYNAMIC'. So, to find its own - `struct r_debug', a program could do: + `struct r_debug_extended', a program could do: for (dyn = _DYNAMIC; dyn->d_tag != DT_NULL; ++dyn) if (dyn->d_tag == DT_DEBUG) - r_debug = (struct r_debug *) dyn->d_un.d_ptr; - */ + r_debug_extended = (struct r_debug_extended *) dyn->d_un.d_ptr; + */ extern ElfW(Dyn) _DYNAMIC[]; /* Structure describing a loaded shared object. The `l_next' and `l_prev' @@ -96,7 +113,7 @@ struct link_map #ifdef __USE_GNU /* Version numbers for la_version handshake interface. */ -#define LAV_CURRENT 1 +#include /* Activity types signaled through la_activity. */ enum diff --git a/lib/libc/include/generic-glibc/locale.h b/lib/libc/include/generic-glibc/locale.h index f54d4240af78de1eb5beb9d3950444b413bbdc17..11d7ab1d5962906f1071c3ff36ae2350bba2c284 100644 --- a/lib/libc/include/generic-glibc/locale.h +++ b/lib/libc/include/generic-glibc/locale.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/malloc.h b/lib/libc/include/generic-glibc/malloc.h index d9be803a6f08d9f1abf382a30bfbf970a34116dc..b6f39f3e11bfe6eedcc376fdeccf3e8c8eda5ddb 100644 --- a/lib/libc/include/generic-glibc/malloc.h +++ b/lib/libc/include/generic-glibc/malloc.h @@ -1,5 +1,6 @@ /* Prototypes and definition for malloc implementation. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. + Copyright The GNU Toolchain Authors. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -64,8 +65,8 @@ extern void free (void *__ptr) __THROW; /* Allocate SIZE bytes allocated to ALIGNMENT bytes. */ extern void *memalign (size_t __alignment, size_t __size) - __THROW __attribute_malloc__ __attribute_alloc_size__ ((2)) __wur - __attr_dealloc_free; + __THROW __attribute_malloc__ __attribute_alloc_align__ ((1)) + __attribute_alloc_size__ ((2)) __wur __attr_dealloc_free; /* Allocate SIZE bytes on a page boundary. */ extern void *valloc (size_t __size) __THROW __attribute_malloc__ diff --git a/lib/libc/include/generic-glibc/math.h b/lib/libc/include/generic-glibc/math.h index 3c95334ab857bec3b422ca220cb66021c5e6d4e5..43ca8b1c96d8ed2e9f0f9e10d93698e96c91339c 100644 --- a/lib/libc/include/generic-glibc/math.h +++ b/lib/libc/include/generic-glibc/math.h @@ -1,5 +1,5 @@ /* Declarations for math functions. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -573,11 +573,13 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y), # define __MATHCALL_NAME(name) f ## name ## l # ifdef __LDBL_COMPAT # define __MATHCALL_REDIR_NAME(name) f ## name +# define __MATHCALL_REDIR_NAME2(name) f ## name # undef __MATHCALL_NARROW # define __MATHCALL_NARROW(func, redir, nargs) \ __MATHCALL_NARROW_REDIR (func, redir, nargs) # elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 # define __MATHCALL_REDIR_NAME(name) __ ## f32 ## name ## ieee128 +# define __MATHCALL_REDIR_NAME2(name) __ ## f32 ## name ## ieee128 # undef __MATHCALL_NARROW # define __MATHCALL_NARROW(func, redir, nargs) \ __MATHCALL_NARROW_REDIR (func, redir, nargs) @@ -589,6 +591,7 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y), # if defined __LDBL_COMPAT \ || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 # undef __MATHCALL_REDIR_NAME +# undef __MATHCALL_REDIR_NAME2 # undef __MATHCALL_NARROW # define __MATHCALL_NARROW(func, redir, nargs) \ __MATHCALL_NARROW_NORMAL (func, nargs) @@ -599,11 +602,13 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y), # define __MATHCALL_NAME(name) d ## name ## l # ifdef __LDBL_COMPAT # define __MATHCALL_REDIR_NAME(name) __nldbl_d ## name ## l +# define __MATHCALL_REDIR_NAME2(name) name # undef __MATHCALL_NARROW # define __MATHCALL_NARROW(func, redir, nargs) \ __MATHCALL_NARROW_REDIR (func, redir, nargs) # elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 # define __MATHCALL_REDIR_NAME(name) __ ## f64 ## name ## ieee128 +# define __MATHCALL_REDIR_NAME2(name) __ ## f64 ## name ## ieee128 # undef __MATHCALL_NARROW # define __MATHCALL_NARROW(func, redir, nargs) \ __MATHCALL_NARROW_REDIR (func, redir, nargs) @@ -615,6 +620,7 @@ extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y), # if defined __LDBL_COMPAT \ || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 # undef __MATHCALL_REDIR_NAME +# undef __MATHCALL_REDIR_NAME2 # undef __MATHCALL_NARROW # define __MATHCALL_NARROW(func, redir, nargs) \ __MATHCALL_NARROW_NORMAL (func, nargs) @@ -1009,7 +1015,8 @@ enum /* Return nonzero value if X is positive or negative infinity. */ # if __HAVE_DISTINCT_FLOAT128 && !__GNUC_PREREQ (7,0) \ - && !defined __SUPPORT_SNAN__ && !defined __cplusplus + && !defined __SUPPORT_SNAN__ && !defined __cplusplus \ + && !defined __clang__ /* Since __builtin_isinf_sign is broken for float128 before GCC 7.0, use the helper function, __isinff128, with older compilers. This is only provided for C mode, because in C++ mode, GCC has no support @@ -1152,6 +1159,23 @@ iszero (__T __val) # define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ #endif +/* GNU extension to provide float constants with similar names. */ +#ifdef __USE_GNU +# define M_Ef 2.7182818284590452354f /* e */ +# define M_LOG2Ef 1.4426950408889634074f /* log_2 e */ +# define M_LOG10Ef 0.43429448190325182765f /* log_10 e */ +# define M_LN2f 0.69314718055994530942f /* log_e 2 */ +# define M_LN10f 2.30258509299404568402f /* log_e 10 */ +# define M_PIf 3.14159265358979323846f /* pi */ +# define M_PI_2f 1.57079632679489661923f /* pi/2 */ +# define M_PI_4f 0.78539816339744830962f /* pi/4 */ +# define M_1_PIf 0.31830988618379067154f /* 1/pi */ +# define M_2_PIf 0.63661977236758134308f /* 2/pi */ +# define M_2_SQRTPIf 1.12837916709551257390f /* 2/sqrt(pi) */ +# define M_SQRT2f 1.41421356237309504880f /* sqrt(2) */ +# define M_SQRT1_2f 0.70710678118654752440f /* 1/sqrt(2) */ +#endif + /* The above constants are not adequate for computation using `long double's. Therefore we provide as an extension constants with similar names as a GNU extension. Provide enough digits for the 128-bit IEEE quad. */ @@ -1278,7 +1302,7 @@ iszero (__T __val) these operations. Generic support in GCC for these as builtins went in 2.97, but not all cpus added their patterns until 3.1. Therefore we enable the builtins from 3.1 onwards and use a generic implementation - othwerwise. */ + otherwise. */ # define isgreater(x, y) __builtin_isgreater(x, y) # define isgreaterequal(x, y) __builtin_isgreaterequal(x, y) # define isless(x, y) __builtin_isless(x, y) @@ -1368,14 +1392,62 @@ template<> struct __iseqsig_type } }; -# if __HAVE_FLOAT128_UNLIKE_LDBL +# if __HAVE_FLOAT32 && __GNUC_PREREQ (13, 0) +template<> struct __iseqsig_type<_Float32> +{ + static int __call (_Float32 __x, _Float32 __y) throw () + { + return __iseqsigf (__x, __y); + } +}; +# endif + +# if __HAVE_FLOAT64 && __GNUC_PREREQ (13, 0) +template<> struct __iseqsig_type<_Float64> +{ + static int __call (_Float64 __x, _Float64 __y) throw () + { + return __iseqsig (__x, __y); + } +}; +# endif + +# if __HAVE_FLOAT128_UNLIKE_LDBL || (__HAVE_FLOAT128 && __GNUC_PREREQ (13, 0)) /* When using an IEEE 128-bit long double, _Float128 is defined as long double in C++. */ template<> struct __iseqsig_type<_Float128> { static int __call (_Float128 __x, _Float128 __y) throw () { +# if __HAVE_FLOAT128_UNLIKE_LDBL return __iseqsigf128 (__x, __y); +# else + return __iseqsigl (__x, __y); +# endif + } +}; +# endif + +# if __HAVE_FLOAT32X && __GNUC_PREREQ (13, 0) +template<> struct __iseqsig_type<_Float32x> +{ + static int __call (_Float32x __x, _Float32x __y) throw () + { + return __iseqsig (__x, __y); + } +}; +# endif + +# if __HAVE_FLOAT64X && __GNUC_PREREQ (13, 0) +template<> struct __iseqsig_type<_Float64x> +{ + static int __call (_Float64x __x, _Float64x __y) throw () + { +# if __HAVE_FLOAT64X_LONG_DOUBLE + return __iseqsigl (__x, __y); +# else + return __iseqsigf128 (__x, __y); +# endif } }; # endif diff --git a/lib/libc/include/generic-glibc/mcheck.h b/lib/libc/include/generic-glibc/mcheck.h index fe26edad9ff32fcf38197098696b20a6bdd08cb6..76a0845d6d21f7a79fb84602833721483abda523 100644 --- a/lib/libc/include/generic-glibc/mcheck.h +++ b/lib/libc/include/generic-glibc/mcheck.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/memory.h b/lib/libc/include/generic-glibc/memory.h index 2280d146664afb13606d0e4715e1263cdd5f70b9..c279da778dc77995f9efedb3d8793c08a71be212 100644 --- a/lib/libc/include/generic-glibc/memory.h +++ b/lib/libc/include/generic-glibc/memory.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/mntent.h b/lib/libc/include/generic-glibc/mntent.h index f974d0b7bd4b24a530d434c24b0d56417cfced7d..d8cfcbbb2f61a0411bf93d159d9bf2bfe70b613b 100644 --- a/lib/libc/include/generic-glibc/mntent.h +++ b/lib/libc/include/generic-glibc/mntent.h @@ -1,5 +1,5 @@ /* Utilities for reading/writing fstab, mtab, etc. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/monetary.h b/lib/libc/include/generic-glibc/monetary.h index 4df23ee58ccae291f4e34fc732874e036633a8a0..8288cd75b4f6aaa8a090193bc07602e979d6d512 100644 --- a/lib/libc/include/generic-glibc/monetary.h +++ b/lib/libc/include/generic-glibc/monetary.h @@ -1,5 +1,5 @@ /* Header file for monetary value formatting functions. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/mqueue.h b/lib/libc/include/generic-glibc/mqueue.h index 99066fff8e92ad6a9e1b635a1e4cbdf3d60402d1..de56bf731c94fa080fadda9c6d10e3c41f53842d 100644 --- a/lib/libc/include/generic-glibc/mqueue.h +++ b/lib/libc/include/generic-glibc/mqueue.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/net/ethernet.h b/lib/libc/include/generic-glibc/net/ethernet.h index e5b5f86097f2efcb11038844ed6eac696a7be7e8..d42a9d7ff8a7f73fb47f9071955f7226a04ff55a 100644 --- a/lib/libc/include/generic-glibc/net/ethernet.h +++ b/lib/libc/include/generic-glibc/net/ethernet.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/net/if.h b/lib/libc/include/generic-glibc/net/if.h index 299ac38fd68c5e0158451c4a3acd5b076b08cc5f..c60cfd375b44d85af1661450aae33d853b155de7 100644 --- a/lib/libc/include/generic-glibc/net/if.h +++ b/lib/libc/include/generic-glibc/net/if.h @@ -1,5 +1,5 @@ /* net/if.h -- declarations for inquiring about network interfaces - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/net/if_arp.h b/lib/libc/include/generic-glibc/net/if_arp.h index a52d2e6209bb9a58415622f037352c86edca38af..064a415f8eb35fc0bc71cc2952d7747d0ca94771 100644 --- a/lib/libc/include/generic-glibc/net/if_arp.h +++ b/lib/libc/include/generic-glibc/net/if_arp.h @@ -1,7 +1,6 @@ /* Definitions for Address Resolution Protocol. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1997. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -95,6 +94,8 @@ struct arphdr #define ARPHRD_ROSE 270 #define ARPHRD_X25 271 /* CCITT X.25. */ #define ARPHRD_HWX25 272 /* Boards with X.25 in firmware. */ +#define ARPHRD_CAN 280 /* Controller Area Network. */ +#define ARPHRD_MCTP 290 #define ARPHRD_PPP 512 #define ARPHRD_CISCO 513 /* Cisco HDLC. */ #define ARPHRD_HDLC ARPHRD_CISCO diff --git a/lib/libc/include/generic-glibc/net/if_packet.h b/lib/libc/include/generic-glibc/net/if_packet.h index 91ccf109bade9198b5c1eb1601ef1a9e512b66ab..fae22ac72340d14a2301bd801bcdc07d1ec78b2b 100644 --- a/lib/libc/include/generic-glibc/net/if_packet.h +++ b/lib/libc/include/generic-glibc/net/if_packet.h @@ -1,5 +1,5 @@ /* Definitions for use with Linux SOCK_PACKET sockets. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/net/if_shaper.h b/lib/libc/include/generic-glibc/net/if_shaper.h index c27d10a414ba1d15b121f08d6e83bf248f4a6f72..0a7413c4f51b9f753530c60f83e1dd1d8779da18 100644 --- a/lib/libc/include/generic-glibc/net/if_shaper.h +++ b/lib/libc/include/generic-glibc/net/if_shaper.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -27,7 +27,7 @@ __BEGIN_DECLS #define SHAPER_QLEN 10 /* - * This is a bit speed dependant (read it shouldnt be a constant!) + * This is a bit speed dependent (read it shouldn't be a constant!) * * 5 is about right for 28.8 upwards. Below that double for every * halving of speed or so. - ie about 20 for 9600 baud. diff --git a/lib/libc/include/generic-glibc/net/if_slip.h b/lib/libc/include/generic-glibc/net/if_slip.h index fac229eff2a51c8625238cf68a469934f3598fd5..59eff20c7008d1aa864a6ab934cc44dd8f17778e 100644 --- a/lib/libc/include/generic-glibc/net/if_slip.h +++ b/lib/libc/include/generic-glibc/net/if_slip.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/net/route.h b/lib/libc/include/generic-glibc/net/route.h index 699d1d1341a89d3680f75b44cfd7db8a500c8dda..756165aade061c807360ca4ddd319d1cee025787 100644 --- a/lib/libc/include/generic-glibc/net/route.h +++ b/lib/libc/include/generic-glibc/net/route.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netash/ash.h b/lib/libc/include/generic-glibc/netash/ash.h index a0d7be567d1cdfc8efde2e721c016d1312a1ac3f..b2fdb5334f95aaa7a618c32ad87994b666691afa 100644 --- a/lib/libc/include/generic-glibc/netash/ash.h +++ b/lib/libc/include/generic-glibc/netash/ash.h @@ -1,5 +1,5 @@ /* Definitions for use with Linux AF_ASH sockets. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netatalk/at.h b/lib/libc/include/generic-glibc/netatalk/at.h index 51e36ba84faa1e159b87f7e4adaf06b8e8acbfbe..cf81e8b24ced4f5280bb08951f03903c4d032a35 100644 --- a/lib/libc/include/generic-glibc/netatalk/at.h +++ b/lib/libc/include/generic-glibc/netatalk/at.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netax25/ax25.h b/lib/libc/include/generic-glibc/netax25/ax25.h index c636f2a3453b909fb8e99199cac5fff275295541..dbf2088b08e012531c7f71bf01ca9d9df986276e 100644 --- a/lib/libc/include/generic-glibc/netax25/ax25.h +++ b/lib/libc/include/generic-glibc/netax25/ax25.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -62,7 +62,7 @@ #define AX25_DIGI_INBAND 0x01 /* Allow digipeating within port */ #define AX25_DIGI_XBAND 0x02 /* Allow digipeating across ports */ -/* Maximim number of digipeaters: */ +/* Maximum number of digipeaters: */ #define AX25_MAX_DIGIS 8 @@ -80,7 +80,7 @@ struct sockaddr_ax25 }; /* - * The sockaddr struct with the digipeater adresses: + * The sockaddr struct with the digipeater addresses: */ struct full_sockaddr_ax25 { diff --git a/lib/libc/include/generic-glibc/netdb.h b/lib/libc/include/generic-glibc/netdb.h index ffdd666793680ebf6d04d2486432913b76cfae3a..00e98215ddf33fe5af3460ee9c7791abc89ebcef 100644 --- a/lib/libc/include/generic-glibc/netdb.h +++ b/lib/libc/include/generic-glibc/netdb.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/neteconet/ec.h b/lib/libc/include/generic-glibc/neteconet/ec.h index 06f0d1a45653800e70d3fea88bcdbae2f294332c..b2dcf94973d3749f800990d2eb5c127a841bcf2c 100644 --- a/lib/libc/include/generic-glibc/neteconet/ec.h +++ b/lib/libc/include/generic-glibc/neteconet/ec.h @@ -1,5 +1,5 @@ /* Definitions for use with Linux AF_ECONET sockets. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netinet/ether.h b/lib/libc/include/generic-glibc/netinet/ether.h index e59ed7644d63a8edaf463c7be1ba5cb237fbc9e9..aca26e0f5eba26e22d83af372a8d9d38598c54e6 100644 --- a/lib/libc/include/generic-glibc/netinet/ether.h +++ b/lib/libc/include/generic-glibc/netinet/ether.h @@ -1,5 +1,5 @@ /* Functions for storing Ethernet addresses in ASCII and mapping to hostnames. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netinet/icmp6.h b/lib/libc/include/generic-glibc/netinet/icmp6.h index 04a482ead85a4d386d97554ea79c2b0baf51a6ff..bc9185ad85f87d2fe920c0b63682b85836fbc4a7 100644 --- a/lib/libc/include/generic-glibc/netinet/icmp6.h +++ b/lib/libc/include/generic-glibc/netinet/icmp6.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netinet/if_ether.h b/lib/libc/include/generic-glibc/netinet/if_ether.h index e7cc24e5704ad190d4cec859999383da4cfa7502..4fc6c42a810952f5afd5b677cda8204bc6dad40d 100644 --- a/lib/libc/include/generic-glibc/netinet/if_ether.h +++ b/lib/libc/include/generic-glibc/netinet/if_ether.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netinet/if_fddi.h b/lib/libc/include/generic-glibc/netinet/if_fddi.h index 582578e5a162d6d21ad1609ca9e49b10e6dfbc0b..2cdaf41355e5fea200e53d719cb9594ec6c2fd25 100644 --- a/lib/libc/include/generic-glibc/netinet/if_fddi.h +++ b/lib/libc/include/generic-glibc/netinet/if_fddi.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netinet/if_tr.h b/lib/libc/include/generic-glibc/netinet/if_tr.h index a1836e58227a31b55b01981f92da8133ef080b63..77479bf723ead206cfd70405697f5cb479df7a68 100644 --- a/lib/libc/include/generic-glibc/netinet/if_tr.h +++ b/lib/libc/include/generic-glibc/netinet/if_tr.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netinet/igmp.h b/lib/libc/include/generic-glibc/netinet/igmp.h index d44693cf4f1dd12607f5b92bff8ae728cfc04d1b..2938450e93a845e34f33ffc617343a88fe60df17 100644 --- a/lib/libc/include/generic-glibc/netinet/igmp.h +++ b/lib/libc/include/generic-glibc/netinet/igmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -110,7 +110,7 @@ struct igmp { #define IGMP_v2_ROUTER 2 /* - * The following four defininitions are for backwards compatibility. + * The following four definitions are for backwards compatibility. * They should be removed as soon as all applications are updated to * use the new constant names. */ diff --git a/lib/libc/include/generic-glibc/netinet/in.h b/lib/libc/include/generic-glibc/netinet/in.h index 03a1f431926f923cbe2c57c4c5fae4eddd7d9e9f..e9f43e7c3b6efb35e15e53a16a7f31ec25441cfe 100644 --- a/lib/libc/include/generic-glibc/netinet/in.h +++ b/lib/libc/include/generic-glibc/netinet/in.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -81,6 +81,8 @@ enum #define IPPROTO_PIM IPPROTO_PIM IPPROTO_COMP = 108, /* Compression Header Protocol. */ #define IPPROTO_COMP IPPROTO_COMP + IPPROTO_L2TP = 115, /* Layer 2 Tunnelling Protocol. */ +#define IPPROTO_L2TP IPPROTO_L2TP IPPROTO_SCTP = 132, /* Stream Control Transmission Protocol. */ #define IPPROTO_SCTP IPPROTO_SCTP IPPROTO_UDPLITE = 136, /* UDP-Lite protocol. */ @@ -196,6 +198,9 @@ enum #define INADDR_BROADCAST ((in_addr_t) 0xffffffff) /* Address indicating an error return. */ #define INADDR_NONE ((in_addr_t) 0xffffffff) +/* Dummy address for source of ICMPv6 errors converted to IPv4 (RFC + 7600). */ +#define INADDR_DUMMY ((in_addr_t) 0xc0000008) /* Network number for local host loopback. */ #define IN_LOOPBACKNET 127 @@ -275,6 +280,19 @@ struct ip_mreq struct in_addr imr_interface; }; +/* IPv4 multicast request with interface index. */ +struct ip_mreqn + { + /* IP multicast address of group. */ + struct in_addr imr_multiaddr; + + /* Local IP address of interface. */ + struct in_addr imr_address; + + /* Interface index. */ + int imr_ifindex; + }; + struct ip_mreq_source { /* IP multicast address of group. */ diff --git a/lib/libc/include/generic-glibc/netinet/in_systm.h b/lib/libc/include/generic-glibc/netinet/in_systm.h index 2956aadffafcba807b319499c5b4903642b0cdf1..42c8c0eea7910020cbc37be68b5de9f161642027 100644 --- a/lib/libc/include/generic-glibc/netinet/in_systm.h +++ b/lib/libc/include/generic-glibc/netinet/in_systm.h @@ -1,5 +1,5 @@ /* System specific type definitions for networking code. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netinet/ip.h b/lib/libc/include/generic-glibc/netinet/ip.h index 603a7ea680d09e948a9b63c8c3bd9eee752c72d5..2d1333a58caf187592c36c0d3f948431ea99eab3 100644 --- a/lib/libc/include/generic-glibc/netinet/ip.h +++ b/lib/libc/include/generic-glibc/netinet/ip.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -186,6 +186,11 @@ struct ip_timestamp #define IPTOS_DSCP_AF43 0x98 #define IPTOS_DSCP_EF 0xb8 +/* + * Voice-Admit DSCP code point from RFC-5865, Section 4. + */ +#define IPTOS_DSCP_VA 0xb0 + /* * In RFC 2474, Section 4.2.2.1, the Class Selector Codepoints subsume * the old ToS Precedence values. diff --git a/lib/libc/include/generic-glibc/netinet/ip6.h b/lib/libc/include/generic-glibc/netinet/ip6.h index 4d1e162577837ff0c2f93ca41055adbb83131714..6b0a304bdaf90ba49dd40a8bdd8b2443648a591f 100644 --- a/lib/libc/include/generic-glibc/netinet/ip6.h +++ b/lib/libc/include/generic-glibc/netinet/ip6.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netinet/ip_icmp.h b/lib/libc/include/generic-glibc/netinet/ip_icmp.h index 47abfae972355e89169ab7b31fb4eca87757a14b..c9c238ea4be7b4fffd6202b03a2afb9c18389f98 100644 --- a/lib/libc/include/generic-glibc/netinet/ip_icmp.h +++ b/lib/libc/include/generic-glibc/netinet/ip_icmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netinet/tcp.h b/lib/libc/include/generic-glibc/netinet/tcp.h index ec933410c9bd2e664bfabd4ca016497b0238a81b..24e7b973f11a789f5809b3b4eddf70b3899d1e4d 100644 --- a/lib/libc/include/generic-glibc/netinet/tcp.h +++ b/lib/libc/include/generic-glibc/netinet/tcp.h @@ -48,7 +48,7 @@ #define TCP_DEFER_ACCEPT 9 /* Wake up listener only when data arrive */ #define TCP_WINDOW_CLAMP 10 /* Bound advertised window */ #define TCP_INFO 11 /* Information about this connection. */ -#define TCP_QUICKACK 12 /* Bock/reenable quick ACKs. */ +#define TCP_QUICKACK 12 /* Bock/re-enable quick ACKs. */ #define TCP_CONGESTION 13 /* Congestion control algorithm. */ #define TCP_MD5SIG 14 /* TCP MD5 Signature (RFC2385) */ #define TCP_COOKIE_TRANSACTIONS 15 /* TCP Cookie Transactions */ @@ -209,7 +209,7 @@ enum # define TCPI_OPT_TIMESTAMPS 1 # define TCPI_OPT_SACK 2 # define TCPI_OPT_WSCALE 4 -# define TCPI_OPT_ECN 8 /* ECN was negociated at TCP session init */ +# define TCPI_OPT_ECN 8 /* ECN was negotiated at TCP session init */ # define TCPI_OPT_ECN_SEEN 16 /* we received at least one packet with ECT */ # define TCPI_OPT_SYN_DATA 32 /* SYN-ACK acked data in SYN sent or rcvd */ @@ -307,7 +307,7 @@ enum /* Flags for both getsockopt and setsockopt */ #define TCP_COOKIE_IN_ALWAYS (1 << 0) /* Discard SYN without cookie */ #define TCP_COOKIE_OUT_NEVER (1 << 1) /* Prohibit outgoing cookies, - * supercedes everything. */ + * supersedes everything. */ /* Flags for getsockopt */ #define TCP_S_DATA_IN (1 << 2) /* Was data received? */ diff --git a/lib/libc/include/generic-glibc/netinet/udp.h b/lib/libc/include/generic-glibc/netinet/udp.h index a7e84ddb4ad99823c4b2e4aca2bab0a9944b0a46..772ee96cd0c3a44ca3f6a5abf4147be217295cb4 100644 --- a/lib/libc/include/generic-glibc/netinet/udp.h +++ b/lib/libc/include/generic-glibc/netinet/udp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netipx/ipx.h b/lib/libc/include/generic-glibc/netipx/ipx.h index dc236e196499b62ff2e365891a441245815eb36e..9f4bebeecbcdb80ff06b130838cfac28aa6906fb 100644 --- a/lib/libc/include/generic-glibc/netipx/ipx.h +++ b/lib/libc/include/generic-glibc/netipx/ipx.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netiucv/iucv.h b/lib/libc/include/generic-glibc/netiucv/iucv.h index fef3b453df96419e790fa3b498e4b191bfd50bcd..1d667a5d3985425d71bf0ab27565bf79693e15fb 100644 --- a/lib/libc/include/generic-glibc/netiucv/iucv.h +++ b/lib/libc/include/generic-glibc/netiucv/iucv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netpacket/packet.h b/lib/libc/include/generic-glibc/netpacket/packet.h index 629da0133ea71d1e6f6107a4c72e1c319bbbc1e5..9f4b7f6f8ef24c5bff22979eac86a55a80396fad 100644 --- a/lib/libc/include/generic-glibc/netpacket/packet.h +++ b/lib/libc/include/generic-glibc/netpacket/packet.h @@ -1,5 +1,5 @@ /* Definitions for use with Linux AF_PACKET sockets. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netrom/netrom.h b/lib/libc/include/generic-glibc/netrom/netrom.h index d44cfaca060564a07f849d946d6157f0fe6c8cf4..6cf3049ca22d8538933ec34b31fe2bc591787eeb 100644 --- a/lib/libc/include/generic-glibc/netrom/netrom.h +++ b/lib/libc/include/generic-glibc/netrom/netrom.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/netrose/rose.h b/lib/libc/include/generic-glibc/netrose/rose.h index e5068aa4f1e417addac7339cbbe02af6f1bc921b..f267c2e980596f9db175edf5625cd91542b46e72 100644 --- a/lib/libc/include/generic-glibc/netrose/rose.h +++ b/lib/libc/include/generic-glibc/netrose/rose.h @@ -1,5 +1,5 @@ /* Definitions for Rose packet radio address family. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/nl_types.h b/lib/libc/include/generic-glibc/nl_types.h index d2950ae24761e8a48b3d6438f7cc39d3924f6830..d5167e4d0de79db1678b15c52c05b36991fa8703 100644 --- a/lib/libc/include/generic-glibc/nl_types.h +++ b/lib/libc/include/generic-glibc/nl_types.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/nss.h b/lib/libc/include/generic-glibc/nss.h index 53187118a173015cbdae02e60a9b4aac9d3574e7..f66ddd1d120f1bfcc9a60e1da3a9424586d6df3e 100644 --- a/lib/libc/include/generic-glibc/nss.h +++ b/lib/libc/include/generic-glibc/nss.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/obstack.h b/lib/libc/include/generic-glibc/obstack.h index e79294a431d24ff209a934504b1bca9f317e1f99..ad5c63c8de1419a9c5098d2a48ff551cfc26b58e 100644 --- a/lib/libc/include/generic-glibc/obstack.h +++ b/lib/libc/include/generic-glibc/obstack.h @@ -1,5 +1,5 @@ /* obstack.h - object stack macros - Copyright (C) 1988-2021 Free Software Foundation, Inc. + Copyright (C) 1988-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/printf.h b/lib/libc/include/generic-glibc/printf.h index 0931bd4d5549b830fcd94bc15d2ba922b621ae5e..9ae72917350f2085b7b4f717d8c459875c3c3188 100644 --- a/lib/libc/include/generic-glibc/printf.h +++ b/lib/libc/include/generic-glibc/printf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/proc_service.h b/lib/libc/include/generic-glibc/proc_service.h index 19142e890d553b0b5451e48d3f3a075aecb0743d..a6e39ae949cf99296640a992bca3d7386517fca1 100644 --- a/lib/libc/include/generic-glibc/proc_service.h +++ b/lib/libc/include/generic-glibc/proc_service.h @@ -1,5 +1,5 @@ /* Callback interface for libthread_db, functions users must define. - Copyright (C) 1999-2021 Free Software Foundation, Inc. + Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/pthread.h b/lib/libc/include/generic-glibc/pthread.h index 4c46be9a6a827038bbb0d32c5b63b56e06a88e3c..0e810cb8ca2ce68377baa8be5937760030777750 100644 --- a/lib/libc/include/generic-glibc/pthread.h +++ b/lib/libc/include/generic-glibc/pthread.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -516,7 +516,7 @@ extern int pthread_once (pthread_once_t *__once_control, exception in C++ code. If cancellation is implemented by unwinding this is necessary to have the compiler generate the unwind information. */ -/* Set cancelability state of current thread to STATE, returning old +/* Set cancellability state of current thread to STATE, returning old state in *OLDSTATE if OLDSTATE is not NULL. */ extern int pthread_setcancelstate (int __state, int *__oldstate); @@ -933,7 +933,7 @@ extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr, # ifdef __USE_GNU # ifdef __REDIRECT_NTH extern int __REDIRECT_NTH (pthread_mutexattr_getrobust_np, - (pthread_mutex_t *, int *), + (pthread_mutexattr_t *, int *), pthread_mutexattr_getrobust) __nonnull ((1)) __attribute_deprecated_msg__ ("\ pthread_mutexattr_getrobust_np is deprecated, use pthread_mutexattr_getrobust"); @@ -949,7 +949,7 @@ extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr, # ifdef __USE_GNU # ifdef __REDIRECT_NTH extern int __REDIRECT_NTH (pthread_mutexattr_setrobust_np, - (pthread_mutex_t *, int), + (pthread_mutexattr_t *, int), pthread_mutexattr_setrobust) __nonnull ((1)) __attribute_deprecated_msg__ ("\ pthread_mutexattr_setrobust_np is deprecated, use pthread_mutexattr_setrobust"); @@ -981,7 +981,7 @@ extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) __THROWNL __nonnull ((1)); # ifdef __USE_XOPEN2K -/* Try to acquire read lock for RWLOCK or return after specfied time. */ +/* Try to acquire read lock for RWLOCK or return after specified time. */ # ifndef __USE_TIME_BITS64 extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, const struct timespec *__restrict @@ -1028,7 +1028,7 @@ extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) __THROWNL __nonnull ((1)); # ifdef __USE_XOPEN2K -/* Try to acquire write lock for RWLOCK or return after specfied time. */ +/* Try to acquire write lock for RWLOCK or return after specified time. */ # ifndef __USE_TIME_BITS64 extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, const struct timespec *__restrict diff --git a/lib/libc/include/generic-glibc/pty.h b/lib/libc/include/generic-glibc/pty.h index ccbd8d8affa797fd072ad6dbfe33d27fcfe200ff..d3503256d8b7dfc8a31fb8a06615aab46df7559c 100644 --- a/lib/libc/include/generic-glibc/pty.h +++ b/lib/libc/include/generic-glibc/pty.h @@ -1,5 +1,5 @@ /* Functions for pseudo TTY handling. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/pwd.h b/lib/libc/include/generic-glibc/pwd.h index 382a580c2bd88cf8b21a43d5b3f16f674b181bc5..d8bd58eeed090b6dc84ea32b3a55dbae601a9a44 100644 --- a/lib/libc/include/generic-glibc/pwd.h +++ b/lib/libc/include/generic-glibc/pwd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/re_comp.h b/lib/libc/include/generic-glibc/re_comp.h index f5b9b74eff920ee24e6f3ba2e603d5ab6067788c..46183ab9445d0c4ec31a73034fc0879f72a0fbf0 100644 --- a/lib/libc/include/generic-glibc/re_comp.h +++ b/lib/libc/include/generic-glibc/re_comp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/regdef.h b/lib/libc/include/generic-glibc/regdef.h index 0110b20cc164d308d5b10def67ca1fe351d41413..ee87471085ba0b64ff67721377c5e811ce4f1265 100644 --- a/lib/libc/include/generic-glibc/regdef.h +++ b/lib/libc/include/generic-glibc/regdef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2021 Free Software Foundation, Inc. +/* Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/regex.h b/lib/libc/include/generic-glibc/regex.h index 0d44e6a12a9da0877a0ca4444ae6842687295700..d2b8592e9ff0f6aba417453cbd7599891401af4d 100644 --- a/lib/libc/include/generic-glibc/regex.h +++ b/lib/libc/include/generic-glibc/regex.h @@ -1,6 +1,6 @@ /* Definitions for data structures and routines for the regular expression library. - Copyright (C) 1985, 1989-2021 Free Software Foundation, Inc. + Copyright (C) 1985, 1989-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -522,6 +522,30 @@ typedef struct /* Declarations for routines. */ +#ifndef _REGEX_NELTS +# if (defined __STDC_VERSION__ && 199901L <= __STDC_VERSION__ \ + && !defined __STDC_NO_VLA__) +# define _REGEX_NELTS(n) n +# else +# define _REGEX_NELTS(n) +# endif +#endif + +#if defined __GNUC__ && 4 < __GNUC__ + (6 <= __GNUC_MINOR__) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wvla" +#endif + +#ifndef _Attr_access_ +# ifdef __attr_access +# define _Attr_access_(arg) __attr_access (arg) +# elif defined __GNUC__ && 10 <= __GNUC__ +# define _Attr_access_(x) __attribute__ ((__access__ x)) +# else +# define _Attr_access_(x) +# endif +#endif + #ifdef __USE_GNU /* Sets the current default syntax to SYNTAX, and return the old syntax. You can also simply assign to the 're_syntax_options' variable. */ @@ -537,7 +561,7 @@ extern reg_syntax_t re_set_syntax (reg_syntax_t __syntax); 'regfree'. */ extern const char *re_compile_pattern (const char *__pattern, size_t __length, struct re_pattern_buffer *__buffer) - __attr_access ((__read_only__, 1, 2)); + _Attr_access_ ((__read_only__, 1, 2)); /* Compile a fastmap for the compiled pattern in BUFFER; used to @@ -555,7 +579,7 @@ extern regoff_t re_search (struct re_pattern_buffer *__buffer, const char *__String, regoff_t __length, regoff_t __start, regoff_t __range, struct re_registers *__regs) - __attr_access ((__read_only__, 2, 3)); + _Attr_access_ ((__read_only__, 2, 3)); /* Like 're_search', but search in the concatenation of STRING1 and @@ -566,8 +590,8 @@ extern regoff_t re_search_2 (struct re_pattern_buffer *__buffer, regoff_t __start, regoff_t __range, struct re_registers *__regs, regoff_t __stop) - __attr_access ((__read_only__, 2, 3)) - __attr_access ((__read_only__, 4, 5)); + _Attr_access_ ((__read_only__, 2, 3)) + _Attr_access_ ((__read_only__, 4, 5)); /* Like 're_search', but return how many characters in STRING the regexp @@ -575,7 +599,7 @@ extern regoff_t re_search_2 (struct re_pattern_buffer *__buffer, extern regoff_t re_match (struct re_pattern_buffer *__buffer, const char *__String, regoff_t __length, regoff_t __start, struct re_registers *__regs) - __attr_access ((__read_only__, 2, 3)); + _Attr_access_ ((__read_only__, 2, 3)); /* Relates to 're_match' as 're_search_2' relates to 're_search'. */ @@ -584,8 +608,8 @@ extern regoff_t re_match_2 (struct re_pattern_buffer *__buffer, const char *__string2, regoff_t __length2, regoff_t __start, struct re_registers *__regs, regoff_t __stop) - __attr_access ((__read_only__, 2, 3)) - __attr_access ((__read_only__, 4, 5)); + _Attr_access_ ((__read_only__, 2, 3)) + _Attr_access_ ((__read_only__, 4, 5)); /* Set REGS to hold NUM_REGS registers, storing them in STARTS and @@ -654,16 +678,19 @@ extern int regcomp (regex_t *_Restrict_ __preg, extern int regexec (const regex_t *_Restrict_ __preg, const char *_Restrict_ __String, size_t __nmatch, - regmatch_t __pmatch[_Restrict_arr_], - int __eflags) - __attr_access ((__write_only__, 4, 3)); + regmatch_t __pmatch[_Restrict_arr_ + _REGEX_NELTS (__nmatch)], + int __eflags); extern size_t regerror (int __errcode, const regex_t *_Restrict_ __preg, char *_Restrict_ __errbuf, size_t __errbuf_size) - __attr_access ((__write_only__, 3, 4)); + _Attr_access_ ((__write_only__, 3, 4)); extern void regfree (regex_t *__preg); +#if defined __GNUC__ && 4 < __GNUC__ + (6 <= __GNUC_MINOR__) +# pragma GCC diagnostic pop +#endif #ifdef __cplusplus } diff --git a/lib/libc/include/generic-glibc/regexp.h b/lib/libc/include/generic-glibc/regexp.h index a76c0a0dded39889369fa4e89a8e1b2a7f8cf452..2915d19d069c78211e222de0c1b75695a5b64ad8 100644 --- a/lib/libc/include/generic-glibc/regexp.h +++ b/lib/libc/include/generic-glibc/regexp.h @@ -1,6 +1,5 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1996. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/generic-glibc/resolv.h b/lib/libc/include/generic-glibc/resolv.h index d0f9955f9461d490347eb2b63f955137530a5c9c..f25d325a10e27c1ab9405a17d0504808ddc77fdb 100644 --- a/lib/libc/include/generic-glibc/resolv.h +++ b/lib/libc/include/generic-glibc/resolv.h @@ -87,7 +87,7 @@ /* * Resolver configuration file. * Normally not present, but may contain the address of the - * inital name server(s) to query and the domain search list. + * initial name server(s) to query and the domain search list. */ #ifndef _PATH_RESCONF @@ -132,6 +132,7 @@ struct res_sym { as a TLD. */ #define RES_NORELOAD 0x02000000 /* No automatic configuration reload. */ #define RES_TRUSTAD 0x04000000 /* Request AD bit, keep it in responses. */ +#define RES_NOAAAA 0x08000000 /* Suppress AAAA queries. */ #define RES_DEFAULT (RES_RECURSE|RES_DEFNAMES|RES_DNSRCH) @@ -169,35 +170,6 @@ __END_DECLS #define res_init __res_init #define res_isourserver __res_isourserver -/* In glibc 2.33 and earlier res_search, res_nsearch, res_query, res_nquery, - * res_querydomain, res_nquerydomain, dn_skipname, dn_comp, dn_expand were - * #define'd to __res_search, __res_nsearch, etc. glibc 2.34 onwards removes - * the macros and exposes the symbols directly. New glibc exposes compat - * symbols with underscores for backwards compatibility. Applications linked to - * glibc 2.34+ are expected to use the non-underscored symbols. - * - * It is enough to bring the macros back when compiling against the older glibc - * versions. - * - * See glibc commits: - * - ea9878ec271c791880fcbbe519d70c42f8113750 res_* - * - 391e02236b931132c0e8b5ba4c3b087c2aaa1044 dn_skipname - * - fd8a87c0c1932de591e7ad108ff6288a4b6b18c9 dn_comp - * - 640bbdf71c6f10ac26252ac67a22902e26657bd8 dn_expand - */ -#if (__GLIBC__ == 2 && __GLIBC_MINOR__ < 34) -#define res_search __res_search -#define res_nsearch __res_nsearch -#define res_query __res_query -#define res_nquery __res_nquery -#define res_querydomain __res_querydomain -#define res_nquerydomain __res_nquerydomain -#define dn_skipname __dn_skipname -#define dn_comp __dn_comp -#define dn_expand __dn_expand -#endif -/* end glibc compat hacks */ - #ifdef _LIBC # define __RESOLV_DEPRECATED # define __RESOLV_DEPRECATED_MSG(msg) @@ -334,4 +306,4 @@ void res_nclose (res_state) __THROW; __END_DECLS -#endif /* !_RESOLV_H_ */ +#endif /* !_RESOLV_H_ */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/sched.h b/lib/libc/include/generic-glibc/sched.h index 2ecd9b33774e4a80169c8ccf5c5ec5038fe7af44..a15d76c03470d6d8bda08b562bb661ddd5fa7fe1 100644 --- a/lib/libc/include/generic-glibc/sched.h +++ b/lib/libc/include/generic-glibc/sched.h @@ -1,5 +1,5 @@ /* Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/scsi/scsi.h b/lib/libc/include/generic-glibc/scsi/scsi.h index f5207b3e26fba4d2ac5b4daabd3ca3987307d1c1..a06d41d7f91a83a73d1f9483028965152710ae2a 100644 --- a/lib/libc/include/generic-glibc/scsi/scsi.h +++ b/lib/libc/include/generic-glibc/scsi/scsi.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/scsi/scsi_ioctl.h b/lib/libc/include/generic-glibc/scsi/scsi_ioctl.h index 403908930786a35fd41e7696be6c2887be16cf37..78463ed44e8b89d2e75d883c30f0381eddfb8159 100644 --- a/lib/libc/include/generic-glibc/scsi/scsi_ioctl.h +++ b/lib/libc/include/generic-glibc/scsi/scsi_ioctl.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/scsi/sg.h b/lib/libc/include/generic-glibc/scsi/sg.h index 94c44f7d0ac92e6e4ebe91439d6e5655ebb939d3..e200ba6a43a75dd564966a93177ed288c40a8989 100644 --- a/lib/libc/include/generic-glibc/scsi/sg.h +++ b/lib/libc/include/generic-glibc/scsi/sg.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -119,7 +119,7 @@ struct sg_scsi_id { /* Used by SG_GET_REQUEST_TABLE ioctl(). */ typedef struct sg_req_info { char req_state; /* 0 -> not used, 1 -> written, 2 -> ready to read */ - char orphan; /* 0 -> normal request, 1 -> from interruped SG_IO */ + char orphan; /* 0 -> normal request, 1 -> from interrupted SG_IO */ char sg_io_owned; /* 0 -> complete with read(), 1 -> owned by SG_IO */ char problem; /* 0 -> no problem detected, 1 -> error to report */ int pack_id; /* pack_id associated with request */ diff --git a/lib/libc/include/generic-glibc/search.h b/lib/libc/include/generic-glibc/search.h index 8c514ff23f8f8f9c77ca76fe634f80d731a12017..9f7ab23bb6ec67ff947d0706af373c578fd5e26b 100644 --- a/lib/libc/include/generic-glibc/search.h +++ b/lib/libc/include/generic-glibc/search.h @@ -1,5 +1,5 @@ /* Declarations for System V style searching functions. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -78,7 +78,7 @@ struct _ENTRY; /* Family of hash table handling functions. The functions also have reentrant counterparts ending with _r. The non-reentrant - functions all work on a signle internal hashing table. */ + functions all work on a single internal hashing table. */ /* Search for entry matching ITEM.key in internal hash table. If ACTION is `FIND' return found entry or signal error by returning diff --git a/lib/libc/include/generic-glibc/semaphore.h b/lib/libc/include/generic-glibc/semaphore.h index f62f4d300c9ff559fc1062100af9e49223edfab2..38145b1c1acc851c313811cf251fffd77055e831 100644 --- a/lib/libc/include/generic-glibc/semaphore.h +++ b/lib/libc/include/generic-glibc/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/setjmp.h b/lib/libc/include/generic-glibc/setjmp.h index bf6929df03715ac467ad513d4aab7c5998fe4522..bb28128e4f8cb3be235affaaa9ff47bed1b94865 100644 --- a/lib/libc/include/generic-glibc/setjmp.h +++ b/lib/libc/include/generic-glibc/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sgidefs.h b/lib/libc/include/generic-glibc/sgidefs.h index 2e0e9017e5aaf587d5f2583d7df8c870100e2cbd..5ae1c896895e2b3bbf9aba260a733839f4a8386b 100644 --- a/lib/libc/include/generic-glibc/sgidefs.h +++ b/lib/libc/include/generic-glibc/sgidefs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sgtty.h b/lib/libc/include/generic-glibc/sgtty.h index 1e624e7d7727bc334dd4dd9af14289b1151868cf..190aa5e6724fb0bd830aeaca0946c1f0015bad18 100644 --- a/lib/libc/include/generic-glibc/sgtty.h +++ b/lib/libc/include/generic-glibc/sgtty.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/shadow.h b/lib/libc/include/generic-glibc/shadow.h index da913a5f42c2907f1de29e524ce0cfcb42ebcd43..35e4e2393bb87e06d64303264a927c7aee7e6ecb 100644 --- a/lib/libc/include/generic-glibc/shadow.h +++ b/lib/libc/include/generic-glibc/shadow.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -122,19 +122,23 @@ extern int putspent (const struct spwd *__p, FILE *__stream); or due to the implementation they are cancellation points and therefore not marked with __THROW. */ extern int getspent_r (struct spwd *__result_buf, char *__buffer, - size_t __buflen, struct spwd **__result); + size_t __buflen, struct spwd **__result) + __attr_access ((__write_only__, 2, 3)); extern int getspnam_r (const char *__name, struct spwd *__result_buf, char *__buffer, size_t __buflen, - struct spwd **__result); + struct spwd **__result) + __attr_access ((__write_only__, 3, 4)); extern int sgetspent_r (const char *__string, struct spwd *__result_buf, char *__buffer, size_t __buflen, - struct spwd **__result); + struct spwd **__result) + __attr_access ((__write_only__, 3, 4)); extern int fgetspent_r (FILE *__stream, struct spwd *__result_buf, char *__buffer, size_t __buflen, - struct spwd **__result); + struct spwd **__result) + __attr_access ((__write_only__, 3, 4)); #endif /* misc */ diff --git a/lib/libc/include/generic-glibc/signal.h b/lib/libc/include/generic-glibc/signal.h index d73d1f710e2cdd16d37a91370827394b7d73b89a..f0a0452fe844c668cb885d9a9d8ed95e82c182c3 100644 --- a/lib/libc/include/generic-glibc/signal.h +++ b/lib/libc/include/generic-glibc/signal.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/spawn.h b/lib/libc/include/generic-glibc/spawn.h index b48b07c1b48ff172d2f3500ec42b9190b8bf578f..4993e789abfce9c2d97c50f01b671b0f16affac6 100644 --- a/lib/libc/include/generic-glibc/spawn.h +++ b/lib/libc/include/generic-glibc/spawn.h @@ -1,5 +1,5 @@ /* Definitions for POSIX spawn interface. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -166,7 +166,6 @@ extern int posix_spawnattr_setschedparam (posix_spawnattr_t *__restrict __attr, __restrict __schedparam) __THROW __nonnull ((1, 2)); - /* Initialize data structure for file attribute for `spawn' call. */ extern int posix_spawn_file_actions_init (posix_spawn_file_actions_t * __file_actions) @@ -199,7 +198,7 @@ extern int posix_spawn_file_actions_adddup2 (posix_spawn_file_actions_t * int __fd, int __newfd) __THROW __nonnull ((1)); -#ifdef __USE_GNU +#ifdef __USE_MISC /* Add an action changing the directory to PATH during spawn. This affects the subsequent file actions. */ extern int posix_spawn_file_actions_addchdir_np (posix_spawn_file_actions_t * @@ -221,7 +220,14 @@ posix_spawn_file_actions_addclosefrom_np (posix_spawn_file_actions_t *, int __from) __THROW __nonnull ((1)); -#endif +/* Add an action to set the process group of the foreground process group + associated with the terminal TCFD. */ +extern int +posix_spawn_file_actions_addtcsetpgrp_np (posix_spawn_file_actions_t *, + int __tcfd) + __THROW __nonnull ((1)); + +#endif /* __USE_MISC */ __END_DECLS diff --git a/lib/libc/include/generic-glibc/stdc-predef.h b/lib/libc/include/generic-glibc/stdc-predef.h index 64eb92f881bc85aa7b993c2be58ded1ec8a5f0e0..56f91d9578c791c8c0fb90bad36c3654049212c1 100644 --- a/lib/libc/include/generic-glibc/stdc-predef.h +++ b/lib/libc/include/generic-glibc/stdc-predef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -36,17 +36,21 @@ #ifdef __GCC_IEC_559 # if __GCC_IEC_559 > 0 # define __STDC_IEC_559__ 1 +# define __STDC_IEC_60559_BFP__ 201404L # endif #else # define __STDC_IEC_559__ 1 +# define __STDC_IEC_60559_BFP__ 201404L #endif #ifdef __GCC_IEC_559_COMPLEX # if __GCC_IEC_559_COMPLEX > 0 # define __STDC_IEC_559_COMPLEX__ 1 +# define __STDC_IEC_60559_COMPLEX__ 201404L # endif #else # define __STDC_IEC_559_COMPLEX__ 1 +# define __STDC_IEC_60559_COMPLEX__ 201404L #endif /* wchar_t uses Unicode 10.0.0. Version 10.0 of the Unicode Standard is diff --git a/lib/libc/include/generic-glibc/stdint.h b/lib/libc/include/generic-glibc/stdint.h index 876c3327c83bcde322fdc3afeb8cd9e01081beba..ab0f1beaa16397b12c7a2f58476cba49baa35450 100644 --- a/lib/libc/include/generic-glibc/stdint.h +++ b/lib/libc/include/generic-glibc/stdint.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/stdio.h b/lib/libc/include/generic-glibc/stdio.h index 9f5bc7efd5b965f4372758ab40ba8733dddc5200..4c0d28f74f034b2220283e24a9edba797c045583 100644 --- a/lib/libc/include/generic-glibc/stdio.h +++ b/lib/libc/include/generic-glibc/stdio.h @@ -1,5 +1,5 @@ /* Define ISO C stdio on top of C++ iostreams. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -42,7 +42,7 @@ __BEGIN_DECLS #include #include -#ifdef __USE_GNU +#ifdef __USE_MISC # include #endif @@ -120,18 +120,29 @@ typedef __fpos64_t fpos64_t; # define P_tmpdir "/tmp" #endif +#define L_tmpnam 20 +#define TMP_MAX 238328 /* Get the values: - L_tmpnam How long an array of chars must be to be passed to `tmpnam'. - TMP_MAX The minimum number of unique filenames generated by tmpnam - (and tempnam when it uses tmpnam's name space), - or tempnam (the two are separate). - L_ctermid How long an array to pass to `ctermid'. - L_cuserid How long an array to pass to `cuserid'. - FOPEN_MAX Minimum number of files that can be open at once. FILENAME_MAX Maximum length of a filename. */ #include +#ifdef __USE_POSIX +# define L_ctermid 9 +# if !defined __USE_XOPEN2K || defined __USE_GNU +# define L_cuserid 9 +# endif +#endif + +#undef FOPEN_MAX +#define FOPEN_MAX 16 + + +#if __GLIBC_USE (ISOC2X) +/* Maximum length of printf output for a NaN. */ +# define _PRINTF_NAN_LEN_MAX 4 +#endif + /* Standard streams. */ extern FILE *stdin; /* Standard input stream. */ @@ -169,7 +180,7 @@ extern int renameat2 (int __oldfd, const char *__old, int __newfd, This function is a possible cancellation point and therefore not marked with __THROW. */ -extern int fclose (FILE *__stream); +extern int fclose (FILE *__stream) __nonnull ((1)); #undef __attr_dealloc_fclose #define __attr_dealloc_fclose __attr_dealloc (fclose, 1) @@ -258,7 +269,7 @@ extern FILE *fopen (const char *__restrict __filename, marked with __THROW. */ extern FILE *freopen (const char *__restrict __filename, const char *__restrict __modes, - FILE *__restrict __stream) __wur; + FILE *__restrict __stream) __wur __nonnull ((3)); #else # ifdef __REDIRECT extern FILE *__REDIRECT (fopen, (const char *__restrict __filename, @@ -279,7 +290,7 @@ extern FILE *fopen64 (const char *__restrict __filename, __attribute_malloc__ __attr_dealloc_fclose __wur; extern FILE *freopen64 (const char *__restrict __filename, const char *__restrict __modes, - FILE *__restrict __stream) __wur; + FILE *__restrict __stream) __wur __nonnull ((3)); #endif #ifdef __USE_POSIX @@ -288,7 +299,7 @@ extern FILE *fdopen (int __fd, const char *__modes) __THROW __attribute_malloc__ __attr_dealloc_fclose __wur; #endif -#ifdef __USE_GNU +#ifdef __USE_MISC /* Create a new stream that refers to the given magic cookie, and uses the given functions for input and output. */ extern FILE *fopencookie (void *__restrict __magic_cookie, @@ -378,7 +389,7 @@ extern int vsnprintf (char *__restrict __s, size_t __maxlen, __THROWNL __attribute__ ((__format__ (__printf__, 3, 0))); #endif -#if __GLIBC_USE (LIB_EXT2) +#if defined (__USE_MISC) || __GLIBC_USE (LIB_EXT2) /* Write formatted output to a string dynamically allocated with `malloc'. Store the address of the string in *PTR. */ extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, @@ -424,7 +435,28 @@ extern int sscanf (const char *__restrict __s, #include #if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \ && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 -# ifdef __REDIRECT +# if __GLIBC_USE (C2X_STRTOL) +# ifdef __REDIRECT +extern int __REDIRECT (fscanf, (FILE *__restrict __stream, + const char *__restrict __format, ...), + __isoc23_fscanf) __wur; +extern int __REDIRECT (scanf, (const char *__restrict __format, ...), + __isoc23_scanf) __wur; +extern int __REDIRECT_NTH (sscanf, (const char *__restrict __s, + const char *__restrict __format, ...), + __isoc23_sscanf); +# else +extern int __isoc23_fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) __wur; +extern int __isoc23_scanf (const char *__restrict __format, ...) __wur; +extern int __isoc23_sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __THROW; +# define fscanf __isoc23_fscanf +# define scanf __isoc23_scanf +# define sscanf __isoc23_sscanf +# endif +# else +# ifdef __REDIRECT extern int __REDIRECT (fscanf, (FILE *__restrict __stream, const char *__restrict __format, ...), __isoc99_fscanf) __wur; @@ -433,15 +465,16 @@ extern int __REDIRECT (scanf, (const char *__restrict __format, ...), extern int __REDIRECT_NTH (sscanf, (const char *__restrict __s, const char *__restrict __format, ...), __isoc99_sscanf); -# else +# else extern int __isoc99_fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __wur; extern int __isoc99_scanf (const char *__restrict __format, ...) __wur; extern int __isoc99_sscanf (const char *__restrict __s, const char *__restrict __format, ...) __THROW; -# define fscanf __isoc99_fscanf -# define scanf __isoc99_scanf -# define sscanf __isoc99_sscanf +# define fscanf __isoc99_fscanf +# define scanf __isoc99_scanf +# define sscanf __isoc99_sscanf +# endif # endif #endif @@ -468,7 +501,37 @@ extern int vsscanf (const char *__restrict __s, /* Same redirection as above for the v*scanf family. */ # if !__GLIBC_USE (DEPRECATED_SCANF) -# if defined __REDIRECT && !defined __LDBL_COMPAT \ +# if __GLIBC_USE (C2X_STRTOL) +# if defined __REDIRECT && !defined __LDBL_COMPAT \ + && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 +extern int __REDIRECT (vfscanf, + (FILE *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg), + __isoc23_vfscanf) + __attribute__ ((__format__ (__scanf__, 2, 0))) __wur; +extern int __REDIRECT (vscanf, (const char *__restrict __format, + __gnuc_va_list __arg), __isoc23_vscanf) + __attribute__ ((__format__ (__scanf__, 1, 0))) __wur; +extern int __REDIRECT_NTH (vsscanf, + (const char *__restrict __s, + const char *__restrict __format, + __gnuc_va_list __arg), __isoc23_vsscanf) + __attribute__ ((__format__ (__scanf__, 2, 0))); +# elif !defined __REDIRECT +extern int __isoc23_vfscanf (FILE *__restrict __s, + const char *__restrict __format, + __gnuc_va_list __arg) __wur; +extern int __isoc23_vscanf (const char *__restrict __format, + __gnuc_va_list __arg) __wur; +extern int __isoc23_vsscanf (const char *__restrict __s, + const char *__restrict __format, + __gnuc_va_list __arg) __THROW; +# define vfscanf __isoc23_vfscanf +# define vscanf __isoc23_vscanf +# define vsscanf __isoc23_vsscanf +# endif +# else +# if defined __REDIRECT && !defined __LDBL_COMPAT \ && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 extern int __REDIRECT (vfscanf, (FILE *__restrict __s, @@ -483,7 +546,7 @@ extern int __REDIRECT_NTH (vsscanf, const char *__restrict __format, __gnuc_va_list __arg), __isoc99_vsscanf) __attribute__ ((__format__ (__scanf__, 2, 0))); -# elif !defined __REDIRECT +# elif !defined __REDIRECT extern int __isoc99_vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __wur; @@ -492,9 +555,10 @@ extern int __isoc99_vscanf (const char *__restrict __format, extern int __isoc99_vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __THROW; -# define vfscanf __isoc99_vfscanf -# define vscanf __isoc99_vscanf -# define vsscanf __isoc99_vsscanf +# define vfscanf __isoc99_vfscanf +# define vscanf __isoc99_vscanf +# define vsscanf __isoc99_vsscanf +# endif # endif # endif #endif /* Use ISO C9x. */ @@ -584,7 +648,7 @@ extern int putw (int __w, FILE *__stream); This function is a possible cancellation point and therefore not marked with __THROW. */ extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) - __wur __attr_access ((__write_only__, 1, 2)); + __wur __fortified_attr_access (__write_only__, 1, 2); #if __GLIBC_USE (DEPRECATED_GETS) /* Get a newline-terminated string from stdin, removing the newline. @@ -608,7 +672,7 @@ extern char *gets (char *__s) __wur __attribute_deprecated__; therefore not marked with __THROW. */ extern char *fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) __wur - __attr_access ((__write_only__, 1, 2)); + __fortified_attr_access (__write_only__, 1, 2); #endif @@ -795,7 +859,7 @@ extern int ferror_unlocked (FILE *__stream) __THROW __wur; This function is a possible cancellation point and therefore not marked with __THROW. */ -extern void perror (const char *__s); +extern void perror (const char *__s) __COLD; #ifdef __USE_POSIX @@ -879,20 +943,27 @@ extern void funlockfile (FILE *__stream) __THROW; extern int __uflow (FILE *); extern int __overflow (FILE *, int); +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +/* Declare all functions from bits/stdio2-decl.h first. */ +# include +#endif + +/* The following headers provide asm redirections. These redirections must + appear before the first usage of these functions, e.g. in bits/stdio.h. */ +#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# include +#endif + /* If we are compiling with optimizing read this file. It contains several optimizing inline functions and macros. */ #ifdef __USE_EXTERN_INLINES # include #endif #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +/* Now include the function definitions and redirects too. */ # include #endif -#include -#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 -# include -#endif - __END_DECLS #endif /* included. */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/stdio_ext.h b/lib/libc/include/generic-glibc/stdio_ext.h index cd08f537ceebf8833b76dfdd2838dcaaf91cc419..f1e84328426299a5d1a89b6975e645954bd59f19 100644 --- a/lib/libc/include/generic-glibc/stdio_ext.h +++ b/lib/libc/include/generic-glibc/stdio_ext.h @@ -1,5 +1,5 @@ /* Functions to access FILE structure internals. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/stdlib.h b/lib/libc/include/generic-glibc/stdlib.h index d04a49c967ed5f7c0ba2f555e585effac3bde4e7..9d4da27916ae5f91cce72bcb1cca9e2e3635a29d 100644 --- a/lib/libc/include/generic-glibc/stdlib.h +++ b/lib/libc/include/generic-glibc/stdlib.h @@ -1,4 +1,5 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. + Copyright The GNU Toolchain Authors. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -207,6 +208,71 @@ extern unsigned long long int strtoull (const char *__restrict __nptr, __THROW __nonnull ((1)); #endif /* ISO C99 or use MISC. */ +/* Versions of the above functions that handle '0b' and '0B' prefixes + in base 0 or 2. */ +#if __GLIBC_USE (C2X_STRTOL) +# ifdef __REDIRECT +extern long int __REDIRECT_NTH (strtol, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtol) + __nonnull ((1)); +extern unsigned long int __REDIRECT_NTH (strtoul, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoul) + __nonnull ((1)); +# ifdef __USE_MISC +__extension__ +extern long long int __REDIRECT_NTH (strtoq, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoll) + __nonnull ((1)); +__extension__ +extern unsigned long long int __REDIRECT_NTH (strtouq, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoull) + __nonnull ((1)); +# endif +__extension__ +extern long long int __REDIRECT_NTH (strtoll, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoll) + __nonnull ((1)); +__extension__ +extern unsigned long long int __REDIRECT_NTH (strtoull, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoull) + __nonnull ((1)); +# else +extern long int __isoc23_strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); +extern unsigned long int __isoc23_strtoul (const char *__restrict __nptr, + char **__restrict __endptr, + int __base) + __THROW __nonnull ((1)); +__extension__ +extern long long int __isoc23_strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); +__extension__ +extern unsigned long long int __isoc23_strtoull (const char *__restrict __nptr, + char **__restrict __endptr, + int __base) + __THROW __nonnull ((1)); +# define strtol __isoc23_strtol +# define strtoul __isoc23_strtoul +# ifdef __USE_MISC +# define strtoq __isoc23_strtoll +# define strtouq __isoc23_strtoull +# endif +# define strtoll __isoc23_strtoll +# define strtoull __isoc23_strtoull +# endif +#endif + /* Convert a floating-point number to a string. */ #if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) extern int strfromd (char *__dest, size_t __size, const char *__format, @@ -292,6 +358,60 @@ extern unsigned long long int strtoull_l (const char *__restrict __nptr, int __base, locale_t __loc) __THROW __nonnull ((1, 4)); +/* Versions of the above functions that handle '0b' and '0B' prefixes + in base 0 or 2. */ +# if __GLIBC_USE (C2X_STRTOL) +# ifdef __REDIRECT +extern long int __REDIRECT_NTH (strtol_l, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_strtol_l) + __nonnull ((1, 4)); +extern unsigned long int __REDIRECT_NTH (strtoul_l, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_strtoul_l) + __nonnull ((1, 4)); +__extension__ +extern long long int __REDIRECT_NTH (strtoll_l, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, + locale_t __loc), + __isoc23_strtoll_l) + __nonnull ((1, 4)); +__extension__ +extern unsigned long long int __REDIRECT_NTH (strtoull_l, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_strtoull_l) + __nonnull ((1, 4)); +# else +extern long int __isoc23_strtol_l (const char *__restrict __nptr, + char **__restrict __endptr, int __base, + locale_t __loc) __THROW __nonnull ((1, 4)); +extern unsigned long int __isoc23_strtoul_l (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc) + __THROW __nonnull ((1, 4)); +__extension__ +extern long long int __isoc23_strtoll_l (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc) + __THROW __nonnull ((1, 4)); +__extension__ +extern unsigned long long int __isoc23_strtoull_l (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc) + __THROW __nonnull ((1, 4)); +# define strtol_l __isoc23_strtol_l +# define strtoul_l __isoc23_strtoul_l +# define strtoll_l __isoc23_strtoll_l +# define strtoull_l __isoc23_strtoull_l +# endif +# endif + extern double strtod_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) __THROW __nonnull ((1, 3)); @@ -532,6 +652,19 @@ extern int seed48_r (unsigned short int __seed16v[3], extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) __THROW __nonnull ((1, 2)); + +/* Return a random integer between zero and 2**32-1 (inclusive). */ +extern __uint32_t arc4random (void) + __THROW __wur; + +/* Fill the buffer with random data. */ +extern void arc4random_buf (void *__buf, size_t __size) + __THROW __nonnull ((1)); + +/* Return a random number between zero (inclusive) and the specified + limit (exclusive). */ +extern __uint32_t arc4random_uniform (__uint32_t __upper_bound) + __THROW __wur; # endif /* Use misc. */ #endif /* Use misc or X/Open. */ @@ -589,7 +722,8 @@ extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) #ifdef __USE_ISOC11 /* ISO C variant of aligned allocation. */ extern void *aligned_alloc (size_t __alignment, size_t __size) - __THROW __attribute_malloc__ __attribute_alloc_size__ ((2)) __wur; + __THROW __attribute_malloc__ __attribute_alloc_align__ ((1)) + __attribute_alloc_size__ ((2)) __wur; #endif /* Abort execution and generate a core-dump. */ @@ -943,7 +1077,8 @@ extern size_t mbstowcs (wchar_t *__restrict __pwcs, extern size_t wcstombs (char *__restrict __s, const wchar_t *__restrict __pwcs, size_t __n) __THROW - __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2)); + __fortified_attr_access (__write_only__, 1, 3) + __attr_access ((__read_only__, 2)); #ifdef __USE_MISC /* Determine whether the string value of RESPONSE matches the affirmation @@ -997,7 +1132,7 @@ extern char *ptsname (int __fd) __THROW __wur; terminal associated with the master FD is open on in BUF. Return 0 on success, otherwise an error number. */ extern int ptsname_r (int __fd, char *__buf, size_t __buflen) - __THROW __nonnull ((2)) __attr_access ((__write_only__, 2, 3)); + __THROW __nonnull ((2)) __fortified_attr_access (__write_only__, 2, 3); /* Open a master pseudo terminal and return its file descriptor. */ extern int getpt (void); diff --git a/lib/libc/include/generic-glibc/string.h b/lib/libc/include/generic-glibc/string.h index 7e1b51018563218a869a53fd33f9f57dba8aae10..77b6aa346b5145174cab994232236df56ce5346c 100644 --- a/lib/libc/include/generic-glibc/string.h +++ b/lib/libc/include/generic-glibc/string.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -64,6 +64,22 @@ extern void *memset (void *__s, int __c, size_t __n) __THROW __nonnull ((1)); extern int memcmp (const void *__s1, const void *__s2, size_t __n) __THROW __attribute_pure__ __nonnull ((1, 2)); +/* Compare N bytes of S1 and S2. Return zero if S1 and S2 are equal. + Return some non-zero value otherwise. + + Essentially __memcmpeq has the exact same semantics as memcmp + except the return value is less constrained. memcmp is always a + correct implementation of __memcmpeq. As well !!memcmp, -memcmp, + or bcmp are correct implementations. + + __memcmpeq is meant to be used by compilers when memcmp return is + only used for its boolean value. + + __memcmpeq is declared only for use by compilers. Programs should + continue to use memcmp. */ +extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) + __THROW __attribute_pure__ __nonnull ((1, 2)); + /* Search N bytes of S for C. */ #ifdef __CORRECT_ISO_CPP_STRING_H_PROTO extern "C++" @@ -258,7 +274,7 @@ extern char *strrchr (const char *__s, int __c) __THROW __attribute_pure__ __nonnull ((1)); #endif -#ifdef __USE_GNU +#ifdef __USE_MISC /* This function is similar to `strchr'. But it returns a pointer to the closing NUL byte in case C is not found in S. */ # ifdef __CORRECT_ISO_CPP_STRING_H_PROTO @@ -352,7 +368,7 @@ extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, __THROW __nonnull ((2, 3)); #endif -#ifdef __USE_GNU +#ifdef __USE_MISC /* Similar to `strstr' but this function ignores the case of both strings. */ # ifdef __CORRECT_ISO_CPP_STRING_H_PROTO extern "C++" char *strcasestr (char *__haystack, const char *__needle) @@ -366,7 +382,7 @@ extern char *strcasestr (const char *__haystack, const char *__needle) # endif #endif -#ifdef __USE_GNU +#ifdef __USE_MISC /* Find the first occurrence of NEEDLE in HAYSTACK. NEEDLE is NEEDLELEN bytes long; HAYSTACK is HAYSTACKLEN bytes long. */ @@ -448,7 +464,7 @@ extern char *strerror_l (int __errnum, locale_t __l) __THROW; /* Set N bytes of S to 0. The compiler will not delete a call to this function, even if S is dead after the call. */ extern void explicit_bzero (void *__s, size_t __n) __THROW __nonnull ((1)) - __attr_access ((__write_only__, 1, 2)); + __fortified_attr_access (__write_only__, 1, 2); /* Return the next DELIM-delimited token from *STRINGP, terminating it with a '\0', and update *STRINGP to point past it. */ @@ -485,6 +501,19 @@ extern char *stpncpy (char *__restrict __dest, __THROW __nonnull ((1, 2)); #endif +#ifdef __USE_MISC +/* Copy at most N - 1 characters from SRC to DEST. */ +extern size_t strlcpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __THROW __nonnull ((1, 2)) __attr_access ((__write_only__, 1, 3)); + +/* Append SRC to DEST, possibly with truncation to keep the total size + below N. */ +extern size_t strlcat (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __THROW __nonnull ((1, 2)) __attr_access ((__read_write__, 1, 3)); +#endif + #ifdef __USE_GNU /* Compare S1 and S2 as strings holding name & indices/version numbers. */ extern int strverscmp (const char *__s1, const char *__s2) @@ -495,7 +524,7 @@ extern char *strfry (char *__string) __THROW __nonnull ((1)); /* Frobnicate N bytes of S. */ extern void *memfrob (void *__s, size_t __n) __THROW __nonnull ((1)) - __attr_access ((__write_only__, 1, 2)); + __attr_access ((__read_write__, 1, 2)); # ifndef basename /* Return the file name within directory of FILENAME. We don't diff --git a/lib/libc/include/generic-glibc/strings.h b/lib/libc/include/generic-glibc/strings.h index 3959e62e5f720ed46531a3553b2751f4d0d762ce..2f210da8a65f670327616e4f9c0551695b6e9b19 100644 --- a/lib/libc/include/generic-glibc/strings.h +++ b/lib/libc/include/generic-glibc/strings.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/acct.h b/lib/libc/include/generic-glibc/sys/acct.h index ecfb8f60e91d6db17a1faf8fea877b64ad1e1379..346bcdbb867d28994182a537431aec24a819051d 100644 --- a/lib/libc/include/generic-glibc/sys/acct.h +++ b/lib/libc/include/generic-glibc/sys/acct.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -86,7 +86,9 @@ enum AFORK = 0x01, /* Has executed fork, but no exec. */ ASU = 0x02, /* Used super-user privileges. */ ACORE = 0x08, /* Dumped core. */ - AXSIG = 0x10 /* Killed by a signal. */ + AXSIG = 0x10, /* Killed by a signal. */ + AGROUP = 0x20 /* Was the last task of the process + (task group). */ }; #if __BYTE_ORDER == __BIG_ENDIAN diff --git a/lib/libc/include/generic-glibc/sys/asm.h b/lib/libc/include/generic-glibc/sys/asm.h index 70de7df1a3b4a62299ba46c65dbd70c044fbb8c2..c1c8e325b65591969a4d66d96bd0102cc5944284 100644 --- a/lib/libc/include/generic-glibc/sys/asm.h +++ b/lib/libc/include/generic-glibc/sys/asm.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -198,7 +198,7 @@ symbol = value TEXT(msg) /* - * Print formated string + * Print formatted string */ #define PRINT(string) \ .set push; \ diff --git a/lib/libc/include/generic-glibc/sys/auxv.h b/lib/libc/include/generic-glibc/sys/auxv.h index 6dd2888056b0e0e20393899594b40eda364183eb..9d3a20adc886e3cd4a6c59ccd3145139425f9572 100644 --- a/lib/libc/include/generic-glibc/sys/auxv.h +++ b/lib/libc/include/generic-glibc/sys/auxv.h @@ -1,5 +1,5 @@ /* Access to the auxiliary vector. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/cachectl.h b/lib/libc/include/generic-glibc/sys/cachectl.h index 47396f51e21f4480974a2f8e11a30d494d5c36bc..cf65e8599db4e3c83d94c03b93ba10dc6828c017 100644 --- a/lib/libc/include/generic-glibc/sys/cachectl.h +++ b/lib/libc/include/generic-glibc/sys/cachectl.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/cdefs.h b/lib/libc/include/generic-glibc/sys/cdefs.h index 2d594e1ba6a721caa584c4d721476dba769501e4..e1b8d983dc8fbb79815c352f7080c97bf19bae5c 100644 --- a/lib/libc/include/generic-glibc/sys/cdefs.h +++ b/lib/libc/include/generic-glibc/sys/cdefs.h @@ -1,4 +1,5 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. + Copyright The GNU Toolchain Authors. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -26,8 +27,8 @@ /* The GNU libc does not support any K&R compilers or the traditional mode of ISO C compilers anymore. Check for some of the combinations not supported anymore. */ -#if defined __GNUC__ && !defined __STDC__ -# error "You need a ISO C conforming compiler to use the glibc headers" +#if defined __GNUC__ && !defined __STDC__ && !defined __cplusplus +# error "You need a ISO C or C++ conforming compiler to use the glibc headers" #endif /* Some user header file might have defined this before. */ @@ -80,7 +81,7 @@ # define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct # define __NTHNL(fct) __attribute__ ((__nothrow__)) fct # else -# if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major >= 4) +# if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major__ >= 4) # if __cplusplus >= 201103L # define __THROW noexcept (true) # else @@ -97,6 +98,12 @@ # endif # endif +# if __GNUC_PREREQ (4, 3) || __glibc_has_attribute (__cold__) +# define __COLD __attribute__ ((__cold__)) +# else +# define __COLD +# endif + #else /* Not GCC or clang. */ # if (defined __cplusplus \ @@ -109,6 +116,7 @@ # define __THROW # define __THROWNL # define __NTH(fct) fct +# define __COLD #endif /* GCC || clang. */ @@ -142,7 +150,8 @@ #define __bos0(ptr) __builtin_object_size (ptr, 0) /* Use __builtin_dynamic_object_size at _FORTIFY_SOURCE=3 when available. */ -#if __USE_FORTIFY_LEVEL == 3 && __glibc_clang_prereq (9, 0) +#if __USE_FORTIFY_LEVEL == 3 && (__glibc_clang_prereq (9, 0) \ + || __GNUC_PREREQ (12, 0)) # define __glibc_objsize0(__o) __builtin_dynamic_object_size (__o, 0) # define __glibc_objsize(__o) __builtin_dynamic_object_size (__o, 1) #else @@ -150,6 +159,55 @@ # define __glibc_objsize(__o) __bos (__o) #endif +#if __USE_FORTIFY_LEVEL > 0 +/* Compile time conditions to choose between the regular, _chk and _chk_warn + variants. These conditions should get evaluated to constant and optimized + away. */ + +#define __glibc_safe_len_cond(__l, __s, __osz) ((__l) <= (__osz) / (__s)) +#define __glibc_unsigned_or_positive(__l) \ + ((__typeof (__l)) 0 < (__typeof (__l)) -1 \ + || (__builtin_constant_p (__l) && (__l) > 0)) + +/* Length is known to be safe at compile time if the __L * __S <= __OBJSZ + condition can be folded to a constant and if it is true, or unknown (-1) */ +#define __glibc_safe_or_unknown_len(__l, __s, __osz) \ + ((__builtin_constant_p (__osz) && (__osz) == (__SIZE_TYPE__) -1) \ + || (__glibc_unsigned_or_positive (__l) \ + && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \ + (__s), (__osz))) \ + && __glibc_safe_len_cond ((__SIZE_TYPE__) (__l), (__s), (__osz)))) + +/* Conversely, we know at compile time that the length is unsafe if the + __L * __S <= __OBJSZ condition can be folded to a constant and if it is + false. */ +#define __glibc_unsafe_len(__l, __s, __osz) \ + (__glibc_unsigned_or_positive (__l) \ + && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \ + __s, __osz)) \ + && !__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), __s, __osz)) + +/* Fortify function f. __f_alias, __f_chk and __f_chk_warn must be + declared. */ + +#define __glibc_fortify(f, __l, __s, __osz, ...) \ + (__glibc_safe_or_unknown_len (__l, __s, __osz) \ + ? __ ## f ## _alias (__VA_ARGS__) \ + : (__glibc_unsafe_len (__l, __s, __osz) \ + ? __ ## f ## _chk_warn (__VA_ARGS__, __osz) \ + : __ ## f ## _chk (__VA_ARGS__, __osz))) + +/* Fortify function f, where object size argument passed to f is the number of + elements and not total size. */ + +#define __glibc_fortify_n(f, __l, __s, __osz, ...) \ + (__glibc_safe_or_unknown_len (__l, __s, __osz) \ + ? __ ## f ## _alias (__VA_ARGS__) \ + : (__glibc_unsafe_len (__l, __s, __osz) \ + ? __ ## f ## _chk_warn (__VA_ARGS__, (__osz) / (__s)) \ + : __ ## f ## _chk (__VA_ARGS__, (__osz) / (__s)))) +#endif + #if __GNUC_PREREQ (4,3) # define __warnattr(msg) __attribute__((__warning__ (msg))) # define __errordecl(name, msg) \ @@ -210,6 +268,14 @@ # define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname) # define __ASMNAME2(prefix, cname) __STRING (prefix) cname +#ifndef __REDIRECT_FORTIFY +#define __REDIRECT_FORTIFY __REDIRECT +#endif + +#ifndef __REDIRECT_FORTIFY_NTH +#define __REDIRECT_FORTIFY_NTH __REDIRECT_NTH +#endif + /* #elif __SOME_OTHER_COMPILER__ @@ -243,6 +309,15 @@ # define __attribute_alloc_size__(params) /* Ignore. */ #endif +/* Tell the compiler which argument to an allocation function + indicates the alignment of the allocation. */ +#if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__alloc_align__) +# define __attribute_alloc_align__(param) \ + __attribute__ ((__alloc_align__ param)) +#else +# define __attribute_alloc_align__(param) /* Ignore. */ +#endif + /* At some point during the gcc 2.96 development the `pure' attribute for functions was introduced. We don't want to use it unconditionally (although this would be possible) since it generates warnings. */ @@ -318,16 +393,18 @@ #endif /* The nonnull function attribute marks pointer parameters that - must not be NULL. */ -#ifndef __nonnull + must not be NULL. This has the name __nonnull in glibc, + and __attribute_nonnull__ in files shared with Gnulib to avoid + collision with a different __nonnull in DragonFlyBSD 5.9. */ +#ifndef __attribute_nonnull__ # if __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__) -# define __nonnull(params) __attribute__ ((__nonnull__ params)) +# define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params)) # else -# define __nonnull(params) +# define __attribute_nonnull__(params) # endif -#elif !defined __GLIBC__ -# undef __nonnull -# define __nonnull(params) _GL_ATTRIBUTE_NONNULL (params) +#endif +#ifndef __nonnull +# define __nonnull(params) __attribute_nonnull__ (params) #endif /* The returns_nonnull function attribute marks the return type of the function @@ -493,9 +570,9 @@ [!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })] #endif -/* The #ifndef lets Gnulib avoid including these on non-glibc - platforms, where the includes typically do not exist. */ -#ifdef __GLIBC__ +/* Gnulib avoids including these, as they don't work on non-glibc or + older glibc platforms. */ +#ifndef __GNULIB_CDEFS # include # include #endif @@ -507,6 +584,8 @@ # define __LDBL_REDIR(name, proto) ... unused__ldbl_redir # define __LDBL_REDIR_DECL(name) \ extern __typeof (name) name __asm (__ASMNAME ("__" #name "ieee128")); +# define __REDIRECT_LDBL(name, proto, alias) \ + name proto __asm (__ASMNAME ("__" #alias "ieee128")) /* Alias name defined automatically, with leading underscores. */ # define __LDBL_REDIR2_DECL(name) \ @@ -524,7 +603,6 @@ __LDBL_REDIR1_NTH (name, proto, __##alias##ieee128) /* Unused. */ -# define __REDIRECT_LDBL(name, proto, alias) ... unused__redirect_ldbl # define __LDBL_REDIR_NTH(name, proto) ... unused__ldbl_redir_nth # else @@ -603,12 +681,22 @@ _Static_assert (0, "IEEE 128-bits long double requires redirection on this platf size-index is not provided: access (access-mode, [, ]) */ # define __attr_access(x) __attribute__ ((__access__ x)) +/* For _FORTIFY_SOURCE == 3 we use __builtin_dynamic_object_size, which may + use the access attribute to get object sizes from function definition + arguments, so we can't use them on functions we fortify. Drop the object + size hints for such functions. */ +# if __USE_FORTIFY_LEVEL == 3 +# define __fortified_attr_access(a, o, s) __attribute__ ((__access__ (a, o))) +# else +# define __fortified_attr_access(a, o, s) __attr_access ((a, o, s)) +# endif # if __GNUC_PREREQ (11, 0) # define __attr_access_none(argno) __attribute__ ((__access__ (__none__, argno))) # else # define __attr_access_none(argno) # endif #else +# define __fortified_attr_access(a, o, s) # define __attr_access(x) # define __attr_access_none(argno) #endif diff --git a/lib/libc/include/generic-glibc/sys/debugreg.h b/lib/libc/include/generic-glibc/sys/debugreg.h index 73f6c1adce407838346f9df86bb94345dff61bd4..a379309e1441b870183287631e3bbe2d8328fedb 100644 --- a/lib/libc/include/generic-glibc/sys/debugreg.h +++ b/lib/libc/include/generic-glibc/sys/debugreg.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/dir.h b/lib/libc/include/generic-glibc/sys/dir.h index 27369aa4e591ad7f768d58518e5aba52e5666850..5b1fe74c80c80cde5f9ab203a58fa92d84341e7f 100644 --- a/lib/libc/include/generic-glibc/sys/dir.h +++ b/lib/libc/include/generic-glibc/sys/dir.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/elf.h b/lib/libc/include/generic-glibc/sys/elf.h index da0ac260ac68ef19a8f1c2b36aa90ef3b9e7dabd..458bed022efb0357dce07d567eb670ddf8d89372 100644 --- a/lib/libc/include/generic-glibc/sys/elf.h +++ b/lib/libc/include/generic-glibc/sys/elf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/epoll.h b/lib/libc/include/generic-glibc/sys/epoll.h index 780a3eac51d9d93e5d28cee19859d571028fe548..a301552849b7e6b41d3b2e0bafbd7ca2115de42c 100644 --- a/lib/libc/include/generic-glibc/sys/epoll.h +++ b/lib/libc/include/generic-glibc/sys/epoll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,6 +22,7 @@ #include #include +#include /* Get the platform-dependent flags. */ #include @@ -121,7 +122,8 @@ extern int epoll_ctl (int __epfd, int __op, int __fd, This function is a cancellation point and therefore not marked with __THROW. */ extern int epoll_wait (int __epfd, struct epoll_event *__events, - int __maxevents, int __timeout); + int __maxevents, int __timeout) + __attr_access ((__write_only__, 2, 3)) __nonnull ((2)); /* Same as epoll_wait, but the thread's signal mask is temporarily @@ -131,7 +133,30 @@ extern int epoll_wait (int __epfd, struct epoll_event *__events, __THROW. */ extern int epoll_pwait (int __epfd, struct epoll_event *__events, int __maxevents, int __timeout, - const __sigset_t *__ss); + const __sigset_t *__ss) + __attr_access ((__write_only__, 2, 3)) __nonnull ((2)); + +/* Same as epoll_pwait, but the timeout as a timespec. + + This function is a cancellation point and therefore not marked with + __THROW. */ +#ifndef __USE_TIME_BITS64 +extern int epoll_pwait2 (int __epfd, struct epoll_event *__events, + int __maxevents, const struct timespec *__timeout, + const __sigset_t *__ss) + __attr_access ((__write_only__, 2, 3)) __nonnull ((2)); +#else +# ifdef __REDIRECT +extern int __REDIRECT (epoll_pwait2, (int __epfd, struct epoll_event *__ev, + int __maxevs, + const struct timespec *__timeout, + const __sigset_t *__ss), + __epoll_pwait2_time64) + __attr_access ((__write_only__, 2, 3)) __nonnull ((2)); +# else +# define epoll_pwait2 __epoll_pwait2_time64 +# endif +#endif __END_DECLS diff --git a/lib/libc/include/generic-glibc/sys/eventfd.h b/lib/libc/include/generic-glibc/sys/eventfd.h index 901128e326d560ea8b406aad8d413103d2255f1b..d8d51ad530b3e95cea4804f591d6b99d41981a75 100644 --- a/lib/libc/include/generic-glibc/sys/eventfd.h +++ b/lib/libc/include/generic-glibc/sys/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/fanotify.h b/lib/libc/include/generic-glibc/sys/fanotify.h index b32190e21d1399f644342e7b0519810ff96ee505..d18862c5819dd08b2f8f47ac76bcb6b1995fb68c 100644 --- a/lib/libc/include/generic-glibc/sys/fanotify.h +++ b/lib/libc/include/generic-glibc/sys/fanotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2010-2021 Free Software Foundation, Inc. +/* Copyright (C) 2010-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/file.h b/lib/libc/include/generic-glibc/sys/file.h index 798f5c0dcac9f91fa78315a96efa044c6b91cc92..664ddfbe7e548181cf978a36078191b482ed37f6 100644 --- a/lib/libc/include/generic-glibc/sys/file.h +++ b/lib/libc/include/generic-glibc/sys/file.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/fpregdef.h b/lib/libc/include/generic-glibc/sys/fpregdef.h index 10628e068c2280fb5ff2d44dc9f938c3d9ba5732..b2b01cf807770863574a023e67b5fd683a5c1cf9 100644 --- a/lib/libc/include/generic-glibc/sys/fpregdef.h +++ b/lib/libc/include/generic-glibc/sys/fpregdef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/fsuid.h b/lib/libc/include/generic-glibc/sys/fsuid.h index 1661cc729e7f02dbb11cf2acae264a1d5e7b1e3e..cdfb3863a1dc9a615accc03ed26e9e552548287b 100644 --- a/lib/libc/include/generic-glibc/sys/fsuid.h +++ b/lib/libc/include/generic-glibc/sys/fsuid.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/gmon.h b/lib/libc/include/generic-glibc/sys/gmon.h index e227e4e7f653bef34373b3f7366d51d54eb68736..a9f056cccce02fe6ae100f61195c11706d0f51c2 100644 --- a/lib/libc/include/generic-glibc/sys/gmon.h +++ b/lib/libc/include/generic-glibc/sys/gmon.h @@ -111,6 +111,8 @@ extern struct __bb *__bb_head; * Always allocate at least this many tostructs. This * hides the inadequacy of the ARCDENSITY heuristic, at least * for small programs. + * + * Value can be overridden at runtime by glibc.gmon.minarcs tunable. */ #define MINARCS 50 @@ -124,8 +126,8 @@ extern struct __bb *__bb_head; * Used to be max representable value of ARCINDEX minus 2, but now * that ARCINDEX is a long, that's too large; we don't really want * to allow a 48 gigabyte table. - * The old value of 1<<16 wasn't high enough in practice for large C++ - * programs; will 1<<20 be adequate for long? FIXME + * + * Value can be overridden at runtime by glibc.gmon.maxarcs tunable. */ #define MAXARCS (1 << 20) diff --git a/lib/libc/include/generic-glibc/sys/gmon_out.h b/lib/libc/include/generic-glibc/sys/gmon_out.h index 2eed4730009303bf9e673f2f79e9beba56857a28..803e7dda9fa7a9947709e742ca210508ae253930 100644 --- a/lib/libc/include/generic-glibc/sys/gmon_out.h +++ b/lib/libc/include/generic-glibc/sys/gmon_out.h @@ -1,6 +1,5 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by David Mosberger . The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/generic-glibc/sys/ifunc.h b/lib/libc/include/generic-glibc/sys/ifunc.h index 9dd2353772a9039e684a44bc3ffe3831b640040d..0c1e8745fca85c5d8da225637e687d3be65b68d4 100644 --- a/lib/libc/include/generic-glibc/sys/ifunc.h +++ b/lib/libc/include/generic-glibc/sys/ifunc.h @@ -1,5 +1,5 @@ /* Definitions used by AArch64 indirect function resolvers. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/inotify.h b/lib/libc/include/generic-glibc/sys/inotify.h index 647b8f8ccca15023ccd96782f8484288474c001c..e1242484635efe9560c480d5cba8d708d4e85248 100644 --- a/lib/libc/include/generic-glibc/sys/inotify.h +++ b/lib/libc/include/generic-glibc/sys/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/io.h b/lib/libc/include/generic-glibc/sys/io.h index d3da86c34c0ce6440fcb86752707fd52ea9cc4de..905202470e9299bcc92e9522ff37b97f25cb62ad 100644 --- a/lib/libc/include/generic-glibc/sys/io.h +++ b/lib/libc/include/generic-glibc/sys/io.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/ioctl.h b/lib/libc/include/generic-glibc/sys/ioctl.h index 0bf578863e5ab7409bcb9c63ffc84605013b6c7b..2abd52e2bf68326dc03cde385c80b6170dbaaa13 100644 --- a/lib/libc/include/generic-glibc/sys/ioctl.h +++ b/lib/libc/include/generic-glibc/sys/ioctl.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -42,8 +42,8 @@ __BEGIN_DECLS extern int ioctl (int __fd, unsigned long int __request, ...) __THROW; #else # ifdef __REDIRECT -extern int __REDIRECT (ioctl, (int __fd, unsigned long int __request, ...), - __ioctl_time64) __THROW; +extern int __REDIRECT_NTH (ioctl, (int __fd, unsigned long int __request, ...), + __ioctl_time64); # else extern int __ioctl_time64 (int __fd, unsigned long int __request, ...) __THROW; # define ioctl __ioctl_time64 diff --git a/lib/libc/include/generic-glibc/sys/ipc.h b/lib/libc/include/generic-glibc/sys/ipc.h index 6b0657e8367ace2f2d16263217be300663fe2c0f..f907605deecc37c1be3dc15a50cd297bbd1aa64e 100644 --- a/lib/libc/include/generic-glibc/sys/ipc.h +++ b/lib/libc/include/generic-glibc/sys/ipc.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/kd.h b/lib/libc/include/generic-glibc/sys/kd.h index 6247131af91d2455be753035d3faec998dc6474d..06489c91c764fedf3e9ce964a01fc8801538b4bc 100644 --- a/lib/libc/include/generic-glibc/sys/kd.h +++ b/lib/libc/include/generic-glibc/sys/kd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/klog.h b/lib/libc/include/generic-glibc/sys/klog.h index eb7e738da89025bf51d97f05d32066c93da53b30..cd4fa1a404ea73e132911c2a7706a28b71001aa9 100644 --- a/lib/libc/include/generic-glibc/sys/klog.h +++ b/lib/libc/include/generic-glibc/sys/klog.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/mman.h b/lib/libc/include/generic-glibc/sys/mman.h index 0ffdf75dbbca9af834b88a02e2e7866899ddc004..c542c16eb2d94c5bb6758947320357eed58c2511 100644 --- a/lib/libc/include/generic-glibc/sys/mman.h +++ b/lib/libc/include/generic-glibc/sys/mman.h @@ -1,5 +1,5 @@ /* Definitions for BSD-style memory management. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -146,6 +146,9 @@ extern int shm_open (const char *__name, int __oflag, mode_t __mode); /* Remove shared memory segment. */ extern int shm_unlink (const char *__name); +/* System-specific extensions. */ +#include + __END_DECLS #endif /* sys/mman.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/sys/mount.h b/lib/libc/include/generic-glibc/sys/mount.h index ea7a023b09d07def0506610e88970db624c62fc7..76853a30ab6dd52b65c8e9cf18ff7a83913b5251 100644 --- a/lib/libc/include/generic-glibc/sys/mount.h +++ b/lib/libc/include/generic-glibc/sys/mount.h @@ -1,5 +1,5 @@ /* Header file for mounting/unmount Linux filesystems. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -21,80 +21,119 @@ #ifndef _SYS_MOUNT_H #define _SYS_MOUNT_H 1 +#include #include +#include +#include #include -#define BLOCK_SIZE 1024 +#ifdef __has_include +# if __has_include ("linux/mount.h") +# include "linux/mount.h" +# endif +#endif + + #define BLOCK_SIZE_BITS 10 +#define BLOCK_SIZE (1<. */ -/* Written by H. Bergman . */ #ifndef _SYS_MTIO_H #define _SYS_MTIO_H 1 diff --git a/lib/libc/include/generic-glibc/sys/param.h b/lib/libc/include/generic-glibc/sys/param.h index 255cb0d7009073019a405e6dd17a00ebc2d6eed3..14b2c6ab106dcc6adfb98ce3603b2071cd7ca516 100644 --- a/lib/libc/include/generic-glibc/sys/param.h +++ b/lib/libc/include/generic-glibc/sys/param.h @@ -1,5 +1,5 @@ /* Compatibility header for old-style Unix parameters and limits. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/pci.h b/lib/libc/include/generic-glibc/sys/pci.h index 923022cbfb71d33e0f0cd479524a3ce1a9e29eec..74d03ce8f811444ffbbdd98212cf226732d191eb 100644 --- a/lib/libc/include/generic-glibc/sys/pci.h +++ b/lib/libc/include/generic-glibc/sys/pci.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/perm.h b/lib/libc/include/generic-glibc/sys/perm.h index a7da5ed46b009409e7ae4ab9496f5489a1d55b6c..07720ba97de0009e1b50bc253e6c9633b1d9bb1b 100644 --- a/lib/libc/include/generic-glibc/sys/perm.h +++ b/lib/libc/include/generic-glibc/sys/perm.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/personality.h b/lib/libc/include/generic-glibc/sys/personality.h index 540473f1ee861268856f3efd903d27e9ffb8cce6..dab756ec19c7d26860b042b7e2dd1b82f612c940 100644 --- a/lib/libc/include/generic-glibc/sys/personality.h +++ b/lib/libc/include/generic-glibc/sys/personality.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/pidfd.h b/lib/libc/include/generic-glibc/sys/pidfd.h new file mode 100644 index 0000000000000000000000000000000000000000..bb596f3217584dccf4391cb04b629d3d92f98ee7 --- /dev/null +++ b/lib/libc/include/generic-glibc/sys/pidfd.h @@ -0,0 +1,49 @@ +/* Wrapper for file descriptors that refers to a process functions. + Copyright (C) 2022-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _PIDFD_H + +#include +#include + +#define PIDFD_NONBLOCK O_NONBLOCK + +/* Returns a file descriptor that refers to the process PID. The + close-on-exec is set on the file descriptor. + + The FLAGS argument is reserved for future use, it must be specified + as 0. */ +extern int pidfd_open (__pid_t __pid, unsigned int __flags) __THROW; + +/* Duplicates an existing file descriptor TARGETFD in the process referred + by the PIDFD file descriptor PIDFD. + + The FLAGS argument is reserved for future use, it must be specified + as 0. */ +extern int pidfd_getfd (int __pidfd, int __targetfd, + unsigned int __flags) __THROW; + +/* Sends the signal SIG to the target process referred by the PIDFD. If + INFO points to a siginfo_t buffer, it will be populated. + + The FLAGS argument is reserved for future use, it must be specified + as 0. */ +extern int pidfd_send_signal (int __pidfd, int __sig, siginfo_t *__info, + unsigned int __flags) __THROW; + +#endif /* _PIDFD_H */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/sys/platform/ppc.h b/lib/libc/include/generic-glibc/sys/platform/ppc.h index 7e019db36909114afbde02b126ddeb87de4b4ed5..60b363e260ab283108cbe8e12af2feeb830f5a1e 100644 --- a/lib/libc/include/generic-glibc/sys/platform/ppc.h +++ b/lib/libc/include/generic-glibc/sys/platform/ppc.h @@ -1,5 +1,5 @@ /* Facilities specific to the PowerPC architecture - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/platform/x86.h b/lib/libc/include/generic-glibc/sys/platform/x86.h index 1d0d73c94848c036d8ac24471148abdfc2c54ae1..6fd1d5e69e1d92942d7c394e73f5dfd7f797e685 100644 --- a/lib/libc/include/generic-glibc/sys/platform/x86.h +++ b/lib/libc/include/generic-glibc/sys/platform/x86.h @@ -1,6 +1,6 @@ /* Data structure for x86 CPU features. This file is part of the GNU C Library. - Copyright (C) 2008-2021 Free Software Foundation, Inc. + Copyright (C) 2008-2023 Free Software Foundation, Inc. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/generic-glibc/sys/poll.h b/lib/libc/include/generic-glibc/sys/poll.h index 358e8c2b80502fdbff083ee0c457d4c1a156dfe4..63e91f371d0ad0ad7e307aefafd4f677d0601de9 100644 --- a/lib/libc/include/generic-glibc/sys/poll.h +++ b/lib/libc/include/generic-glibc/sys/poll.h @@ -1,5 +1,5 @@ /* Compatibility definitions for System V `poll' interface. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -52,7 +52,7 @@ __BEGIN_DECLS This function is a cancellation point and therefore not marked with __THROW. */ extern int poll (struct pollfd *__fds, nfds_t __nfds, int __timeout) - __attr_access ((__write_only__, 1, 2)); + __fortified_attr_access (__write_only__, 1, 2); #ifdef __USE_GNU /* Like poll, but before waiting the threads signal mask is replaced @@ -64,7 +64,7 @@ extern int poll (struct pollfd *__fds, nfds_t __nfds, int __timeout) extern int ppoll (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout, const __sigset_t *__ss) - __attr_access ((__write_only__, 1, 2)); + __fortified_attr_access (__write_only__, 1, 2); # ifdef __USE_TIME_BITS64 # ifdef __REDIRECT @@ -72,7 +72,7 @@ extern int __REDIRECT (ppoll, (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout, const __sigset_t *__ss), __ppoll64) - __attr_access ((__write_only__, 1, 2)); + __fortified_attr_access (__write_only__, 1, 2); # else # define ppoll __ppoll64 # endif diff --git a/lib/libc/include/generic-glibc/sys/prctl.h b/lib/libc/include/generic-glibc/sys/prctl.h index 5435c0473a09faca07c302914aa84b7619625310..30f68508b4554e81755ea52298f0d3bb01e038ee 100644 --- a/lib/libc/include/generic-glibc/sys/prctl.h +++ b/lib/libc/include/generic-glibc/sys/prctl.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -42,7 +42,7 @@ __BEGIN_DECLS extern int prctl (int __option, ...) __THROW; #else # ifdef __REDIRECT -extern int __REDIRECT (prctl, (int __option, ...), __prctl_time64) __THROW; +extern int __REDIRECT_NTH (prctl, (int __option, ...), __prctl_time64); # else extern int __prctl_time64 (int __option,d ...) __THROW; # define ioctl __prctl_time64 diff --git a/lib/libc/include/generic-glibc/sys/procfs.h b/lib/libc/include/generic-glibc/sys/procfs.h index 3449597af6515d0fbdf8001b7fac9aec640b194c..0d977c60935d7c08fbddaec5540a38708b89afa7 100644 --- a/lib/libc/include/generic-glibc/sys/procfs.h +++ b/lib/libc/include/generic-glibc/sys/procfs.h @@ -1,5 +1,5 @@ /* Definitions for core files and libthread_db. Generic Linux version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/generic-glibc/sys/profil.h b/lib/libc/include/generic-glibc/sys/profil.h index b282f2c76aa1a81a7a79d3224ea78a9eb97b7ea7..e1be307f80b789e4c1a8a5809a59609634f7e19b 100644 --- a/lib/libc/include/generic-glibc/sys/profil.h +++ b/lib/libc/include/generic-glibc/sys/profil.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/ptrace.h b/lib/libc/include/generic-glibc/sys/ptrace.h index c2df853b0675a761b1c6f3fb08e8bcc19d2a7cf7..df5abb9b1315b9c4aa22205a23bbfeeb82e974af 100644 --- a/lib/libc/include/generic-glibc/sys/ptrace.h +++ b/lib/libc/include/generic-glibc/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -170,8 +170,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/generic-glibc/sys/quota.h b/lib/libc/include/generic-glibc/sys/quota.h index 0efe77268181769ef43d3d063d084ec7e7ad9844..e6f75ae7614d4dd9c1b25c73b936a9e377ebc1e6 100644 --- a/lib/libc/include/generic-glibc/sys/quota.h +++ b/lib/libc/include/generic-glibc/sys/quota.h @@ -1,5 +1,5 @@ /* This just represents the non-kernel parts of . - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/random.h b/lib/libc/include/generic-glibc/sys/random.h index 78e588f4b545eeb91d2582869f1a4b17137926a8..403123daca2b005da8fe8bb65ec9789538a06bcf 100644 --- a/lib/libc/include/generic-glibc/sys/random.h +++ b/lib/libc/include/generic-glibc/sys/random.h @@ -1,5 +1,5 @@ /* Interfaces for obtaining random bytes. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,11 +32,13 @@ __BEGIN_DECLS /* Write LENGTH bytes of randomness starting at BUFFER. Return the number of bytes written, or -1 on error. */ ssize_t getrandom (void *__buffer, size_t __length, - unsigned int __flags) __wur; + unsigned int __flags) __wur + __attr_access ((__write_only__, 1, 2)); /* Write LENGTH bytes of randomness starting at BUFFER. Return 0 on success or -1 on error. */ -int getentropy (void *__buffer, size_t __length) __wur; +int getentropy (void *__buffer, size_t __length) __wur + __attr_access ((__write_only__, 1, 2)); __END_DECLS diff --git a/lib/libc/include/generic-glibc/sys/raw.h b/lib/libc/include/generic-glibc/sys/raw.h index 15d48c9728fe79d9e23a4ab10b2453e0c728be13..354a4058f4b864b5a21fd04a5c52a761dd51872b 100644 --- a/lib/libc/include/generic-glibc/sys/raw.h +++ b/lib/libc/include/generic-glibc/sys/raw.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/reboot.h b/lib/libc/include/generic-glibc/sys/reboot.h index 0fc5dcc29fcc331c5ffebe92b0218331ee8ded1b..1fabf2891a2f632726dc1166fda0d36cfb8057a7 100644 --- a/lib/libc/include/generic-glibc/sys/reboot.h +++ b/lib/libc/include/generic-glibc/sys/reboot.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/reg.h b/lib/libc/include/generic-glibc/sys/reg.h index ed08d665048d0f9adcca99b5d87c5cb6e769e296..1a702ec561ea9e2c1757c8dd4dc0adb967bacf35 100644 --- a/lib/libc/include/generic-glibc/sys/reg.h +++ b/lib/libc/include/generic-glibc/sys/reg.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/regdef.h b/lib/libc/include/generic-glibc/sys/regdef.h index 60d5eebddfabcf37eddf658400172a7476918726..b050c6cc74ee9b074d769815eadb56461a9f4674 100644 --- a/lib/libc/include/generic-glibc/sys/regdef.h +++ b/lib/libc/include/generic-glibc/sys/regdef.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/resource.h b/lib/libc/include/generic-glibc/sys/resource.h index da44ec0320dabaf42e5e162278891da9a8c9edc7..ed68e25c627346c5601ddbbb2dc12f948c9b03fd 100644 --- a/lib/libc/include/generic-glibc/sys/resource.h +++ b/lib/libc/include/generic-glibc/sys/resource.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/rseq.h b/lib/libc/include/generic-glibc/sys/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..66e1da2635fdf8465a0e62e775b4729d8d5e941e --- /dev/null +++ b/lib/libc/include/generic-glibc/sys/rseq.h @@ -0,0 +1,169 @@ +/* Restartable Sequences exported symbols. Linux header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +#define _SYS_RSEQ_H 1 + +/* Architecture-specific rseq signature. */ +#include + +#include +#include +#include + +#ifdef __has_include +# if __has_include ("linux/rseq.h") +# define __GLIBC_HAVE_KERNEL_RSEQ +# endif +#else +# include +# if LINUX_VERSION_CODE >= KERNEL_VERSION (4, 18, 0) +# define __GLIBC_HAVE_KERNEL_RSEQ +# endif +#endif + +#ifdef __GLIBC_HAVE_KERNEL_RSEQ +/* We use the structures declarations from the kernel headers. */ +# include +#else /* __GLIBC_HAVE_KERNEL_RSEQ */ +/* We use a copy of the include/uapi/linux/rseq.h kernel header. */ + +enum rseq_cpu_id_state + { + RSEQ_CPU_ID_UNINITIALIZED = -1, + RSEQ_CPU_ID_REGISTRATION_FAILED = -2, + }; + +enum rseq_flags + { + RSEQ_FLAG_UNREGISTER = (1 << 0), + }; + +enum rseq_cs_flags_bit + { + RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT = 0, + RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT = 1, + RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT = 2, + }; + +enum rseq_cs_flags + { + RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT = + (1U << RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT), + RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL = + (1U << RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT), + RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE = + (1U << RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT), + }; + +/* struct rseq_cs is aligned on 32 bytes to ensure it is always + contained within a single cache-line. It is usually declared as + link-time constant data. */ +struct rseq_cs + { + /* Version of this structure. */ + uint32_t version; + /* enum rseq_cs_flags. */ + uint32_t flags; + uint64_t start_ip; + /* Offset from start_ip. */ + uint64_t post_commit_offset; + uint64_t abort_ip; + } __attribute__ ((__aligned__ (32))); + +/* struct rseq is aligned on 32 bytes to ensure it is always + contained within a single cache-line. + + A single struct rseq per thread is allowed. */ +struct rseq + { + /* Restartable sequences cpu_id_start field. Updated by the + kernel. Read by user-space with single-copy atomicity + semantics. This field should only be read by the thread which + registered this data structure. Aligned on 32-bit. Always + contains a value in the range of possible CPUs, although the + value may not be the actual current CPU (e.g. if rseq is not + initialized). This CPU number value should always be compared + against the value of the cpu_id field before performing a rseq + commit or returning a value read from a data structure indexed + using the cpu_id_start value. */ + uint32_t cpu_id_start; + /* Restartable sequences cpu_id field. Updated by the kernel. + Read by user-space with single-copy atomicity semantics. This + field should only be read by the thread which registered this + data structure. Aligned on 32-bit. Values + RSEQ_CPU_ID_UNINITIALIZED and RSEQ_CPU_ID_REGISTRATION_FAILED + have a special semantic: the former means "rseq uninitialized", + and latter means "rseq initialization failed". This value is + meant to be read within rseq critical sections and compared + with the cpu_id_start value previously read, before performing + the commit instruction, or read and compared with the + cpu_id_start value before returning a value loaded from a data + structure indexed using the cpu_id_start value. */ + uint32_t cpu_id; + /* Restartable sequences rseq_cs field. + + Contains NULL when no critical section is active for the current + thread, or holds a pointer to the currently active struct rseq_cs. + + Updated by user-space, which sets the address of the currently + active rseq_cs at the beginning of assembly instruction sequence + block, and set to NULL by the kernel when it restarts an assembly + instruction sequence block, as well as when the kernel detects that + it is preempting or delivering a signal outside of the range + targeted by the rseq_cs. Also needs to be set to NULL by user-space + before reclaiming memory that contains the targeted struct rseq_cs. + + Read and set by the kernel. Set by user-space with single-copy + atomicity semantics. This field should only be updated by the + thread which registered this data structure. Aligned on 64-bit. + + 32-bit architectures should update the low order bits of the + rseq_cs field, leaving the high order bits initialized to 0. */ + uint64_t rseq_cs; + /* Restartable sequences flags field. + + This field should only be updated by the thread which + registered this data structure. Read by the kernel. + Mainly used for single-stepping through rseq critical sections + with debuggers. + + - RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT + Inhibit instruction sequence block restart on preemption + for this thread. + - RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL + Inhibit instruction sequence block restart on signal + delivery for this thread. + - RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE + Inhibit instruction sequence block restart on migration for + this thread. */ + uint32_t flags; + } __attribute__ ((__aligned__ (32))); + +#endif /* __GLIBC_HAVE_KERNEL_RSEQ */ + +/* Offset from the thread pointer to the rseq area. */ +extern const ptrdiff_t __rseq_offset; + +/* Size of the registered rseq area. 0 if the registration was + unsuccessful. */ +extern const unsigned int __rseq_size; + +/* Flags used during rseq registration. */ +extern const unsigned int __rseq_flags; + +#endif /* sys/rseq.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/sys/select.h b/lib/libc/include/generic-glibc/sys/select.h index 47298cf1fa6d4581c0a14327fd86317cb9d7252f..28e9c7296a9d99b16fffab94ced8bfbf9c8cf8d4 100644 --- a/lib/libc/include/generic-glibc/sys/select.h +++ b/lib/libc/include/generic-glibc/sys/select.h @@ -1,5 +1,5 @@ /* `fd_set' type and related macros, and `select'/`pselect' declarations. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/sem.h b/lib/libc/include/generic-glibc/sys/sem.h index f8d45b103829f31c7e0b0e03e66910ad6a7f1dbc..c9536e39c95d7d7f08988be35e0b94e90d9d2a4c 100644 --- a/lib/libc/include/generic-glibc/sys/sem.h +++ b/lib/libc/include/generic-glibc/sys/sem.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/sendfile.h b/lib/libc/include/generic-glibc/sys/sendfile.h index af8058691f7f05f510fc2b7ad56adae87be9c874..5ff2124bd656cae308f178d47696707451865fd8 100644 --- a/lib/libc/include/generic-glibc/sys/sendfile.h +++ b/lib/libc/include/generic-glibc/sys/sendfile.h @@ -1,5 +1,5 @@ /* sendfile -- copy data directly from one file descriptor to another - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/shm.h b/lib/libc/include/generic-glibc/sys/shm.h index 6fbac1752379bb461e390bace7fb6dc49bd1b536..180b0ac4f9d403d8f6df3155f316d99f9fc51272 100644 --- a/lib/libc/include/generic-glibc/sys/shm.h +++ b/lib/libc/include/generic-glibc/sys/shm.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/signalfd.h b/lib/libc/include/generic-glibc/sys/signalfd.h index be2a5809270d58bb9d8de1bc0456c25dcf111703..dc3a1837a1620d28dc6ad8407622c4c2c174c1db 100644 --- a/lib/libc/include/generic-glibc/sys/signalfd.h +++ b/lib/libc/include/generic-glibc/sys/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/single_threaded.h b/lib/libc/include/generic-glibc/sys/single_threaded.h index 17638fcc425b5c06e163d71b82cf07539ac7a041..9a8d7e3b264e8ae2b02c529facbb0675f90a55a5 100644 --- a/lib/libc/include/generic-glibc/sys/single_threaded.h +++ b/lib/libc/include/generic-glibc/sys/single_threaded.h @@ -1,5 +1,5 @@ /* Support for single-thread optimizations. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/socket.h b/lib/libc/include/generic-glibc/sys/socket.h index 2599db5d59d6d1396ebc61ac0d0e4f0996102d2d..95191e5a725c0097aaca4fde4cb9e22a79abb404 100644 --- a/lib/libc/include/generic-glibc/sys/socket.h +++ b/lib/libc/include/generic-glibc/sys/socket.h @@ -1,5 +1,5 @@ /* Declarations of socket constants, types, and functions. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -154,7 +154,7 @@ extern ssize_t sendto (int __fd, const void *__buf, size_t __n, socklen_t __addr_len); /* Read N bytes into BUF through socket FD. - If ADDR is not NULL, fill in *ADDR_LEN bytes of it with tha address of + If ADDR is not NULL, fill in *ADDR_LEN bytes of it with the address of the sender, and store the actual size of the address in *ADDR_LEN. Returns the number of bytes read or -1 for errors. @@ -181,7 +181,7 @@ extern ssize_t __REDIRECT (sendmsg, (int __fd, const struct msghdr *__message, # else extern ssize_t __sendmsg64 (int __fd, const struct msghdr *__message, int __flags); -# defien sendmsg __sendmsg64 +# define sendmsg __sendmsg64 # endif #endif diff --git a/lib/libc/include/generic-glibc/sys/stat.h b/lib/libc/include/generic-glibc/sys/stat.h index f1248327fb3452c6bd2d31f32d9b891e86ab4592..ff147958874b2df65c8bc1819fb3b59257d54622 100644 --- a/lib/libc/include/generic-glibc/sys/stat.h +++ b/lib/libc/include/generic-glibc/sys/stat.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/statfs.h b/lib/libc/include/generic-glibc/sys/statfs.h index 22027078735afdcc2c1d9b032ff27015211ff6b5..325983a5ffab01069151c31d4f4d84b12206af40 100644 --- a/lib/libc/include/generic-glibc/sys/statfs.h +++ b/lib/libc/include/generic-glibc/sys/statfs.h @@ -1,5 +1,5 @@ /* Definitions for getting information about a filesystem. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/statvfs.h b/lib/libc/include/generic-glibc/sys/statvfs.h index a36a9ada1da7be037229ae9dcece3bf92083e5e9..69cf6c56a235066a96a6b350393b2cc82b807eb0 100644 --- a/lib/libc/include/generic-glibc/sys/statvfs.h +++ b/lib/libc/include/generic-glibc/sys/statvfs.h @@ -1,5 +1,5 @@ /* Definitions for getting information about a filesystem. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/swap.h b/lib/libc/include/generic-glibc/sys/swap.h index c739fdb00d7e4dbe62dfdb8087c3033c7e69adf8..69de00829b59eae7efd075f0a3c1180b7a26a847 100644 --- a/lib/libc/include/generic-glibc/sys/swap.h +++ b/lib/libc/include/generic-glibc/sys/swap.h @@ -1,5 +1,5 @@ /* Calls to enable and disable swapping on specified locations. Linux version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/syscall.h b/lib/libc/include/generic-glibc/sys/syscall.h index 23e1b29758c38de95797e669a18d4aebccc596e8..30dfa08d8680fdb781c9d9e6d2d213686919dedb 100644 --- a/lib/libc/include/generic-glibc/sys/syscall.h +++ b/lib/libc/include/generic-glibc/sys/syscall.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/sysinfo.h b/lib/libc/include/generic-glibc/sys/sysinfo.h index fa622ec23d91d315764d95dc08d936d3647a13ec..6af957b1ef4c86c1eaf2e8ccd8f6b7e094467070 100644 --- a/lib/libc/include/generic-glibc/sys/sysinfo.h +++ b/lib/libc/include/generic-glibc/sys/sysinfo.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/syslog.h b/lib/libc/include/generic-glibc/sys/syslog.h index 3c249a278999b3eba059d95d2497787a98af088d..f34473c3eb2d349a244823c196d63c7c112259f6 100644 --- a/lib/libc/include/generic-glibc/sys/syslog.h +++ b/lib/libc/include/generic-glibc/sys/syslog.h @@ -62,7 +62,7 @@ #define LOG_PRI(p) ((p) & LOG_PRIMASK) #define LOG_MAKEPRI(fac, pri) ((fac) | (pri)) -#ifdef SYSLOG_NAMES +#if defined SYSLOG_NAMES && defined __USE_MISC #define INTERNAL_NOPRI 0x10 /* the "no priority" priority */ /* mark "facility" */ #define INTERNAL_MARK LOG_MAKEPRI(LOG_NFACILITIES << 3, 0) @@ -118,7 +118,7 @@ CODE prioritynames[] = /* facility of pri */ #define LOG_FAC(p) (((p) & LOG_FACMASK) >> 3) -#ifdef SYSLOG_NAMES +#if defined SYSLOG_NAMES && defined __USE_MISC CODE facilitynames[] = { { "auth", LOG_AUTH }, @@ -205,11 +205,11 @@ extern void vsyslog (int __pri, const char *__fmt, __gnuc_va_list __ap) /* Define some macros helping to catch buffer overflows. */ #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function # include -#endif - -#include -#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 -# include +#else +# include +# if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# include +# endif #endif __END_DECLS diff --git a/lib/libc/include/generic-glibc/sys/sysmacros.h b/lib/libc/include/generic-glibc/sys/sysmacros.h index 314e21d5d258a16398e11d38970ce22e9eac8b32..fe90fa086c9ba3f65886a8c80087856b2aaacfe8 100644 --- a/lib/libc/include/generic-glibc/sys/sysmacros.h +++ b/lib/libc/include/generic-glibc/sys/sysmacros.h @@ -1,5 +1,5 @@ /* Definitions of macros to access `dev_t' values. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/sysmips.h b/lib/libc/include/generic-glibc/sys/sysmips.h index 71e01aa98fa4bae3ea76961fdce8978050660902..05b5b1196199e8de5c4c9c4e6037543f10fb505c 100644 --- a/lib/libc/include/generic-glibc/sys/sysmips.h +++ b/lib/libc/include/generic-glibc/sys/sysmips.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/tas.h b/lib/libc/include/generic-glibc/sys/tas.h index 545278a89a838d3f3cb4c93c52b132b06f7f85e6..c8fa82ba2ae2eb9b52abd4caf35752042eef1936 100644 --- a/lib/libc/include/generic-glibc/sys/tas.h +++ b/lib/libc/include/generic-glibc/sys/tas.h @@ -1,6 +1,5 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Maciej W. Rozycki , 2000. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/generic-glibc/sys/time.h b/lib/libc/include/generic-glibc/sys/time.h index 35bad81116651a2b1d44b32f94e9fa14d4972645..ffee313631fc3dca462c6ff44188951d991b4b1f 100644 --- a/lib/libc/include/generic-glibc/sys/time.h +++ b/lib/libc/include/generic-glibc/sys/time.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/timeb.h b/lib/libc/include/generic-glibc/sys/timeb.h index 7180adc662d00853a8ae1a436ba8e710719336e5..084dfb5b7b1335fcdb9ed0d0bd60c2a0fee5ef6c 100644 --- a/lib/libc/include/generic-glibc/sys/timeb.h +++ b/lib/libc/include/generic-glibc/sys/timeb.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1994-2021 Free Software Foundation, Inc. +/* Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/timerfd.h b/lib/libc/include/generic-glibc/sys/timerfd.h index 32643a90a160ae5470645a44d431e1da34ff0ec7..b64ffabcab87507cec2bd14ceeafb78e1349d284 100644 --- a/lib/libc/include/generic-glibc/sys/timerfd.h +++ b/lib/libc/include/generic-glibc/sys/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/times.h b/lib/libc/include/generic-glibc/sys/times.h index 5bd2a0b76107268feaf595e0158f838ca7d785cb..0170b4e080ff8d8d8422199f02dce1e7235382b7 100644 --- a/lib/libc/include/generic-glibc/sys/times.h +++ b/lib/libc/include/generic-glibc/sys/times.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/timex.h b/lib/libc/include/generic-glibc/sys/timex.h index 2ca80d7baf14bc2458abfe675bdd121a39dcbac7..2754e0392fac463605c8d37cf887ca66900cdee4 100644 --- a/lib/libc/include/generic-glibc/sys/timex.h +++ b/lib/libc/include/generic-glibc/sys/timex.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -55,26 +55,26 @@ struct ntptimeval __BEGIN_DECLS #ifndef __USE_TIME_BITS64 -extern int adjtimex (struct timex *__ntx) __THROW; -extern int ntp_gettimex (struct ntptimeval *__ntv) __THROW; +extern int adjtimex (struct timex *__ntx) __THROW __nonnull ((1)); +extern int ntp_gettimex (struct ntptimeval *__ntv) __THROW __nonnull ((1)); # ifdef __REDIRECT_NTH extern int __REDIRECT_NTH (ntp_gettime, (struct ntptimeval *__ntv), - ntp_gettimex); + ntp_gettimex) __nonnull ((1)); # else # define ntp_gettime ntp_gettimex # endif -extern int ntp_adjtime (struct timex *__tntx) __THROW; +extern int ntp_adjtime (struct timex *__tntx) __THROW __nonnull ((1)); #else # ifdef __REDIRECT_NTH extern int __REDIRECT_NTH (adjtimex, (struct timex *__ntx), - ___adjtimex64); + ___adjtimex64) __nonnull ((1)); extern int __REDIRECT_NTH (ntp_gettime, (struct ntptimeval *__ntv), - __ntp_gettime64); + __ntp_gettime64) __nonnull ((1)); extern int __REDIRECT_NTH (ntp_gettimex, (struct ntptimeval *__ntv), - __ntp_gettimex64); + __ntp_gettimex64) __nonnull ((1)); extern int __REDIRECT_NTH (ntp_adjtime, (struct timex *__ntx), - ___adjtimex64); + ___adjtimex64) __nonnull ((1)); # else # define adjtimex ___adjtimex64 # define ntp_adjtime ___adjtimex64 diff --git a/lib/libc/include/generic-glibc/sys/types.h b/lib/libc/include/generic-glibc/sys/types.h index a604bba497ab9d566c74ececac7fedf63ea764a1..5a2bb5d8240212a54aaf7615417efc6d855cd748 100644 --- a/lib/libc/include/generic-glibc/sys/types.h +++ b/lib/libc/include/generic-glibc/sys/types.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/ucontext.h b/lib/libc/include/generic-glibc/sys/ucontext.h index 1b0186693a3eab7140877b937bb6b80c96038059..ebd085c5680d569f48adbc53a185b87e64c8e6a3 100644 --- a/lib/libc/include/generic-glibc/sys/ucontext.h +++ b/lib/libc/include/generic-glibc/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/generic-glibc/sys/uio.h b/lib/libc/include/generic-glibc/sys/uio.h index 8a8846a5de407a0070bc5273ee36e27973ae3fa6..f01744a0b7b9d23253e0fd77f16e827f61d4a137 100644 --- a/lib/libc/include/generic-glibc/sys/uio.h +++ b/lib/libc/include/generic-glibc/sys/uio.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/un.h b/lib/libc/include/generic-glibc/sys/un.h index 76b80cfa9d277b7f89607d0cce75a2f7c0539f4d..bf87d46495db394e03249479e1e9f031755eaef9 100644 --- a/lib/libc/include/generic-glibc/sys/un.h +++ b/lib/libc/include/generic-glibc/sys/un.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -34,10 +34,11 @@ struct sockaddr_un #ifdef __USE_MISC +# include # include /* For prototype of `strlen'. */ /* Evaluate to actual length of the `sockaddr_un' structure. */ -# define SUN_LEN(ptr) ((size_t) (((struct sockaddr_un *) 0)->sun_path) \ +# define SUN_LEN(ptr) (offsetof (struct sockaddr_un, sun_path) \ + strlen ((ptr)->sun_path)) #endif diff --git a/lib/libc/include/generic-glibc/sys/user.h b/lib/libc/include/generic-glibc/sys/user.h index 552a40bd26143b1db74b16fd432ba09b8a9c477d..128ccc11a6aca4c0a17f46db0e2e82f64d4f818f 100644 --- a/lib/libc/include/generic-glibc/sys/user.h +++ b/lib/libc/include/generic-glibc/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/utsname.h b/lib/libc/include/generic-glibc/sys/utsname.h index 4321db26ce5e3a86735a3914e601fb1e07b8e70f..2e840965c8c140b5e25536a472ec91676173e090 100644 --- a/lib/libc/include/generic-glibc/sys/utsname.h +++ b/lib/libc/include/generic-glibc/sys/utsname.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/vlimit.h b/lib/libc/include/generic-glibc/sys/vlimit.h index 6844873042760a7bdca26012ae7a777002a756d2..25bf52679686861fe03f3135a6d78e7c93fa8f67 100644 --- a/lib/libc/include/generic-glibc/sys/vlimit.h +++ b/lib/libc/include/generic-glibc/sys/vlimit.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/vm86.h b/lib/libc/include/generic-glibc/sys/vm86.h index a245bfd2ffa3681d65111106e821af7fbdfb6fd0..474c120bb0a857106753816ae6f9d7615db2c08e 100644 --- a/lib/libc/include/generic-glibc/sys/vm86.h +++ b/lib/libc/include/generic-glibc/sys/vm86.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/sys/wait.h b/lib/libc/include/generic-glibc/sys/wait.h index 17d2be0a62195be1c8c9fa4fe408262023379999..8437391ea20cb20453085f06c53f9834ac25dddb 100644 --- a/lib/libc/include/generic-glibc/sys/wait.h +++ b/lib/libc/include/generic-glibc/sys/wait.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -71,12 +71,7 @@ typedef __pid_t pid_t; /* The following values are used by the `waitid' function. */ #if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -typedef enum -{ - P_ALL, /* Wait for any child. */ - P_PID, /* Wait for specified process. */ - P_PGID /* Wait for members of process group. */ -} idtype_t; +# include #endif diff --git a/lib/libc/include/generic-glibc/sys/xattr.h b/lib/libc/include/generic-glibc/sys/xattr.h index 43eaa7f42bcb3de7e9fedb2b7bdef2288a247ff5..ba6cf21f6c4d63b9e2c90a272d79d9cc9718b1cf 100644 --- a/lib/libc/include/generic-glibc/sys/xattr.h +++ b/lib/libc/include/generic-glibc/sys/xattr.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -40,52 +40,56 @@ enum is SIZE bytes long). Return 0 on success, -1 for errors. */ extern int setxattr (const char *__path, const char *__name, const void *__value, size_t __size, int __flags) - __THROW; + __THROW __attr_access ((__read_only__, 3, 4)); /* Set the attribute NAME of the file pointed to by PATH to VALUE (which is SIZE bytes long), not following symlinks for the last pathname component. Return 0 on success, -1 for errors. */ extern int lsetxattr (const char *__path, const char *__name, const void *__value, size_t __size, int __flags) - __THROW; + __THROW __attr_access ((__read_only__, 3, 4)); /* Set the attribute NAME of the file descriptor FD to VALUE (which is SIZE bytes long). Return 0 on success, -1 for errors. */ extern int fsetxattr (int __fd, const char *__name, const void *__value, - size_t __size, int __flags) __THROW; + size_t __size, int __flags) + __THROW __attr_access ((__read_only__, 3, 4)); /* Get the attribute NAME of the file pointed to by PATH to VALUE (which is SIZE bytes long). Return 0 on success, -1 for errors. */ extern ssize_t getxattr (const char *__path, const char *__name, - void *__value, size_t __size) __THROW; + void *__value, size_t __size) + __THROW __attr_access ((__write_only__, 3, 4)); /* Get the attribute NAME of the file pointed to by PATH to VALUE (which is SIZE bytes long), not following symlinks for the last pathname component. Return 0 on success, -1 for errors. */ extern ssize_t lgetxattr (const char *__path, const char *__name, - void *__value, size_t __size) __THROW; + void *__value, size_t __size) + __THROW __attr_access ((__write_only__, 3, 4)); /* Get the attribute NAME of the file descriptor FD to VALUE (which is SIZE bytes long). Return 0 on success, -1 for errors. */ extern ssize_t fgetxattr (int __fd, const char *__name, void *__value, - size_t __size) __THROW; + size_t __size) + __THROW __attr_access ((__write_only__, 3, 4)); /* List attributes of the file pointed to by PATH into the user-supplied buffer LIST (which is SIZE bytes big). Return 0 on success, -1 for errors. */ extern ssize_t listxattr (const char *__path, char *__list, size_t __size) - __THROW; + __THROW __attr_access ((__write_only__, 2, 3)); /* List attributes of the file pointed to by PATH into the user-supplied buffer LIST (which is SIZE bytes big), not following symlinks for the last pathname component. Return 0 on success, -1 for errors. */ extern ssize_t llistxattr (const char *__path, char *__list, size_t __size) - __THROW; + __THROW __attr_access ((__write_only__, 2, 3)); /* List attributes of the file descriptor FD into the user-supplied buffer LIST (which is SIZE bytes big). Return 0 on success, -1 for errors. */ extern ssize_t flistxattr (int __fd, char *__list, size_t __size) - __THROW; + __THROW __attr_access ((__write_only__, 2, 3)); /* Remove the attribute NAME from the file pointed to by PATH. Return 0 on success, -1 for errors. */ diff --git a/lib/libc/include/generic-glibc/tar.h b/lib/libc/include/generic-glibc/tar.h index 5cd319e639ef562efe7eee761db5e2c8b3d4597a..f98994ec58045cf04859f65264149a0808c3de6a 100644 --- a/lib/libc/include/generic-glibc/tar.h +++ b/lib/libc/include/generic-glibc/tar.h @@ -1,7 +1,6 @@ /* Extended tar format from POSIX.1. - Copyright (C) 1992-2021 Free Software Foundation, Inc. + Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Written by David J. MacKenzie. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/generic-glibc/termios.h b/lib/libc/include/generic-glibc/termios.h index a06c147e9c811f3c7fd7ffa59cd8878fdcb9984e..5d42f1aeb0b4e915d65a9739489a593fe241d8fc 100644 --- a/lib/libc/include/generic-glibc/termios.h +++ b/lib/libc/include/generic-glibc/termios.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/tgmath.h b/lib/libc/include/generic-glibc/tgmath.h index 9be123c91e5cc746ea68fa9efd4c75ef0ef3b7ec..c7378a1f75c028e7e2b4bc10d58e20176e4ee632 100644 --- a/lib/libc/include/generic-glibc/tgmath.h +++ b/lib/libc/include/generic-glibc/tgmath.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -37,9 +37,17 @@ for older GCC, using other compiler extensions but with macros expanding their arguments many times (so resulting in exponential blowup of the size of expansions when calls to such macros are - nested inside arguments to such macros). */ + nested inside arguments to such macros). Because of a long series + of defect fixes made after the initial release of TS 18661-1, GCC + versions before GCC 13 have __builtin_tgmath semantics that, when + integer arguments are passed to narrowing macros returning + _Float32x, or non-narrowing macros with at least two generic + arguments, do not always correspond to the C2X semantics, so more + complicated macro definitions are also used in some cases for + versions from GCC 8 to GCC 12. */ #define __HAVE_BUILTIN_TGMATH __GNUC_PREREQ (8, 0) +#define __HAVE_BUILTIN_TGMATH_C2X __GNUC_PREREQ (13, 0) #if __GNUC_PREREQ (2, 7) @@ -53,13 +61,25 @@ || (__HAVE_FLOAT128 && !__HAVE_FLOAT64X)) # error "Unsupported combination of types for ." # endif +# define __TGMATH_1_NARROW_D(F, X) \ + (F ## l (X)) # define __TGMATH_2_NARROW_D(F, X, Y) \ (F ## l (X, Y)) +# define __TGMATH_3_NARROW_D(F, X, Y, Z) \ + (F ## l (X, Y, Z)) +# define __TGMATH_1_NARROW_F64X(F, X) \ + (F ## f128 (X)) # define __TGMATH_2_NARROW_F64X(F, X, Y) \ (F ## f128 (X, Y)) +# define __TGMATH_3_NARROW_F64X(F, X, Y, Z) \ + (F ## f128 (X, Y, Z)) # if !__HAVE_FLOAT128 +# define __TGMATH_1_NARROW_F32X(F, X) \ + (F ## f64 (X)) # define __TGMATH_2_NARROW_F32X(F, X, Y) \ (F ## f64 (X, Y)) +# define __TGMATH_3_NARROW_F32X(F, X, Y, Z) \ + (F ## f64 (X, Y, Z)) # endif # if __HAVE_BUILTIN_TGMATH @@ -127,21 +147,42 @@ __TG_F64X_ARG (X) __TG_F128X_ARG (X) \ __TG_F64_ARG (X) __TG_F128_ARG (X) +# define __TGMATH_1_NARROW_F(F, X) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F (F) (X)) # define __TGMATH_2_NARROW_F(F, X, Y) \ __builtin_tgmath (__TGMATH_NARROW_FUNCS_F (F) (X), (Y)) +# define __TGMATH_3_NARROW_F(F, X, Y, Z) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F (F) (X), (Y), (Z)) +# define __TGMATH_1_NARROW_F16(F, X) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F16 (F) (X)) # define __TGMATH_2_NARROW_F16(F, X, Y) \ __builtin_tgmath (__TGMATH_NARROW_FUNCS_F16 (F) (X), (Y)) +# define __TGMATH_3_NARROW_F16(F, X, Y, Z) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F16 (F) (X), (Y), (Z)) +# define __TGMATH_1_NARROW_F32(F, X) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32 (F) (X)) # define __TGMATH_2_NARROW_F32(F, X, Y) \ __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32 (F) (X), (Y)) +# define __TGMATH_3_NARROW_F32(F, X, Y, Z) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32 (F) (X), (Y), (Z)) +# define __TGMATH_1_NARROW_F64(F, X) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F64 (F) (X)) # define __TGMATH_2_NARROW_F64(F, X, Y) \ __builtin_tgmath (__TGMATH_NARROW_FUNCS_F64 (F) (X), (Y)) -# if __HAVE_FLOAT128 +# define __TGMATH_3_NARROW_F64(F, X, Y, Z) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F64 (F) (X), (Y), (Z)) +# if __HAVE_FLOAT128 && __HAVE_BUILTIN_TGMATH_C2X +# define __TGMATH_1_NARROW_F32X(F, X) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32X (F) (X)) # define __TGMATH_2_NARROW_F32X(F, X, Y) \ __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32X (F) (X), (Y)) +# define __TGMATH_3_NARROW_F32X(F, X, Y, Z) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32X (F) (X), (Y), (Z)) # endif -# else /* !__HAVE_BUILTIN_TGMATH. */ +# endif +# if !__HAVE_BUILTIN_TGMATH_C2X # ifdef __NO_LONG_DOUBLE_MATH # define __tgml(fct) fct # else @@ -181,13 +222,17 @@ /* Whether an expression (of arithmetic type) has a real type. */ # define __expr_is_real(E) (__builtin_classify_type (E) != 9) +/* Type T1 if E is 1, type T2 is E is 0. */ +# define __tgmath_type_if(T1, T2, E) \ + __typeof__ (*(0 ? (__typeof__ (0 ? (T2 *) 0 : (void *) (E))) 0 \ + : (__typeof__ (0 ? (T1 *) 0 : (void *) (!(E)))) 0)) + /* The tgmath real type for T, where E is 0 if T is an integer type and 1 for a floating type. If T has a complex type, it is unspecified whether the return type is real or complex (but it has the correct corresponding real type). */ # define __tgmath_real_type_sub(T, E) \ - __typeof__ (*(0 ? (__typeof__ (0 ? (double *) 0 : (void *) (E))) 0 \ - : (__typeof__ (0 ? (T *) 0 : (void *) (!(E)))) 0)) + __tgmath_type_if (T, double, E) /* The tgmath real type of EXPR. */ # define __tgmath_real_type(expr) \ @@ -215,6 +260,56 @@ __real_integer_type (__typeof__ (+(expr))), \ __complex_integer_type (__typeof__ (+(expr)))) +/* The tgmath real type of EXPR1 combined with EXPR2, without handling + the C2X rule of interpreting integer arguments as _Float32x if any + argument is _FloatNx. */ +# define __tgmath_real_type2_base(expr1, expr2) \ + __typeof ((__tgmath_real_type (expr1)) 0 + (__tgmath_real_type (expr2)) 0) + +/* The tgmath complex type of EXPR1 combined with EXPR2, without + handling the C2X rule of interpreting integer arguments as + _Float32x if any argument is _FloatNx. */ +# define __tgmath_complex_type2_base(expr1, expr2) \ + __typeof ((__tgmath_complex_type (expr1)) 0 \ + + (__tgmath_complex_type (expr2)) 0) + +/* The tgmath real type of EXPR1 combined with EXPR2 and EXPR3, + without handling the C2X rule of interpreting integer arguments as + _Float32x if any argument is _FloatNx. */ +# define __tgmath_real_type3_base(expr1, expr2, expr3) \ + __typeof ((__tgmath_real_type (expr1)) 0 \ + + (__tgmath_real_type (expr2)) 0 \ + + (__tgmath_real_type (expr3)) 0) + +/* The tgmath real or complex type of EXPR1 combined with EXPR2 (and + EXPR3 if applicable). */ +# if __HAVE_FLOATN_NOT_TYPEDEF +# define __tgmath_real_type2(expr1, expr2) \ + __tgmath_type_if (_Float32x, __tgmath_real_type2_base (expr1, expr2), \ + _Generic ((expr1) + (expr2), _Float32x: 1, default: 0)) +# define __tgmath_complex_type2(expr1, expr2) \ + __tgmath_type_if (_Float32x, \ + __tgmath_type_if (_Complex _Float32x, \ + __tgmath_complex_type2_base (expr1, \ + expr2), \ + _Generic ((expr1) + (expr2), \ + _Complex _Float32x: 1, \ + default: 0)), \ + _Generic ((expr1) + (expr2), _Float32x: 1, default: 0)) +# define __tgmath_real_type3(expr1, expr2, expr3) \ + __tgmath_type_if (_Float32x, \ + __tgmath_real_type3_base (expr1, expr2, expr3), \ + _Generic ((expr1) + (expr2) + (expr3), \ + _Float32x: 1, default: 0)) +# else +# define __tgmath_real_type2(expr1, expr2) \ + __tgmath_real_type2_base (expr1, expr2) +# define __tgmath_complex_type2(expr1, expr2) \ + __tgmath_complex_type2_base (expr1, expr2) +# define __tgmath_real_type3(expr1, expr2, expr3) \ + __tgmath_real_type3_base (expr1, expr2, expr3) +# endif + # if (__HAVE_DISTINCT_FLOAT16 \ || __HAVE_DISTINCT_FLOAT32 \ || __HAVE_DISTINCT_FLOAT64 \ @@ -226,7 +321,10 @@ /* Expand to text that checks if ARG_COMB has type _Float128, and if so calls the appropriately suffixed FCT (which may include a cast), - or FCT and CFCT for complex functions, with arguments ARG_CALL. */ + or FCT and CFCT for complex functions, with arguments ARG_CALL. + __TGMATH_F128LD (only used in the __HAVE_FLOAT64X_LONG_DOUBLE case, + for narrowing macros) handles long double the same as + _Float128. */ # if __HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) # if (!__HAVE_FLOAT64X \ || __HAVE_FLOAT64X_LONG_DOUBLE \ @@ -234,6 +332,10 @@ # define __TGMATH_F128(arg_comb, fct, arg_call) \ __builtin_types_compatible_p (__typeof (+(arg_comb)), _Float128) \ ? fct ## f128 arg_call : +# define __TGMATH_F128LD(arg_comb, fct, arg_call) \ + (__builtin_types_compatible_p (__typeof (+(arg_comb)), _Float128) \ + || __builtin_types_compatible_p (__typeof (+(arg_comb)), long double)) \ + ? fct ## f128 arg_call : # define __TGMATH_CF128(arg_comb, fct, cfct, arg_call) \ __builtin_types_compatible_p (__typeof (+__real__ (arg_comb)), _Float128) \ ? (__expr_is_real (arg_comb) \ @@ -259,7 +361,7 @@ # define __TGMATH_CF128(arg_comb, fct, cfct, arg_call) /* Nothing. */ # endif -# endif /* !__HAVE_BUILTIN_TGMATH. */ +# endif /* !__HAVE_BUILTIN_TGMATH_C2X. */ /* We have two kinds of generic macros: to support functions which are only defined on real valued parameters and those which are defined @@ -272,14 +374,18 @@ __TGMATH_2 (Fct, (Val1), (Val2)) # define __TGMATH_BINARY_FIRST_REAL_STD_ONLY(Val1, Val2, Fct) \ __TGMATH_2STD (Fct, (Val1), (Val2)) -# define __TGMATH_BINARY_REAL_ONLY(Val1, Val2, Fct) \ +# if __HAVE_BUILTIN_TGMATH_C2X +# define __TGMATH_BINARY_REAL_ONLY(Val1, Val2, Fct) \ __TGMATH_2 (Fct, (Val1), (Val2)) +# endif # define __TGMATH_BINARY_REAL_STD_ONLY(Val1, Val2, Fct) \ __TGMATH_2STD (Fct, (Val1), (Val2)) -# define __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY(Val1, Val2, Val3, Fct) \ +# if __HAVE_BUILTIN_TGMATH_C2X +# define __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY(Val1, Val2, Val3, Fct) \ __TGMATH_3 (Fct, (Val1), (Val2), (Val3)) -# define __TGMATH_TERNARY_REAL_ONLY(Val1, Val2, Val3, Fct) \ +# define __TGMATH_TERNARY_REAL_ONLY(Val1, Val2, Val3, Fct) \ __TGMATH_3 (Fct, (Val1), (Val2), (Val3)) +# endif # define __TGMATH_TERNARY_FIRST_REAL_RET_ONLY(Val1, Val2, Val3, Fct) \ __TGMATH_3 (Fct, (Val1), (Val2), (Val3)) # define __TGMATH_UNARY_REAL_IMAG(Val, Fct, Cfct) \ @@ -289,11 +395,14 @@ __TGMATH_1C (Fct, Cfct, (Val)) # define __TGMATH_UNARY_REAL_IMAG_RET_REAL_SAME(Val, Cfct) \ __TGMATH_1 (Cfct, (Val)) -# define __TGMATH_BINARY_REAL_IMAG(Val1, Val2, Fct, Cfct) \ +# if __HAVE_BUILTIN_TGMATH_C2X +# define __TGMATH_BINARY_REAL_IMAG(Val1, Val2, Fct, Cfct) \ __TGMATH_2C (Fct, Cfct, (Val1), (Val2)) +# endif -# else /* !__HAVE_BUILTIN_TGMATH. */ +# endif +# if !__HAVE_BUILTIN_TGMATH # define __TGMATH_UNARY_REAL_ONLY(Val, Fct) \ (__extension__ ((sizeof (+(Val)) == sizeof (double) \ || __builtin_classify_type (Val) != 8) \ @@ -330,29 +439,28 @@ : (sizeof (+(Val1)) == sizeof (float)) \ ? (__tgmath_real_type (Val1)) Fct##f (Val1, Val2) \ : (__tgmath_real_type (Val1)) __tgml(Fct) (Val1, Val2))) +# endif +# if !__HAVE_BUILTIN_TGMATH_C2X # define __TGMATH_BINARY_REAL_ONLY(Val1, Val2, Fct) \ (__extension__ ((sizeof ((Val1) + (Val2)) > sizeof (double) \ && __builtin_classify_type ((Val1) + (Val2)) == 8) \ ? __TGMATH_F128 ((Val1) + (Val2), \ - (__typeof \ - ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0)) Fct, \ + (__tgmath_real_type2 (Val1, Val2)) Fct, \ (Val1, Val2)) \ - (__typeof ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0)) \ + (__tgmath_real_type2 (Val1, Val2)) \ __tgml(Fct) (Val1, Val2) \ : (sizeof (+(Val1)) == sizeof (double) \ || sizeof (+(Val2)) == sizeof (double) \ || __builtin_classify_type (Val1) != 8 \ || __builtin_classify_type (Val2) != 8) \ - ? (__typeof ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0)) \ + ? (__tgmath_real_type2 (Val1, Val2)) \ Fct (Val1, Val2) \ - : (__typeof ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0)) \ + : (__tgmath_real_type2 (Val1, Val2)) \ Fct##f (Val1, Val2))) +# endif +# if !__HAVE_BUILTIN_TGMATH # define __TGMATH_BINARY_REAL_STD_ONLY(Val1, Val2, Fct) \ (__extension__ ((sizeof ((Val1) + (Val2)) > sizeof (double) \ && __builtin_classify_type ((Val1) + (Val2)) == 8) \ @@ -369,27 +477,24 @@ : (__typeof ((__tgmath_real_type (Val1)) 0 \ + (__tgmath_real_type (Val2)) 0)) \ Fct##f (Val1, Val2))) +# endif +# if !__HAVE_BUILTIN_TGMATH_C2X # define __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY(Val1, Val2, Val3, Fct) \ (__extension__ ((sizeof ((Val1) + (Val2)) > sizeof (double) \ && __builtin_classify_type ((Val1) + (Val2)) == 8) \ ? __TGMATH_F128 ((Val1) + (Val2), \ - (__typeof \ - ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0)) Fct, \ + (__tgmath_real_type2 (Val1, Val2)) Fct, \ (Val1, Val2, Val3)) \ - (__typeof ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0)) \ + (__tgmath_real_type2 (Val1, Val2)) \ __tgml(Fct) (Val1, Val2, Val3) \ : (sizeof (+(Val1)) == sizeof (double) \ || sizeof (+(Val2)) == sizeof (double) \ || __builtin_classify_type (Val1) != 8 \ || __builtin_classify_type (Val2) != 8) \ - ? (__typeof ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0)) \ + ? (__tgmath_real_type2 (Val1, Val2)) \ Fct (Val1, Val2, Val3) \ - : (__typeof ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0)) \ + : (__tgmath_real_type2 (Val1, Val2)) \ Fct##f (Val1, Val2, Val3))) # define __TGMATH_TERNARY_REAL_ONLY(Val1, Val2, Val3, Fct) \ @@ -397,14 +502,10 @@ && __builtin_classify_type ((Val1) + (Val2) + (Val3)) \ == 8) \ ? __TGMATH_F128 ((Val1) + (Val2) + (Val3), \ - (__typeof \ - ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0 \ - + (__tgmath_real_type (Val3)) 0)) Fct, \ + (__tgmath_real_type3 (Val1, Val2, \ + Val3)) Fct, \ (Val1, Val2, Val3)) \ - (__typeof ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0 \ - + (__tgmath_real_type (Val3)) 0)) \ + (__tgmath_real_type3 (Val1, Val2, Val3)) \ __tgml(Fct) (Val1, Val2, Val3) \ : (sizeof (+(Val1)) == sizeof (double) \ || sizeof (+(Val2)) == sizeof (double) \ @@ -412,15 +513,13 @@ || __builtin_classify_type (Val1) != 8 \ || __builtin_classify_type (Val2) != 8 \ || __builtin_classify_type (Val3) != 8) \ - ? (__typeof ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0 \ - + (__tgmath_real_type (Val3)) 0)) \ + ? (__tgmath_real_type3 (Val1, Val2, Val3)) \ Fct (Val1, Val2, Val3) \ - : (__typeof ((__tgmath_real_type (Val1)) 0 \ - + (__tgmath_real_type (Val2)) 0 \ - + (__tgmath_real_type (Val3)) 0)) \ + : (__tgmath_real_type3 (Val1, Val2, Val3)) \ Fct##f (Val1, Val2, Val3))) +# endif +# if !__HAVE_BUILTIN_TGMATH # define __TGMATH_TERNARY_FIRST_REAL_RET_ONLY(Val1, Val2, Val3, Fct) \ (__extension__ ((sizeof (+(Val1)) == sizeof (double) \ || __builtin_classify_type (Val1) != 8) \ @@ -496,7 +595,9 @@ __tgml(Cfct) (Val)))) # define __TGMATH_UNARY_REAL_IMAG_RET_REAL_SAME(Val, Cfct) \ __TGMATH_UNARY_REAL_IMAG_RET_REAL ((Val), Cfct, Cfct) +# endif +# if !__HAVE_BUILTIN_TGMATH_C2X /* XXX This definition has to be changed as soon as the compiler understands the imaginary keyword. */ # define __TGMATH_BINARY_REAL_IMAG(Val1, Val2, Fct, Cfct) \ @@ -505,46 +606,49 @@ && __builtin_classify_type (__real__ (Val1) \ + __real__ (Val2)) == 8) \ ? __TGMATH_CF128 ((Val1) + (Val2), \ - (__typeof \ - ((__tgmath_complex_type (Val1)) 0 \ - + (__tgmath_complex_type (Val2)) 0)) \ + (__tgmath_complex_type2 (Val1, Val2)) \ Fct, \ - (__typeof \ - ((__tgmath_complex_type (Val1)) 0 \ - + (__tgmath_complex_type (Val2)) 0)) \ + (__tgmath_complex_type2 (Val1, Val2)) \ Cfct, \ (Val1, Val2)) \ (__expr_is_real ((Val1) + (Val2)) \ - ? (__typeof ((__tgmath_complex_type (Val1)) 0 \ - + (__tgmath_complex_type (Val2)) 0)) \ + ? (__tgmath_complex_type2 (Val1, Val2)) \ __tgml(Fct) (Val1, Val2) \ - : (__typeof ((__tgmath_complex_type (Val1)) 0 \ - + (__tgmath_complex_type (Val2)) 0)) \ + : (__tgmath_complex_type2 (Val1, Val2)) \ __tgml(Cfct) (Val1, Val2)) \ : (sizeof (+__real__ (Val1)) == sizeof (double) \ || sizeof (+__real__ (Val2)) == sizeof (double) \ || __builtin_classify_type (__real__ (Val1)) != 8 \ || __builtin_classify_type (__real__ (Val2)) != 8) \ ? (__expr_is_real ((Val1) + (Val2)) \ - ? (__typeof ((__tgmath_complex_type (Val1)) 0 \ - + (__tgmath_complex_type (Val2)) 0)) \ + ? (__tgmath_complex_type2 (Val1, Val2)) \ Fct (Val1, Val2) \ - : (__typeof ((__tgmath_complex_type (Val1)) 0 \ - + (__tgmath_complex_type (Val2)) 0)) \ + : (__tgmath_complex_type2 (Val1, Val2)) \ Cfct (Val1, Val2)) \ : (__expr_is_real ((Val1) + (Val2)) \ - ? (__typeof ((__tgmath_complex_type (Val1)) 0 \ - + (__tgmath_complex_type (Val2)) 0)) \ + ? (__tgmath_complex_type2 (Val1, Val2)) \ Fct##f (Val1, Val2) \ - : (__typeof ((__tgmath_complex_type (Val1)) 0 \ - + (__tgmath_complex_type (Val2)) 0)) \ + : (__tgmath_complex_type2 (Val1, Val2)) \ Cfct##f (Val1, Val2)))) +# endif +# if !__HAVE_BUILTIN_TGMATH +# define __TGMATH_1_NARROW_F(F, X) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (double) \ + ? F ## l (X) \ + : F (X))) # define __TGMATH_2_NARROW_F(F, X, Y) \ (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + (__tgmath_real_type (Y)) 0) > sizeof (double) \ ? F ## l (X, Y) \ : F (X, Y))) +# define __TGMATH_3_NARROW_F(F, X, Y, Z) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0 \ + + (__tgmath_real_type (Z)) 0) > sizeof (double) \ + ? F ## l (X, Y, Z) \ + : F (X, Y, Z))) +# endif /* In most cases, these narrowing macro definitions based on sizeof ensure that the function called has the right argument format, as for other macros for compilers before GCC 8, but may not @@ -553,52 +657,140 @@ In the case of macros for _Float32x return type, when _Float64x exists, _Float64 arguments should result in the *f64 function being - called while _Float32x arguments should result in the *f64x - function being called. These cases cannot be distinguished using - sizeof (or at all if the types are typedefs rather than different - types). However, for these functions it is OK (does not affect the - final result) to call a function with any argument format at least - as wide as all the floating-point arguments, unless that affects - rounding of integer arguments. Integer arguments are considered to - have type _Float64, so the *f64 functions are preferred for f32x* - macros when no argument has a wider floating-point type. */ -# if __HAVE_FLOAT64X_LONG_DOUBLE && __HAVE_DISTINCT_FLOAT128 + called while _Float32x, float and double arguments should result in + the *f64x function being called (and integer arguments are + considered to have type _Float32x if any argument has type + _FloatNx, or double otherwise). These cases cannot be + distinguished using sizeof (or at all if the types are typedefs + rather than different types, in which case we err on the side of + using the wider type if unsure). */ +# if !__HAVE_BUILTIN_TGMATH_C2X +# if __HAVE_FLOATN_NOT_TYPEDEF +# define __TGMATH_NARROW_F32X_USE_F64X(X) \ + !__builtin_types_compatible_p (__typeof (+(X)), _Float64) +# else +# define __TGMATH_NARROW_F32X_USE_F64X(X) \ + (__builtin_types_compatible_p (__typeof (+(X)), double) \ + || __builtin_types_compatible_p (__typeof (+(X)), float) \ + || !__floating_type (__typeof (+(X)))) +# endif +# endif +# if __HAVE_FLOAT64X_LONG_DOUBLE && __HAVE_DISTINCT_FLOAT128 +# if !__HAVE_BUILTIN_TGMATH +# define __TGMATH_1_NARROW_F32(F, X) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (_Float64) \ + ? __TGMATH_F128LD ((X), F, (X)) \ + F ## f64x (X) \ + : F ## f64 (X))) # define __TGMATH_2_NARROW_F32(F, X, Y) \ (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + (__tgmath_real_type (Y)) 0) > sizeof (_Float64) \ - ? __TGMATH_F128 ((X) + (Y), F, (X, Y)) \ + ? __TGMATH_F128LD ((X) + (Y), F, (X, Y)) \ F ## f64x (X, Y) \ : F ## f64 (X, Y))) +# define __TGMATH_3_NARROW_F32(F, X, Y, Z) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0 \ + + (__tgmath_real_type (Z)) 0) > sizeof (_Float64) \ + ? __TGMATH_F128LD ((X) + (Y) + (Z), F, (X, Y, Z)) \ + F ## f64x (X, Y, Z) \ + : F ## f64 (X, Y, Z))) +# define __TGMATH_1_NARROW_F64(F, X) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (_Float64) \ + ? __TGMATH_F128LD ((X), F, (X)) \ + F ## f64x (X) \ + : F ## f128 (X))) # define __TGMATH_2_NARROW_F64(F, X, Y) \ (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + (__tgmath_real_type (Y)) 0) > sizeof (_Float64) \ - ? __TGMATH_F128 ((X) + (Y), F, (X, Y)) \ + ? __TGMATH_F128LD ((X) + (Y), F, (X, Y)) \ F ## f64x (X, Y) \ : F ## f128 (X, Y))) +# define __TGMATH_3_NARROW_F64(F, X, Y, Z) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0 \ + + (__tgmath_real_type (Z)) 0) > sizeof (_Float64) \ + ? __TGMATH_F128LD ((X) + (Y) + (Z), F, (X, Y, Z)) \ + F ## f64x (X, Y, Z) \ + : F ## f128 (X, Y, Z))) +# endif +# if !__HAVE_BUILTIN_TGMATH_C2X +# define __TGMATH_1_NARROW_F32X(F, X) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (_Float64) \ + || __TGMATH_NARROW_F32X_USE_F64X (X) \ + ? __TGMATH_F128 ((X), F, (X)) \ + F ## f64x (X) \ + : F ## f64 (X))) # define __TGMATH_2_NARROW_F32X(F, X, Y) \ (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + (__tgmath_real_type (Y)) 0) > sizeof (_Float64) \ + || __TGMATH_NARROW_F32X_USE_F64X ((X) + (Y)) \ ? __TGMATH_F128 ((X) + (Y), F, (X, Y)) \ F ## f64x (X, Y) \ : F ## f64 (X, Y))) -# elif __HAVE_FLOAT128 +# define __TGMATH_3_NARROW_F32X(F, X, Y, Z) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0 \ + + (__tgmath_real_type (Z)) 0) > sizeof (_Float64) \ + || __TGMATH_NARROW_F32X_USE_F64X ((X) + (Y) + (Z)) \ + ? __TGMATH_F128 ((X) + (Y) + (Z), F, (X, Y, Z)) \ + F ## f64x (X, Y, Z) \ + : F ## f64 (X, Y, Z))) +# endif +# elif __HAVE_FLOAT128 +# if !__HAVE_BUILTIN_TGMATH +# define __TGMATH_1_NARROW_F32(F, X) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (_Float64) \ + ? F ## f128 (X) \ + : F ## f64 (X))) # define __TGMATH_2_NARROW_F32(F, X, Y) \ (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + (__tgmath_real_type (Y)) 0) > sizeof (_Float64) \ ? F ## f128 (X, Y) \ : F ## f64 (X, Y))) +# define __TGMATH_3_NARROW_F32(F, X, Y, Z) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0 \ + + (__tgmath_real_type (Z)) 0) > sizeof (_Float64) \ + ? F ## f128 (X, Y, Z) \ + : F ## f64 (X, Y, Z))) +# define __TGMATH_1_NARROW_F64(F, X) \ + (F ## f128 (X)) # define __TGMATH_2_NARROW_F64(F, X, Y) \ (F ## f128 (X, Y)) +# define __TGMATH_3_NARROW_F64(F, X, Y, Z) \ + (F ## f128 (X, Y, Z)) +# endif +# if !__HAVE_BUILTIN_TGMATH_C2X +# define __TGMATH_1_NARROW_F32X(F, X) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (_Float32x) \ + || __TGMATH_NARROW_F32X_USE_F64X (X) \ + ? F ## f64x (X) \ + : F ## f64 (X))) # define __TGMATH_2_NARROW_F32X(F, X, Y) \ (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + (__tgmath_real_type (Y)) 0) > sizeof (_Float32x) \ + || __TGMATH_NARROW_F32X_USE_F64X ((X) + (Y)) \ ? F ## f64x (X, Y) \ : F ## f64 (X, Y))) -# else +# define __TGMATH_3_NARROW_F32X(F, X, Y, Z) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0 \ + + (__tgmath_real_type (Z)) 0) > sizeof (_Float32x) \ + || __TGMATH_NARROW_F32X_USE_F64X ((X) + (Y) + (Z)) \ + ? F ## f64x (X, Y, Z) \ + : F ## f64 (X, Y, Z))) +# endif +# else +# if !__HAVE_BUILTIN_TGMATH +# define __TGMATH_1_NARROW_F32(F, X) \ + (F ## f64 (X)) # define __TGMATH_2_NARROW_F32(F, X, Y) \ (F ## f64 (X, Y)) +# define __TGMATH_3_NARROW_F32(F, X, Y, Z) \ + (F ## f64 (X, Y, Z)) # endif -# endif /* !__HAVE_BUILTIN_TGMATH. */ +# endif #else # error "Unsupported compiler; you cannot use " #endif @@ -679,6 +871,11 @@ /* Compute base-2 logarithm of X. */ #define log2(Val) __TGMATH_UNARY_REAL_ONLY (Val, log2) +#if __GLIBC_USE (IEC_60559_FUNCS_EXT_C2X) +/* Compute exponent to base ten. */ +#define exp10(Val) __TGMATH_UNARY_REAL_ONLY (Val, exp10) +#endif + /* Power functions. */ @@ -764,7 +961,7 @@ #define nexttoward(Val1, Val2) \ __TGMATH_BINARY_FIRST_REAL_STD_ONLY (Val1, Val2, nexttoward) -/* Return the remainder of integer divison X / Y with infinite precision. */ +/* Return the remainder of integer division X / Y with infinite precision. */ #define remainder(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, remainder) /* Return X times (2 to the Nth power). */ @@ -786,11 +983,19 @@ /* Return positive difference between X and Y. */ #define fdim(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fdim) +#if __GLIBC_USE (ISOC2X) && !defined __USE_GNU /* Return maximum numeric value from X and Y. */ -#define fmax(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmax) +# define fmax(Val1, Val2) __TGMATH_BINARY_REAL_STD_ONLY (Val1, Val2, fmax) /* Return minimum numeric value from X and Y. */ -#define fmin(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmin) +# define fmin(Val1, Val2) __TGMATH_BINARY_REAL_STD_ONLY (Val1, Val2, fmin) +#else +/* Return maximum numeric value from X and Y. */ +# define fmax(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmax) + +/* Return minimum numeric value from X and Y. */ +# define fmin(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmin) +#endif /* Multiply-add function computed as a ternary operation. */ @@ -815,7 +1020,9 @@ /* Like ilogb, but returning long int. */ # define llogb(Val) __TGMATH_UNARY_REAL_RET_ONLY (Val, llogb) +#endif +#if __GLIBC_USE (IEC_60559_BFP_EXT) /* Return value with maximum magnitude. */ # define fmaxmag(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmaxmag) @@ -823,6 +1030,38 @@ # define fminmag(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fminmag) #endif +#if __GLIBC_USE (ISOC2X) +/* Return maximum value from X and Y. */ +# define fmaximum(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmaximum) + +/* Return minimum value from X and Y. */ +# define fminimum(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fminimum) + +/* Return maximum numeric value from X and Y. */ +# define fmaximum_num(Val1, Val2) \ + __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmaximum_num) + +/* Return minimum numeric value from X and Y. */ +# define fminimum_num(Val1, Val2) \ + __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fminimum_num) + +/* Return value with maximum magnitude. */ +# define fmaximum_mag(Val1, Val2) \ + __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmaximum_mag) + +/* Return value with minimum magnitude. */ +# define fminimum_mag(Val1, Val2) \ + __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fminimum_mag) + +/* Return numeric value with maximum magnitude. */ +# define fmaximum_mag_num(Val1, Val2) \ + __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmaximum_mag_num) + +/* Return numeric value with minimum magnitude. */ +# define fminimum_mag_num(Val1, Val2) \ + __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fminimum_mag_num) +#endif + /* Absolute value, conjugates, and projection. */ @@ -865,6 +1104,14 @@ # define fsub(Val1, Val2) __TGMATH_2_NARROW_F (fsub, Val1, Val2) # define dsub(Val1, Val2) __TGMATH_2_NARROW_D (dsub, Val1, Val2) +/* Square root. */ +# define fsqrt(Val) __TGMATH_1_NARROW_F (fsqrt, Val) +# define dsqrt(Val) __TGMATH_1_NARROW_D (dsqrt, Val) + +/* Fused multiply-add. */ +# define ffma(Val1, Val2, Val3) __TGMATH_3_NARROW_F (ffma, Val1, Val2, Val3) +# define dfma(Val1, Val2, Val3) __TGMATH_3_NARROW_D (dfma, Val1, Val2, Val3) + #endif #if __GLIBC_USE (IEC_60559_TYPES_EXT) @@ -874,6 +1121,9 @@ # define f16div(Val1, Val2) __TGMATH_2_NARROW_F16 (f16div, Val1, Val2) # define f16mul(Val1, Val2) __TGMATH_2_NARROW_F16 (f16mul, Val1, Val2) # define f16sub(Val1, Val2) __TGMATH_2_NARROW_F16 (f16sub, Val1, Val2) +# define f16sqrt(Val) __TGMATH_1_NARROW_F16 (f16sqrt, Val) +# define f16fma(Val1, Val2, Val3) \ + __TGMATH_3_NARROW_F16 (f16fma, Val1, Val2, Val3) # endif # if __HAVE_FLOAT32 @@ -881,6 +1131,9 @@ # define f32div(Val1, Val2) __TGMATH_2_NARROW_F32 (f32div, Val1, Val2) # define f32mul(Val1, Val2) __TGMATH_2_NARROW_F32 (f32mul, Val1, Val2) # define f32sub(Val1, Val2) __TGMATH_2_NARROW_F32 (f32sub, Val1, Val2) +# define f32sqrt(Val) __TGMATH_1_NARROW_F32 (f32sqrt, Val) +# define f32fma(Val1, Val2, Val3) \ + __TGMATH_3_NARROW_F32 (f32fma, Val1, Val2, Val3) # endif # if __HAVE_FLOAT64 && (__HAVE_FLOAT64X || __HAVE_FLOAT128) @@ -888,6 +1141,9 @@ # define f64div(Val1, Val2) __TGMATH_2_NARROW_F64 (f64div, Val1, Val2) # define f64mul(Val1, Val2) __TGMATH_2_NARROW_F64 (f64mul, Val1, Val2) # define f64sub(Val1, Val2) __TGMATH_2_NARROW_F64 (f64sub, Val1, Val2) +# define f64sqrt(Val) __TGMATH_1_NARROW_F64 (f64sqrt, Val) +# define f64fma(Val1, Val2, Val3) \ + __TGMATH_3_NARROW_F64 (f64fma, Val1, Val2, Val3) # endif # if __HAVE_FLOAT32X @@ -895,6 +1151,9 @@ # define f32xdiv(Val1, Val2) __TGMATH_2_NARROW_F32X (f32xdiv, Val1, Val2) # define f32xmul(Val1, Val2) __TGMATH_2_NARROW_F32X (f32xmul, Val1, Val2) # define f32xsub(Val1, Val2) __TGMATH_2_NARROW_F32X (f32xsub, Val1, Val2) +# define f32xsqrt(Val) __TGMATH_1_NARROW_F32X (f32xsqrt, Val) +# define f32xfma(Val1, Val2, Val3) \ + __TGMATH_3_NARROW_F32X (f32xfma, Val1, Val2, Val3) # endif # if __HAVE_FLOAT64X && (__HAVE_FLOAT128X || __HAVE_FLOAT128) @@ -902,6 +1161,9 @@ # define f64xdiv(Val1, Val2) __TGMATH_2_NARROW_F64X (f64xdiv, Val1, Val2) # define f64xmul(Val1, Val2) __TGMATH_2_NARROW_F64X (f64xmul, Val1, Val2) # define f64xsub(Val1, Val2) __TGMATH_2_NARROW_F64X (f64xsub, Val1, Val2) +# define f64xsqrt(Val) __TGMATH_1_NARROW_F64X (f64xsqrt, Val) +# define f64xfma(Val1, Val2, Val3) \ + __TGMATH_3_NARROW_F64X (f64xfma, Val1, Val2, Val3) # endif #endif diff --git a/lib/libc/include/generic-glibc/thread_db.h b/lib/libc/include/generic-glibc/thread_db.h index 542d3c1dd8d9bae2d1a678d6be824dec4ead8d63..51405a60880eb2d0ffffa40aee0244819093b8f3 100644 --- a/lib/libc/include/generic-glibc/thread_db.h +++ b/lib/libc/include/generic-glibc/thread_db.h @@ -1,5 +1,5 @@ /* thread_db.h -- interface to libthread_db.so library for debugging -lpthread - Copyright (C) 1999-2021 Free Software Foundation, Inc. + Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/threads.h b/lib/libc/include/generic-glibc/threads.h index 4f994324950ee5396278db26beb7ca6d251e5d60..11e0f1949b3f338fe4677fde95f3c2bdb954ebfe 100644 --- a/lib/libc/include/generic-glibc/threads.h +++ b/lib/libc/include/generic-glibc/threads.h @@ -1,5 +1,5 @@ /* ISO C11 Standard: 7.26 - Thread support library . - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -27,7 +27,9 @@ __BEGIN_DECLS #include #include -#ifndef __cplusplus +#if (!defined __STDC_VERSION__ \ + || __STDC_VERSION__ <= 201710L \ + || !__GNUC_PREREQ (13, 0)) && !defined __cplusplus # define thread_local _Thread_local #endif @@ -74,7 +76,7 @@ typedef union /* Threads functions. */ /* Create a new thread executing the function __FUNC. Arguments for __FUNC - are passed through __ARG. If succesful, __THR is set to new thread + are passed through __ARG. If successful, __THR is set to new thread identifier. */ extern int thrd_create (thrd_t *__thr, thrd_start_t __func, void *__arg); diff --git a/lib/libc/include/generic-glibc/time.h b/lib/libc/include/generic-glibc/time.h index 10ad9d992e2b8c5551855011866d4299e77bc7ab..d1da751b913fcee32bd5f37d11d578794b06989a 100644 --- a/lib/libc/include/generic-glibc/time.h +++ b/lib/libc/include/generic-glibc/time.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -99,7 +99,8 @@ extern time_t __REDIRECT_NTH (mktime, (struct tm *__tp), __mktime64); of characters written, or 0 if it would exceed MAXSIZE. */ extern size_t strftime (char *__restrict __s, size_t __maxsize, const char *__restrict __format, - const struct tm *__restrict __tp) __THROW; + const struct tm *__restrict __tp) + __THROW __nonnull((1, 3, 4)); #ifdef __USE_XOPEN /* Parse S according to FORMAT and store binary time information in TP. @@ -214,7 +215,7 @@ extern char *__REDIRECT_NTH (ctime_r, (const time_t *__restrict __timer, /* Defined in localtime.c. */ -extern char *__tzname[2]; /* Current timezone names. */ +extern char *__tzname[2]; /* Current time zone abbreviations. */ extern int __daylight; /* If daylight-saving time is ever in use. */ extern long int __timezone; /* Seconds west of UTC. */ @@ -240,21 +241,30 @@ extern long int timezone; ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0)) +#if defined __USE_MISC || __GLIBC_USE (ISOC2X) +# ifndef __USE_TIME_BITS64 +/* Like `mktime', but for TP represents Universal Time, not local time. */ +extern time_t timegm (struct tm *__tp) __THROW; +# else +# ifdef __REDIRECT_NTH +extern time_t __REDIRECT_NTH (timegm, (struct tm *__tp), __timegm64); +# else +# define timegm __timegm64 +# endif +# endif +#endif + + #ifdef __USE_MISC /* Miscellaneous functions many Unices inherited from the public domain localtime package. These are included only for compatibility. */ #ifndef __USE_TIME_BITS64 -/* Like `mktime', but for TP represents Universal Time, not local time. */ -extern time_t timegm (struct tm *__tp) __THROW; /* Another name for `mktime'. */ extern time_t timelocal (struct tm *__tp) __THROW; #else # ifdef __REDIRECT_NTH -extern time_t __REDIRECT_NTH (timegm, (struct tm *__tp), __timegm64); extern time_t __REDIRECT_NTH (timelocal, (struct tm *__tp), __mktime64); -# else -# define timegm __timegm64 # endif #endif @@ -276,11 +286,12 @@ extern int nanosleep (const struct timespec *__requested_time, extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __THROW; /* Get current value of clock CLOCK_ID and store it in TP. */ -extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __THROW; +extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) + __THROW __nonnull((2)); /* Set clock CLOCK_ID to value TP. */ extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) - __THROW; + __THROW __nonnull((2)); # else # ifdef __REDIRECT extern int __REDIRECT (nanosleep, (const struct timespec *__requested_time, @@ -290,9 +301,11 @@ extern int __REDIRECT_NTH (clock_getres, (clockid_t __clock_id, struct timespec *__res), __clock_getres64); extern int __REDIRECT_NTH (clock_gettime, (clockid_t __clock_id, struct - timespec *__tp), __clock_gettime64); + timespec *__tp), __clock_gettime64) + __nonnull((2)); extern int __REDIRECT_NTH (clock_settime, (clockid_t __clock_id, const struct - timespec *__tp), __clock_settime64); + timespec *__tp), __clock_settime64) + __nonnull((2)); # else # define nanosleep __nanosleep64 # define clock_getres __clock_getres64 diff --git a/lib/libc/include/generic-glibc/uchar.h b/lib/libc/include/generic-glibc/uchar.h index d844d0f4c982cd3f3f93d34503441389a0ce4138..f0ce22f0da2d0a0b2fafc20a28a53e95c185ab64 100644 --- a/lib/libc/include/generic-glibc/uchar.h +++ b/lib/libc/include/generic-glibc/uchar.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2011-2021 Free Software Foundation, Inc. +/* Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -31,6 +31,21 @@ #include #include +/* Declare the C2x char8_t typedef in C2x modes, but only if the C++ + __cpp_char8_t feature test macro is not defined. */ +#if __GLIBC_USE (ISOC2X) && !defined __cpp_char8_t +#if __GNUC_PREREQ (10, 0) && defined __cplusplus +/* Suppress the diagnostic regarding char8_t being a keyword in C++20. */ +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wc++20-compat" +#endif +/* Define the 8-bit character type. */ +typedef unsigned char char8_t; +#if __GNUC_PREREQ (10, 0) && defined __cplusplus +# pragma GCC diagnostic pop +#endif +#endif + #ifndef __USE_ISOCXX11 /* Define the 16-bit and 32-bit character types. */ typedef __uint_least16_t char16_t; @@ -40,6 +55,20 @@ typedef __uint_least32_t char32_t; __BEGIN_DECLS +/* Declare the C2x mbrtoc8() and c8rtomb() functions in C2x modes or if + the C++ __cpp_char8_t feature test macro is defined. */ +#if __GLIBC_USE (ISOC2X) || defined __cpp_char8_t +/* Write char8_t representation of multibyte character pointed + to by S to PC8. */ +extern size_t mbrtoc8 (char8_t *__restrict __pc8, + const char *__restrict __s, size_t __n, + mbstate_t *__restrict __p) __THROW; + +/* Write multibyte representation of char8_t C8 to S. */ +extern size_t c8rtomb (char *__restrict __s, char8_t __c8, + mbstate_t *__restrict __ps) __THROW; +#endif + /* Write char16_t representation of multibyte character pointed to by S to PC16. */ extern size_t mbrtoc16 (char16_t *__restrict __pc16, diff --git a/lib/libc/include/generic-glibc/ucontext.h b/lib/libc/include/generic-glibc/ucontext.h index e2d207ba1a997d0abf44d362c3a8e1c6defddaec..808dfd76cc4cff1cb3b1d0f6c90cfe33336cfbbe 100644 --- a/lib/libc/include/generic-glibc/ucontext.h +++ b/lib/libc/include/generic-glibc/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/ulimit.h b/lib/libc/include/generic-glibc/ulimit.h index cfc34eadd8a4088027969a22c5955382a40741f2..0c9390dadec2e0e934c42eb5f1fce0b5acda4606 100644 --- a/lib/libc/include/generic-glibc/ulimit.h +++ b/lib/libc/include/generic-glibc/ulimit.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/unistd.h b/lib/libc/include/generic-glibc/unistd.h index 61a801716c2213cbd75a05f9b21e955f645ac3eb..5a1e9856dad0f979d736483c25aeddd74ce7ad4b 100644 --- a/lib/libc/include/generic-glibc/unistd.h +++ b/lib/libc/include/generic-glibc/unistd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -369,7 +369,7 @@ extern void closefrom (int __lowfd) __THROW; This function is a cancellation point and therefore not marked with __THROW. */ extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __wur - __attr_access ((__write_only__, 2, 3)); + __fortified_attr_access (__write_only__, 2, 3); /* Write N bytes of BUF to FD. Return the number written, or -1. @@ -388,7 +388,7 @@ extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur __THROW. */ extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset) __wur - __attr_access ((__write_only__, 2, 3)); + __fortified_attr_access (__write_only__, 2, 3); /* Write N bytes of BUF to FD at the given position OFFSET without changing the file pointer. Return the number written, or -1. @@ -404,7 +404,7 @@ extern ssize_t pwrite (int __fd, const void *__buf, size_t __n, extern ssize_t __REDIRECT (pread, (int __fd, void *__buf, size_t __nbytes, __off64_t __offset), pread64) __wur - __attr_access ((__write_only__, 2, 3)); + __fortified_attr_access (__write_only__, 2, 3); extern ssize_t __REDIRECT (pwrite, (int __fd, const void *__buf, size_t __nbytes, __off64_t __offset), pwrite64) __wur @@ -421,7 +421,7 @@ extern ssize_t __REDIRECT (pwrite, (int __fd, const void *__buf, or 0 for EOF. */ extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __wur - __attr_access ((__write_only__, 2, 3)); + __fortified_attr_access (__write_only__, 2, 3); /* Write N bytes of BUF to FD at the given position OFFSET without changing the file pointer. Return the number written, or -1. */ extern ssize_t pwrite64 (int __fd, const void *__buf, size_t __n, @@ -528,8 +528,7 @@ extern int fchdir (int __fd) __THROW __wur; an array is allocated with `malloc'; the array is SIZE bytes long, unless SIZE == 0, in which case it is as big as necessary. */ -extern char *getcwd (char *__buf, size_t __size) __THROW __wur - __attr_access ((__write_only__, 1, 2)); +extern char *getcwd (char *__buf, size_t __size) __THROW __wur; #ifdef __USE_GNU /* Return a malloc'd string containing the current directory name. @@ -643,7 +642,7 @@ extern long int sysconf (int __name) __THROW; #ifdef __USE_POSIX2 /* Get the value of the string-valued system variable NAME. */ extern size_t confstr (int __name, char *__buf, size_t __len) __THROW - __attr_access ((__write_only__, 2, 3)); + __fortified_attr_access (__write_only__, 2, 3); #endif @@ -710,7 +709,7 @@ extern __gid_t getegid (void) __THROW; the calling process is in. Otherwise, fill in the group IDs of its supplementary groups in LIST and return the number written. */ extern int getgroups (int __size, __gid_t __list[]) __THROW __wur - __attr_access ((__write_only__, 2, 1)); + __fortified_attr_access (__write_only__, 2, 1); #ifdef __USE_GNU /* Return nonzero iff the calling process is in group GID. */ extern int group_member (__gid_t __gid) __THROW; @@ -802,7 +801,8 @@ extern char *ttyname (int __fd) __THROW; /* Store at most BUFLEN characters of the pathname of the terminal FD is open on in BUF. Return 0 on success, otherwise an error number. */ extern int ttyname_r (int __fd, char *__buf, size_t __buflen) - __THROW __nonnull ((2)) __wur __attr_access ((__write_only__, 2, 3)); + __THROW __nonnull ((2)) __wur + __fortified_attr_access (__write_only__, 2, 3); /* Return 1 if FD is a valid descriptor associated with a terminal, zero if not. */ @@ -837,7 +837,8 @@ extern int symlink (const char *__from, const char *__to) Returns the number of characters read, or -1 for errors. */ extern ssize_t readlink (const char *__restrict __path, char *__restrict __buf, size_t __len) - __THROW __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3)); + __THROW __nonnull ((1, 2)) __wur + __fortified_attr_access (__write_only__, 2, 3); #endif /* Use POSIX.1-2001. */ @@ -849,7 +850,8 @@ extern int symlinkat (const char *__from, int __tofd, /* Like readlink but a relative PATH is interpreted relative to FD. */ extern ssize_t readlinkat (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len) - __THROW __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4)); + __THROW __nonnull ((2, 3)) __wur + __fortified_attr_access (__write_only__, 3, 4); #endif /* Remove the link NAME. */ @@ -885,7 +887,7 @@ extern char *getlogin (void); This function is a possible cancellation point and therefore not marked with __THROW. */ extern int getlogin_r (char *__name, size_t __name_len) __nonnull ((1)) - __attr_access ((__write_only__, 1, 2)); + __fortified_attr_access (__write_only__, 1, 2); #endif #ifdef __USE_MISC @@ -907,7 +909,7 @@ extern int setlogin (const char *__name) __THROW __nonnull ((1)); The result is null-terminated if LEN is large enough for the full name and the terminator. */ extern int gethostname (char *__name, size_t __len) __THROW __nonnull ((1)) - __attr_access ((__write_only__, 1, 2)); + __fortified_attr_access (__write_only__, 1, 2); #endif @@ -926,7 +928,8 @@ extern int sethostid (long int __id) __THROW __wur; Called just like `gethostname' and `sethostname'. The NIS domain name is usually the empty string when not using NIS. */ extern int getdomainname (char *__name, size_t __len) - __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2)); + __THROW __nonnull ((1)) __wur + __fortified_attr_access (__write_only__, 1, 2); extern int setdomainname (const char *__name, size_t __len) __THROW __nonnull ((1)) __wur __attr_access ((__read_only__, 1, 2)); @@ -1196,6 +1199,16 @@ int getentropy (void *__buffer, size_t __length) __wur __attr_access ((__write_only__, 1, 2)); #endif +#ifdef __USE_GNU +/* Close all file descriptors in the range FD up to MAX_FD. The flag FLAGS + are define by the CLOSE_RANGE prefix. This function behaves like close + on the range and gaps where the file descriptor is invalid or errors + encountered while closing file descriptors are ignored. Returns 0 on + successor or -1 for failure (and sets errno accordingly). */ +extern int close_range (unsigned int __fd, unsigned int __max_fd, + int __flags) __THROW; +#endif + /* Define some macros helping to catch buffer overflows. */ #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function # include diff --git a/lib/libc/include/generic-glibc/utime.h b/lib/libc/include/generic-glibc/utime.h index 0a86b5413f74e01556cc479915f4a4d78a7f7a01..78b8090138def6ce32286974dd99e12db90d70c0 100644 --- a/lib/libc/include/generic-glibc/utime.h +++ b/lib/libc/include/generic-glibc/utime.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/utmp.h b/lib/libc/include/generic-glibc/utmp.h index 29a2393f001bdb23cc0a5c76df7d81d5e2b4ea02..d0629dc44c02dd97af1e87d2d9035ad9d61c5485 100644 --- a/lib/libc/include/generic-glibc/utmp.h +++ b/lib/libc/include/generic-glibc/utmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1993-2021 Free Software Foundation, Inc. +/* Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/utmpx.h b/lib/libc/include/generic-glibc/utmpx.h index 358133afe2666d9d6082a1695ebc0b67dfcb1659..923c678925da7a7984b0b9904e621ab1e7b76de6 100644 --- a/lib/libc/include/generic-glibc/utmpx.h +++ b/lib/libc/include/generic-glibc/utmpx.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/values.h b/lib/libc/include/generic-glibc/values.h index 2d8d94245e708ccb093205936ef8fb94231be66f..a5712b9daff6c3d8f1604dc00b8dbdc84b59f98e 100644 --- a/lib/libc/include/generic-glibc/values.h +++ b/lib/libc/include/generic-glibc/values.h @@ -1,5 +1,5 @@ /* Old compatibility names for and constants. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/wchar.h b/lib/libc/include/generic-glibc/wchar.h index 6957f3829421036d9d72470d7cd4962c95762a83..f0b80c8bb142875f6e1a217344cb233e733e0c62 100644 --- a/lib/libc/include/generic-glibc/wchar.h +++ b/lib/libc/include/generic-glibc/wchar.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-2021 Free Software Foundation, Inc. +/* Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -37,6 +37,17 @@ #define __need___va_list #include +#if defined __USE_XOPEN2K || defined __USE_XOPEN2K8 +# ifdef __GNUC__ +# ifndef _VA_LIST_DEFINED +typedef __gnuc_va_list va_list; +# define _VA_LIST_DEFINED +# endif +# else +# include +# endif +#endif + #include #include #include @@ -93,6 +104,19 @@ extern wchar_t *wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) __THROW __nonnull ((1, 2)); +#ifdef __USE_MISC +/* Copy at most N - 1 characters from SRC to DEST. */ +extern size_t wcslcpy (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, size_t __n) + __THROW __nonnull ((1, 2)) __attr_access ((__write_only__, 1, 3)); + +/* Append SRC to DEST, possibly with truncation to keep the total size + below N. */ +extern size_t wcslcat (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, size_t __n) + __THROW __nonnull ((1, 2)) __attr_access ((__read_write__, 1, 3)); +#endif + /* Append SRC onto DEST. */ extern wchar_t *wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src) @@ -386,42 +410,44 @@ extern long double wcstold (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __THROW; #endif /* C99 */ +#if __GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC2X) /* Likewise for `_FloatN' and `_FloatNx' when support is enabled. */ -#if __HAVE_FLOAT16 && defined __USE_GNU +# if __HAVE_FLOAT16 extern _Float16 wcstof16 (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __THROW; -#endif +# endif -#if __HAVE_FLOAT32 && defined __USE_GNU +# if __HAVE_FLOAT32 extern _Float32 wcstof32 (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __THROW; -#endif +# endif -#if __HAVE_FLOAT64 && defined __USE_GNU +# if __HAVE_FLOAT64 extern _Float64 wcstof64 (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __THROW; -#endif +# endif -#if __HAVE_FLOAT128 && defined __USE_GNU +# if __HAVE_FLOAT128 extern _Float128 wcstof128 (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __THROW; -#endif +# endif -#if __HAVE_FLOAT32X && defined __USE_GNU +# if __HAVE_FLOAT32X extern _Float32x wcstof32x (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __THROW; -#endif +# endif -#if __HAVE_FLOAT64X && defined __USE_GNU +# if __HAVE_FLOAT64X extern _Float64x wcstof64x (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __THROW; -#endif +# endif -#if __HAVE_FLOAT128X && defined __USE_GNU +# if __HAVE_FLOAT128X extern _Float128x wcstof128x (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) __THROW; -#endif +# endif +#endif /* __GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC2X) */ /* Convert initial portion of wide string NPTR to `long int' @@ -467,6 +493,67 @@ extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, int __base) __THROW; #endif /* Use GNU. */ +/* Versions of the above functions that handle '0b' and '0B' prefixes + in base 0 or 2. */ +#if __GLIBC_USE (C2X_STRTOL) +# ifdef __REDIRECT +extern long int __REDIRECT_NTH (wcstol, (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base), __isoc23_wcstol); +extern unsigned long int __REDIRECT_NTH (wcstoul, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base), __isoc23_wcstoul); +__extension__ +extern long long int __REDIRECT_NTH (wcstoll, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base), __isoc23_wcstoll); +__extension__ +extern unsigned long long int __REDIRECT_NTH (wcstoull, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base), __isoc23_wcstoull); +# ifdef __USE_GNU +__extension__ +extern long long int __REDIRECT_NTH (wcstoq, (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base), __isoc23_wcstoll); +__extension__ +extern unsigned long long int __REDIRECT_NTH (wcstouq, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base), __isoc23_wcstoull); +# endif +# else +extern long int __isoc23_wcstol (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, int __base) + __THROW; +extern unsigned long int __isoc23_wcstoul (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base) + __THROW; +__extension__ +extern long long int __isoc23_wcstoll (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base) + __THROW; +__extension__ +extern unsigned long long int __isoc23_wcstoull (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base) + __THROW; +# define wcstol __isoc23_wcstol +# define wcstoul __isoc23_wcstoul +# define wcstoll __isoc23_wcstoll +# define wcstoull __isoc23_wcstoull +# ifdef __USE_GNU +# define wcstoq __isoc23_wcstoll +# define wcstouq __isoc23_wcstoull +# endif +# endif +#endif + #ifdef __USE_GNU /* Parallel versions of the functions above which take the locale to use as an additional parameter. These are GNU extensions inspired @@ -490,6 +577,56 @@ extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, int __base, locale_t __loc) __THROW; +/* Versions of the above functions that handle '0b' and '0B' prefixes + in base 0 or 2. */ +# if __GLIBC_USE (C2X_STRTOL) +# ifdef __REDIRECT +extern long int __REDIRECT_NTH (wcstol_l, (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_wcstol_l); +extern unsigned long int __REDIRECT_NTH (wcstoul_l, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_wcstoul_l); +__extension__ +extern long long int __REDIRECT_NTH (wcstoll_l, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_wcstoll_l); +__extension__ +extern unsigned long long int __REDIRECT_NTH (wcstoull_l, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_wcstoull_l); +# else +extern long int __isoc23_wcstol_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, int __base, + locale_t __loc) __THROW; +extern unsigned long int __isoc23_wcstoul_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc) + __THROW; +__extension__ +extern long long int __isoc23_wcstoll_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc) + __THROW; +__extension__ +extern unsigned long long int __isoc23_wcstoull_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc) + __THROW; +# define wcstol_l __isoc23_wcstol_l +# define wcstoul_l __isoc23_wcstoul_l +# define wcstoll_l __isoc23_wcstoll_l +# define wcstoull_l __isoc23_wcstoull_l +# endif +# endif + extern double wcstod_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, locale_t __loc) __THROW; @@ -651,9 +788,34 @@ extern int swscanf (const wchar_t *__restrict __s, functions are at alternative names. When __LDBL_COMPAT or __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI are in effect, this is handled in bits/wchar-ldbl.h. */ -#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \ +# if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \ && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 -# ifdef __REDIRECT +# if __GLIBC_USE (C2X_STRTOL) +# ifdef __REDIRECT +extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream, + const wchar_t *__restrict __format, ...), + __isoc23_fwscanf) + /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; +extern int __REDIRECT (wscanf, (const wchar_t *__restrict __format, ...), + __isoc23_wscanf) + /* __attribute__ ((__format__ (__wscanf__, 1, 2))) */; +extern int __REDIRECT_NTH (swscanf, (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, + ...), __isoc23_swscanf) + /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; +# else +extern int __isoc23_fwscanf (__FILE *__restrict __stream, + const wchar_t *__restrict __format, ...); +extern int __isoc23_wscanf (const wchar_t *__restrict __format, ...); +extern int __isoc23_swscanf (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, ...) + __THROW; +# define fwscanf __isoc23_fwscanf +# define wscanf __isoc23_wscanf +# define swscanf __isoc23_swscanf +# endif +# else +# ifdef __REDIRECT extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...), __isoc99_fwscanf) @@ -665,16 +827,17 @@ extern int __REDIRECT_NTH (swscanf, (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...), __isoc99_swscanf) /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; -# else +# else extern int __isoc99_fwscanf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...); extern int __isoc99_wscanf (const wchar_t *__restrict __format, ...); extern int __isoc99_swscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...) __THROW; -# define fwscanf __isoc99_fwscanf -# define wscanf __isoc99_wscanf -# define swscanf __isoc99_swscanf +# define fwscanf __isoc99_fwscanf +# define wscanf __isoc99_wscanf +# define swscanf __isoc99_swscanf +# endif # endif # endif @@ -707,7 +870,34 @@ extern int vswscanf (const wchar_t *__restrict __s, && (!defined __LDBL_COMPAT || !defined __REDIRECT) \ && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K) \ && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 -# ifdef __REDIRECT +# if __GLIBC_USE (C2X_STRTOL) +# ifdef __REDIRECT +extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg), __isoc23_vfwscanf) + /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; +extern int __REDIRECT (vwscanf, (const wchar_t *__restrict __format, + __gnuc_va_list __arg), __isoc23_vwscanf) + /* __attribute__ ((__format__ (__wscanf__, 1, 0))) */; +extern int __REDIRECT_NTH (vswscanf, (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg), __isoc23_vswscanf) + /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; +# else +extern int __isoc23_vfwscanf (__FILE *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg); +extern int __isoc23_vwscanf (const wchar_t *__restrict __format, + __gnuc_va_list __arg); +extern int __isoc23_vswscanf (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg) __THROW; +# define vfwscanf __isoc23_vfwscanf +# define vwscanf __isoc23_vwscanf +# define vswscanf __isoc23_vswscanf +# endif +# else +# ifdef __REDIRECT extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg), __isoc99_vfwscanf) @@ -719,7 +909,7 @@ extern int __REDIRECT_NTH (vswscanf, (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg), __isoc99_vswscanf) /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; -# else +# else extern int __isoc99_vfwscanf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg); @@ -728,9 +918,10 @@ extern int __isoc99_vwscanf (const wchar_t *__restrict __format, extern int __isoc99_vswscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) __THROW; -# define vfwscanf __isoc99_vfwscanf -# define vwscanf __isoc99_vwscanf -# define vswscanf __isoc99_vswscanf +# define vfwscanf __isoc99_vfwscanf +# define vwscanf __isoc99_vwscanf +# define vswscanf __isoc99_vswscanf +# endif # endif # endif @@ -864,14 +1055,21 @@ extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, /* Define some macros helping to catch buffer overflows. */ #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function -# include +/* Declare all functions from bits/wchar2-decl.h first. */ +# include #endif -#include +/* The following headers provide asm redirections. These redirections must + appear before the first usage of these functions, e.g. in bits/wchar.h. */ #if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 # include #endif +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +/* Now include the function definitions and redirects too. */ +# include +#endif + __END_DECLS #endif /* wchar.h */ \ No newline at end of file diff --git a/lib/libc/include/generic-glibc/wctype.h b/lib/libc/include/generic-glibc/wctype.h index 2ed2736dc18b78b4d46c2cf16ecc8792eaf59868..24457c2000d139002bc63567ed5d03297d4d3808 100644 --- a/lib/libc/include/generic-glibc/wctype.h +++ b/lib/libc/include/generic-glibc/wctype.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/generic-glibc/wordexp.h b/lib/libc/include/generic-glibc/wordexp.h index e01d8512fafbac991fea56499a4d40eab79d5d3f..1d3ddfc0b109db5282f73a7cddc63dee0d9d98f3 100644 --- a/lib/libc/include/generic-glibc/wordexp.h +++ b/lib/libc/include/generic-glibc/wordexp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2021 Free Software Foundation, Inc. +/* Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/fcntl.h b/lib/libc/include/m68k-linux-gnu/bits/fcntl.h index f4f6d57c1c25e10db39b1072163720fbdff39dca..d4998e10e7d50f91f2c1b571582682ea9d25e49f 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/fcntl.h +++ b/lib/libc/include/m68k-linux-gnu/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/fenv.h b/lib/libc/include/m68k-linux-gnu/bits/fenv.h index 1bd8601ce162795d555069c83a2187258634f1a5..9581e3fb687b4393b4359b74b9d81b100c3fc363 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/fenv.h +++ b/lib/libc/include/m68k-linux-gnu/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/floatn.h b/lib/libc/include/m68k-linux-gnu/bits/floatn.h index 18018fa9f88db378b14721a9e852869ded8e4c66..7efc644d53e335acb2b56ba66a5fa6965345f89e 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/floatn.h +++ b/lib/libc/include/m68k-linux-gnu/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/flt-eval-method.h b/lib/libc/include/m68k-linux-gnu/bits/flt-eval-method.h index 33644b4dcc9a0ac6fcce9b6fb687bbae3facc37c..25523e9cb188393c13cb2213dc12e29d0557489b 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/flt-eval-method.h +++ b/lib/libc/include/m68k-linux-gnu/bits/flt-eval-method.h @@ -1,5 +1,5 @@ /* Define __GLIBC_FLT_EVAL_METHOD. M68K version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/fp-logb.h b/lib/libc/include/m68k-linux-gnu/bits/fp-logb.h index 1f184bd5db531376b6d451a979b1ac5b6662027d..c7f77a39d8a8d3c46b07275f4993a348fe9d9bda 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/fp-logb.h +++ b/lib/libc/include/m68k-linux-gnu/bits/fp-logb.h @@ -1,5 +1,5 @@ /* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. M68K version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/iscanonical.h b/lib/libc/include/m68k-linux-gnu/bits/iscanonical.h index 8e6c0d05f5016f5a498a62ab68c72468d0142931..d7e7ae35cb0da9afa8bbfbcce56ca9bdb2d14304 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/iscanonical.h +++ b/lib/libc/include/m68k-linux-gnu/bits/iscanonical.h @@ -1,5 +1,5 @@ /* Define iscanonical macro. ldbl-96 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/link.h b/lib/libc/include/m68k-linux-gnu/bits/link.h index 55d203f3701b66b347194b7cf43073d138dd9cfc..8d9d3f9eae1c4643184ff27ee8d0ab2bd374e562 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/link.h +++ b/lib/libc/include/m68k-linux-gnu/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/long-double.h b/lib/libc/include/m68k-linux-gnu/bits/long-double.h index ef3832bc80d643a47f2501845cab95ac4316e201..3839f69a6f6f5c6cf787b6edd6f244e740a3142d 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/long-double.h +++ b/lib/libc/include/m68k-linux-gnu/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-96 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/poll.h b/lib/libc/include/m68k-linux-gnu/bits/poll.h index fd12b709205f6260f98ec2a8abca6d400fa3f503..4b921c84bac587663d8dc26afc91f3bfbae0b596 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/poll.h +++ b/lib/libc/include/m68k-linux-gnu/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/procfs-id.h b/lib/libc/include/m68k-linux-gnu/bits/procfs-id.h index 9ac1a07e15c90da8a8e5791c16af3a4f6370a883..d6259ff0f9be5815ea2c52873f6ea7c687305136 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/procfs-id.h +++ b/lib/libc/include/m68k-linux-gnu/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. M68K version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/m68k-linux-gnu/bits/procfs.h b/lib/libc/include/m68k-linux-gnu/bits/procfs.h index 65a067f77ce3aa161fa24938dc05b5cbcfb6975d..e86115963eee89857e2980bfeeb5fc40420cb973 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/procfs.h +++ b/lib/libc/include/m68k-linux-gnu/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. M68K version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/pthreadtypes-arch.h b/lib/libc/include/m68k-linux-gnu/bits/pthreadtypes-arch.h index 262ca65c838189b77cf41e73e162cf6f962ece07..aa6b609c18dbba7239acdc4f6ab3cef016c71d34 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/pthreadtypes-arch.h +++ b/lib/libc/include/m68k-linux-gnu/bits/pthreadtypes-arch.h @@ -1,6 +1,5 @@ -/* Copyright (C) 2010-2021 Free Software Foundation, Inc. +/* Copyright (C) 2010-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Maxim Kuvyrkov , 2010. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/m68k-linux-gnu/bits/rseq.h b/lib/libc/include/m68k-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..fe2e400300a07daf7d0ac3400b1fa5640bfa75c8 --- /dev/null +++ b/lib/libc/include/m68k-linux-gnu/bits/rseq.h @@ -0,0 +1,29 @@ +/* Restartable Sequences architecture header. Stub version. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. */ \ No newline at end of file diff --git a/lib/libc/include/m68k-linux-gnu/bits/semaphore.h b/lib/libc/include/m68k-linux-gnu/bits/semaphore.h index d0ef954dd36f44bef59fd3023fe8cb8aa47103ea..1640ab5b86e945cf07ac4f87dfb3a8efae5ef072 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/semaphore.h +++ b/lib/libc/include/m68k-linux-gnu/bits/semaphore.h @@ -1,6 +1,5 @@ -/* Copyright (C) 2010-2021 Free Software Foundation, Inc. +/* Copyright (C) 2010-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Maxim Kuvyrkov , 2010. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/m68k-linux-gnu/bits/setjmp.h b/lib/libc/include/m68k-linux-gnu/bits/setjmp.h index 3cd6dc3e6e7abdc79a80ab0313a6908c225d535c..c918976d762fac09f7b62410d60d45d621996dcd 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/setjmp.h +++ b/lib/libc/include/m68k-linux-gnu/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/sockaddr.h b/lib/libc/include/m68k-linux-gnu/bits/sockaddr.h index fe1093bd0d4978bf68f04a6161e286a412e0cb63..6805858bd249fd67e75a057bbdf159ac2314ac12 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/sockaddr.h +++ b/lib/libc/include/m68k-linux-gnu/bits/sockaddr.h @@ -1,5 +1,5 @@ /* Definition of struct sockaddr_* members and sizes, Linux/m68k version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/m68k-linux-gnu/bits/struct_rwlock.h index 7431c5597faba16ce83ea705453dcb3248e711aa..91b0a3b012aac9c7663da6e21675d50cba88afb4 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/struct_rwlock.h +++ b/lib/libc/include/m68k-linux-gnu/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* Default read-write lock implementation struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/struct_stat.h b/lib/libc/include/m68k-linux-gnu/bits/struct_stat.h index 07a734438fd303a10a43c13d304720a8f5151921..d8ec6bce18f579c944fd5ba28b94a7a2d19e506b 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/struct_stat.h +++ b/lib/libc/include/m68k-linux-gnu/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/bits/timesize.h b/lib/libc/include/m68k-linux-gnu/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..0cfda6075808e3dc9a55dddc6a4b767967761d71 --- /dev/null +++ b/lib/libc/include/m68k-linux-gnu/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/m68k. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/lib/libc/include/m68k-linux-gnu/bits/typesizes.h b/lib/libc/include/m68k-linux-gnu/bits/typesizes.h new file mode 100644 index 0000000000000000000000000000000000000000..990809f077b2a821c7671e871fa390191ba0f9e8 --- /dev/null +++ b/lib/libc/include/m68k-linux-gnu/bits/typesizes.h @@ -0,0 +1,74 @@ +/* bits/typesizes.h -- underlying types for *_t. m68k version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#define __RLIM_T_MATCHES_RLIM64_T 0 +#define __STATFS_MATCHES_STATFS64 0 +/* And for getitimer, setitimer and rusage */ +#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/m68k-linux-gnu/bits/wordsize.h b/lib/libc/include/m68k-linux-gnu/bits/wordsize.h index 6561e924f5f91bd2e33da9c102a38197349149fb..229f48ad0dc72f72d7baddcfdfe138e72247cd0a 100644 --- a/lib/libc/include/m68k-linux-gnu/bits/wordsize.h +++ b/lib/libc/include/m68k-linux-gnu/bits/wordsize.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/fpu_control.h b/lib/libc/include/m68k-linux-gnu/fpu_control.h index 70ed49f091ceb4fc0eebe4c6624006c1e4803950..14abc3b546ac51f48e28727ae2710d9a965e964d 100644 --- a/lib/libc/include/m68k-linux-gnu/fpu_control.h +++ b/lib/libc/include/m68k-linux-gnu/fpu_control.h @@ -1,5 +1,5 @@ /* 68k FPU control word definitions. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/gnu/lib-names.h b/lib/libc/include/m68k-linux-gnu/gnu/lib-names.h index 666f9805be50efa56c5be4670f24d5f806fabb82..779009e7b636d86f2298e2e9317bcfda2fb7d051 100644 --- a/lib/libc/include/m68k-linux-gnu/gnu/lib-names.h +++ b/lib/libc/include/m68k-linux-gnu/gnu/lib-names.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/m68k-linux-gnu/sys/reg.h b/lib/libc/include/m68k-linux-gnu/sys/reg.h index 53b46a16aa1d976b8363a21cb07a5c2b44695f3f..b6fe7a745ab6927a36ed7788fa34f4c2e7d70749 100644 --- a/lib/libc/include/m68k-linux-gnu/sys/reg.h +++ b/lib/libc/include/m68k-linux-gnu/sys/reg.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/sys/ucontext.h b/lib/libc/include/m68k-linux-gnu/sys/ucontext.h index 6ec3ab57da654478c1ea826f908db3391d2bc691..98b6f768e32b6c6fa47c98a8707ef143f0760b31 100644 --- a/lib/libc/include/m68k-linux-gnu/sys/ucontext.h +++ b/lib/libc/include/m68k-linux-gnu/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/m68k-linux-gnu/sys/user.h b/lib/libc/include/m68k-linux-gnu/sys/user.h index 7e210f85b9cc11fabf18614eaabf6f56d94a081d..97bb9aea1f184abaf4db2d0e206a20c8eb7cf6b6 100644 --- a/lib/libc/include/m68k-linux-gnu/sys/user.h +++ b/lib/libc/include/m68k-linux-gnu/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/dlfcn.h b/lib/libc/include/mips-linux-gnueabi/bits/dlfcn.h index 733090d634a4b3108eaf2d9e9731a2ba16b2db86..a487e012c5ace5a65ead5767eef811fb40ff7e39 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/dlfcn.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/dlfcn.h @@ -1,5 +1,5 @@ /* System dependent definitions for run-time dynamic loading. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/errno.h b/lib/libc/include/mips-linux-gnueabi/bits/errno.h index 0362f92048ff6a29350d2c7601e540981a388518..59718e55f9ff7c8cba0e710ea490a5ea83015b4a 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/errno.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. MIPS/Linux specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/eventfd.h b/lib/libc/include/mips-linux-gnueabi/bits/eventfd.h index a0f8f94d0cc4f0778b7af651ad03eba4e9a62bd3..f874f0bfe6f38d5d9825866f8d5c4d70202476ce 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/eventfd.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/inotify.h b/lib/libc/include/mips-linux-gnueabi/bits/inotify.h index f72c8dc63937742d1256f4f99b97680253d1d9bd..d27e1ee586068394c116ffece5182e196e49aa44 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/inotify.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/ioctl-types.h b/lib/libc/include/mips-linux-gnueabi/bits/ioctl-types.h index 84081f4bfde420db06f2bb1ba20abbbdf33b54ab..bcbccc12088839d6dfc19ac1660e56c52ce49112 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/ioctl-types.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/ipctypes.h b/lib/libc/include/mips-linux-gnueabi/bits/ipctypes.h index aa6d3772af4ded230f8769db569b0c1b6f8b2159..bbd3c5298991030fcdb52931a91bce5072f9ce9a 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/ipctypes.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/mman.h b/lib/libc/include/mips-linux-gnueabi/bits/mman.h index 726689ddec2d3393e26c1d6be2100ef6a2a3ac95..5de974483287502b3151816f05fc66037a90f6ae 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/mman.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,25 +24,21 @@ But the kernel header is not namespace clean. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_NORESERVE 0x0400 /* don't check for reservations */ -# define MAP_GROWSDOWN 0x1000 /* stack-like segment */ -# define MAP_DENYWRITE 0x2000 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ -# define MAP_LOCKED 0x8000 /* pages are locked */ -# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ -# define MAP_NONBLOCK 0x20000 /* do not block on IO */ -# define MAP_STACK 0x40000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif #define __MAP_ANONYMOUS 0x0800 /* Include generic Linux declarations. */ #include -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/lib/libc/include/mips-linux-gnueabi/bits/poll.h b/lib/libc/include/mips-linux-gnueabi/bits/poll.h index fd12b709205f6260f98ec2a8abca6d400fa3f503..4b921c84bac587663d8dc26afc91f3bfbae0b596 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/poll.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/pthread_stack_min.h b/lib/libc/include/mips-linux-gnueabi/bits/pthread_stack_min.h index 1c02866a70f4a9f2baec6fc65be088d42759db29..7624eb42f572b8784be85089e47b4bfc415751d3 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/pthread_stack_min.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. MIPS Linux version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/pthreadtypes-arch.h b/lib/libc/include/mips-linux-gnueabi/bits/pthreadtypes-arch.h index b6894a757e33357b5b2ff107f6eadbe8e737cb26..3462039663f90d3414de44911b57b5156d783558 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/pthreadtypes-arch.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. MIPS version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/resource.h b/lib/libc/include/mips-linux-gnueabi/bits/resource.h index 743dc1b9ad378d78786c38b521dee560c1c72d42..b47567d6dd367aa38756a8b30c1b15db003c05f9 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/resource.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux/MIPS version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/semaphore.h b/lib/libc/include/mips-linux-gnueabi/bits/semaphore.h index 73abfb807843100929b552129cd965818d09beea..62f7bfebea815f68d5cdf2b19385173468f2d04e 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/semaphore.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/shmlba.h b/lib/libc/include/mips-linux-gnueabi/bits/shmlba.h index 357defb2bad52ecc650fde4273d93c3b8296c04c..3c6b45352a0fd50856816d129ab42679963117ed 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/shmlba.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. MIPS version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/sigaction.h b/lib/libc/include/mips-linux-gnueabi/bits/sigaction.h index f968c4d10d74b1f707920301f28b60a939ec42d5..5ae13b5f1150a4f904db101a6b2dadc53bcced90 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/sigaction.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/MIPS's sigaction. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/sigcontext.h b/lib/libc/include/mips-linux-gnueabi/bits/sigcontext.h index cdf767d48acbf7e29526abfeac34691bc5acfda7..6f5ef749868b72d99e01976c07065dd86a6f652d 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/sigcontext.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/mips-linux-gnueabi/bits/signalfd.h b/lib/libc/include/mips-linux-gnueabi/bits/signalfd.h index 10b69b2df45b7e7234ec6522321479de5c7b99ed..2709bea4eb7a337aa312ea084add38dbb720d099 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/signalfd.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/signum-arch.h b/lib/libc/include/mips-linux-gnueabi/bits/signum-arch.h index a217ddd4431adea494377ce7096d3e4f0ad08c85..97e8248998292e1677dd0083d6cee6b7c9c24153 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/signum-arch.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/signum-arch.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux/MIPS version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/socket-constants.h b/lib/libc/include/mips-linux-gnueabi/bits/socket-constants.h index 3e95d151ca3c1e3ab45e293b879de350729e9c7d..492fdbf2588b3ac4dd58b6d8622f55303e42454a 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/socket-constants.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for MIPS. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/socket_type.h b/lib/libc/include/mips-linux-gnueabi/bits/socket_type.h index f66bd0ea5fb8ca998b8c67d3f8537430f26f05da..fd12df6eddcfff1ed93a6dee9a1980d74d2e4228 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/socket_type.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for Linux/MIPS. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/statfs.h b/lib/libc/include/mips-linux-gnueabi/bits/statfs.h index 0e18718b2498e65b60f6677770f7418c2142c9d0..0643bba28fac7a91e773ae88a4fab3ddba53dba3 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/statfs.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/struct_mutex.h b/lib/libc/include/mips-linux-gnueabi/bits/struct_mutex.h index 8ddb89ce2401744efe75c961089a16898b4e18ba..9ce0ec7309c2d6091663cfa4f883f78d121b5bef 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/struct_mutex.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* MIPS internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/termios-c_cc.h b/lib/libc/include/mips-linux-gnueabi/bits/termios-c_cc.h index 8e67783a9e624d13aa6c6b261980b7ef3f512ac1..00debdaab199ba85e5b10e5b6273573cab64c94d 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/termios-c_cc.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/termios-c_lflag.h b/lib/libc/include/mips-linux-gnueabi/bits/termios-c_lflag.h index 6ef207b1a25b08124d649599ca2cd9ddb8562bce..3b2600dd17a4495cb69db85b9161c1af7a0782c6 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/termios-c_lflag.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/termios-struct.h b/lib/libc/include/mips-linux-gnueabi/bits/termios-struct.h index 3bae186f55a9384238c4905163941ad2cf77ef35..c784a9efb0976c6376aec32d9b5fd280750e8f37 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/termios-struct.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/termios-struct.h @@ -1,5 +1,5 @@ /* struct termios definition. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/termios-tcflow.h b/lib/libc/include/mips-linux-gnueabi/bits/termios-tcflow.h index a6a4e5719e4f724862f3c7c7f183b641766e0dd4..58b3497473366346d341d1a00c6fbc66ad3500f0 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/termios-tcflow.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/termios-tcflow.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/timerfd.h b/lib/libc/include/mips-linux-gnueabi/bits/timerfd.h index 871792717b0a532c17db012c938d220f253420f1..d48cd13775a74e830a32a091ba68ced6d92e2d05 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/timerfd.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/types/stack_t.h b/lib/libc/include/mips-linux-gnueabi/bits/types/stack_t.h index 005479e51ac96762e0e6a893dcd4272990601e6d..6129ea23cd8320cc6302b5ebbec9e959c896ec81 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/types/stack_t.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/types/stack_t.h @@ -1,5 +1,5 @@ /* Define stack_t. MIPS Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/types/struct_msqid_ds.h b/lib/libc/include/mips-linux-gnueabi/bits/types/struct_msqid_ds.h index c7dcdf23d9df8109e0360cdf0a413d75a806b8cf..957a98085324232a5dfa805c9194118472df9f0c 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/types/struct_semid_ds.h b/lib/libc/include/mips-linux-gnueabi/bits/types/struct_semid_ds.h index c1961e1bb1ce2a640bac26b959818d9041dc5d8d..7429ac9b50b6bdd15a5b8419ac5a668712dfa279 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/types/struct_semid_ds.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* MIPS implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/bits/types/struct_shmid_ds.h b/lib/libc/include/mips-linux-gnueabi/bits/types/struct_shmid_ds.h index 2e8525c1a5cc5d2cb53d97eda74414a11b861708..81c914a9eac74f6930c08800547c10e0d6a139cc 100644 --- a/lib/libc/include/mips-linux-gnueabi/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/mips-linux-gnueabi/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabi/ieee754.h b/lib/libc/include/mips-linux-gnueabi/ieee754.h index f3e3977ca3b835afb380185d1544dc07045bdcac..2676970c34a1ec3559026e04188e1133e86467ec 100644 --- a/lib/libc/include/mips-linux-gnueabi/ieee754.h +++ b/lib/libc/include/mips-linux-gnueabi/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/dlfcn.h b/lib/libc/include/mips-linux-gnueabihf/bits/dlfcn.h index 733090d634a4b3108eaf2d9e9731a2ba16b2db86..a487e012c5ace5a65ead5767eef811fb40ff7e39 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/dlfcn.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/dlfcn.h @@ -1,5 +1,5 @@ /* System dependent definitions for run-time dynamic loading. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/errno.h b/lib/libc/include/mips-linux-gnueabihf/bits/errno.h index 0362f92048ff6a29350d2c7601e540981a388518..59718e55f9ff7c8cba0e710ea490a5ea83015b4a 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/errno.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. MIPS/Linux specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/eventfd.h b/lib/libc/include/mips-linux-gnueabihf/bits/eventfd.h index a0f8f94d0cc4f0778b7af651ad03eba4e9a62bd3..f874f0bfe6f38d5d9825866f8d5c4d70202476ce 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/eventfd.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/inotify.h b/lib/libc/include/mips-linux-gnueabihf/bits/inotify.h index f72c8dc63937742d1256f4f99b97680253d1d9bd..d27e1ee586068394c116ffece5182e196e49aa44 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/inotify.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/ioctl-types.h b/lib/libc/include/mips-linux-gnueabihf/bits/ioctl-types.h index 84081f4bfde420db06f2bb1ba20abbbdf33b54ab..bcbccc12088839d6dfc19ac1660e56c52ce49112 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/ioctl-types.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/ipctypes.h b/lib/libc/include/mips-linux-gnueabihf/bits/ipctypes.h index aa6d3772af4ded230f8769db569b0c1b6f8b2159..bbd3c5298991030fcdb52931a91bce5072f9ce9a 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/ipctypes.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/mman.h b/lib/libc/include/mips-linux-gnueabihf/bits/mman.h index 726689ddec2d3393e26c1d6be2100ef6a2a3ac95..5de974483287502b3151816f05fc66037a90f6ae 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/mman.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,25 +24,21 @@ But the kernel header is not namespace clean. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_NORESERVE 0x0400 /* don't check for reservations */ -# define MAP_GROWSDOWN 0x1000 /* stack-like segment */ -# define MAP_DENYWRITE 0x2000 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ -# define MAP_LOCKED 0x8000 /* pages are locked */ -# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ -# define MAP_NONBLOCK 0x20000 /* do not block on IO */ -# define MAP_STACK 0x40000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif #define __MAP_ANONYMOUS 0x0800 /* Include generic Linux declarations. */ #include -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/poll.h b/lib/libc/include/mips-linux-gnueabihf/bits/poll.h index fd12b709205f6260f98ec2a8abca6d400fa3f503..4b921c84bac587663d8dc26afc91f3bfbae0b596 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/poll.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/pthread_stack_min.h b/lib/libc/include/mips-linux-gnueabihf/bits/pthread_stack_min.h index 1c02866a70f4a9f2baec6fc65be088d42759db29..7624eb42f572b8784be85089e47b4bfc415751d3 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/pthread_stack_min.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. MIPS Linux version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/pthreadtypes-arch.h b/lib/libc/include/mips-linux-gnueabihf/bits/pthreadtypes-arch.h index b6894a757e33357b5b2ff107f6eadbe8e737cb26..3462039663f90d3414de44911b57b5156d783558 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/pthreadtypes-arch.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. MIPS version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/resource.h b/lib/libc/include/mips-linux-gnueabihf/bits/resource.h index 743dc1b9ad378d78786c38b521dee560c1c72d42..b47567d6dd367aa38756a8b30c1b15db003c05f9 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/resource.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux/MIPS version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/semaphore.h b/lib/libc/include/mips-linux-gnueabihf/bits/semaphore.h index 73abfb807843100929b552129cd965818d09beea..62f7bfebea815f68d5cdf2b19385173468f2d04e 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/semaphore.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/shmlba.h b/lib/libc/include/mips-linux-gnueabihf/bits/shmlba.h index 357defb2bad52ecc650fde4273d93c3b8296c04c..3c6b45352a0fd50856816d129ab42679963117ed 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/shmlba.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. MIPS version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/sigaction.h b/lib/libc/include/mips-linux-gnueabihf/bits/sigaction.h index f968c4d10d74b1f707920301f28b60a939ec42d5..5ae13b5f1150a4f904db101a6b2dadc53bcced90 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/sigaction.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/MIPS's sigaction. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/sigcontext.h b/lib/libc/include/mips-linux-gnueabihf/bits/sigcontext.h index cdf767d48acbf7e29526abfeac34691bc5acfda7..6f5ef749868b72d99e01976c07065dd86a6f652d 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/sigcontext.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/signalfd.h b/lib/libc/include/mips-linux-gnueabihf/bits/signalfd.h index 10b69b2df45b7e7234ec6522321479de5c7b99ed..2709bea4eb7a337aa312ea084add38dbb720d099 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/signalfd.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/signum-arch.h b/lib/libc/include/mips-linux-gnueabihf/bits/signum-arch.h index a217ddd4431adea494377ce7096d3e4f0ad08c85..97e8248998292e1677dd0083d6cee6b7c9c24153 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/signum-arch.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/signum-arch.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux/MIPS version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/socket-constants.h b/lib/libc/include/mips-linux-gnueabihf/bits/socket-constants.h index 3e95d151ca3c1e3ab45e293b879de350729e9c7d..492fdbf2588b3ac4dd58b6d8622f55303e42454a 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/socket-constants.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for MIPS. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/socket_type.h b/lib/libc/include/mips-linux-gnueabihf/bits/socket_type.h index f66bd0ea5fb8ca998b8c67d3f8537430f26f05da..fd12df6eddcfff1ed93a6dee9a1980d74d2e4228 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/socket_type.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for Linux/MIPS. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/statfs.h b/lib/libc/include/mips-linux-gnueabihf/bits/statfs.h index 0e18718b2498e65b60f6677770f7418c2142c9d0..0643bba28fac7a91e773ae88a4fab3ddba53dba3 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/statfs.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/struct_mutex.h b/lib/libc/include/mips-linux-gnueabihf/bits/struct_mutex.h index 8ddb89ce2401744efe75c961089a16898b4e18ba..9ce0ec7309c2d6091663cfa4f883f78d121b5bef 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/struct_mutex.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* MIPS internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_cc.h b/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_cc.h index 8e67783a9e624d13aa6c6b261980b7ef3f512ac1..00debdaab199ba85e5b10e5b6273573cab64c94d 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_cc.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_lflag.h b/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_lflag.h index 6ef207b1a25b08124d649599ca2cd9ddb8562bce..3b2600dd17a4495cb69db85b9161c1af7a0782c6 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_lflag.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/termios-struct.h b/lib/libc/include/mips-linux-gnueabihf/bits/termios-struct.h index 3bae186f55a9384238c4905163941ad2cf77ef35..c784a9efb0976c6376aec32d9b5fd280750e8f37 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/termios-struct.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/termios-struct.h @@ -1,5 +1,5 @@ /* struct termios definition. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/termios-tcflow.h b/lib/libc/include/mips-linux-gnueabihf/bits/termios-tcflow.h index a6a4e5719e4f724862f3c7c7f183b641766e0dd4..58b3497473366346d341d1a00c6fbc66ad3500f0 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/termios-tcflow.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/termios-tcflow.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/timerfd.h b/lib/libc/include/mips-linux-gnueabihf/bits/timerfd.h index 871792717b0a532c17db012c938d220f253420f1..d48cd13775a74e830a32a091ba68ced6d92e2d05 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/timerfd.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/types/stack_t.h b/lib/libc/include/mips-linux-gnueabihf/bits/types/stack_t.h index 005479e51ac96762e0e6a893dcd4272990601e6d..6129ea23cd8320cc6302b5ebbec9e959c896ec81 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/types/stack_t.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/types/stack_t.h @@ -1,5 +1,5 @@ /* Define stack_t. MIPS Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_msqid_ds.h b/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_msqid_ds.h index c7dcdf23d9df8109e0360cdf0a413d75a806b8cf..957a98085324232a5dfa805c9194118472df9f0c 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_semid_ds.h b/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_semid_ds.h index c1961e1bb1ce2a640bac26b959818d9041dc5d8d..7429ac9b50b6bdd15a5b8419ac5a668712dfa279 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_semid_ds.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* MIPS implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_shmid_ds.h b/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_shmid_ds.h index 2e8525c1a5cc5d2cb53d97eda74414a11b861708..81c914a9eac74f6930c08800547c10e0d6a139cc 100644 --- a/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips-linux-gnueabihf/ieee754.h b/lib/libc/include/mips-linux-gnueabihf/ieee754.h index f3e3977ca3b835afb380185d1544dc07045bdcac..2676970c34a1ec3559026e04188e1133e86467ec 100644 --- a/lib/libc/include/mips-linux-gnueabihf/ieee754.h +++ b/lib/libc/include/mips-linux-gnueabihf/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/dlfcn.h b/lib/libc/include/mips64-linux-gnuabi64/bits/dlfcn.h index 733090d634a4b3108eaf2d9e9731a2ba16b2db86..a487e012c5ace5a65ead5767eef811fb40ff7e39 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/dlfcn.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/dlfcn.h @@ -1,5 +1,5 @@ /* System dependent definitions for run-time dynamic loading. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/errno.h b/lib/libc/include/mips64-linux-gnuabi64/bits/errno.h index 0362f92048ff6a29350d2c7601e540981a388518..59718e55f9ff7c8cba0e710ea490a5ea83015b4a 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/errno.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. MIPS/Linux specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/eventfd.h b/lib/libc/include/mips64-linux-gnuabi64/bits/eventfd.h index a0f8f94d0cc4f0778b7af651ad03eba4e9a62bd3..f874f0bfe6f38d5d9825866f8d5c4d70202476ce 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/eventfd.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/inotify.h b/lib/libc/include/mips64-linux-gnuabi64/bits/inotify.h index f72c8dc63937742d1256f4f99b97680253d1d9bd..d27e1ee586068394c116ffece5182e196e49aa44 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/inotify.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/ioctl-types.h b/lib/libc/include/mips64-linux-gnuabi64/bits/ioctl-types.h index 84081f4bfde420db06f2bb1ba20abbbdf33b54ab..bcbccc12088839d6dfc19ac1660e56c52ce49112 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/ioctl-types.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/ipctypes.h b/lib/libc/include/mips64-linux-gnuabi64/bits/ipctypes.h index aa6d3772af4ded230f8769db569b0c1b6f8b2159..bbd3c5298991030fcdb52931a91bce5072f9ce9a 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/ipctypes.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/mman.h b/lib/libc/include/mips64-linux-gnuabi64/bits/mman.h index 726689ddec2d3393e26c1d6be2100ef6a2a3ac95..5de974483287502b3151816f05fc66037a90f6ae 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/mman.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,25 +24,21 @@ But the kernel header is not namespace clean. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_NORESERVE 0x0400 /* don't check for reservations */ -# define MAP_GROWSDOWN 0x1000 /* stack-like segment */ -# define MAP_DENYWRITE 0x2000 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ -# define MAP_LOCKED 0x8000 /* pages are locked */ -# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ -# define MAP_NONBLOCK 0x20000 /* do not block on IO */ -# define MAP_STACK 0x40000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif #define __MAP_ANONYMOUS 0x0800 /* Include generic Linux declarations. */ #include -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/poll.h b/lib/libc/include/mips64-linux-gnuabi64/bits/poll.h index fd12b709205f6260f98ec2a8abca6d400fa3f503..4b921c84bac587663d8dc26afc91f3bfbae0b596 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/poll.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/pthread_stack_min.h b/lib/libc/include/mips64-linux-gnuabi64/bits/pthread_stack_min.h index 1c02866a70f4a9f2baec6fc65be088d42759db29..7624eb42f572b8784be85089e47b4bfc415751d3 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/pthread_stack_min.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. MIPS Linux version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/pthreadtypes-arch.h b/lib/libc/include/mips64-linux-gnuabi64/bits/pthreadtypes-arch.h index b6894a757e33357b5b2ff107f6eadbe8e737cb26..3462039663f90d3414de44911b57b5156d783558 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/pthreadtypes-arch.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. MIPS version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/resource.h b/lib/libc/include/mips64-linux-gnuabi64/bits/resource.h index 743dc1b9ad378d78786c38b521dee560c1c72d42..b47567d6dd367aa38756a8b30c1b15db003c05f9 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/resource.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux/MIPS version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/semaphore.h b/lib/libc/include/mips64-linux-gnuabi64/bits/semaphore.h index 73abfb807843100929b552129cd965818d09beea..62f7bfebea815f68d5cdf2b19385173468f2d04e 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/semaphore.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/shmlba.h b/lib/libc/include/mips64-linux-gnuabi64/bits/shmlba.h index 357defb2bad52ecc650fde4273d93c3b8296c04c..3c6b45352a0fd50856816d129ab42679963117ed 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/shmlba.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. MIPS version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/sigaction.h b/lib/libc/include/mips64-linux-gnuabi64/bits/sigaction.h index f968c4d10d74b1f707920301f28b60a939ec42d5..5ae13b5f1150a4f904db101a6b2dadc53bcced90 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/sigaction.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/MIPS's sigaction. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/sigcontext.h b/lib/libc/include/mips64-linux-gnuabi64/bits/sigcontext.h index cdf767d48acbf7e29526abfeac34691bc5acfda7..6f5ef749868b72d99e01976c07065dd86a6f652d 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/sigcontext.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/signalfd.h b/lib/libc/include/mips64-linux-gnuabi64/bits/signalfd.h index 10b69b2df45b7e7234ec6522321479de5c7b99ed..2709bea4eb7a337aa312ea084add38dbb720d099 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/signalfd.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/signum-arch.h b/lib/libc/include/mips64-linux-gnuabi64/bits/signum-arch.h index a217ddd4431adea494377ce7096d3e4f0ad08c85..97e8248998292e1677dd0083d6cee6b7c9c24153 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/signum-arch.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/signum-arch.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux/MIPS version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/socket-constants.h b/lib/libc/include/mips64-linux-gnuabi64/bits/socket-constants.h index 3e95d151ca3c1e3ab45e293b879de350729e9c7d..492fdbf2588b3ac4dd58b6d8622f55303e42454a 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/socket-constants.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for MIPS. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/socket_type.h b/lib/libc/include/mips64-linux-gnuabi64/bits/socket_type.h index f66bd0ea5fb8ca998b8c67d3f8537430f26f05da..fd12df6eddcfff1ed93a6dee9a1980d74d2e4228 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/socket_type.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for Linux/MIPS. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/statfs.h b/lib/libc/include/mips64-linux-gnuabi64/bits/statfs.h index 0e18718b2498e65b60f6677770f7418c2142c9d0..0643bba28fac7a91e773ae88a4fab3ddba53dba3 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/statfs.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/struct_mutex.h b/lib/libc/include/mips64-linux-gnuabi64/bits/struct_mutex.h index 8ddb89ce2401744efe75c961089a16898b4e18ba..9ce0ec7309c2d6091663cfa4f883f78d121b5bef 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/struct_mutex.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* MIPS internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_cc.h b/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_cc.h index 8e67783a9e624d13aa6c6b261980b7ef3f512ac1..00debdaab199ba85e5b10e5b6273573cab64c94d 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_cc.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_lflag.h b/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_lflag.h index 6ef207b1a25b08124d649599ca2cd9ddb8562bce..3b2600dd17a4495cb69db85b9161c1af7a0782c6 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_lflag.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/termios-struct.h b/lib/libc/include/mips64-linux-gnuabi64/bits/termios-struct.h index 3bae186f55a9384238c4905163941ad2cf77ef35..c784a9efb0976c6376aec32d9b5fd280750e8f37 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/termios-struct.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/termios-struct.h @@ -1,5 +1,5 @@ /* struct termios definition. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/termios-tcflow.h b/lib/libc/include/mips64-linux-gnuabi64/bits/termios-tcflow.h index a6a4e5719e4f724862f3c7c7f183b641766e0dd4..58b3497473366346d341d1a00c6fbc66ad3500f0 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/termios-tcflow.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/termios-tcflow.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/timerfd.h b/lib/libc/include/mips64-linux-gnuabi64/bits/timerfd.h index 871792717b0a532c17db012c938d220f253420f1..d48cd13775a74e830a32a091ba68ced6d92e2d05 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/timerfd.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/types/stack_t.h b/lib/libc/include/mips64-linux-gnuabi64/bits/types/stack_t.h index 005479e51ac96762e0e6a893dcd4272990601e6d..6129ea23cd8320cc6302b5ebbec9e959c896ec81 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/types/stack_t.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/types/stack_t.h @@ -1,5 +1,5 @@ /* Define stack_t. MIPS Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_msqid_ds.h b/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_msqid_ds.h index c7dcdf23d9df8109e0360cdf0a413d75a806b8cf..957a98085324232a5dfa805c9194118472df9f0c 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_semid_ds.h b/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_semid_ds.h index c1961e1bb1ce2a640bac26b959818d9041dc5d8d..7429ac9b50b6bdd15a5b8419ac5a668712dfa279 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_semid_ds.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* MIPS implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_shmid_ds.h b/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_shmid_ds.h index 2e8525c1a5cc5d2cb53d97eda74414a11b861708..81c914a9eac74f6930c08800547c10e0d6a139cc 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabi64/ieee754.h b/lib/libc/include/mips64-linux-gnuabi64/ieee754.h index f3e3977ca3b835afb380185d1544dc07045bdcac..2676970c34a1ec3559026e04188e1133e86467ec 100644 --- a/lib/libc/include/mips64-linux-gnuabi64/ieee754.h +++ b/lib/libc/include/mips64-linux-gnuabi64/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/dlfcn.h b/lib/libc/include/mips64-linux-gnuabin32/bits/dlfcn.h index 733090d634a4b3108eaf2d9e9731a2ba16b2db86..a487e012c5ace5a65ead5767eef811fb40ff7e39 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/dlfcn.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/dlfcn.h @@ -1,5 +1,5 @@ /* System dependent definitions for run-time dynamic loading. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/errno.h b/lib/libc/include/mips64-linux-gnuabin32/bits/errno.h index 0362f92048ff6a29350d2c7601e540981a388518..59718e55f9ff7c8cba0e710ea490a5ea83015b4a 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/errno.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. MIPS/Linux specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/eventfd.h b/lib/libc/include/mips64-linux-gnuabin32/bits/eventfd.h index a0f8f94d0cc4f0778b7af651ad03eba4e9a62bd3..f874f0bfe6f38d5d9825866f8d5c4d70202476ce 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/eventfd.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/inotify.h b/lib/libc/include/mips64-linux-gnuabin32/bits/inotify.h index f72c8dc63937742d1256f4f99b97680253d1d9bd..d27e1ee586068394c116ffece5182e196e49aa44 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/inotify.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/ioctl-types.h b/lib/libc/include/mips64-linux-gnuabin32/bits/ioctl-types.h index 84081f4bfde420db06f2bb1ba20abbbdf33b54ab..bcbccc12088839d6dfc19ac1660e56c52ce49112 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/ioctl-types.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/ipctypes.h b/lib/libc/include/mips64-linux-gnuabin32/bits/ipctypes.h index aa6d3772af4ded230f8769db569b0c1b6f8b2159..bbd3c5298991030fcdb52931a91bce5072f9ce9a 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/ipctypes.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/mman.h b/lib/libc/include/mips64-linux-gnuabin32/bits/mman.h index 726689ddec2d3393e26c1d6be2100ef6a2a3ac95..5de974483287502b3151816f05fc66037a90f6ae 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/mman.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,25 +24,21 @@ But the kernel header is not namespace clean. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_NORESERVE 0x0400 /* don't check for reservations */ -# define MAP_GROWSDOWN 0x1000 /* stack-like segment */ -# define MAP_DENYWRITE 0x2000 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ -# define MAP_LOCKED 0x8000 /* pages are locked */ -# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ -# define MAP_NONBLOCK 0x20000 /* do not block on IO */ -# define MAP_STACK 0x40000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif #define __MAP_ANONYMOUS 0x0800 /* Include generic Linux declarations. */ #include -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/poll.h b/lib/libc/include/mips64-linux-gnuabin32/bits/poll.h index fd12b709205f6260f98ec2a8abca6d400fa3f503..4b921c84bac587663d8dc26afc91f3bfbae0b596 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/poll.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/pthread_stack_min.h b/lib/libc/include/mips64-linux-gnuabin32/bits/pthread_stack_min.h index 1c02866a70f4a9f2baec6fc65be088d42759db29..7624eb42f572b8784be85089e47b4bfc415751d3 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/pthread_stack_min.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. MIPS Linux version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/pthreadtypes-arch.h b/lib/libc/include/mips64-linux-gnuabin32/bits/pthreadtypes-arch.h index b6894a757e33357b5b2ff107f6eadbe8e737cb26..3462039663f90d3414de44911b57b5156d783558 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/pthreadtypes-arch.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. MIPS version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/resource.h b/lib/libc/include/mips64-linux-gnuabin32/bits/resource.h index 743dc1b9ad378d78786c38b521dee560c1c72d42..b47567d6dd367aa38756a8b30c1b15db003c05f9 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/resource.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux/MIPS version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/semaphore.h b/lib/libc/include/mips64-linux-gnuabin32/bits/semaphore.h index 73abfb807843100929b552129cd965818d09beea..62f7bfebea815f68d5cdf2b19385173468f2d04e 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/semaphore.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/shmlba.h b/lib/libc/include/mips64-linux-gnuabin32/bits/shmlba.h index 357defb2bad52ecc650fde4273d93c3b8296c04c..3c6b45352a0fd50856816d129ab42679963117ed 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/shmlba.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. MIPS version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/sigaction.h b/lib/libc/include/mips64-linux-gnuabin32/bits/sigaction.h index f968c4d10d74b1f707920301f28b60a939ec42d5..5ae13b5f1150a4f904db101a6b2dadc53bcced90 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/sigaction.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/MIPS's sigaction. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/sigcontext.h b/lib/libc/include/mips64-linux-gnuabin32/bits/sigcontext.h index cdf767d48acbf7e29526abfeac34691bc5acfda7..6f5ef749868b72d99e01976c07065dd86a6f652d 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/sigcontext.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/signalfd.h b/lib/libc/include/mips64-linux-gnuabin32/bits/signalfd.h index 10b69b2df45b7e7234ec6522321479de5c7b99ed..2709bea4eb7a337aa312ea084add38dbb720d099 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/signalfd.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/signum-arch.h b/lib/libc/include/mips64-linux-gnuabin32/bits/signum-arch.h index a217ddd4431adea494377ce7096d3e4f0ad08c85..97e8248998292e1677dd0083d6cee6b7c9c24153 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/signum-arch.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/signum-arch.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux/MIPS version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/socket-constants.h b/lib/libc/include/mips64-linux-gnuabin32/bits/socket-constants.h index 3e95d151ca3c1e3ab45e293b879de350729e9c7d..492fdbf2588b3ac4dd58b6d8622f55303e42454a 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/socket-constants.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for MIPS. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/socket_type.h b/lib/libc/include/mips64-linux-gnuabin32/bits/socket_type.h index f66bd0ea5fb8ca998b8c67d3f8537430f26f05da..fd12df6eddcfff1ed93a6dee9a1980d74d2e4228 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/socket_type.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for Linux/MIPS. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/statfs.h b/lib/libc/include/mips64-linux-gnuabin32/bits/statfs.h index 0e18718b2498e65b60f6677770f7418c2142c9d0..0643bba28fac7a91e773ae88a4fab3ddba53dba3 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/statfs.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/struct_mutex.h b/lib/libc/include/mips64-linux-gnuabin32/bits/struct_mutex.h index 8ddb89ce2401744efe75c961089a16898b4e18ba..9ce0ec7309c2d6091663cfa4f883f78d121b5bef 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/struct_mutex.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* MIPS internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_cc.h b/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_cc.h index 8e67783a9e624d13aa6c6b261980b7ef3f512ac1..00debdaab199ba85e5b10e5b6273573cab64c94d 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_cc.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_lflag.h b/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_lflag.h index 6ef207b1a25b08124d649599ca2cd9ddb8562bce..3b2600dd17a4495cb69db85b9161c1af7a0782c6 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_lflag.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/termios-struct.h b/lib/libc/include/mips64-linux-gnuabin32/bits/termios-struct.h index 3bae186f55a9384238c4905163941ad2cf77ef35..c784a9efb0976c6376aec32d9b5fd280750e8f37 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/termios-struct.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/termios-struct.h @@ -1,5 +1,5 @@ /* struct termios definition. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/termios-tcflow.h b/lib/libc/include/mips64-linux-gnuabin32/bits/termios-tcflow.h index a6a4e5719e4f724862f3c7c7f183b641766e0dd4..58b3497473366346d341d1a00c6fbc66ad3500f0 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/termios-tcflow.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/termios-tcflow.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/timerfd.h b/lib/libc/include/mips64-linux-gnuabin32/bits/timerfd.h index 871792717b0a532c17db012c938d220f253420f1..d48cd13775a74e830a32a091ba68ced6d92e2d05 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/timerfd.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/types/stack_t.h b/lib/libc/include/mips64-linux-gnuabin32/bits/types/stack_t.h index 005479e51ac96762e0e6a893dcd4272990601e6d..6129ea23cd8320cc6302b5ebbec9e959c896ec81 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/types/stack_t.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/types/stack_t.h @@ -1,5 +1,5 @@ /* Define stack_t. MIPS Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_msqid_ds.h b/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_msqid_ds.h index c7dcdf23d9df8109e0360cdf0a413d75a806b8cf..957a98085324232a5dfa805c9194118472df9f0c 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_semid_ds.h b/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_semid_ds.h index c1961e1bb1ce2a640bac26b959818d9041dc5d8d..7429ac9b50b6bdd15a5b8419ac5a668712dfa279 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_semid_ds.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* MIPS implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_shmid_ds.h b/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_shmid_ds.h index 2e8525c1a5cc5d2cb53d97eda74414a11b861708..81c914a9eac74f6930c08800547c10e0d6a139cc 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64-linux-gnuabin32/ieee754.h b/lib/libc/include/mips64-linux-gnuabin32/ieee754.h index f3e3977ca3b835afb380185d1544dc07045bdcac..2676970c34a1ec3559026e04188e1133e86467ec 100644 --- a/lib/libc/include/mips64-linux-gnuabin32/ieee754.h +++ b/lib/libc/include/mips64-linux-gnuabin32/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/dlfcn.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/dlfcn.h index 733090d634a4b3108eaf2d9e9731a2ba16b2db86..a487e012c5ace5a65ead5767eef811fb40ff7e39 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/dlfcn.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/dlfcn.h @@ -1,5 +1,5 @@ /* System dependent definitions for run-time dynamic loading. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/errno.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/errno.h index 0362f92048ff6a29350d2c7601e540981a388518..59718e55f9ff7c8cba0e710ea490a5ea83015b4a 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/errno.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. MIPS/Linux specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/eventfd.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/eventfd.h index a0f8f94d0cc4f0778b7af651ad03eba4e9a62bd3..f874f0bfe6f38d5d9825866f8d5c4d70202476ce 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/eventfd.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/inotify.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/inotify.h index f72c8dc63937742d1256f4f99b97680253d1d9bd..d27e1ee586068394c116ffece5182e196e49aa44 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/inotify.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/ioctl-types.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/ioctl-types.h index 84081f4bfde420db06f2bb1ba20abbbdf33b54ab..bcbccc12088839d6dfc19ac1660e56c52ce49112 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/ioctl-types.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/ipctypes.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/ipctypes.h index aa6d3772af4ded230f8769db569b0c1b6f8b2159..bbd3c5298991030fcdb52931a91bce5072f9ce9a 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/ipctypes.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/mman.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/mman.h index 726689ddec2d3393e26c1d6be2100ef6a2a3ac95..5de974483287502b3151816f05fc66037a90f6ae 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/mman.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,25 +24,21 @@ But the kernel header is not namespace clean. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_NORESERVE 0x0400 /* don't check for reservations */ -# define MAP_GROWSDOWN 0x1000 /* stack-like segment */ -# define MAP_DENYWRITE 0x2000 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ -# define MAP_LOCKED 0x8000 /* pages are locked */ -# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ -# define MAP_NONBLOCK 0x20000 /* do not block on IO */ -# define MAP_STACK 0x40000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif #define __MAP_ANONYMOUS 0x0800 /* Include generic Linux declarations. */ #include -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/poll.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/poll.h index fd12b709205f6260f98ec2a8abca6d400fa3f503..4b921c84bac587663d8dc26afc91f3bfbae0b596 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/poll.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/pthread_stack_min.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/pthread_stack_min.h index 1c02866a70f4a9f2baec6fc65be088d42759db29..7624eb42f572b8784be85089e47b4bfc415751d3 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/pthread_stack_min.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. MIPS Linux version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/pthreadtypes-arch.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/pthreadtypes-arch.h index b6894a757e33357b5b2ff107f6eadbe8e737cb26..3462039663f90d3414de44911b57b5156d783558 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/pthreadtypes-arch.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. MIPS version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/resource.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/resource.h index 743dc1b9ad378d78786c38b521dee560c1c72d42..b47567d6dd367aa38756a8b30c1b15db003c05f9 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/resource.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux/MIPS version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/semaphore.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/semaphore.h index 73abfb807843100929b552129cd965818d09beea..62f7bfebea815f68d5cdf2b19385173468f2d04e 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/semaphore.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/shmlba.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/shmlba.h index 357defb2bad52ecc650fde4273d93c3b8296c04c..3c6b45352a0fd50856816d129ab42679963117ed 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/shmlba.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. MIPS version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/sigaction.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/sigaction.h index f968c4d10d74b1f707920301f28b60a939ec42d5..5ae13b5f1150a4f904db101a6b2dadc53bcced90 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/sigaction.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/MIPS's sigaction. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/sigcontext.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/sigcontext.h index cdf767d48acbf7e29526abfeac34691bc5acfda7..6f5ef749868b72d99e01976c07065dd86a6f652d 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/sigcontext.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/signalfd.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/signalfd.h index 10b69b2df45b7e7234ec6522321479de5c7b99ed..2709bea4eb7a337aa312ea084add38dbb720d099 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/signalfd.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/signum-arch.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/signum-arch.h index a217ddd4431adea494377ce7096d3e4f0ad08c85..97e8248998292e1677dd0083d6cee6b7c9c24153 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/signum-arch.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/signum-arch.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux/MIPS version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/socket-constants.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/socket-constants.h index 3e95d151ca3c1e3ab45e293b879de350729e9c7d..492fdbf2588b3ac4dd58b6d8622f55303e42454a 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/socket-constants.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for MIPS. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/socket_type.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/socket_type.h index f66bd0ea5fb8ca998b8c67d3f8537430f26f05da..fd12df6eddcfff1ed93a6dee9a1980d74d2e4228 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/socket_type.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for Linux/MIPS. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/statfs.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/statfs.h index 0e18718b2498e65b60f6677770f7418c2142c9d0..0643bba28fac7a91e773ae88a4fab3ddba53dba3 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/statfs.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/struct_mutex.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/struct_mutex.h index 8ddb89ce2401744efe75c961089a16898b4e18ba..9ce0ec7309c2d6091663cfa4f883f78d121b5bef 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/struct_mutex.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* MIPS internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_cc.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_cc.h index 8e67783a9e624d13aa6c6b261980b7ef3f512ac1..00debdaab199ba85e5b10e5b6273573cab64c94d 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_cc.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_lflag.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_lflag.h index 6ef207b1a25b08124d649599ca2cd9ddb8562bce..3b2600dd17a4495cb69db85b9161c1af7a0782c6 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_lflag.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-struct.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-struct.h index 3bae186f55a9384238c4905163941ad2cf77ef35..c784a9efb0976c6376aec32d9b5fd280750e8f37 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-struct.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-struct.h @@ -1,5 +1,5 @@ /* struct termios definition. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-tcflow.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-tcflow.h index a6a4e5719e4f724862f3c7c7f183b641766e0dd4..58b3497473366346d341d1a00c6fbc66ad3500f0 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-tcflow.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-tcflow.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/timerfd.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/timerfd.h index 871792717b0a532c17db012c938d220f253420f1..d48cd13775a74e830a32a091ba68ced6d92e2d05 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/timerfd.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/types/stack_t.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/types/stack_t.h index 005479e51ac96762e0e6a893dcd4272990601e6d..6129ea23cd8320cc6302b5ebbec9e959c896ec81 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/types/stack_t.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/types/stack_t.h @@ -1,5 +1,5 @@ /* Define stack_t. MIPS Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_msqid_ds.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_msqid_ds.h index c7dcdf23d9df8109e0360cdf0a413d75a806b8cf..957a98085324232a5dfa805c9194118472df9f0c 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_semid_ds.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_semid_ds.h index c1961e1bb1ce2a640bac26b959818d9041dc5d8d..7429ac9b50b6bdd15a5b8419ac5a668712dfa279 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_semid_ds.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* MIPS implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_shmid_ds.h b/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_shmid_ds.h index 2e8525c1a5cc5d2cb53d97eda74414a11b861708..81c914a9eac74f6930c08800547c10e0d6a139cc 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabi64/ieee754.h b/lib/libc/include/mips64el-linux-gnuabi64/ieee754.h index f3e3977ca3b835afb380185d1544dc07045bdcac..2676970c34a1ec3559026e04188e1133e86467ec 100644 --- a/lib/libc/include/mips64el-linux-gnuabi64/ieee754.h +++ b/lib/libc/include/mips64el-linux-gnuabi64/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/dlfcn.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/dlfcn.h index 733090d634a4b3108eaf2d9e9731a2ba16b2db86..a487e012c5ace5a65ead5767eef811fb40ff7e39 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/dlfcn.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/dlfcn.h @@ -1,5 +1,5 @@ /* System dependent definitions for run-time dynamic loading. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/errno.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/errno.h index 0362f92048ff6a29350d2c7601e540981a388518..59718e55f9ff7c8cba0e710ea490a5ea83015b4a 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/errno.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. MIPS/Linux specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/eventfd.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/eventfd.h index a0f8f94d0cc4f0778b7af651ad03eba4e9a62bd3..f874f0bfe6f38d5d9825866f8d5c4d70202476ce 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/eventfd.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/inotify.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/inotify.h index f72c8dc63937742d1256f4f99b97680253d1d9bd..d27e1ee586068394c116ffece5182e196e49aa44 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/inotify.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/ioctl-types.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/ioctl-types.h index 84081f4bfde420db06f2bb1ba20abbbdf33b54ab..bcbccc12088839d6dfc19ac1660e56c52ce49112 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/ioctl-types.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/ipctypes.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/ipctypes.h index aa6d3772af4ded230f8769db569b0c1b6f8b2159..bbd3c5298991030fcdb52931a91bce5072f9ce9a 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/ipctypes.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/mman.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/mman.h index 726689ddec2d3393e26c1d6be2100ef6a2a3ac95..5de974483287502b3151816f05fc66037a90f6ae 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/mman.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,25 +24,21 @@ But the kernel header is not namespace clean. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_NORESERVE 0x0400 /* don't check for reservations */ -# define MAP_GROWSDOWN 0x1000 /* stack-like segment */ -# define MAP_DENYWRITE 0x2000 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ -# define MAP_LOCKED 0x8000 /* pages are locked */ -# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ -# define MAP_NONBLOCK 0x20000 /* do not block on IO */ -# define MAP_STACK 0x40000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif #define __MAP_ANONYMOUS 0x0800 /* Include generic Linux declarations. */ #include -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/poll.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/poll.h index fd12b709205f6260f98ec2a8abca6d400fa3f503..4b921c84bac587663d8dc26afc91f3bfbae0b596 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/poll.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/pthread_stack_min.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/pthread_stack_min.h index 1c02866a70f4a9f2baec6fc65be088d42759db29..7624eb42f572b8784be85089e47b4bfc415751d3 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/pthread_stack_min.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. MIPS Linux version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/pthreadtypes-arch.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/pthreadtypes-arch.h index b6894a757e33357b5b2ff107f6eadbe8e737cb26..3462039663f90d3414de44911b57b5156d783558 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/pthreadtypes-arch.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. MIPS version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/resource.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/resource.h index 743dc1b9ad378d78786c38b521dee560c1c72d42..b47567d6dd367aa38756a8b30c1b15db003c05f9 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/resource.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux/MIPS version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/semaphore.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/semaphore.h index 73abfb807843100929b552129cd965818d09beea..62f7bfebea815f68d5cdf2b19385173468f2d04e 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/semaphore.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/shmlba.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/shmlba.h index 357defb2bad52ecc650fde4273d93c3b8296c04c..3c6b45352a0fd50856816d129ab42679963117ed 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/shmlba.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. MIPS version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/sigaction.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/sigaction.h index f968c4d10d74b1f707920301f28b60a939ec42d5..5ae13b5f1150a4f904db101a6b2dadc53bcced90 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/sigaction.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/MIPS's sigaction. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/sigcontext.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/sigcontext.h index cdf767d48acbf7e29526abfeac34691bc5acfda7..6f5ef749868b72d99e01976c07065dd86a6f652d 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/sigcontext.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/signalfd.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/signalfd.h index 10b69b2df45b7e7234ec6522321479de5c7b99ed..2709bea4eb7a337aa312ea084add38dbb720d099 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/signalfd.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/signum-arch.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/signum-arch.h index a217ddd4431adea494377ce7096d3e4f0ad08c85..97e8248998292e1677dd0083d6cee6b7c9c24153 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/signum-arch.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/signum-arch.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux/MIPS version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/socket-constants.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/socket-constants.h index 3e95d151ca3c1e3ab45e293b879de350729e9c7d..492fdbf2588b3ac4dd58b6d8622f55303e42454a 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/socket-constants.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for MIPS. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/socket_type.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/socket_type.h index f66bd0ea5fb8ca998b8c67d3f8537430f26f05da..fd12df6eddcfff1ed93a6dee9a1980d74d2e4228 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/socket_type.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for Linux/MIPS. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/statfs.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/statfs.h index 0e18718b2498e65b60f6677770f7418c2142c9d0..0643bba28fac7a91e773ae88a4fab3ddba53dba3 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/statfs.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/struct_mutex.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/struct_mutex.h index 8ddb89ce2401744efe75c961089a16898b4e18ba..9ce0ec7309c2d6091663cfa4f883f78d121b5bef 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/struct_mutex.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* MIPS internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_cc.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_cc.h index 8e67783a9e624d13aa6c6b261980b7ef3f512ac1..00debdaab199ba85e5b10e5b6273573cab64c94d 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_cc.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_lflag.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_lflag.h index 6ef207b1a25b08124d649599ca2cd9ddb8562bce..3b2600dd17a4495cb69db85b9161c1af7a0782c6 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_lflag.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-struct.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-struct.h index 3bae186f55a9384238c4905163941ad2cf77ef35..c784a9efb0976c6376aec32d9b5fd280750e8f37 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-struct.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-struct.h @@ -1,5 +1,5 @@ /* struct termios definition. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-tcflow.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-tcflow.h index a6a4e5719e4f724862f3c7c7f183b641766e0dd4..58b3497473366346d341d1a00c6fbc66ad3500f0 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-tcflow.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-tcflow.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/timerfd.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/timerfd.h index 871792717b0a532c17db012c938d220f253420f1..d48cd13775a74e830a32a091ba68ced6d92e2d05 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/timerfd.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/types/stack_t.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/types/stack_t.h index 005479e51ac96762e0e6a893dcd4272990601e6d..6129ea23cd8320cc6302b5ebbec9e959c896ec81 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/types/stack_t.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/types/stack_t.h @@ -1,5 +1,5 @@ /* Define stack_t. MIPS Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_msqid_ds.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_msqid_ds.h index c7dcdf23d9df8109e0360cdf0a413d75a806b8cf..957a98085324232a5dfa805c9194118472df9f0c 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_semid_ds.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_semid_ds.h index c1961e1bb1ce2a640bac26b959818d9041dc5d8d..7429ac9b50b6bdd15a5b8419ac5a668712dfa279 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_semid_ds.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* MIPS implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_shmid_ds.h b/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_shmid_ds.h index 2e8525c1a5cc5d2cb53d97eda74414a11b861708..81c914a9eac74f6930c08800547c10e0d6a139cc 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mips64el-linux-gnuabin32/ieee754.h b/lib/libc/include/mips64el-linux-gnuabin32/ieee754.h index f3e3977ca3b835afb380185d1544dc07045bdcac..2676970c34a1ec3559026e04188e1133e86467ec 100644 --- a/lib/libc/include/mips64el-linux-gnuabin32/ieee754.h +++ b/lib/libc/include/mips64el-linux-gnuabin32/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/dlfcn.h b/lib/libc/include/mipsel-linux-gnueabi/bits/dlfcn.h index 733090d634a4b3108eaf2d9e9731a2ba16b2db86..a487e012c5ace5a65ead5767eef811fb40ff7e39 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/dlfcn.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/dlfcn.h @@ -1,5 +1,5 @@ /* System dependent definitions for run-time dynamic loading. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/errno.h b/lib/libc/include/mipsel-linux-gnueabi/bits/errno.h index 0362f92048ff6a29350d2c7601e540981a388518..59718e55f9ff7c8cba0e710ea490a5ea83015b4a 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/errno.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. MIPS/Linux specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/eventfd.h b/lib/libc/include/mipsel-linux-gnueabi/bits/eventfd.h index a0f8f94d0cc4f0778b7af651ad03eba4e9a62bd3..f874f0bfe6f38d5d9825866f8d5c4d70202476ce 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/eventfd.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/inotify.h b/lib/libc/include/mipsel-linux-gnueabi/bits/inotify.h index f72c8dc63937742d1256f4f99b97680253d1d9bd..d27e1ee586068394c116ffece5182e196e49aa44 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/inotify.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/ioctl-types.h b/lib/libc/include/mipsel-linux-gnueabi/bits/ioctl-types.h index 84081f4bfde420db06f2bb1ba20abbbdf33b54ab..bcbccc12088839d6dfc19ac1660e56c52ce49112 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/ioctl-types.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/ipctypes.h b/lib/libc/include/mipsel-linux-gnueabi/bits/ipctypes.h index aa6d3772af4ded230f8769db569b0c1b6f8b2159..bbd3c5298991030fcdb52931a91bce5072f9ce9a 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/ipctypes.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/mman.h b/lib/libc/include/mipsel-linux-gnueabi/bits/mman.h index 726689ddec2d3393e26c1d6be2100ef6a2a3ac95..5de974483287502b3151816f05fc66037a90f6ae 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/mman.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,25 +24,21 @@ But the kernel header is not namespace clean. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_NORESERVE 0x0400 /* don't check for reservations */ -# define MAP_GROWSDOWN 0x1000 /* stack-like segment */ -# define MAP_DENYWRITE 0x2000 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ -# define MAP_LOCKED 0x8000 /* pages are locked */ -# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ -# define MAP_NONBLOCK 0x20000 /* do not block on IO */ -# define MAP_STACK 0x40000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif #define __MAP_ANONYMOUS 0x0800 /* Include generic Linux declarations. */ #include -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/poll.h b/lib/libc/include/mipsel-linux-gnueabi/bits/poll.h index fd12b709205f6260f98ec2a8abca6d400fa3f503..4b921c84bac587663d8dc26afc91f3bfbae0b596 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/poll.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/pthread_stack_min.h b/lib/libc/include/mipsel-linux-gnueabi/bits/pthread_stack_min.h index 1c02866a70f4a9f2baec6fc65be088d42759db29..7624eb42f572b8784be85089e47b4bfc415751d3 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/pthread_stack_min.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. MIPS Linux version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/pthreadtypes-arch.h b/lib/libc/include/mipsel-linux-gnueabi/bits/pthreadtypes-arch.h index b6894a757e33357b5b2ff107f6eadbe8e737cb26..3462039663f90d3414de44911b57b5156d783558 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/pthreadtypes-arch.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. MIPS version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/resource.h b/lib/libc/include/mipsel-linux-gnueabi/bits/resource.h index 743dc1b9ad378d78786c38b521dee560c1c72d42..b47567d6dd367aa38756a8b30c1b15db003c05f9 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/resource.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux/MIPS version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/semaphore.h b/lib/libc/include/mipsel-linux-gnueabi/bits/semaphore.h index 73abfb807843100929b552129cd965818d09beea..62f7bfebea815f68d5cdf2b19385173468f2d04e 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/semaphore.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/shmlba.h b/lib/libc/include/mipsel-linux-gnueabi/bits/shmlba.h index 357defb2bad52ecc650fde4273d93c3b8296c04c..3c6b45352a0fd50856816d129ab42679963117ed 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/shmlba.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. MIPS version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/sigaction.h b/lib/libc/include/mipsel-linux-gnueabi/bits/sigaction.h index f968c4d10d74b1f707920301f28b60a939ec42d5..5ae13b5f1150a4f904db101a6b2dadc53bcced90 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/sigaction.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/MIPS's sigaction. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/sigcontext.h b/lib/libc/include/mipsel-linux-gnueabi/bits/sigcontext.h index cdf767d48acbf7e29526abfeac34691bc5acfda7..6f5ef749868b72d99e01976c07065dd86a6f652d 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/sigcontext.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/signalfd.h b/lib/libc/include/mipsel-linux-gnueabi/bits/signalfd.h index 10b69b2df45b7e7234ec6522321479de5c7b99ed..2709bea4eb7a337aa312ea084add38dbb720d099 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/signalfd.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/signum-arch.h b/lib/libc/include/mipsel-linux-gnueabi/bits/signum-arch.h index a217ddd4431adea494377ce7096d3e4f0ad08c85..97e8248998292e1677dd0083d6cee6b7c9c24153 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/signum-arch.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/signum-arch.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux/MIPS version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/socket-constants.h b/lib/libc/include/mipsel-linux-gnueabi/bits/socket-constants.h index 3e95d151ca3c1e3ab45e293b879de350729e9c7d..492fdbf2588b3ac4dd58b6d8622f55303e42454a 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/socket-constants.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for MIPS. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/socket_type.h b/lib/libc/include/mipsel-linux-gnueabi/bits/socket_type.h index f66bd0ea5fb8ca998b8c67d3f8537430f26f05da..fd12df6eddcfff1ed93a6dee9a1980d74d2e4228 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/socket_type.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for Linux/MIPS. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/statfs.h b/lib/libc/include/mipsel-linux-gnueabi/bits/statfs.h index 0e18718b2498e65b60f6677770f7418c2142c9d0..0643bba28fac7a91e773ae88a4fab3ddba53dba3 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/statfs.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/struct_mutex.h b/lib/libc/include/mipsel-linux-gnueabi/bits/struct_mutex.h index 8ddb89ce2401744efe75c961089a16898b4e18ba..9ce0ec7309c2d6091663cfa4f883f78d121b5bef 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/struct_mutex.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* MIPS internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_cc.h b/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_cc.h index 8e67783a9e624d13aa6c6b261980b7ef3f512ac1..00debdaab199ba85e5b10e5b6273573cab64c94d 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_cc.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_lflag.h b/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_lflag.h index 6ef207b1a25b08124d649599ca2cd9ddb8562bce..3b2600dd17a4495cb69db85b9161c1af7a0782c6 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_lflag.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/termios-struct.h b/lib/libc/include/mipsel-linux-gnueabi/bits/termios-struct.h index 3bae186f55a9384238c4905163941ad2cf77ef35..c784a9efb0976c6376aec32d9b5fd280750e8f37 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/termios-struct.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/termios-struct.h @@ -1,5 +1,5 @@ /* struct termios definition. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/termios-tcflow.h b/lib/libc/include/mipsel-linux-gnueabi/bits/termios-tcflow.h index a6a4e5719e4f724862f3c7c7f183b641766e0dd4..58b3497473366346d341d1a00c6fbc66ad3500f0 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/termios-tcflow.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/termios-tcflow.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/timerfd.h b/lib/libc/include/mipsel-linux-gnueabi/bits/timerfd.h index 871792717b0a532c17db012c938d220f253420f1..d48cd13775a74e830a32a091ba68ced6d92e2d05 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/timerfd.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/types/stack_t.h b/lib/libc/include/mipsel-linux-gnueabi/bits/types/stack_t.h index 005479e51ac96762e0e6a893dcd4272990601e6d..6129ea23cd8320cc6302b5ebbec9e959c896ec81 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/types/stack_t.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/types/stack_t.h @@ -1,5 +1,5 @@ /* Define stack_t. MIPS Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_msqid_ds.h b/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_msqid_ds.h index c7dcdf23d9df8109e0360cdf0a413d75a806b8cf..957a98085324232a5dfa805c9194118472df9f0c 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_semid_ds.h b/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_semid_ds.h index c1961e1bb1ce2a640bac26b959818d9041dc5d8d..7429ac9b50b6bdd15a5b8419ac5a668712dfa279 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_semid_ds.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* MIPS implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_shmid_ds.h b/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_shmid_ds.h index 2e8525c1a5cc5d2cb53d97eda74414a11b861708..81c914a9eac74f6930c08800547c10e0d6a139cc 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabi/ieee754.h b/lib/libc/include/mipsel-linux-gnueabi/ieee754.h index f3e3977ca3b835afb380185d1544dc07045bdcac..2676970c34a1ec3559026e04188e1133e86467ec 100644 --- a/lib/libc/include/mipsel-linux-gnueabi/ieee754.h +++ b/lib/libc/include/mipsel-linux-gnueabi/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/dlfcn.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/dlfcn.h index 733090d634a4b3108eaf2d9e9731a2ba16b2db86..a487e012c5ace5a65ead5767eef811fb40ff7e39 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/dlfcn.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/dlfcn.h @@ -1,5 +1,5 @@ /* System dependent definitions for run-time dynamic loading. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/errno.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/errno.h index 0362f92048ff6a29350d2c7601e540981a388518..59718e55f9ff7c8cba0e710ea490a5ea83015b4a 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/errno.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. MIPS/Linux specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/eventfd.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/eventfd.h index a0f8f94d0cc4f0778b7af651ad03eba4e9a62bd3..f874f0bfe6f38d5d9825866f8d5c4d70202476ce 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/eventfd.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/inotify.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/inotify.h index f72c8dc63937742d1256f4f99b97680253d1d9bd..d27e1ee586068394c116ffece5182e196e49aa44 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/inotify.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/ioctl-types.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/ioctl-types.h index 84081f4bfde420db06f2bb1ba20abbbdf33b54ab..bcbccc12088839d6dfc19ac1660e56c52ce49112 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/ioctl-types.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/ipctypes.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/ipctypes.h index aa6d3772af4ded230f8769db569b0c1b6f8b2159..bbd3c5298991030fcdb52931a91bce5072f9ce9a 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/ipctypes.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/mman.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/mman.h index 726689ddec2d3393e26c1d6be2100ef6a2a3ac95..5de974483287502b3151816f05fc66037a90f6ae 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/mman.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/MIPS version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,25 +24,21 @@ But the kernel header is not namespace clean. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_NORESERVE 0x0400 /* don't check for reservations */ -# define MAP_GROWSDOWN 0x1000 /* stack-like segment */ -# define MAP_DENYWRITE 0x2000 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ -# define MAP_LOCKED 0x8000 /* pages are locked */ -# define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ -# define MAP_NONBLOCK 0x20000 /* do not block on IO */ -# define MAP_STACK 0x40000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif #define __MAP_ANONYMOUS 0x0800 /* Include generic Linux declarations. */ #include -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/poll.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/poll.h index fd12b709205f6260f98ec2a8abca6d400fa3f503..4b921c84bac587663d8dc26afc91f3bfbae0b596 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/poll.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/pthread_stack_min.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/pthread_stack_min.h index 1c02866a70f4a9f2baec6fc65be088d42759db29..7624eb42f572b8784be85089e47b4bfc415751d3 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/pthread_stack_min.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. MIPS Linux version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/pthreadtypes-arch.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/pthreadtypes-arch.h index b6894a757e33357b5b2ff107f6eadbe8e737cb26..3462039663f90d3414de44911b57b5156d783558 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/pthreadtypes-arch.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. MIPS version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/resource.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/resource.h index 743dc1b9ad378d78786c38b521dee560c1c72d42..b47567d6dd367aa38756a8b30c1b15db003c05f9 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/resource.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux/MIPS version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/semaphore.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/semaphore.h index 73abfb807843100929b552129cd965818d09beea..62f7bfebea815f68d5cdf2b19385173468f2d04e 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/semaphore.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/shmlba.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/shmlba.h index 357defb2bad52ecc650fde4273d93c3b8296c04c..3c6b45352a0fd50856816d129ab42679963117ed 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/shmlba.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. MIPS version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/sigaction.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/sigaction.h index f968c4d10d74b1f707920301f28b60a939ec42d5..5ae13b5f1150a4f904db101a6b2dadc53bcced90 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/sigaction.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/MIPS's sigaction. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/sigcontext.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/sigcontext.h index cdf767d48acbf7e29526abfeac34691bc5acfda7..6f5ef749868b72d99e01976c07065dd86a6f652d 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/sigcontext.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/signalfd.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/signalfd.h index 10b69b2df45b7e7234ec6522321479de5c7b99ed..2709bea4eb7a337aa312ea084add38dbb720d099 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/signalfd.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/signum-arch.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/signum-arch.h index a217ddd4431adea494377ce7096d3e4f0ad08c85..97e8248998292e1677dd0083d6cee6b7c9c24153 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/signum-arch.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/signum-arch.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux/MIPS version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/socket-constants.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/socket-constants.h index 3e95d151ca3c1e3ab45e293b879de350729e9c7d..492fdbf2588b3ac4dd58b6d8622f55303e42454a 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/socket-constants.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for MIPS. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/socket_type.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/socket_type.h index f66bd0ea5fb8ca998b8c67d3f8537430f26f05da..fd12df6eddcfff1ed93a6dee9a1980d74d2e4228 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/socket_type.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for Linux/MIPS. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/statfs.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/statfs.h index 0e18718b2498e65b60f6677770f7418c2142c9d0..0643bba28fac7a91e773ae88a4fab3ddba53dba3 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/statfs.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/struct_mutex.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/struct_mutex.h index 8ddb89ce2401744efe75c961089a16898b4e18ba..9ce0ec7309c2d6091663cfa4f883f78d121b5bef 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/struct_mutex.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* MIPS internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_cc.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_cc.h index 8e67783a9e624d13aa6c6b261980b7ef3f512ac1..00debdaab199ba85e5b10e5b6273573cab64c94d 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_cc.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_lflag.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_lflag.h index 6ef207b1a25b08124d649599ca2cd9ddb8562bce..3b2600dd17a4495cb69db85b9161c1af7a0782c6 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_lflag.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-struct.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-struct.h index 3bae186f55a9384238c4905163941ad2cf77ef35..c784a9efb0976c6376aec32d9b5fd280750e8f37 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-struct.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-struct.h @@ -1,5 +1,5 @@ /* struct termios definition. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-tcflow.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-tcflow.h index a6a4e5719e4f724862f3c7c7f183b641766e0dd4..58b3497473366346d341d1a00c6fbc66ad3500f0 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-tcflow.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-tcflow.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/mips version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/timerfd.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/timerfd.h index 871792717b0a532c17db012c938d220f253420f1..d48cd13775a74e830a32a091ba68ced6d92e2d05 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/timerfd.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/types/stack_t.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/types/stack_t.h index 005479e51ac96762e0e6a893dcd4272990601e6d..6129ea23cd8320cc6302b5ebbec9e959c896ec81 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/types/stack_t.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/types/stack_t.h @@ -1,5 +1,5 @@ /* Define stack_t. MIPS Linux version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_msqid_ds.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_msqid_ds.h index c7dcdf23d9df8109e0360cdf0a413d75a806b8cf..957a98085324232a5dfa805c9194118472df9f0c 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_semid_ds.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_semid_ds.h index c1961e1bb1ce2a640bac26b959818d9041dc5d8d..7429ac9b50b6bdd15a5b8419ac5a668712dfa279 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_semid_ds.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* MIPS implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_shmid_ds.h b/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_shmid_ds.h index 2e8525c1a5cc5d2cb53d97eda74414a11b861708..81c914a9eac74f6930c08800547c10e0d6a139cc 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/MIPS implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/mipsel-linux-gnueabihf/ieee754.h b/lib/libc/include/mipsel-linux-gnueabihf/ieee754.h index f3e3977ca3b835afb380185d1544dc07045bdcac..2676970c34a1ec3559026e04188e1133e86467ec 100644 --- a/lib/libc/include/mipsel-linux-gnueabihf/ieee754.h +++ b/lib/libc/include/mipsel-linux-gnueabihf/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/environments.h b/lib/libc/include/powerpc-linux-gnueabi/bits/environments.h index 81b109e9c70dde4c76ee355d9fae0a0afeac3e87..b5c0cf16aa5263ed1f7d9a8d5182988adcf890ec 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/environments.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/fcntl.h b/lib/libc/include/powerpc-linux-gnueabi/bits/fcntl.h index abb1bd7083421b12fd1b94623bd3a28ea43099fb..9d5fb2d79a4a7d871554eecb81762254fb4dabc5 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/fcntl.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux/PowerPC. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -33,6 +33,12 @@ # define __O_LARGEFILE 0200000 #endif +#if __WORDSIZE == 64 +# define F_GETLK 5 +# define F_SETLK 6 +# define F_SETLKW 7 +#endif + struct flock { short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/fenv.h b/lib/libc/include/powerpc-linux-gnueabi/bits/fenv.h index a1e1b6ba4bb411f8737436f795882e11dc8f7d1f..e3737480fe65fd44b2eecdca813ccff64a5b07ea 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/fenv.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/floatn.h b/lib/libc/include/powerpc-linux-gnueabi/bits/floatn.h index cb7f2fe5bc1a1c6f741575d1c12ac3db7c861ab4..9a382593aa0000ea51267016d69e65e6dd2346f1 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/floatn.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on powerpc. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -57,7 +57,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix (f128) exist for powerpc only since GCC 7.0. */ # if __LDBL_MANT_DIG__ == 113 # define __f128(x) x##l @@ -71,10 +71,10 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus +# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus && !__GNUC_PREREQ (13, 0) typedef long double _Float128; # define __CFLOAT128 _Complex long double -# elif !__GNUC_PREREQ (7, 0) || defined __cplusplus +# elif !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The type _Float128 exist for powerpc only since GCC 7.0. */ typedef __float128 _Float128; /* Add a typedef for older GCC and C++ compilers which don't natively support diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/fp-fast.h b/lib/libc/include/powerpc-linux-gnueabi/bits/fp-fast.h index e10d37d400918ba0ecfc03705e6aff7cb572eef9..ae6bf92fa635c61f87045ff4bbb8140918007e14 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/fp-fast.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/fp-fast.h @@ -1,5 +1,5 @@ /* Define FP_FAST_* macros. PowerPC version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/hwcap.h b/lib/libc/include/powerpc-linux-gnueabi/bits/hwcap.h index 9858baf991a6fe88fbf81b752f0470612b97861c..658ed53cb40c18a3845a76ba3707909f462edd5c 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/hwcap.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP and AT_HWCAP2. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/ioctl-types.h b/lib/libc/include/powerpc-linux-gnueabi/bits/ioctl-types.h index 919610e5ca793749924fffe6e1d33031c9c1092c..6f4ec38e1b95449bf800082e3cc86fa535e2c415 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/ioctl-types.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/powerpc version. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/ipc-perm.h b/lib/libc/include/powerpc-linux-gnueabi/bits/ipc-perm.h index ff13f53218450d35aff8b97285b72416d0bfab8d..06ba41e02c941e681b0019d6531affb440134011 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/ipc-perm.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/ipc-perm.h @@ -1,5 +1,5 @@ /* struct ipc_perm definition. Linux/powerpc version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/iscanonical.h b/lib/libc/include/powerpc-linux-gnueabi/bits/iscanonical.h index 288b2f2d8ade3ceaf29116854c476cb8eb17d679..42d01898febc684697cd9fe168907d11063b216a 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/iscanonical.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/iscanonical.h @@ -1,5 +1,5 @@ /* Define iscanonical macro. ldbl-128ibm version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/link.h b/lib/libc/include/powerpc-linux-gnueabi/bits/link.h index fc234f741e96db4971c1dc160769337b8501563b..7bc884809ff46ae1384766d7f5eba8a917e2ba53 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/link.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/link.h @@ -1,5 +1,5 @@ /* Machine-specific declarations for dynamic linker interface. PowerPC version - Copyright (C) 2004-2021 Free Software Foundation, Inc. + Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/long-double.h b/lib/libc/include/powerpc-linux-gnueabi/bits/long-double.h index e3ec00d82b8b8427e244d35af5ede8a687325fd0..270ba4d0c3d8b0aceef249e580633c2cf17f27cc 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/long-double.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-opt version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/mman.h b/lib/libc/include/powerpc-linux-gnueabi/bits/mman.h index c920654b2806a79cdc19d4c0b1bf8a33ee36c353..bfd947e2625b52baaa8801b5fdd8ffec84b1271c 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/mman.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/PowerPC version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -26,21 +26,19 @@ #define PROT_SAO 0x10 /* Strong Access Ordering. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ -# define MAP_DENYWRITE 0x00800 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ -# define MAP_LOCKED 0x00080 /* Lock the mapping. */ -# define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ -# define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ -# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ -# define MAP_STACK 0x20000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ -# define MAP_SYNC 0x80000 /* Perform synchronous page +#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ +#define MAP_DENYWRITE 0x00800 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ +#define MAP_LOCKED 0x00080 /* Lock the mapping. */ +#define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ +#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ +#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ +#define MAP_STACK 0x20000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +#define MAP_SYNC 0x80000 /* Perform synchronous page faults for the mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif /* Flags for `mlockall'. */ #define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */ diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/procfs.h b/lib/libc/include/powerpc-linux-gnueabi/bits/procfs.h index eabe87ff35d2d544859ee4f5b35448bf0ef049c6..3a96bab1786a96215198caedbc6299ac72df3cf8 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/procfs.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. PowerPC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/pthread_stack_min.h b/lib/libc/include/powerpc-linux-gnueabi/bits/pthread_stack_min.h index c8caed37b2ee08492c7955984c9032788c944c9a..b579aabf715aceacf8f56ef09539d786192313b7 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/pthread_stack_min.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. Linux/PPC version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/rseq.h b/lib/libc/include/powerpc-linux-gnueabi/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..5442eae04eb9521530a48f92a90d2e1b0e63ce57 --- /dev/null +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/rseq.h @@ -0,0 +1,37 @@ +/* Restartable Sequences Linux powerpc architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the following trap instruction: + + powerpc-be: 0f e5 00 0b twui r5,11 + powerpc64-le: 0b 00 e5 0f twui r5,11 + powerpc64-be: 0f e5 00 0b twui r5,11 */ + +#define RSEQ_SIG 0x0fe5000b \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/setjmp.h b/lib/libc/include/powerpc-linux-gnueabi/bits/setjmp.h index 47eec4fe737e64dad01a76b43213afaef40d360d..4f4a3b3c863439c8dba433c82e68fb7db2cc4157 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/setjmp.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,7 +32,7 @@ /* The current powerpc 32-bit Altivec ABI specifies for SVR4 ABI and EABI the vrsave must be at byte 248 & v20 at byte 256. So we must pad this - correctly on 32 bit. It also insists that vecregs are only gauranteed + correctly on 32 bit. It also insists that vecregs are only guaranteed 4 byte alignment so we need to use vperm in the setjmp/longjmp routines. We have to version the code because members like int __mask_was_saved in the jmp_buf will move as jmp_buf is now larger than 248 bytes. We diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/sigstack.h b/lib/libc/include/powerpc-linux-gnueabi/bits/sigstack.h index f2371950e290c1427a9758287af0be999b05047d..5b629acd87cbfaa2c84ad33c662646d47819344f 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/sigstack.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/sigstack.h @@ -1,5 +1,5 @@ /* sigstack, sigaltstack definitions. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,10 +23,15 @@ # error "Never include this file directly. Use instead" #endif +#ifdef __powerpc64__ +#define MINSIGSTKSZ 8192 +#define SIGSTKSZ 32768 +#else /* Minimum stack size for a signal handler. */ #define MINSIGSTKSZ 4096 /* System default stack size. */ #define SIGSTKSZ 16384 +#endif #endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/socket-constants.h b/lib/libc/include/powerpc-linux-gnueabi/bits/socket-constants.h index a6223eff2769aee1584a0b2a7f574b174238ba3f..2047f7066d04621e870dfe10412ed6be3b5fea84 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/socket-constants.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for POWER. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/struct_mutex.h b/lib/libc/include/powerpc-linux-gnueabi/bits/struct_mutex.h index 708b22e85ac2fab956f158b23158191885d41dc3..55e161158c4492db0bed9301c4516c2e11969e31 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/struct_mutex.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* PowerPC internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/struct_rwlock.h b/lib/libc/include/powerpc-linux-gnueabi/bits/struct_rwlock.h index 5d5bc3f8946292c7a483bffcb1d4be04b4893968..14a741d3b9a8bdd382405495d1a2d9f2b56d4beb 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/struct_rwlock.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* PowerPC internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/struct_stat.h b/lib/libc/include/powerpc-linux-gnueabi/bits/struct_stat.h index 3faed3a29beb7013175ec64854c4e4a2c6852812..4556a091984a14a5346ea8f70cfbce3f2bbd4380 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/struct_stat.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-baud.h b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-baud.h index 4ee2f824bfe793d478733402046a425612dbe240..20b51e0fbdc09e68f6651563d5373f1b32a1c504 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-baud.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-baud.h @@ -1,5 +1,5 @@ /* termios baud rate selection definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cc.h b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cc.h index 32283b153f2e1e121506c1557f3ee5cddac1752e..2156d51f74203c56e242838a71c4e1d5204f8f07 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cc.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cflag.h b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cflag.h index 01c2a123b5c39c976b194803a23eefa79a87dd9c..bcf4ca1cebfa6dda6cd02290aa13e12b74e1cd03 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cflag.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cflag.h @@ -1,5 +1,5 @@ /* termios control mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,4 +32,8 @@ #define PARODD 00020000 #define HUPCL 00040000 -#define CLOCAL 00100000 \ No newline at end of file +#define CLOCAL 00100000 + +#ifdef __USE_MISC +# define ADDRB 04000000000 +#endif \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_iflag.h b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_iflag.h index 4df494e6dc26ecfa358f011e361f516d0dcf0236..d3153f38d163941a470a81fba9701ca70d62dbaa 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_iflag.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_iflag.h @@ -1,5 +1,5 @@ /* termios input mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_lflag.h b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_lflag.h index ee2291cc562b7f8f6890ff505a00b69c5f6f3c54..212ea4f7734c68cf94e00e9538c95b1bc5f37649 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_lflag.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_oflag.h b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_oflag.h index a875d23d4f88cba41d34efaaf699e21f5190c5a1..aad487134432208364fda55f86330cc276603e0c 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_oflag.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_oflag.h @@ -1,5 +1,5 @@ /* termios output mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-misc.h b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-misc.h index dc3fb15aa7045b060c476bf3a6ed0dce273aee75..3b0c67b2fc17d7709524a5cba393f046498fc338 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/termios-misc.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/termios-misc.h @@ -1,5 +1,5 @@ /* termios baud platform specific definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/epoll.h b/lib/libc/include/powerpc-linux-gnueabi/bits/timesize.h similarity index 72% rename from lib/libc/include/sparcv9-linux-gnu/bits/epoll.h rename to lib/libc/include/powerpc-linux-gnueabi/bits/timesize.h index 298f3e8170abd47939c5c7d7c27911369b0c59d6..46ff2940e498a51a2806402767e096cff9b53a94 100644 --- a/lib/libc/include/sparcv9-linux-gnu/bits/epoll.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/timesize.h @@ -1,4 +1,5 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Bit size of the time_t type at glibc build time, Linux/PowerPC. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,13 +16,7 @@ License along with the GNU C Library; if not, see . */ -#ifndef _SYS_EPOLL_H -# error "Never use directly; include instead." -#endif +#include -/* Flags to be passed to epoll_create1. */ -enum - { - EPOLL_CLOEXEC = 0x400000 -#define EPOLL_CLOEXEC EPOLL_CLOEXEC - }; \ No newline at end of file +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_msqid_ds.h b/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_msqid_ds.h index 52cc930886f6852a8c82a54e36eb3bea8ff2071c..3662f1fcd00801ab2a73827cc5cfce2ae6d6408c 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/PowerPC implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_semid_ds.h b/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_semid_ds.h index d70967d6e07cef5fc8f443a80309a2beffc6ac78..3976a51bb4f63441e88111730c3f11d4e166820a 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_semid_ds.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* PowerPC implementation of the semaphore struct semid_ds. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_shmid_ds.h b/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_shmid_ds.h index 6a47b1c39ffe6ff0ede4570fdbda64371a99babe..b30672d8b91852b3741826ab58c25120d0edc42e 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/PowerPC implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/typesizes.h b/lib/libc/include/powerpc-linux-gnueabi/bits/typesizes.h similarity index 91% rename from lib/libc/include/sparcv9-linux-gnu/bits/typesizes.h rename to lib/libc/include/powerpc-linux-gnueabi/bits/typesizes.h index 1035ac097ba862ca6191ed9f154ef77a2ad7708b..2d8c19edb404ba66f122497e75922013222c787e 100644 --- a/lib/libc/include/sparcv9-linux-gnu/bits/typesizes.h +++ b/lib/libc/include/powerpc-linux-gnueabi/bits/typesizes.h @@ -1,5 +1,5 @@ -/* bits/typesizes.h -- underlying types for *_t. Linux/SPARC version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* bits/typesizes.h -- underlying types for *_t. PowerPC version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,7 +32,7 @@ #define __INO_T_TYPE __ULONGWORD_TYPE #define __INO64_T_TYPE __UQUAD_TYPE #define __MODE_T_TYPE __U32_TYPE -#define __NLINK_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE #define __OFF_T_TYPE __SLONGWORD_TYPE #define __OFF64_T_TYPE __SQUAD_TYPE #define __PID_T_TYPE __S32_TYPE @@ -49,7 +49,7 @@ #define __CLOCK_T_TYPE __SLONGWORD_TYPE #define __TIME_T_TYPE __SLONGWORD_TYPE #define __USECONDS_T_TYPE __U32_TYPE -#define __SUSECONDS_T_TYPE __S32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE #define __SUSECONDS64_T_TYPE __SQUAD_TYPE #define __DADDR_T_TYPE __S32_TYPE #define __KEY_T_TYPE __S32_TYPE @@ -62,7 +62,7 @@ #define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE #define __CPU_MASK_TYPE __ULONGWORD_TYPE -#if defined __arch64__ || defined __sparcv9 +#ifdef __LP64__ /* Tell the libc code that off_t and off64_t are actually the same type for all ABI purposes, even if possibly expressed as different base types for C type-checking purposes. */ @@ -71,7 +71,7 @@ /* Same for ino_t and ino64_t. */ # define __INO_T_MATCHES_INO64_T 1 -/* And for __rlim_t and __rlim64_t. */ +/* And for rlim_t and rlim64_t. */ # define __RLIM_T_MATCHES_RLIM64_T 1 /* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ diff --git a/lib/libc/include/powerpc-linux-gnueabi/fpu_control.h b/lib/libc/include/powerpc-linux-gnueabi/fpu_control.h index 7f66352f1a90f966931e3b9d639ab1893efe34db..4b9525d96bfdb4e37e7bfa8033377cb5d8662421 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/fpu_control.h +++ b/lib/libc/include/powerpc-linux-gnueabi/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word definitions. PowerPC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/gnu/lib-names-32.h b/lib/libc/include/powerpc-linux-gnueabi/gnu/lib-names-32.h deleted file mode 100644 index 7dfe5a7147490c21adb83ee28f2300eb57046f4d..0000000000000000000000000000000000000000 --- a/lib/libc/include/powerpc-linux-gnueabi/gnu/lib-names-32.h +++ /dev/null @@ -1,29 +0,0 @@ -/* This file is automatically generated. */ -#ifndef __GNU_LIB_NAMES_H -# error "Never use directly; include instead." -#endif - -#define LD_SO "ld.so.1" -#define LIBANL_SO "libanl.so.1" -#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" -#define LIBCRYPT_SO "libcrypt.so.1" -#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" -#define LIBC_SO "libc.so.6" -#define LIBDL_SO "libdl.so.2" -#define LIBGCC_S_SO "libgcc_s.so.1" -#define LIBMVEC_SO "libmvec.so.1" -#define LIBM_SO "libm.so.6" -#define LIBNSL_SO "libnsl.so.1" -#define LIBNSS_COMPAT_SO "libnss_compat.so.2" -#define LIBNSS_DB_SO "libnss_db.so.2" -#define LIBNSS_DNS_SO "libnss_dns.so.2" -#define LIBNSS_FILES_SO "libnss_files.so.2" -#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" -#define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" -#define LIBPTHREAD_SO "libpthread.so.0" -#define LIBRESOLV_SO "libresolv.so.2" -#define LIBRT_SO "librt.so.1" -#define LIBTHREAD_DB_SO "libthread_db.so.1" -#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabi/ieee754.h b/lib/libc/include/powerpc-linux-gnueabi/ieee754.h index 78bbb343c41b699ff634823f5108c3c814964e45..1169f4b24f152c1aa55da2eb454590982cf6ff37 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/ieee754.h +++ b/lib/libc/include/powerpc-linux-gnueabi/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/sys/ptrace.h b/lib/libc/include/powerpc-linux-gnueabi/sys/ptrace.h index a0134d5dfe44f7ec3f8cd4f7a0f80c7307dc6d94..478282bf8d2058d125b74b8e4f3f64cfb32f0fba 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/sys/ptrace.h +++ b/lib/libc/include/powerpc-linux-gnueabi/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/PowerPC version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -36,6 +36,7 @@ __BEGIN_DECLS # undef PTRACE_GETREGS # undef PTRACE_GETREGS64 # undef PTRACE_GETREGSET +# undef PTRACE_GET_RSEQ_CONFIGURATION # undef PTRACE_GETSIGINFO # undef PTRACE_GETSIGMASK # undef PTRACE_GET_SYSCALL_INFO @@ -260,8 +261,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/powerpc-linux-gnueabi/sys/ucontext.h b/lib/libc/include/powerpc-linux-gnueabi/sys/ucontext.h index a48adedb951ad2301d2de5f53777036b01e22a4e..e868d0bb669a1ab134cc233598c0753fe9307c80 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/sys/ucontext.h +++ b/lib/libc/include/powerpc-linux-gnueabi/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabi/sys/user.h b/lib/libc/include/powerpc-linux-gnueabi/sys/user.h index c18c39983b419061e0d80622a4806baebceb6dc7..5c485b637b99afec0cf670f1af4b49d628b0c129 100644 --- a/lib/libc/include/powerpc-linux-gnueabi/sys/user.h +++ b/lib/libc/include/powerpc-linux-gnueabi/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/environments.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/environments.h index 81b109e9c70dde4c76ee355d9fae0a0afeac3e87..b5c0cf16aa5263ed1f7d9a8d5182988adcf890ec 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/environments.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/fcntl.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/fcntl.h index abb1bd7083421b12fd1b94623bd3a28ea43099fb..9d5fb2d79a4a7d871554eecb81762254fb4dabc5 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/fcntl.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux/PowerPC. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -33,6 +33,12 @@ # define __O_LARGEFILE 0200000 #endif +#if __WORDSIZE == 64 +# define F_GETLK 5 +# define F_SETLK 6 +# define F_SETLKW 7 +#endif + struct flock { short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/fenv.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/fenv.h index a1e1b6ba4bb411f8737436f795882e11dc8f7d1f..e3737480fe65fd44b2eecdca813ccff64a5b07ea 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/fenv.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/floatn.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/floatn.h index cb7f2fe5bc1a1c6f741575d1c12ac3db7c861ab4..9a382593aa0000ea51267016d69e65e6dd2346f1 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/floatn.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on powerpc. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -57,7 +57,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix (f128) exist for powerpc only since GCC 7.0. */ # if __LDBL_MANT_DIG__ == 113 # define __f128(x) x##l @@ -71,10 +71,10 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus +# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus && !__GNUC_PREREQ (13, 0) typedef long double _Float128; # define __CFLOAT128 _Complex long double -# elif !__GNUC_PREREQ (7, 0) || defined __cplusplus +# elif !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The type _Float128 exist for powerpc only since GCC 7.0. */ typedef __float128 _Float128; /* Add a typedef for older GCC and C++ compilers which don't natively support diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/fp-fast.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/fp-fast.h index e10d37d400918ba0ecfc03705e6aff7cb572eef9..ae6bf92fa635c61f87045ff4bbb8140918007e14 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/fp-fast.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/fp-fast.h @@ -1,5 +1,5 @@ /* Define FP_FAST_* macros. PowerPC version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/hwcap.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/hwcap.h index 9858baf991a6fe88fbf81b752f0470612b97861c..658ed53cb40c18a3845a76ba3707909f462edd5c 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/hwcap.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP and AT_HWCAP2. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/ioctl-types.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/ioctl-types.h index 919610e5ca793749924fffe6e1d33031c9c1092c..6f4ec38e1b95449bf800082e3cc86fa535e2c415 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/ioctl-types.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/powerpc version. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/ipc-perm.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/ipc-perm.h index ff13f53218450d35aff8b97285b72416d0bfab8d..06ba41e02c941e681b0019d6531affb440134011 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/ipc-perm.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/ipc-perm.h @@ -1,5 +1,5 @@ /* struct ipc_perm definition. Linux/powerpc version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/iscanonical.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/iscanonical.h index 288b2f2d8ade3ceaf29116854c476cb8eb17d679..42d01898febc684697cd9fe168907d11063b216a 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/iscanonical.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/iscanonical.h @@ -1,5 +1,5 @@ /* Define iscanonical macro. ldbl-128ibm version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/link.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/link.h index fc234f741e96db4971c1dc160769337b8501563b..7bc884809ff46ae1384766d7f5eba8a917e2ba53 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/link.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/link.h @@ -1,5 +1,5 @@ /* Machine-specific declarations for dynamic linker interface. PowerPC version - Copyright (C) 2004-2021 Free Software Foundation, Inc. + Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/long-double.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/long-double.h index e3ec00d82b8b8427e244d35af5ede8a687325fd0..270ba4d0c3d8b0aceef249e580633c2cf17f27cc 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/long-double.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-opt version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/mman.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/mman.h index c920654b2806a79cdc19d4c0b1bf8a33ee36c353..bfd947e2625b52baaa8801b5fdd8ffec84b1271c 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/mman.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/PowerPC version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -26,21 +26,19 @@ #define PROT_SAO 0x10 /* Strong Access Ordering. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ -# define MAP_DENYWRITE 0x00800 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ -# define MAP_LOCKED 0x00080 /* Lock the mapping. */ -# define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ -# define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ -# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ -# define MAP_STACK 0x20000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ -# define MAP_SYNC 0x80000 /* Perform synchronous page +#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ +#define MAP_DENYWRITE 0x00800 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ +#define MAP_LOCKED 0x00080 /* Lock the mapping. */ +#define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ +#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ +#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ +#define MAP_STACK 0x20000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +#define MAP_SYNC 0x80000 /* Perform synchronous page faults for the mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif /* Flags for `mlockall'. */ #define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */ diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/procfs.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/procfs.h index eabe87ff35d2d544859ee4f5b35448bf0ef049c6..3a96bab1786a96215198caedbc6299ac72df3cf8 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/procfs.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. PowerPC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/pthread_stack_min.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/pthread_stack_min.h index c8caed37b2ee08492c7955984c9032788c944c9a..b579aabf715aceacf8f56ef09539d786192313b7 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/pthread_stack_min.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. Linux/PPC version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/rseq.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..5442eae04eb9521530a48f92a90d2e1b0e63ce57 --- /dev/null +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/rseq.h @@ -0,0 +1,37 @@ +/* Restartable Sequences Linux powerpc architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the following trap instruction: + + powerpc-be: 0f e5 00 0b twui r5,11 + powerpc64-le: 0b 00 e5 0f twui r5,11 + powerpc64-be: 0f e5 00 0b twui r5,11 */ + +#define RSEQ_SIG 0x0fe5000b \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/setjmp.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/setjmp.h index 47eec4fe737e64dad01a76b43213afaef40d360d..4f4a3b3c863439c8dba433c82e68fb7db2cc4157 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/setjmp.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,7 +32,7 @@ /* The current powerpc 32-bit Altivec ABI specifies for SVR4 ABI and EABI the vrsave must be at byte 248 & v20 at byte 256. So we must pad this - correctly on 32 bit. It also insists that vecregs are only gauranteed + correctly on 32 bit. It also insists that vecregs are only guaranteed 4 byte alignment so we need to use vperm in the setjmp/longjmp routines. We have to version the code because members like int __mask_was_saved in the jmp_buf will move as jmp_buf is now larger than 248 bytes. We diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/sigstack.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/sigstack.h index f2371950e290c1427a9758287af0be999b05047d..5b629acd87cbfaa2c84ad33c662646d47819344f 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/sigstack.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/sigstack.h @@ -1,5 +1,5 @@ /* sigstack, sigaltstack definitions. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,10 +23,15 @@ # error "Never include this file directly. Use instead" #endif +#ifdef __powerpc64__ +#define MINSIGSTKSZ 8192 +#define SIGSTKSZ 32768 +#else /* Minimum stack size for a signal handler. */ #define MINSIGSTKSZ 4096 /* System default stack size. */ #define SIGSTKSZ 16384 +#endif #endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/socket-constants.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/socket-constants.h index a6223eff2769aee1584a0b2a7f574b174238ba3f..2047f7066d04621e870dfe10412ed6be3b5fea84 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/socket-constants.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for POWER. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_mutex.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_mutex.h index 708b22e85ac2fab956f158b23158191885d41dc3..55e161158c4492db0bed9301c4516c2e11969e31 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_mutex.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* PowerPC internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_rwlock.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_rwlock.h index 5d5bc3f8946292c7a483bffcb1d4be04b4893968..14a741d3b9a8bdd382405495d1a2d9f2b56d4beb 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_rwlock.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* PowerPC internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_stat.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_stat.h index 3faed3a29beb7013175ec64854c4e4a2c6852812..4556a091984a14a5346ea8f70cfbce3f2bbd4380 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_stat.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-baud.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-baud.h index 4ee2f824bfe793d478733402046a425612dbe240..20b51e0fbdc09e68f6651563d5373f1b32a1c504 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-baud.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-baud.h @@ -1,5 +1,5 @@ /* termios baud rate selection definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cc.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cc.h index 32283b153f2e1e121506c1557f3ee5cddac1752e..2156d51f74203c56e242838a71c4e1d5204f8f07 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cc.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cflag.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cflag.h index 01c2a123b5c39c976b194803a23eefa79a87dd9c..bcf4ca1cebfa6dda6cd02290aa13e12b74e1cd03 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cflag.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cflag.h @@ -1,5 +1,5 @@ /* termios control mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,4 +32,8 @@ #define PARODD 00020000 #define HUPCL 00040000 -#define CLOCAL 00100000 \ No newline at end of file +#define CLOCAL 00100000 + +#ifdef __USE_MISC +# define ADDRB 04000000000 +#endif \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_iflag.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_iflag.h index 4df494e6dc26ecfa358f011e361f516d0dcf0236..d3153f38d163941a470a81fba9701ca70d62dbaa 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_iflag.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_iflag.h @@ -1,5 +1,5 @@ /* termios input mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_lflag.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_lflag.h index ee2291cc562b7f8f6890ff505a00b69c5f6f3c54..212ea4f7734c68cf94e00e9538c95b1bc5f37649 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_lflag.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_oflag.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_oflag.h index a875d23d4f88cba41d34efaaf699e21f5190c5a1..aad487134432208364fda55f86330cc276603e0c 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_oflag.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_oflag.h @@ -1,5 +1,5 @@ /* termios output mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-misc.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-misc.h index dc3fb15aa7045b060c476bf3a6ed0dce273aee75..3b0c67b2fc17d7709524a5cba393f046498fc338 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-misc.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-misc.h @@ -1,5 +1,5 @@ /* termios baud platform specific definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/timesize.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..46ff2940e498a51a2806402767e096cff9b53a94 --- /dev/null +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, Linux/PowerPC. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_msqid_ds.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_msqid_ds.h index 52cc930886f6852a8c82a54e36eb3bea8ff2071c..3662f1fcd00801ab2a73827cc5cfce2ae6d6408c 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/PowerPC implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_semid_ds.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_semid_ds.h index d70967d6e07cef5fc8f443a80309a2beffc6ac78..3976a51bb4f63441e88111730c3f11d4e166820a 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_semid_ds.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* PowerPC implementation of the semaphore struct semid_ds. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_shmid_ds.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_shmid_ds.h index 6a47b1c39ffe6ff0ede4570fdbda64371a99babe..b30672d8b91852b3741826ab58c25120d0edc42e 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/PowerPC implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/bits/typesizes.h b/lib/libc/include/powerpc-linux-gnueabihf/bits/typesizes.h new file mode 100644 index 0000000000000000000000000000000000000000..2d8c19edb404ba66f122497e75922013222c787e --- /dev/null +++ b/lib/libc/include/powerpc-linux-gnueabihf/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. PowerPC version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __LP64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for rlim_t and rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/powerpc-linux-gnueabihf/fpu_control.h b/lib/libc/include/powerpc-linux-gnueabihf/fpu_control.h index 7f66352f1a90f966931e3b9d639ab1893efe34db..4b9525d96bfdb4e37e7bfa8033377cb5d8662421 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/fpu_control.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word definitions. PowerPC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/ieee754.h b/lib/libc/include/powerpc-linux-gnueabihf/ieee754.h index 78bbb343c41b699ff634823f5108c3c814964e45..1169f4b24f152c1aa55da2eb454590982cf6ff37 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/ieee754.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/sys/ptrace.h b/lib/libc/include/powerpc-linux-gnueabihf/sys/ptrace.h index a0134d5dfe44f7ec3f8cd4f7a0f80c7307dc6d94..478282bf8d2058d125b74b8e4f3f64cfb32f0fba 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/sys/ptrace.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/PowerPC version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -36,6 +36,7 @@ __BEGIN_DECLS # undef PTRACE_GETREGS # undef PTRACE_GETREGS64 # undef PTRACE_GETREGSET +# undef PTRACE_GET_RSEQ_CONFIGURATION # undef PTRACE_GETSIGINFO # undef PTRACE_GETSIGMASK # undef PTRACE_GET_SYSCALL_INFO @@ -260,8 +261,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/powerpc-linux-gnueabihf/sys/ucontext.h b/lib/libc/include/powerpc-linux-gnueabihf/sys/ucontext.h index a48adedb951ad2301d2de5f53777036b01e22a4e..e868d0bb669a1ab134cc233598c0753fe9307c80 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/sys/ucontext.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc-linux-gnueabihf/sys/user.h b/lib/libc/include/powerpc-linux-gnueabihf/sys/user.h index c18c39983b419061e0d80622a4806baebceb6dc7..5c485b637b99afec0cf670f1af4b49d628b0c129 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/sys/user.h +++ b/lib/libc/include/powerpc-linux-gnueabihf/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/environments.h b/lib/libc/include/powerpc64-linux-gnu/bits/environments.h index 81b109e9c70dde4c76ee355d9fae0a0afeac3e87..b5c0cf16aa5263ed1f7d9a8d5182988adcf890ec 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/environments.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/fcntl.h b/lib/libc/include/powerpc64-linux-gnu/bits/fcntl.h index abb1bd7083421b12fd1b94623bd3a28ea43099fb..9d5fb2d79a4a7d871554eecb81762254fb4dabc5 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/fcntl.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux/PowerPC. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -33,6 +33,12 @@ # define __O_LARGEFILE 0200000 #endif +#if __WORDSIZE == 64 +# define F_GETLK 5 +# define F_SETLK 6 +# define F_SETLKW 7 +#endif + struct flock { short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/fenv.h b/lib/libc/include/powerpc64-linux-gnu/bits/fenv.h index a1e1b6ba4bb411f8737436f795882e11dc8f7d1f..e3737480fe65fd44b2eecdca813ccff64a5b07ea 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/fenv.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/floatn.h b/lib/libc/include/powerpc64-linux-gnu/bits/floatn.h index cb7f2fe5bc1a1c6f741575d1c12ac3db7c861ab4..9a382593aa0000ea51267016d69e65e6dd2346f1 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/floatn.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on powerpc. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -57,7 +57,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix (f128) exist for powerpc only since GCC 7.0. */ # if __LDBL_MANT_DIG__ == 113 # define __f128(x) x##l @@ -71,10 +71,10 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus +# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus && !__GNUC_PREREQ (13, 0) typedef long double _Float128; # define __CFLOAT128 _Complex long double -# elif !__GNUC_PREREQ (7, 0) || defined __cplusplus +# elif !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The type _Float128 exist for powerpc only since GCC 7.0. */ typedef __float128 _Float128; /* Add a typedef for older GCC and C++ compilers which don't natively support diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/fp-fast.h b/lib/libc/include/powerpc64-linux-gnu/bits/fp-fast.h index e10d37d400918ba0ecfc03705e6aff7cb572eef9..ae6bf92fa635c61f87045ff4bbb8140918007e14 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/fp-fast.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/fp-fast.h @@ -1,5 +1,5 @@ /* Define FP_FAST_* macros. PowerPC version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/hwcap.h b/lib/libc/include/powerpc64-linux-gnu/bits/hwcap.h index 9858baf991a6fe88fbf81b752f0470612b97861c..658ed53cb40c18a3845a76ba3707909f462edd5c 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/hwcap.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP and AT_HWCAP2. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/ioctl-types.h b/lib/libc/include/powerpc64-linux-gnu/bits/ioctl-types.h index 919610e5ca793749924fffe6e1d33031c9c1092c..6f4ec38e1b95449bf800082e3cc86fa535e2c415 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/ioctl-types.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/powerpc version. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/ipc-perm.h b/lib/libc/include/powerpc64-linux-gnu/bits/ipc-perm.h index ff13f53218450d35aff8b97285b72416d0bfab8d..06ba41e02c941e681b0019d6531affb440134011 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/ipc-perm.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/ipc-perm.h @@ -1,5 +1,5 @@ /* struct ipc_perm definition. Linux/powerpc version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/iscanonical.h b/lib/libc/include/powerpc64-linux-gnu/bits/iscanonical.h index 288b2f2d8ade3ceaf29116854c476cb8eb17d679..42d01898febc684697cd9fe168907d11063b216a 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/iscanonical.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/iscanonical.h @@ -1,5 +1,5 @@ /* Define iscanonical macro. ldbl-128ibm version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/link.h b/lib/libc/include/powerpc64-linux-gnu/bits/link.h index fc234f741e96db4971c1dc160769337b8501563b..7bc884809ff46ae1384766d7f5eba8a917e2ba53 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/link.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/link.h @@ -1,5 +1,5 @@ /* Machine-specific declarations for dynamic linker interface. PowerPC version - Copyright (C) 2004-2021 Free Software Foundation, Inc. + Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/long-double.h b/lib/libc/include/powerpc64-linux-gnu/bits/long-double.h index e3ec00d82b8b8427e244d35af5ede8a687325fd0..270ba4d0c3d8b0aceef249e580633c2cf17f27cc 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/long-double.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-opt version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/mman.h b/lib/libc/include/powerpc64-linux-gnu/bits/mman.h index c920654b2806a79cdc19d4c0b1bf8a33ee36c353..bfd947e2625b52baaa8801b5fdd8ffec84b1271c 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/mman.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/PowerPC version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -26,21 +26,19 @@ #define PROT_SAO 0x10 /* Strong Access Ordering. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ -# define MAP_DENYWRITE 0x00800 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ -# define MAP_LOCKED 0x00080 /* Lock the mapping. */ -# define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ -# define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ -# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ -# define MAP_STACK 0x20000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ -# define MAP_SYNC 0x80000 /* Perform synchronous page +#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ +#define MAP_DENYWRITE 0x00800 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ +#define MAP_LOCKED 0x00080 /* Lock the mapping. */ +#define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ +#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ +#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ +#define MAP_STACK 0x20000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +#define MAP_SYNC 0x80000 /* Perform synchronous page faults for the mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif /* Flags for `mlockall'. */ #define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */ diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/procfs.h b/lib/libc/include/powerpc64-linux-gnu/bits/procfs.h index eabe87ff35d2d544859ee4f5b35448bf0ef049c6..3a96bab1786a96215198caedbc6299ac72df3cf8 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/procfs.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. PowerPC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/pthread_stack_min.h b/lib/libc/include/powerpc64-linux-gnu/bits/pthread_stack_min.h index c8caed37b2ee08492c7955984c9032788c944c9a..b579aabf715aceacf8f56ef09539d786192313b7 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/pthread_stack_min.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. Linux/PPC version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/rseq.h b/lib/libc/include/powerpc64-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..5442eae04eb9521530a48f92a90d2e1b0e63ce57 --- /dev/null +++ b/lib/libc/include/powerpc64-linux-gnu/bits/rseq.h @@ -0,0 +1,37 @@ +/* Restartable Sequences Linux powerpc architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the following trap instruction: + + powerpc-be: 0f e5 00 0b twui r5,11 + powerpc64-le: 0b 00 e5 0f twui r5,11 + powerpc64-be: 0f e5 00 0b twui r5,11 */ + +#define RSEQ_SIG 0x0fe5000b \ No newline at end of file diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/setjmp.h b/lib/libc/include/powerpc64-linux-gnu/bits/setjmp.h index 47eec4fe737e64dad01a76b43213afaef40d360d..4f4a3b3c863439c8dba433c82e68fb7db2cc4157 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/setjmp.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,7 +32,7 @@ /* The current powerpc 32-bit Altivec ABI specifies for SVR4 ABI and EABI the vrsave must be at byte 248 & v20 at byte 256. So we must pad this - correctly on 32 bit. It also insists that vecregs are only gauranteed + correctly on 32 bit. It also insists that vecregs are only guaranteed 4 byte alignment so we need to use vperm in the setjmp/longjmp routines. We have to version the code because members like int __mask_was_saved in the jmp_buf will move as jmp_buf is now larger than 248 bytes. We diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/sigstack.h b/lib/libc/include/powerpc64-linux-gnu/bits/sigstack.h index f2371950e290c1427a9758287af0be999b05047d..5b629acd87cbfaa2c84ad33c662646d47819344f 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/sigstack.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/sigstack.h @@ -1,5 +1,5 @@ /* sigstack, sigaltstack definitions. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,10 +23,15 @@ # error "Never include this file directly. Use instead" #endif +#ifdef __powerpc64__ +#define MINSIGSTKSZ 8192 +#define SIGSTKSZ 32768 +#else /* Minimum stack size for a signal handler. */ #define MINSIGSTKSZ 4096 /* System default stack size. */ #define SIGSTKSZ 16384 +#endif #endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/socket-constants.h b/lib/libc/include/powerpc64-linux-gnu/bits/socket-constants.h index a6223eff2769aee1584a0b2a7f574b174238ba3f..2047f7066d04621e870dfe10412ed6be3b5fea84 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/socket-constants.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for POWER. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/struct_mutex.h b/lib/libc/include/powerpc64-linux-gnu/bits/struct_mutex.h index 708b22e85ac2fab956f158b23158191885d41dc3..55e161158c4492db0bed9301c4516c2e11969e31 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/struct_mutex.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* PowerPC internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/powerpc64-linux-gnu/bits/struct_rwlock.h index 5d5bc3f8946292c7a483bffcb1d4be04b4893968..14a741d3b9a8bdd382405495d1a2d9f2b56d4beb 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/struct_rwlock.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* PowerPC internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/struct_stat.h b/lib/libc/include/powerpc64-linux-gnu/bits/struct_stat.h index 3faed3a29beb7013175ec64854c4e4a2c6852812..4556a091984a14a5346ea8f70cfbce3f2bbd4380 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/struct_stat.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/termios-baud.h b/lib/libc/include/powerpc64-linux-gnu/bits/termios-baud.h index 4ee2f824bfe793d478733402046a425612dbe240..20b51e0fbdc09e68f6651563d5373f1b32a1c504 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/termios-baud.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/termios-baud.h @@ -1,5 +1,5 @@ /* termios baud rate selection definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cc.h b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cc.h index 32283b153f2e1e121506c1557f3ee5cddac1752e..2156d51f74203c56e242838a71c4e1d5204f8f07 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cc.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cflag.h b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cflag.h index 01c2a123b5c39c976b194803a23eefa79a87dd9c..bcf4ca1cebfa6dda6cd02290aa13e12b74e1cd03 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cflag.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cflag.h @@ -1,5 +1,5 @@ /* termios control mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,4 +32,8 @@ #define PARODD 00020000 #define HUPCL 00040000 -#define CLOCAL 00100000 \ No newline at end of file +#define CLOCAL 00100000 + +#ifdef __USE_MISC +# define ADDRB 04000000000 +#endif \ No newline at end of file diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_iflag.h b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_iflag.h index 4df494e6dc26ecfa358f011e361f516d0dcf0236..d3153f38d163941a470a81fba9701ca70d62dbaa 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_iflag.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_iflag.h @@ -1,5 +1,5 @@ /* termios input mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_lflag.h b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_lflag.h index ee2291cc562b7f8f6890ff505a00b69c5f6f3c54..212ea4f7734c68cf94e00e9538c95b1bc5f37649 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_lflag.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_oflag.h b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_oflag.h index a875d23d4f88cba41d34efaaf699e21f5190c5a1..aad487134432208364fda55f86330cc276603e0c 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_oflag.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_oflag.h @@ -1,5 +1,5 @@ /* termios output mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/termios-misc.h b/lib/libc/include/powerpc64-linux-gnu/bits/termios-misc.h index dc3fb15aa7045b060c476bf3a6ed0dce273aee75..3b0c67b2fc17d7709524a5cba393f046498fc338 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/termios-misc.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/termios-misc.h @@ -1,5 +1,5 @@ /* termios baud platform specific definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/timesize.h b/lib/libc/include/powerpc64-linux-gnu/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..46ff2940e498a51a2806402767e096cff9b53a94 --- /dev/null +++ b/lib/libc/include/powerpc64-linux-gnu/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, Linux/PowerPC. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_msqid_ds.h b/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_msqid_ds.h index 52cc930886f6852a8c82a54e36eb3bea8ff2071c..3662f1fcd00801ab2a73827cc5cfce2ae6d6408c 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/PowerPC implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_semid_ds.h b/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_semid_ds.h index d70967d6e07cef5fc8f443a80309a2beffc6ac78..3976a51bb4f63441e88111730c3f11d4e166820a 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_semid_ds.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* PowerPC implementation of the semaphore struct semid_ds. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_shmid_ds.h b/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_shmid_ds.h index 6a47b1c39ffe6ff0ede4570fdbda64371a99babe..b30672d8b91852b3741826ab58c25120d0edc42e 100644 --- a/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/PowerPC implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/bits/typesizes.h b/lib/libc/include/powerpc64-linux-gnu/bits/typesizes.h new file mode 100644 index 0000000000000000000000000000000000000000..2d8c19edb404ba66f122497e75922013222c787e --- /dev/null +++ b/lib/libc/include/powerpc64-linux-gnu/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. PowerPC version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __LP64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for rlim_t and rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/powerpc64-linux-gnu/fpu_control.h b/lib/libc/include/powerpc64-linux-gnu/fpu_control.h index 7f66352f1a90f966931e3b9d639ab1893efe34db..4b9525d96bfdb4e37e7bfa8033377cb5d8662421 100644 --- a/lib/libc/include/powerpc64-linux-gnu/fpu_control.h +++ b/lib/libc/include/powerpc64-linux-gnu/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word definitions. PowerPC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/gnu/lib-names-64-v1.h b/lib/libc/include/powerpc64-linux-gnu/gnu/lib-names-64-v1.h index d6398763ede89299e21b8ac4339b96105055a67c..15032514a42c0709f5725d101d936f9b881029bf 100644 --- a/lib/libc/include/powerpc64-linux-gnu/gnu/lib-names-64-v1.h +++ b/lib/libc/include/powerpc64-linux-gnu/gnu/lib-names-64-v1.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/powerpc64-linux-gnu/ieee754.h b/lib/libc/include/powerpc64-linux-gnu/ieee754.h index 78bbb343c41b699ff634823f5108c3c814964e45..1169f4b24f152c1aa55da2eb454590982cf6ff37 100644 --- a/lib/libc/include/powerpc64-linux-gnu/ieee754.h +++ b/lib/libc/include/powerpc64-linux-gnu/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/sys/ptrace.h b/lib/libc/include/powerpc64-linux-gnu/sys/ptrace.h index a0134d5dfe44f7ec3f8cd4f7a0f80c7307dc6d94..478282bf8d2058d125b74b8e4f3f64cfb32f0fba 100644 --- a/lib/libc/include/powerpc64-linux-gnu/sys/ptrace.h +++ b/lib/libc/include/powerpc64-linux-gnu/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/PowerPC version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -36,6 +36,7 @@ __BEGIN_DECLS # undef PTRACE_GETREGS # undef PTRACE_GETREGS64 # undef PTRACE_GETREGSET +# undef PTRACE_GET_RSEQ_CONFIGURATION # undef PTRACE_GETSIGINFO # undef PTRACE_GETSIGMASK # undef PTRACE_GET_SYSCALL_INFO @@ -260,8 +261,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/powerpc64-linux-gnu/sys/ucontext.h b/lib/libc/include/powerpc64-linux-gnu/sys/ucontext.h index a48adedb951ad2301d2de5f53777036b01e22a4e..e868d0bb669a1ab134cc233598c0753fe9307c80 100644 --- a/lib/libc/include/powerpc64-linux-gnu/sys/ucontext.h +++ b/lib/libc/include/powerpc64-linux-gnu/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64-linux-gnu/sys/user.h b/lib/libc/include/powerpc64-linux-gnu/sys/user.h index c18c39983b419061e0d80622a4806baebceb6dc7..5c485b637b99afec0cf670f1af4b49d628b0c129 100644 --- a/lib/libc/include/powerpc64-linux-gnu/sys/user.h +++ b/lib/libc/include/powerpc64-linux-gnu/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/environments.h b/lib/libc/include/powerpc64le-linux-gnu/bits/environments.h index 81b109e9c70dde4c76ee355d9fae0a0afeac3e87..b5c0cf16aa5263ed1f7d9a8d5182988adcf890ec 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/environments.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/fcntl.h b/lib/libc/include/powerpc64le-linux-gnu/bits/fcntl.h index abb1bd7083421b12fd1b94623bd3a28ea43099fb..9d5fb2d79a4a7d871554eecb81762254fb4dabc5 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/fcntl.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux/PowerPC. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -33,6 +33,12 @@ # define __O_LARGEFILE 0200000 #endif +#if __WORDSIZE == 64 +# define F_GETLK 5 +# define F_SETLK 6 +# define F_SETLKW 7 +#endif + struct flock { short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/fenv.h b/lib/libc/include/powerpc64le-linux-gnu/bits/fenv.h index a1e1b6ba4bb411f8737436f795882e11dc8f7d1f..e3737480fe65fd44b2eecdca813ccff64a5b07ea 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/fenv.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/floatn.h b/lib/libc/include/powerpc64le-linux-gnu/bits/floatn.h index cb7f2fe5bc1a1c6f741575d1c12ac3db7c861ab4..9a382593aa0000ea51267016d69e65e6dd2346f1 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/floatn.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on powerpc. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -57,7 +57,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix (f128) exist for powerpc only since GCC 7.0. */ # if __LDBL_MANT_DIG__ == 113 # define __f128(x) x##l @@ -71,10 +71,10 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus +# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus && !__GNUC_PREREQ (13, 0) typedef long double _Float128; # define __CFLOAT128 _Complex long double -# elif !__GNUC_PREREQ (7, 0) || defined __cplusplus +# elif !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The type _Float128 exist for powerpc only since GCC 7.0. */ typedef __float128 _Float128; /* Add a typedef for older GCC and C++ compilers which don't natively support diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/fp-fast.h b/lib/libc/include/powerpc64le-linux-gnu/bits/fp-fast.h index e10d37d400918ba0ecfc03705e6aff7cb572eef9..ae6bf92fa635c61f87045ff4bbb8140918007e14 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/fp-fast.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/fp-fast.h @@ -1,5 +1,5 @@ /* Define FP_FAST_* macros. PowerPC version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/hwcap.h b/lib/libc/include/powerpc64le-linux-gnu/bits/hwcap.h index 9858baf991a6fe88fbf81b752f0470612b97861c..658ed53cb40c18a3845a76ba3707909f462edd5c 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/hwcap.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP and AT_HWCAP2. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/ioctl-types.h b/lib/libc/include/powerpc64le-linux-gnu/bits/ioctl-types.h index 919610e5ca793749924fffe6e1d33031c9c1092c..6f4ec38e1b95449bf800082e3cc86fa535e2c415 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/ioctl-types.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux/powerpc version. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/ipc-perm.h b/lib/libc/include/powerpc64le-linux-gnu/bits/ipc-perm.h index ff13f53218450d35aff8b97285b72416d0bfab8d..06ba41e02c941e681b0019d6531affb440134011 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/ipc-perm.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/ipc-perm.h @@ -1,5 +1,5 @@ /* struct ipc_perm definition. Linux/powerpc version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/iscanonical.h b/lib/libc/include/powerpc64le-linux-gnu/bits/iscanonical.h index 288b2f2d8ade3ceaf29116854c476cb8eb17d679..42d01898febc684697cd9fe168907d11063b216a 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/iscanonical.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/iscanonical.h @@ -1,5 +1,5 @@ /* Define iscanonical macro. ldbl-128ibm version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/link.h b/lib/libc/include/powerpc64le-linux-gnu/bits/link.h index fc234f741e96db4971c1dc160769337b8501563b..7bc884809ff46ae1384766d7f5eba8a917e2ba53 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/link.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/link.h @@ -1,5 +1,5 @@ /* Machine-specific declarations for dynamic linker interface. PowerPC version - Copyright (C) 2004-2021 Free Software Foundation, Inc. + Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/long-double.h b/lib/libc/include/powerpc64le-linux-gnu/bits/long-double.h index 04806b13478d40772bfec514c9f7e8c8ec98bb47..36b3a3a854606323f355991f2755b1aff2c5b814 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/long-double.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-opt version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/mman.h b/lib/libc/include/powerpc64le-linux-gnu/bits/mman.h index c920654b2806a79cdc19d4c0b1bf8a33ee36c353..bfd947e2625b52baaa8801b5fdd8ffec84b1271c 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/mman.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/PowerPC version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -26,21 +26,19 @@ #define PROT_SAO 0x10 /* Strong Access Ordering. */ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ -# define MAP_DENYWRITE 0x00800 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ -# define MAP_LOCKED 0x00080 /* Lock the mapping. */ -# define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ -# define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ -# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ -# define MAP_STACK 0x20000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ -# define MAP_SYNC 0x80000 /* Perform synchronous page +#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ +#define MAP_DENYWRITE 0x00800 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ +#define MAP_LOCKED 0x00080 /* Lock the mapping. */ +#define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ +#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ +#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ +#define MAP_STACK 0x20000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +#define MAP_SYNC 0x80000 /* Perform synchronous page faults for the mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif /* Flags for `mlockall'. */ #define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */ diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/procfs.h b/lib/libc/include/powerpc64le-linux-gnu/bits/procfs.h index eabe87ff35d2d544859ee4f5b35448bf0ef049c6..3a96bab1786a96215198caedbc6299ac72df3cf8 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/procfs.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. PowerPC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/pthread_stack_min.h b/lib/libc/include/powerpc64le-linux-gnu/bits/pthread_stack_min.h index c8caed37b2ee08492c7955984c9032788c944c9a..b579aabf715aceacf8f56ef09539d786192313b7 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/pthread_stack_min.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. Linux/PPC version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/rseq.h b/lib/libc/include/powerpc64le-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..5442eae04eb9521530a48f92a90d2e1b0e63ce57 --- /dev/null +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/rseq.h @@ -0,0 +1,37 @@ +/* Restartable Sequences Linux powerpc architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the following trap instruction: + + powerpc-be: 0f e5 00 0b twui r5,11 + powerpc64-le: 0b 00 e5 0f twui r5,11 + powerpc64-be: 0f e5 00 0b twui r5,11 */ + +#define RSEQ_SIG 0x0fe5000b \ No newline at end of file diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/setjmp.h b/lib/libc/include/powerpc64le-linux-gnu/bits/setjmp.h index 47eec4fe737e64dad01a76b43213afaef40d360d..4f4a3b3c863439c8dba433c82e68fb7db2cc4157 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/setjmp.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,7 +32,7 @@ /* The current powerpc 32-bit Altivec ABI specifies for SVR4 ABI and EABI the vrsave must be at byte 248 & v20 at byte 256. So we must pad this - correctly on 32 bit. It also insists that vecregs are only gauranteed + correctly on 32 bit. It also insists that vecregs are only guaranteed 4 byte alignment so we need to use vperm in the setjmp/longjmp routines. We have to version the code because members like int __mask_was_saved in the jmp_buf will move as jmp_buf is now larger than 248 bytes. We diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/sigstack.h b/lib/libc/include/powerpc64le-linux-gnu/bits/sigstack.h index f2371950e290c1427a9758287af0be999b05047d..5b629acd87cbfaa2c84ad33c662646d47819344f 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/sigstack.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/sigstack.h @@ -1,5 +1,5 @@ /* sigstack, sigaltstack definitions. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,10 +23,15 @@ # error "Never include this file directly. Use instead" #endif +#ifdef __powerpc64__ +#define MINSIGSTKSZ 8192 +#define SIGSTKSZ 32768 +#else /* Minimum stack size for a signal handler. */ #define MINSIGSTKSZ 4096 /* System default stack size. */ #define SIGSTKSZ 16384 +#endif #endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/socket-constants.h b/lib/libc/include/powerpc64le-linux-gnu/bits/socket-constants.h index a6223eff2769aee1584a0b2a7f574b174238ba3f..2047f7066d04621e870dfe10412ed6be3b5fea84 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/socket-constants.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for POWER. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/struct_mutex.h b/lib/libc/include/powerpc64le-linux-gnu/bits/struct_mutex.h index 708b22e85ac2fab956f158b23158191885d41dc3..55e161158c4492db0bed9301c4516c2e11969e31 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/struct_mutex.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* PowerPC internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/powerpc64le-linux-gnu/bits/struct_rwlock.h index 5d5bc3f8946292c7a483bffcb1d4be04b4893968..14a741d3b9a8bdd382405495d1a2d9f2b56d4beb 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/struct_rwlock.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* PowerPC internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/struct_stat.h b/lib/libc/include/powerpc64le-linux-gnu/bits/struct_stat.h index 3faed3a29beb7013175ec64854c4e4a2c6852812..4556a091984a14a5346ea8f70cfbce3f2bbd4380 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/struct_stat.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-baud.h b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-baud.h index 4ee2f824bfe793d478733402046a425612dbe240..20b51e0fbdc09e68f6651563d5373f1b32a1c504 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-baud.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-baud.h @@ -1,5 +1,5 @@ /* termios baud rate selection definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cc.h b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cc.h index 32283b153f2e1e121506c1557f3ee5cddac1752e..2156d51f74203c56e242838a71c4e1d5204f8f07 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cc.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cflag.h b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cflag.h index 01c2a123b5c39c976b194803a23eefa79a87dd9c..bcf4ca1cebfa6dda6cd02290aa13e12b74e1cd03 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cflag.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cflag.h @@ -1,5 +1,5 @@ /* termios control mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,4 +32,8 @@ #define PARODD 00020000 #define HUPCL 00040000 -#define CLOCAL 00100000 \ No newline at end of file +#define CLOCAL 00100000 + +#ifdef __USE_MISC +# define ADDRB 04000000000 +#endif \ No newline at end of file diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_iflag.h b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_iflag.h index 4df494e6dc26ecfa358f011e361f516d0dcf0236..d3153f38d163941a470a81fba9701ca70d62dbaa 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_iflag.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_iflag.h @@ -1,5 +1,5 @@ /* termios input mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_lflag.h b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_lflag.h index ee2291cc562b7f8f6890ff505a00b69c5f6f3c54..212ea4f7734c68cf94e00e9538c95b1bc5f37649 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_lflag.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_lflag.h @@ -1,5 +1,5 @@ /* termios local mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_oflag.h b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_oflag.h index a875d23d4f88cba41d34efaaf699e21f5190c5a1..aad487134432208364fda55f86330cc276603e0c 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_oflag.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_oflag.h @@ -1,5 +1,5 @@ /* termios output mode definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-misc.h b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-misc.h index dc3fb15aa7045b060c476bf3a6ed0dce273aee75..3b0c67b2fc17d7709524a5cba393f046498fc338 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/termios-misc.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/termios-misc.h @@ -1,5 +1,5 @@ /* termios baud platform specific definitions. Linux/powerpc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/timesize.h b/lib/libc/include/powerpc64le-linux-gnu/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..46ff2940e498a51a2806402767e096cff9b53a94 --- /dev/null +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, Linux/PowerPC. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_msqid_ds.h b/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_msqid_ds.h index 52cc930886f6852a8c82a54e36eb3bea8ff2071c..3662f1fcd00801ab2a73827cc5cfce2ae6d6408c 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/PowerPC implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_semid_ds.h b/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_semid_ds.h index d70967d6e07cef5fc8f443a80309a2beffc6ac78..3976a51bb4f63441e88111730c3f11d4e166820a 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_semid_ds.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* PowerPC implementation of the semaphore struct semid_ds. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_shmid_ds.h b/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_shmid_ds.h index 6a47b1c39ffe6ff0ede4570fdbda64371a99babe..b30672d8b91852b3741826ab58c25120d0edc42e 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/PowerPC implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/bits/typesizes.h b/lib/libc/include/powerpc64le-linux-gnu/bits/typesizes.h new file mode 100644 index 0000000000000000000000000000000000000000..2d8c19edb404ba66f122497e75922013222c787e --- /dev/null +++ b/lib/libc/include/powerpc64le-linux-gnu/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. PowerPC version. + Copyright (C) 2002-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __LP64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for rlim_t and rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/lib/libc/include/powerpc64le-linux-gnu/fpu_control.h b/lib/libc/include/powerpc64le-linux-gnu/fpu_control.h index 7f66352f1a90f966931e3b9d639ab1893efe34db..4b9525d96bfdb4e37e7bfa8033377cb5d8662421 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/fpu_control.h +++ b/lib/libc/include/powerpc64le-linux-gnu/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word definitions. PowerPC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/gnu/lib-names-64-v2.h b/lib/libc/include/powerpc64le-linux-gnu/gnu/lib-names-64-v2.h index bcfc823b194a00f792f131e5ac76e7a99b8ff393..80de7afa7277f69f66dd557c70895e416514d614 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/gnu/lib-names-64-v2.h +++ b/lib/libc/include/powerpc64le-linux-gnu/gnu/lib-names-64-v2.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/powerpc64le-linux-gnu/ieee754.h b/lib/libc/include/powerpc64le-linux-gnu/ieee754.h index 78bbb343c41b699ff634823f5108c3c814964e45..1169f4b24f152c1aa55da2eb454590982cf6ff37 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/ieee754.h +++ b/lib/libc/include/powerpc64le-linux-gnu/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/sys/ptrace.h b/lib/libc/include/powerpc64le-linux-gnu/sys/ptrace.h index a0134d5dfe44f7ec3f8cd4f7a0f80c7307dc6d94..478282bf8d2058d125b74b8e4f3f64cfb32f0fba 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/sys/ptrace.h +++ b/lib/libc/include/powerpc64le-linux-gnu/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/PowerPC version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -36,6 +36,7 @@ __BEGIN_DECLS # undef PTRACE_GETREGS # undef PTRACE_GETREGS64 # undef PTRACE_GETREGSET +# undef PTRACE_GET_RSEQ_CONFIGURATION # undef PTRACE_GETSIGINFO # undef PTRACE_GETSIGMASK # undef PTRACE_GET_SYSCALL_INFO @@ -260,8 +261,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/powerpc64le-linux-gnu/sys/ucontext.h b/lib/libc/include/powerpc64le-linux-gnu/sys/ucontext.h index a48adedb951ad2301d2de5f53777036b01e22a4e..e868d0bb669a1ab134cc233598c0753fe9307c80 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/sys/ucontext.h +++ b/lib/libc/include/powerpc64le-linux-gnu/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/powerpc64le-linux-gnu/sys/user.h b/lib/libc/include/powerpc64le-linux-gnu/sys/user.h index c18c39983b419061e0d80622a4806baebceb6dc7..5c485b637b99afec0cf670f1af4b49d628b0c129 100644 --- a/lib/libc/include/powerpc64le-linux-gnu/sys/user.h +++ b/lib/libc/include/powerpc64le-linux-gnu/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/environments.h b/lib/libc/include/riscv64-linux-gnu/bits/environments.h index 11a6861955970d5dfa7a257e59c27d9fc5823f15..f19db38823193b2c2c76f43b2740e76efcbcf38b 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/environments.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2020-2021 Free Software Foundation, Inc. +/* Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/fcntl.h b/lib/libc/include/riscv64-linux-gnu/bits/fcntl.h index dfe78dc364cd53c66d133fb32b0979b7e7b63410..8b98b47bb09c0c337e7db19ca13a29972b91dcdc 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/fcntl.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux / RISC-V. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/riscv64-linux-gnu/bits/fenv.h b/lib/libc/include/riscv64-linux-gnu/bits/fenv.h index 76d0a275ea6562983abd0a5b234ba22d09c0449d..71f14f45b461f5d9d90c275a97db316ae5799539 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/fenv.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/fenv.h @@ -1,5 +1,5 @@ /* Floating point environment, RISC-V version. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/floatn.h b/lib/libc/include/riscv64-linux-gnu/bits/floatn.h index 0b1b5d444dba6c324b2ef27cd91e5e4197e2ee81..a4ac95d55ea16ddd7a1a8b20a2f3c9a90c727dc1 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/floatn.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on ldbl-128 platforms. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -55,7 +55,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix f128 exists only since GCC 7.0. */ # define __f128(x) x##l # else @@ -65,7 +65,7 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __CFLOAT128 _Complex long double # else # define __CFLOAT128 _Complex _Float128 @@ -76,7 +76,7 @@ # if __HAVE_FLOAT128 /* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef long double _Float128; # endif diff --git a/lib/libc/include/riscv64-linux-gnu/bits/link.h b/lib/libc/include/riscv64-linux-gnu/bits/link.h index 298feed1492fca3daad63e827cc6c53230c77cb7..832f3c39a672c911f7bc262dfadcd689068b2c2f 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/link.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/link.h @@ -1,5 +1,5 @@ /* Machine-specific declarations for dynamic linker interface. RISC-V version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/long-double.h b/lib/libc/include/riscv64-linux-gnu/bits/long-double.h index ec1a0674e8d5af68ad6f681616631c595c735d9b..3455ce235633dd59dd9457498ecc984996c92817 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/long-double.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-128 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/procfs.h b/lib/libc/include/riscv64-linux-gnu/bits/procfs.h index f3d48119548011e7bc456ae51f9de102668e93d1..9f5ebb587d2507bf48675c0e1c6106fa76c47621 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/procfs.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. RISC-V version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/pthreadtypes-arch.h b/lib/libc/include/riscv64-linux-gnu/bits/pthreadtypes-arch.h index e1e7758a46c1cf3ba0c21aa8abef6179263efeb1..51358872ca3e12579aec05b2c68c042d9d793b17 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/pthreadtypes-arch.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/pthreadtypes-arch.h @@ -1,5 +1,5 @@ /* Machine-specific pthread type layouts. RISC-V version. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/rseq.h b/lib/libc/include/riscv64-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..fe2e400300a07daf7d0ac3400b1fa5640bfa75c8 --- /dev/null +++ b/lib/libc/include/riscv64-linux-gnu/bits/rseq.h @@ -0,0 +1,29 @@ +/* Restartable Sequences architecture header. Stub version. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. */ \ No newline at end of file diff --git a/lib/libc/include/riscv64-linux-gnu/bits/setjmp.h b/lib/libc/include/riscv64-linux-gnu/bits/setjmp.h index 1468211a4b1f3dbcaeb7a1309c75b86ebe6bc04b..b93a53b65301ce6c37a9464d1144e2dc1aad4649 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/setjmp.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/setjmp.h @@ -1,5 +1,5 @@ /* Define the machine-dependent type `jmp_buf'. RISC-V version. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/sigcontext.h b/lib/libc/include/riscv64-linux-gnu/bits/sigcontext.h index 3fb12ebdd47075bccb184f9fa79ea5151f37725c..d36af31c28a03f97c7140ab7451b2af13dbcfc41 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/sigcontext.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/sigcontext.h @@ -1,5 +1,5 @@ /* Machine-dependent signal context structure for Linux. RISC-V version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/riscv64-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/riscv64-linux-gnu/bits/struct_rwlock.h index f5af7bd0da468274bb91450107f0fed1d0b26609..a5644d653e91b5e2b94b0390c55070bff5142706 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/struct_rwlock.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* RISC-V internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/riscv64-linux-gnu/bits/struct_stat.h b/lib/libc/include/riscv64-linux-gnu/bits/struct_stat.h index 0549e9d97f9bd4c51e7512ddb6e65f55e42cc103..54192765a29f969c6369e634d37c75223fffab5c 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/struct_stat.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/time64.h b/lib/libc/include/riscv64-linux-gnu/bits/time64.h index ba5a262d1262ee77f85ba4901953440f09e83e83..b79c2ea8883e4a24a239e3ed1c3e161908aa88d3 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/time64.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/time64.h @@ -1,5 +1,5 @@ /* bits/time64.h -- underlying types for __time64_t. RISC-V version. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/bits/timesize.h b/lib/libc/include/riscv64-linux-gnu/bits/timesize.h index 292bd5e181feddb5e838244820e56ab0f740a3db..00217b042a806ffc2a36bac0bdedad21ee196301 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/timesize.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/timesize.h @@ -1,5 +1,5 @@ -/* Bit size of the time_t type at glibc build time, RISC-V case. - Copyright (C) 2020-2021 Free Software Foundation, Inc. +/* Bit size of the time_t type at glibc build time, general case. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,7 +16,5 @@ License along with the GNU C Library; if not, see . */ -#include - -/* RV32 and RV64 both use 64-bit time_t */ +/* Size in bits of the 'time_t' type of the default ABI. */ #define __TIMESIZE 64 \ No newline at end of file diff --git a/lib/libc/include/riscv64-linux-gnu/bits/typesizes.h b/lib/libc/include/riscv64-linux-gnu/bits/typesizes.h index 4156f352ad365f075e6c1740dbe3586b24435fdb..fa5fab6be42ef47c9b359f6da3c4e6f023747131 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/typesizes.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/typesizes.h @@ -1,7 +1,6 @@ /* bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Chris Metcalf , 2011. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/riscv64-linux-gnu/bits/wordsize.h b/lib/libc/include/riscv64-linux-gnu/bits/wordsize.h index c2bf0e7f800ef64f7799f9d4179e8cccc92566eb..3a1d73e4f618347ca298a2fe6ebc3cec39862161 100644 --- a/lib/libc/include/riscv64-linux-gnu/bits/wordsize.h +++ b/lib/libc/include/riscv64-linux-gnu/bits/wordsize.h @@ -1,5 +1,5 @@ /* Determine the wordsize from the preprocessor defines. RISC-V version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/fpu_control.h b/lib/libc/include/riscv64-linux-gnu/fpu_control.h index c0b8528184db2a4079db78f16c93ec0c97afe68e..1131c2af72ded15ba08e6197bbfd13a8eea57276 100644 --- a/lib/libc/include/riscv64-linux-gnu/fpu_control.h +++ b/lib/libc/include/riscv64-linux-gnu/fpu_control.h @@ -1,5 +1,5 @@ /* FPU control word bits. RISC-V version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64.h b/lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64.h index e8d3a8e796e4376876fc150b1b15479f6a46decd..e499a157d000736fbcca2e86bcfd86b0116b732a 100644 --- a/lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64.h +++ b/lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64d.h b/lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64d.h deleted file mode 100644 index 88de20ca0aa5e6555886c18c877852996276b867..0000000000000000000000000000000000000000 --- a/lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64d.h +++ /dev/null @@ -1,30 +0,0 @@ -/* This file is automatically generated. */ -#ifndef __GNU_LIB_NAMES_H -# error "Never use directly; include instead." -#endif - -#define LD_LINUX_RISCV64_LP64D_SO "ld-linux-riscv64-lp64d.so.1" -#define LD_SO "ld-linux-riscv64-lp64d.so.1" -#define LIBANL_SO "libanl.so.1" -#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" -#define LIBCRYPT_SO "libcrypt.so.1" -#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" -#define LIBC_SO "libc.so.6" -#define LIBDL_SO "libdl.so.2" -#define LIBGCC_S_SO "libgcc_s.so.1" -#define LIBMVEC_SO "libmvec.so.1" -#define LIBM_SO "libm.so.6" -#define LIBNSL_SO "libnsl.so.1" -#define LIBNSS_COMPAT_SO "libnss_compat.so.2" -#define LIBNSS_DB_SO "libnss_db.so.2" -#define LIBNSS_DNS_SO "libnss_dns.so.2" -#define LIBNSS_FILES_SO "libnss_files.so.2" -#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" -#define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" -#define LIBPTHREAD_SO "libpthread.so.0" -#define LIBRESOLV_SO "libresolv.so.2" -#define LIBRT_SO "librt.so.1" -#define LIBTHREAD_DB_SO "libthread_db.so.1" -#define LIBUTIL_SO "libutil.so.1" diff --git a/lib/libc/include/riscv64-linux-gnu/gnu/stubs-lp64d.h b/lib/libc/include/riscv64-linux-gnu/gnu/stubs-lp64d.h deleted file mode 100644 index 4d4c0d146a4063129577bff6724df15f3a36b84f..0000000000000000000000000000000000000000 --- a/lib/libc/include/riscv64-linux-gnu/gnu/stubs-lp64d.h +++ /dev/null @@ -1,24 +0,0 @@ -/* This file is automatically generated. - It defines a symbol `__stub_FUNCTION' for each function - in the C library which is a stub, meaning it will fail - every time called, usually setting errno to ENOSYS. */ - -#ifdef _LIBC - #error Applications may not define the macro _LIBC -#endif - -#define __stub___compat_bdflush -#define __stub___compat_create_module -#define __stub___compat_get_kernel_syms -#define __stub___compat_query_module -#define __stub___compat_uselib -#define __stub_chflags -#define __stub_fchflags -#define __stub_fedisableexcept -#define __stub_feenableexcept -#define __stub_fegetexcept -#define __stub_gtty -#define __stub_revoke -#define __stub_setlogin -#define __stub_sigreturn -#define __stub_stty diff --git a/lib/libc/include/riscv64-linux-gnu/ieee754.h b/lib/libc/include/riscv64-linux-gnu/ieee754.h index e65600f7425aa943c779f2c9d46bbf0e79de1f8a..c76cf156f618ac72ba3c3ce3960cb04ee12d1443 100644 --- a/lib/libc/include/riscv64-linux-gnu/ieee754.h +++ b/lib/libc/include/riscv64-linux-gnu/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/sys/asm.h b/lib/libc/include/riscv64-linux-gnu/sys/asm.h index 494294c5a45cfe9b003176fd4c6fc8e9c103ad3c..02fe1aeacdca020cc926b027c942aabf55635ae2 100644 --- a/lib/libc/include/riscv64-linux-gnu/sys/asm.h +++ b/lib/libc/include/riscv64-linux-gnu/sys/asm.h @@ -1,5 +1,5 @@ /* Miscellaneous macros. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/sys/cachectl.h b/lib/libc/include/riscv64-linux-gnu/sys/cachectl.h index 563ef0910960266cdf8e53ff92ce6e66fca54edc..41f5a28e64bb740cb47ec37fa23346f7a96d3a40 100644 --- a/lib/libc/include/riscv64-linux-gnu/sys/cachectl.h +++ b/lib/libc/include/riscv64-linux-gnu/sys/cachectl.h @@ -1,5 +1,5 @@ /* RISC-V instruction cache flushing interface - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/riscv64-linux-gnu/sys/ucontext.h b/lib/libc/include/riscv64-linux-gnu/sys/ucontext.h index 7a0d6ba2120e660879210cffc268e0ca28218c53..133cbeb735784f9176bddecf357b476c25e7bb77 100644 --- a/lib/libc/include/riscv64-linux-gnu/sys/ucontext.h +++ b/lib/libc/include/riscv64-linux-gnu/sys/ucontext.h @@ -1,5 +1,5 @@ /* struct ucontext definition, RISC-V version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/riscv64-linux-gnu/sys/user.h b/lib/libc/include/riscv64-linux-gnu/sys/user.h index cf24a99aa5d96b2eca0da041723297d218096949..333684f8f23b9f8b96a9991950206df72aae39b0 100644 --- a/lib/libc/include/riscv64-linux-gnu/sys/user.h +++ b/lib/libc/include/riscv64-linux-gnu/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/elfclass.h b/lib/libc/include/s390x-linux-gnu/bits/elfclass.h index 1625466356f3916c7bdf6bfa7b930454416835d8..f6b2441c0d7806bc1fa177468c106bc48a8e0566 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/elfclass.h +++ b/lib/libc/include/s390x-linux-gnu/bits/elfclass.h @@ -1,5 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. - Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/environments.h b/lib/libc/include/s390x-linux-gnu/bits/environments.h index b50535f91c25cfb952824674e617924dd3b52cf6..b90dc601fe09788fd8d4d58a1fdac0e88fd1b59d 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/environments.h +++ b/lib/libc/include/s390x-linux-gnu/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/fcntl.h b/lib/libc/include/s390x-linux-gnu/bits/fcntl.h index 0af7a3956b1467f265ab4345f2fbb16d5103c6dd..a280bad8851ff0e133842a3eb2f3d157bcdb09a1 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/fcntl.h +++ b/lib/libc/include/s390x-linux-gnu/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/fenv.h b/lib/libc/include/s390x-linux-gnu/bits/fenv.h index ab73cf60722f3e25cc76b990fa98dc0564b27c97..8b53cce0a6cc991b92aae79ac914de47e506beef 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/fenv.h +++ b/lib/libc/include/s390x-linux-gnu/bits/fenv.h @@ -1,6 +1,5 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Denis Joseph Barrow . The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/s390x-linux-gnu/bits/floatn.h b/lib/libc/include/s390x-linux-gnu/bits/floatn.h index 0b1b5d444dba6c324b2ef27cd91e5e4197e2ee81..a4ac95d55ea16ddd7a1a8b20a2f3c9a90c727dc1 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/floatn.h +++ b/lib/libc/include/s390x-linux-gnu/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on ldbl-128 platforms. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -55,7 +55,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix f128 exists only since GCC 7.0. */ # define __f128(x) x##l # else @@ -65,7 +65,7 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __CFLOAT128 _Complex long double # else # define __CFLOAT128 _Complex _Float128 @@ -76,7 +76,7 @@ # if __HAVE_FLOAT128 /* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef long double _Float128; # endif diff --git a/lib/libc/include/s390x-linux-gnu/bits/hwcap.h b/lib/libc/include/s390x-linux-gnu/bits/hwcap.h index a60cd60094132d3590a987cafd8bb6ddb8393c38..bf93845d738992abeeb9f5be0ad013870e77a625 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/hwcap.h +++ b/lib/libc/include/s390x-linux-gnu/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -22,6 +22,11 @@ /* * The following must match the kernels asm/elf.h. + * Note: The kernel commit 511ad531afd4090625def4d9aba1f5227bd44b8e + * "s390/hwcaps: shorten HWCAP defines" has shortened the prefix of the macros + * from "HWCAP_S390_" to "HWCAP_". For compatibility reasons, we do not + * change the prefix in public glibc header file. + * * Note that these are *not* the same as the STORE FACILITY LIST bits. */ #define HWCAP_S390_ESAN3 1 @@ -47,4 +52,6 @@ #define HWCAP_S390_SORT 131072 #define HWCAP_S390_DFLT 262144 #define HWCAP_S390_VXRS_PDE2 524288 -#define HWCAP_S390_NNPA 1048576 \ No newline at end of file +#define HWCAP_S390_NNPA 1048576 +#define HWCAP_S390_PCI_MIO 2097152 +#define HWCAP_S390_SIE 4194304 \ No newline at end of file diff --git a/lib/libc/include/s390x-linux-gnu/bits/link.h b/lib/libc/include/s390x-linux-gnu/bits/link.h index 01f4f058d3518b27962dca419f26e5ebf49420b0..40acb9da1efa411b257c7154c8a9bdc8547f8e80 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/link.h +++ b/lib/libc/include/s390x-linux-gnu/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/long-double.h b/lib/libc/include/s390x-linux-gnu/bits/long-double.h index e3ec00d82b8b8427e244d35af5ede8a687325fd0..270ba4d0c3d8b0aceef249e580633c2cf17f27cc 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/long-double.h +++ b/lib/libc/include/s390x-linux-gnu/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-opt version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/procfs-extra.h b/lib/libc/include/s390x-linux-gnu/bits/procfs-extra.h index 95af630aeb4f5a8e6b8ca2c4f2638f9812a03cae..d9a4bca0a1de5e1e45176f5875d8e6d1a97bdcc4 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/procfs-extra.h +++ b/lib/libc/include/s390x-linux-gnu/bits/procfs-extra.h @@ -1,5 +1,5 @@ /* Extra sys/procfs.h definitions. S/390 version. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/procfs-id.h b/lib/libc/include/s390x-linux-gnu/bits/procfs-id.h index 4da8f1f843b5ed849c237da12e0f5f11c3c92a1f..47e3dbcf0dbea79075b9d3722528e98523e6277a 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/procfs-id.h +++ b/lib/libc/include/s390x-linux-gnu/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. S/390 version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/s390x-linux-gnu/bits/procfs.h b/lib/libc/include/s390x-linux-gnu/bits/procfs.h index 924f6c6e3609d699e509f9d282642e3f4246dae1..3c9b07ad5cec9229d1e5eb6d84aa1036ef9e6aa4 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/procfs.h +++ b/lib/libc/include/s390x-linux-gnu/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. S/390 version. - Copyright (C) 2000-2021 Free Software Foundation, Inc. + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/rseq.h b/lib/libc/include/s390x-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..4690a2a26df349ae1595bc40d8201fa680d4fdfa --- /dev/null +++ b/lib/libc/include/s390x-linux-gnu/bits/rseq.h @@ -0,0 +1,37 @@ +/* Restartable Sequences Linux s390 architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the trap4 instruction. As Linux does not make use of the + access-register mode nor the linkage stack this instruction will always + cause a special-operation exception (the trap-enabled bit in the DUCT + is and will stay 0). The instruction pattern is + b2 ff 0f ff trap4 4095(%r0) */ + +#define RSEQ_SIG 0xB2FF0FFF \ No newline at end of file diff --git a/lib/libc/include/s390x-linux-gnu/bits/setjmp.h b/lib/libc/include/s390x-linux-gnu/bits/setjmp.h index 42dbb2709f9e5560c07df6ee2761ab1318ba10a6..0ba7999645ef2ffe663e63aa484fae6e7b831717 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/setjmp.h +++ b/lib/libc/include/s390x-linux-gnu/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/sigaction.h b/lib/libc/include/s390x-linux-gnu/bits/sigaction.h index 566e083351fedc0ba5209fb2eaeca43862586560..58fac4fc38b50dc79154ca98d8afd9d55be9b1b9 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/sigaction.h +++ b/lib/libc/include/s390x-linux-gnu/bits/sigaction.h @@ -1,5 +1,5 @@ /* Definitions for 31 & 64 bit S/390 sigaction. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/statfs.h b/lib/libc/include/s390x-linux-gnu/bits/statfs.h index 202dc21d42c8f3fa0286984b9e2457dedbb0c086..9391e74c5738a26bb37268aee08b4c729e1070e6 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/statfs.h +++ b/lib/libc/include/s390x-linux-gnu/bits/statfs.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/struct_mutex.h b/lib/libc/include/s390x-linux-gnu/bits/struct_mutex.h index 0a10aa1ef0f610533e6844de2f20bbc9a33972ca..e55b3ca2a115fd974469bd07fe769dde6061c691 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/struct_mutex.h +++ b/lib/libc/include/s390x-linux-gnu/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* S390 internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/s390x-linux-gnu/bits/struct_rwlock.h index 0ca0d74890254cc604b344d0d69eb12e2664291e..c085ef8abfe64c95bc28a8b461e477d27e0be2f3 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/struct_rwlock.h +++ b/lib/libc/include/s390x-linux-gnu/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* S390 internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/s390x-linux-gnu/bits/struct_stat.h b/lib/libc/include/s390x-linux-gnu/bits/struct_stat.h index c925f4cc778c72c52601e4e94f4ca992b7dd70db..2303b1e4fe133297e3ce368285706678771c3852 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/struct_stat.h +++ b/lib/libc/include/s390x-linux-gnu/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/timesize.h b/lib/libc/include/s390x-linux-gnu/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..11830d95633df61bcb020e352d823d5d1e47e317 --- /dev/null +++ b/lib/libc/include/s390x-linux-gnu/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, Linux/s390. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/lib/libc/include/s390x-linux-gnu/bits/typesizes.h b/lib/libc/include/s390x-linux-gnu/bits/typesizes.h index c3c2d56c637b6ed495d9bf9e60a56004b1e9fae1..ee2e1de6f8ef9acc36686a5b5150a9ab8b1e1a34 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/typesizes.h +++ b/lib/libc/include/s390x-linux-gnu/bits/typesizes.h @@ -1,5 +1,5 @@ /* bits/typesizes.h -- underlying types for *_t. Linux/s390 version. - Copyright (C) 2003-2021 Free Software Foundation, Inc. + Copyright (C) 2003-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/utmp.h b/lib/libc/include/s390x-linux-gnu/bits/utmp.h index 75bef50c8a8d47a95eb5ddc132472e793c470ae5..46bafdc573808a4acdd6973c6a5726245ae67318 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/utmp.h +++ b/lib/libc/include/s390x-linux-gnu/bits/utmp.h @@ -1,5 +1,5 @@ /* The `struct utmp' type, describing entries in the utmp file. GNU version. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/bits/utmpx.h b/lib/libc/include/s390x-linux-gnu/bits/utmpx.h index d2adcc3d3f2cc88a561f9318fc81ec04b6654461..27f6bda9f1836f2d3d8f658b3d5410ea646a1295 100644 --- a/lib/libc/include/s390x-linux-gnu/bits/utmpx.h +++ b/lib/libc/include/s390x-linux-gnu/bits/utmpx.h @@ -1,5 +1,5 @@ /* Structures and definitions for the user accounting database. GNU version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/fpu_control.h b/lib/libc/include/s390x-linux-gnu/fpu_control.h index ac2015aec34c914df4b0427cf49157d3e9ac399c..7e5d13fb4492c9ea371231c4c522c9034055fcd4 100644 --- a/lib/libc/include/s390x-linux-gnu/fpu_control.h +++ b/lib/libc/include/s390x-linux-gnu/fpu_control.h @@ -1,7 +1,5 @@ /* FPU control word definitions. Stub version. - Copyright (C) 2000-2021 Free Software Foundation, Inc. - Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com) and - Martin Schwidefsky (schwidefsky@de.ibm.com). + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -34,8 +32,8 @@ typedef unsigned int fpu_control_t; /* Macros for accessing the hardware control word. */ -#define _FPU_GETCW(cw) __asm__ __volatile__ ("efpc %0,0" : "=d" (cw)) -#define _FPU_SETCW(cw) __asm__ __volatile__ ("sfpc %0,0" : : "d" (cw)) +#define _FPU_GETCW(cw) __asm__ __volatile__ ("efpc %0" : "=d" (cw)) +#define _FPU_SETCW(cw) __asm__ __volatile__ ("sfpc %0" : : "d" (cw)) /* Default control word set at startup. */ extern fpu_control_t __fpu_control; diff --git a/lib/libc/include/s390x-linux-gnu/gnu/lib-names-64.h b/lib/libc/include/s390x-linux-gnu/gnu/lib-names-64.h index d232144282b4e343224b24d5a927205a359b4fca..1a7314db3071d7126e205c3a87848c286e9c2844 100644 --- a/lib/libc/include/s390x-linux-gnu/gnu/lib-names-64.h +++ b/lib/libc/include/s390x-linux-gnu/gnu/lib-names-64.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/s390x-linux-gnu/ieee754.h b/lib/libc/include/s390x-linux-gnu/ieee754.h index e65600f7425aa943c779f2c9d46bbf0e79de1f8a..c76cf156f618ac72ba3c3ce3960cb04ee12d1443 100644 --- a/lib/libc/include/s390x-linux-gnu/ieee754.h +++ b/lib/libc/include/s390x-linux-gnu/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/sys/elf.h b/lib/libc/include/s390x-linux-gnu/sys/elf.h index b4c8f9f9ef77f007c1f2c40043321c7d7e484add..a7c82ceb26bf7bae3cb7953582db60ca9b656b94 100644 --- a/lib/libc/include/s390x-linux-gnu/sys/elf.h +++ b/lib/libc/include/s390x-linux-gnu/sys/elf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/sys/ptrace.h b/lib/libc/include/s390x-linux-gnu/sys/ptrace.h index 5c793731c244b222bb564c83a2905b37949d694b..6cb3161dac307d5defc8941b3e73f4fd9443908c 100644 --- a/lib/libc/include/s390x-linux-gnu/sys/ptrace.h +++ b/lib/libc/include/s390x-linux-gnu/sys/ptrace.h @@ -1,6 +1,5 @@ /* `ptrace' debugger support interface. Linux/S390 version. - Copyright (C) 2000-2021 Free Software Foundation, Inc. - Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com). + Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -86,6 +85,7 @@ __BEGIN_DECLS # undef PTRACE_SYSCALL_INFO_ENTRY # undef PTRACE_SYSCALL_INFO_EXIT # undef PTRACE_SYSCALL_INFO_SECCOMP +# undef PTRACE_GET_RSEQ_CONFIGURATION #endif /* Type of the REQUEST argument to `ptrace.' */ enum __ptrace_request @@ -217,6 +217,10 @@ enum __ptrace_request PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f, +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION + PTRACE_PEEKUSR_AREA = 0x5000, #define PTRACE_PEEKUSR_AREA PTRACE_PEEKUSR_AREA diff --git a/lib/libc/include/s390x-linux-gnu/sys/ucontext.h b/lib/libc/include/s390x-linux-gnu/sys/ucontext.h index 1162f119264ce225bc0d80ec69aac7f8b2e0604a..cc52d61baedd2e39ad9a448bff4f3841adf3b22d 100644 --- a/lib/libc/include/s390x-linux-gnu/sys/ucontext.h +++ b/lib/libc/include/s390x-linux-gnu/sys/ucontext.h @@ -1,5 +1,4 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. - Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com). +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/s390x-linux-gnu/sys/user.h b/lib/libc/include/s390x-linux-gnu/sys/user.h index 7c9764f3adece0ff600672caf914d761e40a6449..bbf153880478a817c1aaa427df2828acf6148586 100644 --- a/lib/libc/include/s390x-linux-gnu/sys/user.h +++ b/lib/libc/include/s390x-linux-gnu/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/long-double.h b/lib/libc/include/sparc-linux-gnu/bits/long-double.h deleted file mode 100644 index c97d298d58e10be1cc11438d31f7dfa32ef67bb2..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/long-double.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Properties of long double type. SPARC version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include - -#if !defined __NO_LONG_DOUBLE_MATH && __WORDSIZE == 32 -# define __LONG_DOUBLE_MATH_OPTIONAL 1 -# ifndef __LONG_DOUBLE_128__ -# define __NO_LONG_DOUBLE_MATH 1 -# endif -#endif -#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/resource.h b/lib/libc/include/sparc-linux-gnu/bits/resource.h deleted file mode 100644 index b13aaa86af6c1aca176deb1d99a7cc615dd318f9..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/resource.h +++ /dev/null @@ -1,238 +0,0 @@ -/* Bit values & structures for resource limits. Linux/SPARC version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_RESOURCE_H -# error "Never use directly; include instead." -#endif - -#include - -/* Transmute defines to enumerations. The macro re-definitions are - necessary because some programs want to test for operating system - features with #ifdef RUSAGE_SELF. In ISO C the reflexive - definition is a no-op. */ - -/* Kinds of resource limit. */ -enum __rlimit_resource -{ - /* Per-process CPU limit, in seconds. */ - RLIMIT_CPU = 0, -#define RLIMIT_CPU RLIMIT_CPU - - /* Largest file that can be created, in bytes. */ - RLIMIT_FSIZE = 1, -#define RLIMIT_FSIZE RLIMIT_FSIZE - - /* Maximum size of data segment, in bytes. */ - RLIMIT_DATA = 2, -#define RLIMIT_DATA RLIMIT_DATA - - /* Maximum size of stack segment, in bytes. */ - RLIMIT_STACK = 3, -#define RLIMIT_STACK RLIMIT_STACK - - /* Largest core file that can be created, in bytes. */ - RLIMIT_CORE = 4, -#define RLIMIT_CORE RLIMIT_CORE - - /* Largest resident set size, in bytes. - This affects swapping; processes that are exceeding their - resident set size will be more likely to have physical memory - taken from them. */ - __RLIMIT_RSS = 5, -#define RLIMIT_RSS __RLIMIT_RSS - - /* Number of open files. */ - RLIMIT_NOFILE = 6, - __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ -#define RLIMIT_NOFILE RLIMIT_NOFILE -#define RLIMIT_OFILE __RLIMIT_OFILE - - /* Address space limit (?) */ - RLIMIT_AS = 9, -#define RLIMIT_AS RLIMIT_AS - - /* Number of processes. */ - __RLIMIT_NPROC = 7, -#define RLIMIT_NPROC __RLIMIT_NPROC - - /* Locked-in-memory address space. */ - __RLIMIT_MEMLOCK = 8, -#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK - - /* Maximum number of file locks. */ - __RLIMIT_LOCKS = 10, -#define RLIMIT_LOCKS __RLIMIT_LOCKS - - /* Maximum number of pending signals. */ - __RLIMIT_SIGPENDING = 11, -#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING - - /* Maximum bytes in POSIX message queues. */ - __RLIMIT_MSGQUEUE = 12, -#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE - - /* Maximum nice priority allowed to raise to. - Nice levels 19 .. -20 correspond to 0 .. 39 - values of this resource limit. */ - __RLIMIT_NICE = 13, -#define RLIMIT_NICE __RLIMIT_NICE - - /* Maximum realtime priority allowed for non-priviledged - processes. */ - __RLIMIT_RTPRIO = 14, -#define RLIMIT_RTPRIO __RLIMIT_RTPRIO - - /* Maximum CPU time in microseconds that a process scheduled under a real-time - scheduling policy may consume without making a blocking system - call before being forcibly descheduled. */ - __RLIMIT_RTTIME = 15, -#define RLIMIT_RTTIME __RLIMIT_RTTIME - - __RLIMIT_NLIMITS = 16, - __RLIM_NLIMITS = __RLIMIT_NLIMITS -#define RLIMIT_NLIMITS __RLIMIT_NLIMITS -#define RLIM_NLIMITS __RLIM_NLIMITS -}; - -/* Value to indicate that there is no limit. */ -#if __WORDSIZE == 64 - -#ifndef __USE_FILE_OFFSET64 -# define RLIM_INFINITY ((unsigned long int)(~0UL)) -#else -# define RLIM_INFINITY 0xffffffffffffffffuLL -#endif - -#ifdef __USE_LARGEFILE64 -# define RLIM64_INFINITY 0xffffffffffffffffuLL -#endif - -#else - -#ifndef __USE_FILE_OFFSET64 -# define RLIM_INFINITY ((long int)(~0UL >> 1)) -#else -# define RLIM_INFINITY 0xffffffffffffffffLL -#endif - -#ifdef __USE_LARGEFILE64 -# define RLIM64_INFINITY 0xffffffffffffffffLL -#endif - -#endif - -/* We can represent all limits. */ -#define RLIM_SAVED_MAX RLIM_INFINITY -#define RLIM_SAVED_CUR RLIM_INFINITY - - -/* Type for resource quantity measurement. */ -#ifndef __USE_FILE_OFFSET64 -typedef __rlim_t rlim_t; -#else -typedef __rlim64_t rlim_t; -#endif -#ifdef __USE_LARGEFILE64 -typedef __rlim64_t rlim64_t; -#endif - -struct rlimit - { - /* The current (soft) limit. */ - rlim_t rlim_cur; - /* The hard limit. */ - rlim_t rlim_max; - }; - -#ifdef __USE_LARGEFILE64 -struct rlimit64 - { - /* The current (soft) limit. */ - rlim64_t rlim_cur; - /* The hard limit. */ - rlim64_t rlim_max; - }; -#endif - -/* Whose usage statistics do you want? */ -enum __rusage_who -{ - /* The calling process. */ - RUSAGE_SELF = 0, -#define RUSAGE_SELF RUSAGE_SELF - - /* All of its terminated child processes. */ - RUSAGE_CHILDREN = -1 -#define RUSAGE_CHILDREN RUSAGE_CHILDREN - -#ifdef __USE_GNU - , - /* The calling thread. */ - RUSAGE_THREAD = 1 -# define RUSAGE_THREAD RUSAGE_THREAD - /* Name for the same functionality on Solaris. */ -# define RUSAGE_LWP RUSAGE_THREAD -#endif -}; - -#include -#include - -/* Priority limits. */ -#define PRIO_MIN -20 /* Minimum priority a process can have. */ -#define PRIO_MAX 20 /* Maximum priority a process can have. */ - -/* The type of the WHICH argument to `getpriority' and `setpriority', - indicating what flavor of entity the WHO argument specifies. */ -enum __priority_which -{ - PRIO_PROCESS = 0, /* WHO is a process ID. */ -#define PRIO_PROCESS PRIO_PROCESS - PRIO_PGRP = 1, /* WHO is a process group ID. */ -#define PRIO_PGRP PRIO_PGRP - PRIO_USER = 2 /* WHO is a user ID. */ -#define PRIO_USER PRIO_USER -}; - -__BEGIN_DECLS - -#ifdef __USE_GNU -/* Modify and return resource limits of a process atomically. */ -# ifndef __USE_FILE_OFFSET64 -extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource, - const struct rlimit *__new_limit, - struct rlimit *__old_limit) __THROW; -# else -# ifdef __REDIRECT_NTH -extern int __REDIRECT_NTH (prlimit, (__pid_t __pid, - enum __rlimit_resource __resource, - const struct rlimit *__new_limit, - struct rlimit *__old_limit), prlimit64); -# else -# define prlimit prlimit64 -# endif -# endif -# ifdef __USE_LARGEFILE64 -extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource, - const struct rlimit64 *__new_limit, - struct rlimit64 *__old_limit) __THROW; -# endif -#endif - -__END_DECLS \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/sigcontext.h b/lib/libc/include/sparc-linux-gnu/bits/sigcontext.h deleted file mode 100644 index 0176699a882d8a8bbca829b001fd60c7bec4e985..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/sigcontext.h +++ /dev/null @@ -1,82 +0,0 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SIGCONTEXT_H -#define _BITS_SIGCONTEXT_H 1 - -#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H -# error "Never use directly; include instead." -#endif - -#include - -#if __WORDSIZE == 32 - -/* It is quite hard to choose what to put here, because - Linux/sparc32 had at least 3 totally incompatible - signal stack layouts. - This one is for the "new" style signals, which are - now delivered unless SA_SIGINFO is requested. */ - -struct sigcontext - { - struct - { - unsigned int psr; - unsigned int pc; - unsigned int npc; - unsigned int y; - unsigned int u_regs[16]; /* globals and ins */ - } si_regs; - int si_mask; - }; - -#else /* sparc64 */ - -typedef struct - { - unsigned int si_float_regs [64]; - unsigned long si_fsr; - unsigned long si_gsr; - unsigned long si_fprs; - } __siginfo_fpu_t; - -struct sigcontext - { - char sigc_info[128]; - struct - { - unsigned long u_regs[16]; /* globals and ins */ - unsigned long tstate; - unsigned long tpc; - unsigned long tnpc; - unsigned int y; - unsigned int fprs; - } sigc_regs; - __siginfo_fpu_t * sigc_fpu_save; - struct - { - void * ss_sp; - int ss_flags; - unsigned long ss_size; - } sigc_stack; - unsigned long sigc_mask; -}; - -#endif /* sparc64 */ - -#endif /* bits/sigcontext.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/socket-constants.h b/lib/libc/include/sparc-linux-gnu/bits/socket-constants.h deleted file mode 100644 index 177bd23494bdb8f195dbb37733994aecb14ce452..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/socket-constants.h +++ /dev/null @@ -1,70 +0,0 @@ -/* Socket constants which vary among Linux architectures. Version for SPARC. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_SOCKET_H -# error "Never include directly; use instead." -#endif - -#define SOL_SOCKET 65535 -#define SO_ACCEPTCONN 32768 -#define SO_BROADCAST 32 -#define SO_DONTROUTE 16 -#define SO_ERROR 4103 -#define SO_KEEPALIVE 8 -#define SO_LINGER 128 -#define SO_OOBINLINE 256 -#define SO_RCVBUF 4098 -#define SO_RCVLOWAT 2048 -#define SO_REUSEADDR 4 -#define SO_SNDBUF 4097 -#define SO_SNDLOWAT 4096 -#define SO_TYPE 4104 - -#if __TIMESIZE == 64 -# define SO_RCVTIMEO 8192 -# define SO_SNDTIMEO 16384 -# define SO_TIMESTAMP 29 -# define SO_TIMESTAMPNS 33 -# define SO_TIMESTAMPING 35 -#else -# define SO_RCVTIMEO_OLD 8192 -# define SO_SNDTIMEO_OLD 16384 -# define SO_RCVTIMEO_NEW 68 -# define SO_SNDTIMEO_NEW 69 - -# define SO_TIMESTAMP_OLD 0x001d -# define SO_TIMESTAMPNS_OLD 0x0021 -# define SO_TIMESTAMPING_OLD 0x0023 -# define SO_TIMESTAMP_NEW 0x0046 -# define SO_TIMESTAMPNS_NEW 0x0042 -# define SO_TIMESTAMPING_NEW 0x0043 - -# ifdef __USE_TIME_BITS64 -# define SO_RCVTIMEO SO_RCVTIMEO_NEW -# define SO_SNDTIMEO SO_SNDTIMEO_NEW -# define SO_TIMESTAMP SO_TIMESTAMP_NEW -# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW -# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW -# else -# define SO_RCVTIMEO SO_RCVTIMEO_OLD -# define SO_SNDTIMEO SO_SNDTIMEO_OLD -# define SO_TIMESTAMP SO_TIMESTAMP_OLD -# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD -# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD -# endif -#endif \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/timerfd.h b/lib/libc/include/sparc-linux-gnu/bits/timerfd.h deleted file mode 100644 index 127510fa662e4b25d4fd703c10c21f1fb5eccdca..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/timerfd.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_TIMERFD_H -# error "Never use directly; include instead." -#endif - -/* Bits to be set in the FLAGS parameter of `timerfd_create'. */ -enum - { - TFD_CLOEXEC = 0x400000, -#define TFD_CLOEXEC TFD_CLOEXEC - TFD_NONBLOCK = 0x004000 -#define TFD_NONBLOCK TFD_NONBLOCK - }; \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/types/struct_msqid_ds.h b/lib/libc/include/sparc-linux-gnu/bits/types/struct_msqid_ds.h deleted file mode 100644 index d56c69e62f55a0d419bfb2bea00337dd43778de1..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/types/struct_msqid_ds.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Linux/SPARC implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_MSG_H -# error "Never use directly; include instead." -#endif - -#include - -/* Structure of record for one message inside the kernel. - The type `struct msg' is opaque. */ -struct msqid_ds -{ -#ifdef __USE_TIME_BITS64 -# include -#else - struct ipc_perm msg_perm; /* structure describing operation permission */ -# if __TIMESIZE == 32 - unsigned long int __msg_stime_high; - __time_t msg_stime; /* time of last msgsnd command */ - unsigned long int __msg_rtime_high; - __time_t msg_rtime; /* time of last msgsnd command */ - unsigned long int __msg_ctime_high; - __time_t msg_ctime; /* time of last change */ -# else - __time_t msg_stime; /* time of last msgsnd command */ - __time_t msg_rtime; /* time of last msgsnd command */ - __time_t msg_ctime; /* time of last change */ -# endif - __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ - msgqnum_t msg_qnum; /* number of messages currently on queue */ - msglen_t msg_qbytes; /* max number of bytes allowed on queue */ - __pid_t msg_lspid; /* pid of last msgsnd() */ - __pid_t msg_lrpid; /* pid of last msgrcv() */ - __syscall_ulong_t __glibc_reserved4; - __syscall_ulong_t __glibc_reserved5; -#endif -}; \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/types/struct_semid_ds.h b/lib/libc/include/sparc-linux-gnu/bits/types/struct_semid_ds.h deleted file mode 100644 index 1eebddfb1571208d82fd7fe8d8797cff167383a9..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/bits/types/struct_semid_ds.h +++ /dev/null @@ -1,43 +0,0 @@ -/* Sparc implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_SEM_H -# error "Never include directly; use instead." -#endif - -/* Data structure describing a set of semaphores. */ -struct semid_ds -{ -#ifdef __USE_TIME_BITS64 -# include -#else - struct ipc_perm sem_perm; /* operation permission struct */ -# if __TIMESIZE == 32 - __syscall_ulong_t __sem_otime_high; - __time_t sem_otime; /* last semop() time */ - __syscall_ulong_t __sem_ctime_high; - __time_t sem_ctime; /* last time changed by semctl() */ -# else - __time_t sem_otime; /* last semop() time */ - __time_t sem_ctime; /* last time changed by semctl() */ -# endif - __syscall_ulong_t sem_nsems; /* number of semaphores in set */ - __syscall_ulong_t __glibc_reserved3; - __syscall_ulong_t __glibc_reserved4; -#endif -}; \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/fpu_control.h b/lib/libc/include/sparc-linux-gnu/fpu_control.h deleted file mode 100644 index 4dd8dc0c987e1581e96be24e5f4c67b342cf03c6..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparc-linux-gnu/fpu_control.h +++ /dev/null @@ -1,72 +0,0 @@ -/* FPU control word bits. SPARC version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Miguel de Icaza - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _FPU_CONTROL_H -#define _FPU_CONTROL_H 1 - - -#include -#include - -/* masking of interrupts */ -#define _FPU_MASK_IM 0x08000000 -#define _FPU_MASK_OM 0x04000000 -#define _FPU_MASK_UM 0x02000000 -#define _FPU_MASK_ZM 0x01000000 -#define _FPU_MASK_PM 0x00800000 - -/* precision control */ -#define _FPU_EXTENDED 0x00000000 /* RECOMMENDED */ -#define _FPU_DOUBLE 0x20000000 -#define _FPU_80BIT 0x30000000 -#define _FPU_SINGLE 0x10000000 /* DO NOT USE */ - -/* rounding control / Sparc */ -#define _FPU_RC_DOWN 0xc0000000 -#define _FPU_RC_UP 0x80000000 -#define _FPU_RC_ZERO 0x40000000 -#define _FPU_RC_NEAREST 0x0 /* RECOMMENDED */ - -#define _FPU_RESERVED 0x30300000 /* Reserved bits in cw */ - - -/* Now two recommended cw */ - -/* Linux and IEEE default: - - extended precision - - rounding to nearest - - no exceptions */ -#define _FPU_DEFAULT 0x0 -#define _FPU_IEEE 0x0 - -/* Type of the control word. */ -typedef unsigned long int fpu_control_t; - -#if __WORDSIZE == 64 -# define _FPU_GETCW(cw) __asm__ __volatile__ ("stx %%fsr,%0" : "=m" (*&cw)) -# define _FPU_SETCW(cw) __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (*&cw)) -#else -# define _FPU_GETCW(cw) __asm__ __volatile__ ("st %%fsr,%0" : "=m" (*&cw)) -# define _FPU_SETCW(cw) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (*&cw)) -#endif - -/* Default control word set at startup. */ -extern fpu_control_t __fpu_control; - -#endif /* fpu_control.h */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/a.out.h b/lib/libc/include/sparc64-linux-gnu/a.out.h similarity index 100% rename from lib/libc/include/sparc-linux-gnu/a.out.h rename to lib/libc/include/sparc64-linux-gnu/a.out.h diff --git a/lib/libc/include/sparc-linux-gnu/bits/a.out.h b/lib/libc/include/sparc64-linux-gnu/bits/a.out.h similarity index 100% rename from lib/libc/include/sparc-linux-gnu/bits/a.out.h rename to lib/libc/include/sparc64-linux-gnu/bits/a.out.h diff --git a/lib/libc/include/sparc-linux-gnu/bits/endianness.h b/lib/libc/include/sparc64-linux-gnu/bits/endianness.h similarity index 100% rename from lib/libc/include/sparc-linux-gnu/bits/endianness.h rename to lib/libc/include/sparc64-linux-gnu/bits/endianness.h diff --git a/lib/libc/include/sparc-linux-gnu/bits/environments.h b/lib/libc/include/sparc64-linux-gnu/bits/environments.h similarity index 98% rename from lib/libc/include/sparc-linux-gnu/bits/environments.h rename to lib/libc/include/sparc64-linux-gnu/bits/environments.h index 81b109e9c70dde4c76ee355d9fae0a0afeac3e87..b5c0cf16aa5263ed1f7d9a8d5182988adcf890ec 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/environments.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/epoll.h b/lib/libc/include/sparc64-linux-gnu/bits/epoll.h similarity index 94% rename from lib/libc/include/sparc-linux-gnu/bits/epoll.h rename to lib/libc/include/sparc64-linux-gnu/bits/epoll.h index 298f3e8170abd47939c5c7d7c27911369b0c59d6..dd6bd1a938da71dffc6a7f58b2c9c1de43233395 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/epoll.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/epoll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/errno.h b/lib/libc/include/sparc64-linux-gnu/bits/errno.h similarity index 95% rename from lib/libc/include/sparc-linux-gnu/bits/errno.h rename to lib/libc/include/sparc64-linux-gnu/bits/errno.h index 38a52e3599b49acb29d54edc459b1940db4693e8..c84cf393ac0ddcc7b9d8fa4f67dc56d651cf6a21 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/errno.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/errno.h @@ -1,5 +1,5 @@ /* Error constants. Linux/Sparc specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/eventfd.h b/lib/libc/include/sparc64-linux-gnu/bits/eventfd.h similarity index 94% rename from lib/libc/include/sparcv9-linux-gnu/bits/eventfd.h rename to lib/libc/include/sparc64-linux-gnu/bits/eventfd.h index 71409f55ba7f8dd19f50110ff056280582fd09a8..3cc3858f1923689b5cd3c13b826c6ec516d9d865 100644 --- a/lib/libc/include/sparcv9-linux-gnu/bits/eventfd.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/eventfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/fcntl.h b/lib/libc/include/sparc64-linux-gnu/bits/fcntl.h similarity index 98% rename from lib/libc/include/sparc-linux-gnu/bits/fcntl.h rename to lib/libc/include/sparc64-linux-gnu/bits/fcntl.h index d5009f12339d79a040246da5c912e8b2447c9837..d86a8d872b03e6519d59413ab2aa2ef797327223 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/fcntl.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux/SPARC. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/fenv.h b/lib/libc/include/sparc64-linux-gnu/bits/fenv.h similarity index 97% rename from lib/libc/include/sparc-linux-gnu/bits/fenv.h rename to lib/libc/include/sparc64-linux-gnu/bits/fenv.h index 2de6eb4eb378bb8e24b43c028c9b447fa5e026bd..c493d1fde1ecc06c87f2cbe5135cf5a4bcc29835 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/fenv.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/floatn.h b/lib/libc/include/sparc64-linux-gnu/bits/floatn.h similarity index 91% rename from lib/libc/include/sparc-linux-gnu/bits/floatn.h rename to lib/libc/include/sparc64-linux-gnu/bits/floatn.h index 0b1b5d444dba6c324b2ef27cd91e5e4197e2ee81..a4ac95d55ea16ddd7a1a8b20a2f3c9a90c727dc1 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/floatn.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on ldbl-128 platforms. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -55,7 +55,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix f128 exists only since GCC 7.0. */ # define __f128(x) x##l # else @@ -65,7 +65,7 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) # define __CFLOAT128 _Complex long double # else # define __CFLOAT128 _Complex _Float128 @@ -76,7 +76,7 @@ # if __HAVE_FLOAT128 /* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef long double _Float128; # endif diff --git a/lib/libc/include/sparc-linux-gnu/bits/hwcap.h b/lib/libc/include/sparc64-linux-gnu/bits/hwcap.h similarity index 97% rename from lib/libc/include/sparc-linux-gnu/bits/hwcap.h rename to lib/libc/include/sparc64-linux-gnu/bits/hwcap.h index 3f9c7c7f1db769c2cb0650a9ffad0461df6fd973..13e73be5fbf2934a1bd6b536c92708f4a67c21a9 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/hwcap.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/hwcap.h @@ -1,5 +1,5 @@ /* Defines for bits in AT_HWCAP. - Copyright (C) 2011-2021 Free Software Foundation, Inc. + Copyright (C) 2011-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/inotify.h b/lib/libc/include/sparc64-linux-gnu/bits/inotify.h similarity index 94% rename from lib/libc/include/sparcv9-linux-gnu/bits/inotify.h rename to lib/libc/include/sparc64-linux-gnu/bits/inotify.h index e489d7406c114b7171be576a9028ce0fcc8bd327..4f04d923cf0b711dabed3615516ce5f3246cddc5 100644 --- a/lib/libc/include/sparcv9-linux-gnu/bits/inotify.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/inotify.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/ioctls.h b/lib/libc/include/sparc64-linux-gnu/bits/ioctls.h similarity index 95% rename from lib/libc/include/sparcv9-linux-gnu/bits/ioctls.h rename to lib/libc/include/sparc64-linux-gnu/bits/ioctls.h index 9ed3b296275bcfd40c54f90e778b3575cf85906d..48fdf4a5b82702f5d434d72bcbff41b35db907f9 100644 --- a/lib/libc/include/sparcv9-linux-gnu/bits/ioctls.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/ioctls.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2021 Free Software Foundation, Inc. +/* Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/ipc-perm.h b/lib/libc/include/sparc64-linux-gnu/bits/ipc-perm.h similarity index 96% rename from lib/libc/include/sparc-linux-gnu/bits/ipc-perm.h rename to lib/libc/include/sparc64-linux-gnu/bits/ipc-perm.h index d1761dca799d83faec4348897092d92717210a23..ae58cd60ad3d0138aff754f273df8d775916e5ef 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/ipc-perm.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/ipc-perm.h @@ -1,5 +1,5 @@ /* struct ipc_perm definition. Linux/sparc version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/link.h b/lib/libc/include/sparc64-linux-gnu/bits/link.h similarity index 98% rename from lib/libc/include/sparc-linux-gnu/bits/link.h rename to lib/libc/include/sparc64-linux-gnu/bits/link.h index e6e0d275c4562d2729b4bb26779023de63c0cd6c..22b0f6ac11b0b65489a7865aad7cc911d3b936cf 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/link.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/link.h @@ -1,5 +1,5 @@ /* Machine-specific audit interfaces for dynamic linker. SPARC version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. + Copyright (C) 2005-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/long-double.h b/lib/libc/include/sparc64-linux-gnu/bits/long-double.h similarity index 94% rename from lib/libc/include/sparcv9-linux-gnu/bits/long-double.h rename to lib/libc/include/sparc64-linux-gnu/bits/long-double.h index c97d298d58e10be1cc11438d31f7dfa32ef67bb2..daa402663b249a93513eba679d8737593f7a198e 100644 --- a/lib/libc/include/sparcv9-linux-gnu/bits/long-double.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. SPARC version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/mman.h b/lib/libc/include/sparc64-linux-gnu/bits/mman.h similarity index 62% rename from lib/libc/include/sparc-linux-gnu/bits/mman.h rename to lib/libc/include/sparc64-linux-gnu/bits/mman.h index f8a8c978041ffbae648edd6b081976d78d85a876..a96a44310d0e34e12b9c15655de7a10814bd38ce 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/mman.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/SPARC version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -25,22 +25,20 @@ /* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_GROWSDOWN 0x0200 /* Stack-like segment. */ -# define MAP_DENYWRITE 0x0800 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x1000 /* Mark it as an executable. */ -# define MAP_LOCKED 0x0100 /* Lock the mapping. */ -# define MAP_NORESERVE 0x0040 /* Don't check for reservations. */ -# define _MAP_NEW 0x80000000 /* Binary compatibility with SunOS. */ -# define MAP_POPULATE 0x8000 /* Populate (prefault) pagetables. */ -# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ -# define MAP_STACK 0x20000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ -# define MAP_SYNC 0x80000 /* Perform synchronous page +#define MAP_GROWSDOWN 0x0200 /* Stack-like segment. */ +#define MAP_DENYWRITE 0x0800 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x1000 /* Mark it as an executable. */ +#define MAP_LOCKED 0x0100 /* Lock the mapping. */ +#define MAP_NORESERVE 0x0040 /* Don't check for reservations. */ +#define _MAP_NEW 0x80000000 /* Binary compatibility with SunOS. */ +#define MAP_POPULATE 0x8000 /* Populate (prefault) pagetables. */ +#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ +#define MAP_STACK 0x20000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +#define MAP_SYNC 0x80000 /* Perform synchronous page faults for the mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap underlying mapping. */ -#endif /* Flags for `mlockall'. */ #define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */ @@ -52,6 +50,4 @@ #include /* Other flags. */ -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/poll.h b/lib/libc/include/sparc64-linux-gnu/bits/poll.h similarity index 97% rename from lib/libc/include/sparc-linux-gnu/bits/poll.h rename to lib/libc/include/sparc64-linux-gnu/bits/poll.h index 7883f8535057116889499d99602f646edf708452..e8d6521395034713eb2af626c2b988dd5cfb6229 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/poll.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/poll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/procfs-extra.h b/lib/libc/include/sparc64-linux-gnu/bits/procfs-extra.h similarity index 97% rename from lib/libc/include/sparc-linux-gnu/bits/procfs-extra.h rename to lib/libc/include/sparc64-linux-gnu/bits/procfs-extra.h index 570c5de2065b38a197e39157f42ce8f602e393d7..c1320ad4da4480f58fad98dd5242cbcf80c6af44 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/procfs-extra.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/procfs-extra.h @@ -1,5 +1,5 @@ /* Extra sys/procfs.h definitions. SPARC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/procfs-id.h b/lib/libc/include/sparc64-linux-gnu/bits/procfs-id.h similarity index 94% rename from lib/libc/include/sparc-linux-gnu/bits/procfs-id.h rename to lib/libc/include/sparc64-linux-gnu/bits/procfs-id.h index 3bdb35d0f99ffdc1ad60c5d8f869a868b5d8683c..98c1729f1775efb08f0ffb8f78401d6709fcfea4 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/procfs-id.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. SPARC version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/sparc-linux-gnu/bits/procfs.h b/lib/libc/include/sparc64-linux-gnu/bits/procfs.h similarity index 96% rename from lib/libc/include/sparc-linux-gnu/bits/procfs.h rename to lib/libc/include/sparc64-linux-gnu/bits/procfs.h index 6217d6f2ff616feeee36dcef78e35d7b23fe3a1a..ee2daed639535266ef6b9a8f863e4195f9f1bc66 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/procfs.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. SPARC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/pthread_stack_min.h b/lib/libc/include/sparc64-linux-gnu/bits/pthread_stack_min.h similarity index 94% rename from lib/libc/include/sparc-linux-gnu/bits/pthread_stack_min.h rename to lib/libc/include/sparc64-linux-gnu/bits/pthread_stack_min.h index 220f9fcec31750d04c2d659ae23c66b3fbedc60e..86a218cb44b18b8229d9e25ddf96e1af2642495f 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/pthread_stack_min.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/pthread_stack_min.h @@ -1,5 +1,5 @@ /* Definition of PTHREAD_STACK_MIN. Linux/SPARC version. - Copyright (C) 2021 Free Software Foundation, Inc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/resource.h b/lib/libc/include/sparc64-linux-gnu/bits/resource.h similarity index 99% rename from lib/libc/include/sparcv9-linux-gnu/bits/resource.h rename to lib/libc/include/sparc64-linux-gnu/bits/resource.h index b13aaa86af6c1aca176deb1d99a7cc615dd318f9..5e6b2d6f9cf68e59b91dbf8aafabc85c3219a6a4 100644 --- a/lib/libc/include/sparcv9-linux-gnu/bits/resource.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/resource.h @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux/SPARC version. - Copyright (C) 1994-2021 Free Software Foundation, Inc. + Copyright (C) 1994-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc64-linux-gnu/bits/rseq.h b/lib/libc/include/sparc64-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..fe2e400300a07daf7d0ac3400b1fa5640bfa75c8 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/rseq.h @@ -0,0 +1,29 @@ +/* Restartable Sequences architecture header. Stub version. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. */ \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/setjmp.h b/lib/libc/include/sparc64-linux-gnu/bits/setjmp.h similarity index 96% rename from lib/libc/include/sparc-linux-gnu/bits/setjmp.h rename to lib/libc/include/sparc64-linux-gnu/bits/setjmp.h index e7c1964e13634b345cea4b2d8948a09fcd06d317..78e03051e9f32effadbbd89dbcefdbc8c5c811a2 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/setjmp.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/shmlba.h b/lib/libc/include/sparc64-linux-gnu/bits/shmlba.h similarity index 94% rename from lib/libc/include/sparcv9-linux-gnu/bits/shmlba.h rename to lib/libc/include/sparc64-linux-gnu/bits/shmlba.h index 0a04d45b51671ef996414e7e70beae478c1b0bc9..c362b87215531e3f13dea116ea9afbb9c51d9c16 100644 --- a/lib/libc/include/sparcv9-linux-gnu/bits/shmlba.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/shmlba.h @@ -1,5 +1,5 @@ /* Define SHMLBA. SPARC version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/sigaction.h b/lib/libc/include/sparc64-linux-gnu/bits/sigaction.h similarity index 98% rename from lib/libc/include/sparc-linux-gnu/bits/sigaction.h rename to lib/libc/include/sparc64-linux-gnu/bits/sigaction.h index c81f76e78b96f1d124436f2c590a7eb2dc7e08cc..bcd152f2bd8105855b5314393b2bb23ba4b0e01f 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/sigaction.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/sigaction.h @@ -1,5 +1,5 @@ /* The proper definitions for Linux/SPARC sigaction. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/sigcontext.h b/lib/libc/include/sparc64-linux-gnu/bits/sigcontext.h similarity index 97% rename from lib/libc/include/sparcv9-linux-gnu/bits/sigcontext.h rename to lib/libc/include/sparc64-linux-gnu/bits/sigcontext.h index 0176699a882d8a8bbca829b001fd60c7bec4e985..8692cb5fb4e99b8f580f7e737a4c874bd1b002f9 100644 --- a/lib/libc/include/sparcv9-linux-gnu/bits/sigcontext.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2021 Free Software Foundation, Inc. +/* Copyright (C) 2000-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/siginfo-arch.h b/lib/libc/include/sparc64-linux-gnu/bits/siginfo-arch.h similarity index 100% rename from lib/libc/include/sparc-linux-gnu/bits/siginfo-arch.h rename to lib/libc/include/sparc64-linux-gnu/bits/siginfo-arch.h diff --git a/lib/libc/include/sparc-linux-gnu/bits/siginfo-consts-arch.h b/lib/libc/include/sparc64-linux-gnu/bits/siginfo-consts-arch.h similarity index 100% rename from lib/libc/include/sparc-linux-gnu/bits/siginfo-consts-arch.h rename to lib/libc/include/sparc64-linux-gnu/bits/siginfo-consts-arch.h diff --git a/lib/libc/include/sparc-linux-gnu/bits/signalfd.h b/lib/libc/include/sparc64-linux-gnu/bits/signalfd.h similarity index 94% rename from lib/libc/include/sparc-linux-gnu/bits/signalfd.h rename to lib/libc/include/sparc64-linux-gnu/bits/signalfd.h index c2c5bc4462f1fa059e326086e7768e94c546505f..94f1b152369cddcc494b5c3995c135ae6a84f252 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/signalfd.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/signalfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2007-2021 Free Software Foundation, Inc. +/* Copyright (C) 2007-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/signum-arch.h b/lib/libc/include/sparc64-linux-gnu/bits/signum-arch.h similarity index 97% rename from lib/libc/include/sparc-linux-gnu/bits/signum-arch.h rename to lib/libc/include/sparc64-linux-gnu/bits/signum-arch.h index f7a416223ceeff16c934b515d2328cc86867d2ff..5b144ecc5ff6d23fc744008cb1a1e467265435c5 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/signum-arch.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/signum-arch.h @@ -1,5 +1,5 @@ /* Signal number definitions. Linux/SPARC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/sigstack.h b/lib/libc/include/sparc64-linux-gnu/bits/sigstack.h similarity index 95% rename from lib/libc/include/sparc-linux-gnu/bits/sigstack.h rename to lib/libc/include/sparc64-linux-gnu/bits/sigstack.h index f2371950e290c1427a9758287af0be999b05047d..b557f363a172a86f51c229aa1807b80378129461 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/sigstack.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/sigstack.h @@ -1,5 +1,5 @@ /* sigstack, sigaltstack definitions. - Copyright (C) 1998-2021 Free Software Foundation, Inc. + Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/socket-constants.h b/lib/libc/include/sparc64-linux-gnu/bits/socket-constants.h similarity index 97% rename from lib/libc/include/sparcv9-linux-gnu/bits/socket-constants.h rename to lib/libc/include/sparc64-linux-gnu/bits/socket-constants.h index 177bd23494bdb8f195dbb37733994aecb14ce452..38f562a078748eb20c90970962beb40ecce7ca87 100644 --- a/lib/libc/include/sparcv9-linux-gnu/bits/socket-constants.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/socket-constants.h @@ -1,5 +1,5 @@ /* Socket constants which vary among Linux architectures. Version for SPARC. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/socket_type.h b/lib/libc/include/sparc64-linux-gnu/bits/socket_type.h similarity index 97% rename from lib/libc/include/sparc-linux-gnu/bits/socket_type.h rename to lib/libc/include/sparc64-linux-gnu/bits/socket_type.h index 16f1604498fb02752b7ff28eff973b173d24f9e7..b64022ca7725f149274346037779699d20b1e30d 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/socket_type.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/socket_type.h @@ -1,5 +1,5 @@ /* Define enum __socket_type for Linux/SPARC. - Copyright (C) 1991-2021 Free Software Foundation, Inc. + Copyright (C) 1991-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/sparc64-linux-gnu/bits/struct_rwlock.h similarity index 96% rename from lib/libc/include/sparc-linux-gnu/bits/struct_rwlock.h rename to lib/libc/include/sparc64-linux-gnu/bits/struct_rwlock.h index 01b8d4b742d5a17f19faec2dbb475637b185e868..5aa7e4ed24abf324bcfcaa37e6b01acfd4fd44df 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/struct_rwlock.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* SPARC internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/sparc-linux-gnu/bits/struct_stat.h b/lib/libc/include/sparc64-linux-gnu/bits/struct_stat.h similarity index 88% rename from lib/libc/include/sparc-linux-gnu/bits/struct_stat.h rename to lib/libc/include/sparc64-linux-gnu/bits/struct_stat.h index 5cf20aac064e104ee985afbe20ef2d815a83f386..cd1748c035ef4669823c29392966f1f96b087ff4 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/struct_stat.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -28,74 +28,34 @@ struct stat { +#ifdef __USE_TIME_BITS64 +# include +#else __dev_t st_dev; /* Device. */ -#if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64 +# if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64 unsigned short int __pad1; __ino_t st_ino; /* File serial number. */ -#else +# else __ino64_t st_ino; /* File serial number. */ -#endif +# endif __mode_t st_mode; /* File mode. */ __nlink_t st_nlink; /* Link count. */ __uid_t st_uid; /* User ID of the file's owner. */ __gid_t st_gid; /* Group ID of the file's group.*/ __dev_t st_rdev; /* Device number, if device. */ unsigned short int __pad2; -#ifndef __USE_FILE_OFFSET64 +# ifndef __USE_FILE_OFFSET64 __off_t st_size; /* Size of file, in bytes. */ -#else +# else __off64_t st_size; /* Size of file, in bytes. */ -#endif +# endif __blksize_t st_blksize; /* Optimal block size for I/O. */ -#ifndef __USE_FILE_OFFSET64 +# ifndef __USE_FILE_OFFSET64 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ -#else +# else __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ -#endif -#ifdef __USE_XOPEN2K8 - /* Nanosecond resolution timestamps are stored in a format - equivalent to 'struct timespec'. This is the type used - whenever possible but the Unix namespace rules do not allow the - identifier 'timespec' to appear in the header. - Therefore we have to handle the use of this header in strictly - standard-compliant sources special. */ - struct timespec st_atim; /* Time of last access. */ - struct timespec st_mtim; /* Time of last modification. */ - struct timespec st_ctim; /* Time of last status change. */ -# define st_atime st_atim.tv_sec /* Backward compatibility. */ -# define st_mtime st_mtim.tv_sec -# define st_ctime st_ctim.tv_sec -#else - __time_t st_atime; /* Time of last access. */ - unsigned long int st_atimensec; /* Nscecs of last access. */ - __time_t st_mtime; /* Time of last modification. */ - unsigned long int st_mtimensec; /* Nsecs of last modification. */ - __time_t st_ctime; /* Time of last status change. */ - unsigned long int st_ctimensec; /* Nsecs of last status change. */ -#endif - unsigned long int __glibc_reserved4; - unsigned long int __glibc_reserved5; - }; - -#ifdef __USE_LARGEFILE64 -struct stat64 - { - __dev_t st_dev; /* Device. */ -# if __WORDSIZE == 64 - unsigned short int __pad1; # endif - __ino64_t st_ino; /* File serial number. */ - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device. */ - unsigned short int __pad2; - __off64_t st_size; /* Size of file, in bytes. */ - __blksize_t st_blksize; /* Optimal block size for I/O. */ - - __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ # ifdef __USE_XOPEN2K8 /* Nanosecond resolution timestamps are stored in a format equivalent to 'struct timespec'. This is the type used @@ -119,6 +79,54 @@ struct stat64 # endif unsigned long int __glibc_reserved4; unsigned long int __glibc_reserved5; +#endif /* __USE_TIME_BITS64 */ + }; + +#ifdef __USE_LARGEFILE64 +struct stat64 + { +# ifdef __USE_TIME_BITS64 +# include +# else + __dev_t st_dev; /* Device. */ +# if __WORDSIZE == 64 + unsigned short int __pad1; +# endif + __ino64_t st_ino; /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +# endif /* __USE_TIME_BITS64 */ }; #endif diff --git a/lib/libc/include/sparc-linux-gnu/bits/termios-baud.h b/lib/libc/include/sparc64-linux-gnu/bits/termios-baud.h similarity index 96% rename from lib/libc/include/sparc-linux-gnu/bits/termios-baud.h rename to lib/libc/include/sparc64-linux-gnu/bits/termios-baud.h index f12fccaa0b059cca2a6aad109d17ff08932555ea..427769da93d80ce7ece05ffadd3a627cf2a6e972 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/termios-baud.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/termios-baud.h @@ -1,5 +1,5 @@ /* termios baud rate selection definitions. Linux/sparc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/termios-c_cc.h b/lib/libc/include/sparc64-linux-gnu/bits/termios-c_cc.h similarity index 95% rename from lib/libc/include/sparc-linux-gnu/bits/termios-c_cc.h rename to lib/libc/include/sparc64-linux-gnu/bits/termios-c_cc.h index c91028b51990b42140edee4805851066b859765a..6b58c4f1bcc75e105bfc5b72420a917e77f11a32 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/termios-c_cc.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/termios-c_cc.h @@ -1,5 +1,5 @@ /* termios c_cc symbolic constant definitions. Linux/sparc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/termios-c_oflag.h b/lib/libc/include/sparc64-linux-gnu/bits/termios-c_oflag.h similarity index 97% rename from lib/libc/include/sparc-linux-gnu/bits/termios-c_oflag.h rename to lib/libc/include/sparc64-linux-gnu/bits/termios-c_oflag.h index c20f5d876f4b8de57120dd57b3401e3b456324c8..90d2e063f58029ec7971245a2daa3314c0161802 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/termios-c_oflag.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/termios-c_oflag.h @@ -1,5 +1,5 @@ /* termios output mode definitions. Linux/sparc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/termios-struct.h b/lib/libc/include/sparc64-linux-gnu/bits/termios-struct.h similarity index 95% rename from lib/libc/include/sparc-linux-gnu/bits/termios-struct.h rename to lib/libc/include/sparc64-linux-gnu/bits/termios-struct.h index 3ba93c65cabea801ee4c5242b3c5dbc75c30c097..a4601dfd7b6cd7ab2d4349828c180965530df7f0 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/termios-struct.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/termios-struct.h @@ -1,5 +1,5 @@ /* struct termios definition. Linux/sparc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/timerfd.h b/lib/libc/include/sparc64-linux-gnu/bits/timerfd.h similarity index 94% rename from lib/libc/include/sparcv9-linux-gnu/bits/timerfd.h rename to lib/libc/include/sparc64-linux-gnu/bits/timerfd.h index 127510fa662e4b25d4fd703c10c21f1fb5eccdca..afdfd0d37cfeb790affd9c3ae803ef9cb500dca1 100644 --- a/lib/libc/include/sparcv9-linux-gnu/bits/timerfd.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/timerfd.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2021 Free Software Foundation, Inc. +/* Copyright (C) 2008-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc64-linux-gnu/bits/timesize.h b/lib/libc/include/sparc64-linux-gnu/bits/timesize.h new file mode 100644 index 0000000000000000000000000000000000000000..ff62d98daab72c251a6ff62406b766fbacb33c95 --- /dev/null +++ b/lib/libc/include/sparc64-linux-gnu/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, Linux/sparc. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/types/struct_msqid_ds.h b/lib/libc/include/sparc64-linux-gnu/bits/types/struct_msqid_ds.h similarity index 97% rename from lib/libc/include/sparcv9-linux-gnu/bits/types/struct_msqid_ds.h rename to lib/libc/include/sparc64-linux-gnu/bits/types/struct_msqid_ds.h index d56c69e62f55a0d419bfb2bea00337dd43778de1..4b123a5d1787777214a0fbd592719b751db96d4e 100644 --- a/lib/libc/include/sparcv9-linux-gnu/bits/types/struct_msqid_ds.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/types/struct_msqid_ds.h @@ -1,5 +1,5 @@ /* Linux/SPARC implementation of the SysV message struct msqid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/types/struct_semid_ds.h b/lib/libc/include/sparc64-linux-gnu/bits/types/struct_semid_ds.h similarity index 96% rename from lib/libc/include/sparcv9-linux-gnu/bits/types/struct_semid_ds.h rename to lib/libc/include/sparc64-linux-gnu/bits/types/struct_semid_ds.h index 1eebddfb1571208d82fd7fe8d8797cff167383a9..9f6b20a43ab22e5b42199234a2c45c1d18af4101 100644 --- a/lib/libc/include/sparcv9-linux-gnu/bits/types/struct_semid_ds.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* Sparc implementation of the semaphore struct semid_ds - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/types/struct_shmid_ds.h b/lib/libc/include/sparc64-linux-gnu/bits/types/struct_shmid_ds.h similarity index 97% rename from lib/libc/include/sparc-linux-gnu/bits/types/struct_shmid_ds.h rename to lib/libc/include/sparc64-linux-gnu/bits/types/struct_shmid_ds.h index 25d101b362088d8922a204125c0803e13f4f02c8..b2d22e8bb11c493a6c67401a73c20318a1e27741 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/types/struct_shmid_ds.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/types/struct_shmid_ds.h @@ -1,5 +1,5 @@ /* Linux/SPARC implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/typesizes.h b/lib/libc/include/sparc64-linux-gnu/bits/typesizes.h similarity index 98% rename from lib/libc/include/sparc-linux-gnu/bits/typesizes.h rename to lib/libc/include/sparc64-linux-gnu/bits/typesizes.h index 1035ac097ba862ca6191ed9f154ef77a2ad7708b..f37126816abe0db8f98e83a60dd856acab0dbeb4 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/typesizes.h +++ b/lib/libc/include/sparc64-linux-gnu/bits/typesizes.h @@ -1,5 +1,5 @@ /* bits/typesizes.h -- underlying types for *_t. Linux/SPARC version. - Copyright (C) 2002-2021 Free Software Foundation, Inc. + Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/bits/wordsize.h b/lib/libc/include/sparc64-linux-gnu/bits/wordsize.h similarity index 100% rename from lib/libc/include/sparc-linux-gnu/bits/wordsize.h rename to lib/libc/include/sparc64-linux-gnu/bits/wordsize.h diff --git a/lib/libc/include/sparcv9-linux-gnu/fpu_control.h b/lib/libc/include/sparc64-linux-gnu/fpu_control.h similarity index 96% rename from lib/libc/include/sparcv9-linux-gnu/fpu_control.h rename to lib/libc/include/sparc64-linux-gnu/fpu_control.h index 4dd8dc0c987e1581e96be24e5f4c67b342cf03c6..0e9238fc6ad5b8e693797f1d05b5164387562fc7 100644 --- a/lib/libc/include/sparcv9-linux-gnu/fpu_control.h +++ b/lib/libc/include/sparc64-linux-gnu/fpu_control.h @@ -1,7 +1,6 @@ /* FPU control word bits. SPARC version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. + Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Miguel de Icaza The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/sparc-linux-gnu/gnu/lib-names-64.h b/lib/libc/include/sparc64-linux-gnu/gnu/lib-names-64.h similarity index 92% rename from lib/libc/include/sparc-linux-gnu/gnu/lib-names-64.h rename to lib/libc/include/sparc64-linux-gnu/gnu/lib-names-64.h index c76c33569f40195c103140bea95766e16216e3bf..3fada291f8d2e4b1cabce5ad74b868a0fa582faf 100644 --- a/lib/libc/include/sparc-linux-gnu/gnu/lib-names-64.h +++ b/lib/libc/include/sparc64-linux-gnu/gnu/lib-names-64.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/sparc-linux-gnu/gnu/lib-names.h b/lib/libc/include/sparc64-linux-gnu/gnu/lib-names.h similarity index 100% rename from lib/libc/include/sparc-linux-gnu/gnu/lib-names.h rename to lib/libc/include/sparc64-linux-gnu/gnu/lib-names.h diff --git a/lib/libc/include/sparc-linux-gnu/gnu/stubs.h b/lib/libc/include/sparc64-linux-gnu/gnu/stubs.h similarity index 100% rename from lib/libc/include/sparc-linux-gnu/gnu/stubs.h rename to lib/libc/include/sparc64-linux-gnu/gnu/stubs.h diff --git a/lib/libc/include/sparc-linux-gnu/ieee754.h b/lib/libc/include/sparc64-linux-gnu/ieee754.h similarity index 98% rename from lib/libc/include/sparc-linux-gnu/ieee754.h rename to lib/libc/include/sparc64-linux-gnu/ieee754.h index e65600f7425aa943c779f2c9d46bbf0e79de1f8a..c76cf156f618ac72ba3c3ce3960cb04ee12d1443 100644 --- a/lib/libc/include/sparc-linux-gnu/ieee754.h +++ b/lib/libc/include/sparc64-linux-gnu/ieee754.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. +/* Copyright (C) 1992-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparc-linux-gnu/sys/ptrace.h b/lib/libc/include/sparc64-linux-gnu/sys/ptrace.h similarity index 95% rename from lib/libc/include/sparc-linux-gnu/sys/ptrace.h rename to lib/libc/include/sparc64-linux-gnu/sys/ptrace.h index 9a7b58b46e1e5795dbdccad2e33762adc533bf13..64130a617aca4d77758d93a312d5d0386c02bb77 100644 --- a/lib/libc/include/sparc-linux-gnu/sys/ptrace.h +++ b/lib/libc/include/sparc64-linux-gnu/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/SPARC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,7 +24,7 @@ #include /* Linux/SPARC kernels up to 2.3.18 do not care much - about what namespace polution, so use a kludge now. */ + about what namespace pollution, so use a kludge now. */ #undef PTRACE_GETREGS #undef PTRACE_SETREGS #undef PTRACE_GETFPREGS @@ -221,8 +221,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/sparc-linux-gnu/sys/ucontext.h b/lib/libc/include/sparc64-linux-gnu/sys/ucontext.h similarity index 97% rename from lib/libc/include/sparc-linux-gnu/sys/ucontext.h rename to lib/libc/include/sparc64-linux-gnu/sys/ucontext.h index 4c7f7a1493bdbbd1b9c9cc673bb010edba2e2a50..f69b2b4aa74ba063ad3dfc9f841446396f3332d9 100644 --- a/lib/libc/include/sparc-linux-gnu/sys/ucontext.h +++ b/lib/libc/include/sparc64-linux-gnu/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -164,7 +164,7 @@ typedef greg_t gregset_t[__NGREG]; * The following structures define how a register window can appear on the * stack. This structure is available (when required) through the `gwins' * field of an mcontext (nested within ucontext). SPARC_MAXWINDOW is the - * maximum number of outstanding regiters window defined in the SPARC + * maximum number of outstanding registers window defined in the SPARC * architecture (*not* implementation). */ # define __SPARC_MAXREGWINDOW 31 /* max windows in SPARC arch. */ @@ -200,7 +200,7 @@ typedef struct /* * struct fq defines the minimal format of a floating point instruction queue * entry. The size of entries in the floating point queue are implementation - * dependent. The union FQu is guarenteed to be the first field in any ABI + * dependent. The union FQu is guaranteed to be the first field in any ABI * conformant system implementation. Any additional fields provided by an * implementation should not be used applications designed to be ABI conformant. */ diff --git a/lib/libc/include/sparc-linux-gnu/sys/user.h b/lib/libc/include/sparc64-linux-gnu/sys/user.h similarity index 97% rename from lib/libc/include/sparc-linux-gnu/sys/user.h rename to lib/libc/include/sparc64-linux-gnu/sys/user.h index 7ea56205de91da1045754b456fedf660bfabd277..036b392e6bf117952bfd9a245748b6882b72f29d 100644 --- a/lib/libc/include/sparc-linux-gnu/sys/user.h +++ b/lib/libc/include/sparc64-linux-gnu/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2003-2021 Free Software Foundation, Inc. +/* Copyright (C) 2003-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/sparcv9-linux-gnu/a.out.h b/lib/libc/include/sparcv9-linux-gnu/a.out.h deleted file mode 100644 index 4002e18c91906facc184542bc93b3d20e8ddcc46..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/a.out.h +++ /dev/null @@ -1,174 +0,0 @@ -#ifndef __A_OUT_GNU_H__ -#define __A_OUT_GNU_H__ - -#include - -#define __GNU_EXEC_MACROS__ - -struct exec -{ - unsigned char a_dynamic:1; /* A __DYNAMIC is in this image. */ - unsigned char a_toolversion:7; - unsigned char a_machtype; - unsigned short a_info; - unsigned int a_text; /* Length of text, in bytes. */ - unsigned int a_data; /* Length of data, in bytes. */ - unsigned int a_bss; /* Length of bss, in bytes. */ - unsigned int a_syms; /* Length of symbol table, in bytes. */ - unsigned int a_entry; /* Where program begins. */ - unsigned int a_trsize; - unsigned int a_drsize; -}; - -enum machine_type -{ - M_OLDSUN2 = 0, - M_68010 = 1, - M_68020 = 2, - M_SPARC = 3, - M_386 = 100, - M_MIPS1 = 151, - M_MIPS2 = 152 -}; - -#define N_MAGIC(exec) ((exec).a_info & 0xffff) -#define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff)) -#define N_FLAGS(exec) (((exec).a_info >> 24) & 0xff) -#define N_SET_INFO(exec, magic, type, flags) \ - ((exec).a_info = ((magic) & 0xffff) \ - | (((int)(type) & 0xff) << 16) \ - | (((flags) & 0xff) << 24)) -#define N_SET_MAGIC(exec, magic) \ - ((exec).a_info = ((exec).a_info & 0xffff0000) | ((magic) & 0xffff)) -#define N_SET_MACHTYPE(exec, machtype) \ - ((exec).a_info = \ - ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16)) -#define N_SET_FLAGS(exec, flags) \ - ((exec).a_info = \ - ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24)) - -/* Code indicating object file or impure executable. */ -#define OMAGIC 0407 -/* Code indicating pure executable. */ -#define NMAGIC 0410 -/* Code indicating demand-paged executable. */ -#define ZMAGIC 0413 -/* This indicates a demand-paged executable with the header in the text. - The first page is unmapped to help trap NULL pointer references. */ -#define QMAGIC 0314 -/* Code indicating core file. */ -#define CMAGIC 0421 - -#define N_TRSIZE(a) ((a).a_trsize) -#define N_DRSIZE(a) ((a).a_drsize) -#define N_SYMSIZE(a) ((a).a_syms) -#define N_BADMAG(x) \ - (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ - && N_MAGIC(x) != ZMAGIC && N_MAGIC(x) != QMAGIC) -#define _N_HDROFF(x) (1024 - sizeof (struct exec)) -#define N_TXTOFF(x) \ - (N_MAGIC(x) == ZMAGIC ? 0 : sizeof (struct exec)) -#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text) -#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data) -#define N_DRELOFF(x) (N_TRELOFF(x) + N_TRSIZE(x)) -#define N_SYMOFF(x) \ - (N_TXTOFF(x) + (x).a_text + (x).a_data + (x).a_trsize + (x).a_drsize) -#define N_STROFF(x) (N_SYMOFF(x) + N_SYMSIZE(x)) - -#define SPARC_PGSIZE 0x2000 - -/* Address of text segment in memory after it is loaded. */ -#define N_TXTADDR(x) \ - (unsigned long)(((N_MAGIC(x) == ZMAGIC) && ((x).a_entry < SPARC_PGSIZE)) \ - ? 0 : SPARC_PGSIZE) - -/* Address of data segment in memory after it is loaded. */ -#define SEGMENT_SIZE SPARC_PGSIZE - -#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1)) -#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text) - -#define N_DATADDR(x) \ - (N_MAGIC(x)==OMAGIC \ - ? (N_TXTADDR(x) + (x).a_text) \ - : (unsigned long)(_N_SEGMENT_ROUND (_N_TXTENDADDR(x)))) -#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data) - -#if !defined (N_NLIST_DECLARED) -struct nlist -{ - union - { - char *n_name; - struct nlist *n_next; - long n_strx; - } n_un; - unsigned char n_type; - char n_other; - short n_desc; - unsigned long n_value; -}; -#endif /* no N_NLIST_DECLARED. */ - -#define N_UNDF 0 -#define N_ABS 2 -#define N_TEXT 4 -#define N_DATA 6 -#define N_BSS 8 -#define N_FN 15 -#define N_EXT 1 -#define N_TYPE 036 -#define N_STAB 0340 -#define N_INDR 0xa -#define N_SETA 0x14 /* Absolute set element symbol. */ -#define N_SETT 0x16 /* Text set element symbol. */ -#define N_SETD 0x18 /* Data set element symbol. */ -#define N_SETB 0x1A /* Bss set element symbol. */ -#define N_SETV 0x1C /* Pointer to set vector in data area. */ - -#if !defined (N_RELOCATION_INFO_DECLARED) -enum reloc_type -{ - RELOC_8, - RELOC_16, - RELOC_32, - RELOC_DISP8, - RELOC_DISP16, - RELOC_DISP32, - RELOC_WDISP30, - RELOC_WDISP22, - RELOC_HI22, - RELOC_22, - RELOC_13, - RELOC_LO10, - RELOC_SFA_BASE, - RELOC_SFA_OFF13, - RELOC_BASE10, - RELOC_BASE13, - RELOC_BASE22, - RELOC_PC10, - RELOC_PC22, - RELOC_JMP_TBL, - RELOC_SEGOFF16, - RELOC_GLOB_DAT, - RELOC_JMP_SLOT, - RELOC_RELATIVE -}; - -/* This structure describes a single relocation to be performed. - The text-relocation section of the file is a vector of these structures, - all of which apply to the text section. - Likewise, the data-relocation section applies to the data section. */ - -struct relocation_info -{ - unsigned int r_address; - unsigned int r_index:24; - unsigned int r_extern:1; - int r_pad:2; - enum reloc_type r_type:5; - int r_addend; -}; -#endif /* no N_RELOCATION_INFO_DECLARED. */ - -#endif /* __A_OUT_GNU_H__ */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/a.out.h b/lib/libc/include/sparcv9-linux-gnu/bits/a.out.h deleted file mode 100644 index c189482c42bcb7f71c54ae4d95b92902773f323e..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/a.out.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef __A_OUT_GNU_H__ -# error "Never use directly; include instead." -#endif - -#include - -#if __WORDSIZE == 64 - -/* Signal to users of this header that this architecture really doesn't - support a.out binary format. */ -#define __NO_A_OUT_SUPPORT 1 - -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/endianness.h b/lib/libc/include/sparcv9-linux-gnu/bits/endianness.h deleted file mode 100644 index 8b14090d0ec5b80fad71332f3ee618b709f04cfb..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/endianness.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _BITS_ENDIANNESS_H -#define _BITS_ENDIANNESS_H 1 - -#ifndef _BITS_ENDIAN_H -# error "Never use directly; include instead." -#endif - -/* Sparc is big-endian, but v9 supports endian conversion on loads/stores - and GCC supports such a mode. Be prepared. */ -#ifdef __LITTLE_ENDIAN__ -# define __BYTE_ORDER __LITTLE_ENDIAN -#else -# define __BYTE_ORDER __BIG_ENDIAN -#endif - -#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/environments.h b/lib/libc/include/sparcv9-linux-gnu/bits/environments.h deleted file mode 100644 index 81b109e9c70dde4c76ee355d9fae0a0afeac3e87..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/environments.h +++ /dev/null @@ -1,96 +0,0 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _UNISTD_H -# error "Never include this file directly. Use instead" -#endif - -#include - -/* This header should define the following symbols under the described - situations. A value `1' means that the model is always supported, - `-1' means it is never supported. Undefined means it cannot be - statically decided. - - _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type - _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type - - _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type - _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type - - The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG, - _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32, - _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were - used in previous versions of the Unix standard and are available - only for compatibility. -*/ - -#if __WORDSIZE == 64 - -/* Environments with 32-bit wide pointers are optionally provided. - Therefore following macros aren't defined: - # undef _POSIX_V7_ILP32_OFF32 - # undef _POSIX_V7_ILP32_OFFBIG - # undef _POSIX_V6_ILP32_OFF32 - # undef _POSIX_V6_ILP32_OFFBIG - # undef _XBS5_ILP32_OFF32 - # undef _XBS5_ILP32_OFFBIG - and users need to check at runtime. */ - -/* We also have no use (for now) for an environment with bigger pointers - and offsets. */ -# define _POSIX_V7_LPBIG_OFFBIG -1 -# define _POSIX_V6_LPBIG_OFFBIG -1 -# define _XBS5_LPBIG_OFFBIG -1 - -/* By default we have 64-bit wide `long int', pointers and `off_t'. */ -# define _POSIX_V7_LP64_OFF64 1 -# define _POSIX_V6_LP64_OFF64 1 -# define _XBS5_LP64_OFF64 1 - -#else /* __WORDSIZE == 32 */ - -/* By default we have 32-bit wide `int', `long int', pointers and `off_t' - and all platforms support LFS. */ -# define _POSIX_V7_ILP32_OFF32 1 -# define _POSIX_V7_ILP32_OFFBIG 1 -# define _POSIX_V6_ILP32_OFF32 1 -# define _POSIX_V6_ILP32_OFFBIG 1 -# define _XBS5_ILP32_OFF32 1 -# define _XBS5_ILP32_OFFBIG 1 - -/* We optionally provide an environment with the above size but an 64-bit - side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */ - -/* Environments with 64-bit wide pointers can be provided, - so these macros aren't defined: - # undef _POSIX_V7_LP64_OFF64 - # undef _POSIX_V7_LPBIG_OFFBIG - # undef _POSIX_V6_LP64_OFF64 - # undef _POSIX_V6_LPBIG_OFFBIG - # undef _XBS5_LP64_OFF64 - # undef _XBS5_LPBIG_OFFBIG - and sysconf tests for it at runtime. */ - -#endif /* __WORDSIZE == 32 */ - -#define __ILP32_OFF32_CFLAGS "-m32" -#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" -#define __ILP32_OFF32_LDFLAGS "-m32" -#define __ILP32_OFFBIG_LDFLAGS "-m32" -#define __LP64_OFF64_CFLAGS "-m64" -#define __LP64_OFF64_LDFLAGS "-m64" \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/errno.h b/lib/libc/include/sparcv9-linux-gnu/bits/errno.h deleted file mode 100644 index 38a52e3599b49acb29d54edc459b1940db4693e8..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/errno.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Error constants. Linux/Sparc specific version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_ERRNO_H -#define _BITS_ERRNO_H 1 - -#if !defined _ERRNO_H -# error "Never include directly; use instead." -#endif - -# include - -/* Older Linux headers do not define these constants. */ -# ifndef ENOTSUP -# define ENOTSUP EOPNOTSUPP -# endif - -# ifndef ECANCELED -# define ECANCELED 127 -# endif - -# ifndef EOWNERDEAD -# define EOWNERDEAD 132 -# endif - -# ifndef ENOTRECOVERABLE -# define ENOTRECOVERABLE 133 -# endif - -# ifndef ERFKILL -# define ERFKILL 134 -# endif - -# ifndef EHWPOISON -# define EHWPOISON 135 -# endif - -#endif /* bits/errno.h. */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/fcntl.h b/lib/libc/include/sparcv9-linux-gnu/bits/fcntl.h deleted file mode 100644 index d5009f12339d79a040246da5c912e8b2447c9837..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/fcntl.h +++ /dev/null @@ -1,101 +0,0 @@ -/* O_*, F_*, FD_* bit values for Linux/SPARC. - Copyright (C) 1995-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _FCNTL_H -# error "Never use directly; include instead." -#endif - -#include - -#define O_APPEND 0x0008 -#define O_ASYNC 0x0040 -#define O_CREAT 0x0200 /* not fcntl */ -#define O_TRUNC 0x0400 /* not fcntl */ -#define O_EXCL 0x0800 /* not fcntl */ -#define O_SYNC 0x802000 -#define O_NONBLOCK 0x4000 -#define O_NDELAY (0x0004 | O_NONBLOCK) -#define O_NOCTTY 0x8000 /* not fcntl */ - -#define __O_DIRECTORY 0x10000 /* must be a directory */ -#define __O_NOFOLLOW 0x20000 /* don't follow links */ -#define __O_CLOEXEC 0x400000 /* Set close_on_exit. */ - -#define __O_DIRECT 0x100000 /* direct disk access hint */ -#define __O_NOATIME 0x200000 /* Do not set atime. */ -#define __O_PATH 0x1000000 /* Resolve pathname but do not open file. */ -#define __O_TMPFILE 0x2010000 /* Atomically create nameless file. */ - -#if __WORDSIZE == 64 -# define __O_LARGEFILE 0 -#else -# define __O_LARGEFILE 0x40000 -#endif - -#define __O_DSYNC 0x2000 /* Synchronize data. */ - - -#define __F_GETOWN 5 /* Get owner (process receiving SIGIO). */ -#define __F_SETOWN 6 /* Set owner (process receiving SIGIO). */ - -#ifndef __USE_FILE_OFFSET64 -# define F_GETLK 7 /* Get record locking info. */ -# define F_SETLK 8 /* Set record locking info (non-blocking). */ -# define F_SETLKW 9 /* Set record locking info (blocking). */ -#endif - -#if __WORDSIZE == 64 -# define F_GETLK64 7 /* Get record locking info. */ -# define F_SETLK64 8 /* Set record locking info (non-blocking). */ -# define F_SETLKW64 9 /* Set record locking info (blocking). */ -#endif - -/* For posix fcntl() and `l_type' field of a `struct flock' for lockf(). */ -#define F_RDLCK 1 /* Read lock. */ -#define F_WRLCK 2 /* Write lock. */ -#define F_UNLCK 3 /* Remove lock. */ - -struct flock - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ -#ifndef __USE_FILE_OFFSET64 - __off_t l_start; /* Offset where the lock begins. */ - __off_t l_len; /* Size of the locked area; zero means until EOF. */ -#else - __off64_t l_start; /* Offset where the lock begins. */ - __off64_t l_len; /* Size of the locked area; zero means until EOF. */ -#endif - __pid_t l_pid; /* Process holding the lock. */ - short int __glibc_reserved; - }; - -#ifdef __USE_LARGEFILE64 -struct flock64 - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ - __off64_t l_start; /* Offset where the lock begins. */ - __off64_t l_len; /* Size of the locked area; zero means until EOF. */ - __pid_t l_pid; /* Process holding the lock. */ - short int __glibc_reserved; - }; -#endif - -/* Include generic Linux declarations. */ -#include \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/fenv.h b/lib/libc/include/sparcv9-linux-gnu/bits/fenv.h deleted file mode 100644 index 2de6eb4eb378bb8e24b43c028c9b447fa5e026bd..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/fenv.h +++ /dev/null @@ -1,92 +0,0 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _FENV_H -# error "Never use directly; include instead." -#endif - -#include - - -/* Define bits representing the exception. We use the bit positions - of the appropriate accrued exception bits from the FSR. */ -enum - { - FE_INVALID = -#define FE_INVALID (1 << 9) - FE_INVALID, - FE_OVERFLOW = -#define FE_OVERFLOW (1 << 8) - FE_OVERFLOW, - FE_UNDERFLOW = -#define FE_UNDERFLOW (1 << 7) - FE_UNDERFLOW, - FE_DIVBYZERO = -#define FE_DIVBYZERO (1 << 6) - FE_DIVBYZERO, - FE_INEXACT = -#define FE_INEXACT (1 << 5) - FE_INEXACT - }; - -#define FE_ALL_EXCEPT \ - (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) - -/* The Sparc FPU supports all of the four defined rounding modes. We - use again the bit positions in the FPU control word as the values - for the appropriate macros. */ -enum - { - FE_TONEAREST = -#define FE_TONEAREST (0 << 30) - FE_TONEAREST, - FE_TOWARDZERO = -#define FE_TOWARDZERO (1 << 30) - FE_TOWARDZERO, - FE_UPWARD = -#define FE_UPWARD (-0x7fffffff - 1) /* (2 << 30) */ - FE_UPWARD, - FE_DOWNWARD = -#define FE_DOWNWARD (-0x40000000) /* (3 << 30) */ - FE_DOWNWARD - }; - -#define __FE_ROUND_MASK (3U << 30) - - -/* Type representing exception flags. */ -typedef unsigned long int fexcept_t; - - -/* Type representing floating-point environment. */ -typedef unsigned long int fenv_t; - -/* If the default argument is used we use this value. */ -#define FE_DFL_ENV ((const fenv_t *) -1) - -#ifdef __USE_GNU -/* Floating-point environment where none of the exception is masked. */ -# define FE_NOMASK_ENV ((const fenv_t *) -2) -#endif - -#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X) -/* Type representing floating-point control modes. */ -typedef unsigned long int femode_t; - -/* Default floating-point control modes. */ -# define FE_DFL_MODE ((const femode_t *) -1L) -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/floatn.h b/lib/libc/include/sparcv9-linux-gnu/bits/floatn.h deleted file mode 100644 index 0b1b5d444dba6c324b2ef27cd91e5e4197e2ee81..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/floatn.h +++ /dev/null @@ -1,97 +0,0 @@ -/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms. - Copyright (C) 2017-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_FLOATN_H -#define _BITS_FLOATN_H - -#include -#include - -/* Defined to 1 if the current compiler invocation provides a - floating-point type with the IEEE 754 binary128 format, and this - glibc includes corresponding *f128 interfaces for it. */ -#ifndef __NO_LONG_DOUBLE_MATH -# define __HAVE_FLOAT128 1 -#else -/* glibc does not support _Float128 for platforms where long double is - normally binary128 when building with long double as binary64. - GCC's default for supported scalar modes does not support it either - in that case. */ -# define __HAVE_FLOAT128 0 -#endif - -/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct - from the default float, double and long double types in this glibc. */ -#define __HAVE_DISTINCT_FLOAT128 0 - -/* Defined to 1 if the current compiler invocation provides a - floating-point type with the right format for _Float64x, and this - glibc includes corresponding *f64x interfaces for it. */ -#define __HAVE_FLOAT64X __HAVE_FLOAT128 - -/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format - of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has - the format of _Float128, which must be different from that of long - double. */ -#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128 - -#ifndef __ASSEMBLER__ - -/* Defined to concatenate the literal suffix to be used with _Float128 - types, if __HAVE_FLOAT128 is 1. */ -# if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -/* The literal suffix f128 exists only since GCC 7.0. */ -# define __f128(x) x##l -# else -# define __f128(x) x##f128 -# endif -# endif - -/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ -# if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -# define __CFLOAT128 _Complex long double -# else -# define __CFLOAT128 _Complex _Float128 -# endif -# endif - -/* The remaining of this file provides support for older compilers. */ -# if __HAVE_FLOAT128 - -/* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus -typedef long double _Float128; -# endif - -/* Various built-in functions do not exist before GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) -# define __builtin_huge_valf128() (__builtin_huge_vall ()) -# define __builtin_inff128() (__builtin_infl ()) -# define __builtin_nanf128(x) (__builtin_nanl (x)) -# define __builtin_nansf128(x) (__builtin_nansl (x)) -# endif - -# endif - -#endif /* !__ASSEMBLER__. */ - -#include - -#endif /* _BITS_FLOATN_H */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/hwcap.h b/lib/libc/include/sparcv9-linux-gnu/bits/hwcap.h deleted file mode 100644 index 3f9c7c7f1db769c2cb0650a9ffad0461df6fd973..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/hwcap.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Defines for bits in AT_HWCAP. - Copyright (C) 2011-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H) -# error "Never include directly; use instead." -#endif - -#define HWCAP_SPARC_FLUSH 0x00000001 -#define HWCAP_SPARC_STBAR 0x00000002 -#define HWCAP_SPARC_SWAP 0x00000004 -#define HWCAP_SPARC_MULDIV 0x00000008 -#define HWCAP_SPARC_V9 0x00000010 -#define HWCAP_SPARC_ULTRA3 0x00000020 -#define HWCAP_SPARC_BLKINIT 0x00000040 -#define HWCAP_SPARC_N2 0x00000080 -#define HWCAP_SPARC_MUL32 0x00000100 -#define HWCAP_SPARC_DIV32 0x00000200 -#define HWCAP_SPARC_FSMULD 0x00000400 -#define HWCAP_SPARC_V8PLUS 0x00000800 -#define HWCAP_SPARC_POPC 0x00001000 -#define HWCAP_SPARC_VIS 0x00002000 -#define HWCAP_SPARC_VIS2 0x00004000 -#define HWCAP_SPARC_ASI_BLK_INIT 0x00008000 -#define HWCAP_SPARC_FMAF 0x00010000 -#define HWCAP_SPARC_VIS3 0x00020000 -#define HWCAP_SPARC_HPC 0x00040000 -#define HWCAP_SPARC_RANDOM 0x00080000 -#define HWCAP_SPARC_TRANS 0x00100000 -#define HWCAP_SPARC_FJFMAU 0x00200000 -#define HWCAP_SPARC_IMA 0x00400000 -#define HWCAP_SPARC_ASI_CACHE_SPARING \ - 0x00800000 -#define HWCAP_SPARC_PAUSE 0x01000000 -#define HWCAP_SPARC_CBCOND 0x02000000 -#define HWCAP_SPARC_CRYPTO 0x04000000 -#define HWCAP_SPARC_ADP 0x08000000 \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/ipc-perm.h b/lib/libc/include/sparcv9-linux-gnu/bits/ipc-perm.h deleted file mode 100644 index d1761dca799d83faec4348897092d92717210a23..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/ipc-perm.h +++ /dev/null @@ -1,36 +0,0 @@ -/* struct ipc_perm definition. Linux/sparc version. - Copyright (C) 1995-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_IPC_H -# error "Never use directly; include instead." -#endif - -/* Data structure used to pass permission information to IPC operations. */ -struct ipc_perm - { - __key_t __key; /* Key. */ - __uid_t uid; /* Owner's user ID. */ - __gid_t gid; /* Owner's group ID. */ - __uid_t cuid; /* Creator's user ID. */ - __gid_t cgid; /* Creator's group ID. */ - __mode_t mode; /* Read/write permission. */ - unsigned short int __pad1; - unsigned short int __seq; /* Sequence number. */ - __extension__ unsigned long long int __glibc_reserved1; - __extension__ unsigned long long int __glibc_reserved2; - }; \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/link.h b/lib/libc/include/sparcv9-linux-gnu/bits/link.h deleted file mode 100644 index e6e0d275c4562d2729b4bb26779023de63c0cd6c..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/link.h +++ /dev/null @@ -1,99 +0,0 @@ -/* Machine-specific audit interfaces for dynamic linker. SPARC version. - Copyright (C) 2005-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _LINK_H -# error "Never include directly; use instead." -#endif - -#if __WORDSIZE == 32 - -typedef struct La_sparc32_regs -{ - uint32_t lr_lreg[8]; /* %l0 through %l7 */ - uint32_t lr_reg[6]; /* %o0 through %o5 */ - uint32_t lr_sp; /* %o6 */ - uint32_t lr_ra; /* %o7 */ - uint32_t lr_struct; /* Pass-by-reference struct pointer */ -} La_sparc32_regs; - -typedef struct La_sparc32_retval -{ - uint32_t lrv_reg[2]; /* %o0 and %o1 */ - double lrv_fpreg[2]; /* %f0 and %f2 */ -} La_sparc32_retval; - -#else - -typedef struct La_sparc64_regs -{ - uint64_t lr_lreg[8]; /* %l0 through %l7 */ - uint64_t lr_reg[6]; /* %o0 through %o5 */ - uint64_t lr_sp; /* %o6 */ - uint64_t lr_ra; /* %o7 */ - double lr_fpreg[16]; /* %f0 through %f30 */ -} La_sparc64_regs; - -typedef struct La_sparc64_retval -{ - uint64_t lrv_reg[4]; /* %o0 through %o3 */ - double lrv_fprev[4]; /* %f0 through %f8 */ -} La_sparc64_retval; - -#endif - -__BEGIN_DECLS - -#if __WORDSIZE == 32 - -extern Elf32_Addr la_sparc32_gnu_pltenter (Elf32_Sym *__sym, - unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - La_sparc32_regs *__regs, - unsigned int *__flags, - const char *__symname, - long int *__framesizep); -extern unsigned int la_sparc32_gnu_pltexit (Elf32_Sym *__sym, - unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - const La_sparc32_regs *__inregs, - La_sparc32_retval *__outregs, - const char *__symname); - -#else - -extern Elf64_Addr la_sparc64_gnu_pltenter (Elf64_Sym *__sym, - unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - La_sparc64_regs *__regs, - unsigned int *__flags, - const char *__symname, - long int *__framesizep); -extern unsigned int la_sparc64_gnu_pltexit (Elf64_Sym *__sym, - unsigned int __ndx, - uintptr_t *__refcook, - uintptr_t *__defcook, - const La_sparc64_regs *__inregs, - La_sparc64_retval *__outregs, - const char *__symname); - -#endif - -__END_DECLS \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/mman.h b/lib/libc/include/sparcv9-linux-gnu/bits/mman.h deleted file mode 100644 index f8a8c978041ffbae648edd6b081976d78d85a876..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/mman.h +++ /dev/null @@ -1,57 +0,0 @@ -/* Definitions for POSIX memory map interface. Linux/SPARC version. - Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_MMAN_H -# error "Never use directly; include instead." -#endif - -/* The following definitions basically come from the kernel headers. - But the kernel header is not namespace clean. */ - - -/* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_GROWSDOWN 0x0200 /* Stack-like segment. */ -# define MAP_DENYWRITE 0x0800 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x1000 /* Mark it as an executable. */ -# define MAP_LOCKED 0x0100 /* Lock the mapping. */ -# define MAP_NORESERVE 0x0040 /* Don't check for reservations. */ -# define _MAP_NEW 0x80000000 /* Binary compatibility with SunOS. */ -# define MAP_POPULATE 0x8000 /* Populate (prefault) pagetables. */ -# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ -# define MAP_STACK 0x20000 /* Allocation is for a stack. */ -# define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ -# define MAP_SYNC 0x80000 /* Perform synchronous page - faults for the mapping. */ -# define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap - underlying mapping. */ -#endif - -/* Flags for `mlockall'. */ -#define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */ -#define MCL_FUTURE 0x4000 /* Lock all additions to address - space. */ -#define MCL_ONFAULT 0x8000 /* Lock all pages that are - faulted in. */ -/* Include generic Linux declarations. */ -#include - -/* Other flags. */ -#ifdef __USE_MISC -# define MAP_RENAME MAP_ANONYMOUS -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/poll.h b/lib/libc/include/sparcv9-linux-gnu/bits/poll.h deleted file mode 100644 index 7883f8535057116889499d99602f646edf708452..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/poll.h +++ /dev/null @@ -1,49 +0,0 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_POLL_H -# error "Never use directly; include instead." -#endif - -/* Event types that can be polled for. These bits may be set in `events' - to indicate the interesting event types; they will appear in `revents' - to indicate the status of the file descriptor. */ -#define POLLIN 0x001 /* There is data to read. */ -#define POLLPRI 0x002 /* There is urgent data to read. */ -#define POLLOUT 0x004 /* Writing now will not block. */ - -#if defined __USE_XOPEN || defined __USE_XOPEN2K8 -/* These values are defined in XPG4.2. */ -# define POLLRDNORM 0x040 /* Normal data may be read. */ -# define POLLRDBAND 0x080 /* Priority data may be read. */ -# define POLLWRNORM POLLOUT /* Writing now will not block. */ -# define POLLWRBAND 0x100 /* Priority data may be written. */ -#endif - -#ifdef __USE_GNU -/* These are extensions for Linux. */ -# define POLLMSG 0x200 -# define POLLREMOVE 0x400 -# define POLLRDHUP 0x800 -#endif - -/* Event types always implicitly polled for. These bits need not be set in - `events', but they will appear in `revents' to indicate the status of - the file descriptor. */ -#define POLLERR 0x008 /* Error condition. */ -#define POLLHUP 0x010 /* Hung up. */ -#define POLLNVAL 0x020 /* Invalid polling request. */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/procfs-extra.h b/lib/libc/include/sparcv9-linux-gnu/bits/procfs-extra.h deleted file mode 100644 index 570c5de2065b38a197e39157f42ce8f602e393d7..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/procfs-extra.h +++ /dev/null @@ -1,88 +0,0 @@ -/* Extra sys/procfs.h definitions. SPARC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_PROCFS_H -# error "Never include directly; use instead." -#endif - -#if __WORDSIZE == 64 - -/* Provide 32-bit variants so that BFD can read 32-bit - core files. */ -#define ELF_NGREG32 38 -typedef struct - { - union - { - unsigned int pr_regs[32]; - double pr_dregs[16]; - } pr_fr; - unsigned int __glibc_reserved; - unsigned int pr_fsr; - unsigned char pr_qcnt; - unsigned char pr_q_entrysize; - unsigned char pr_en; - unsigned int pr_q[64]; - } elf_fpregset_t32; - -typedef unsigned int elf_greg_t32; -typedef elf_greg_t32 elf_gregset_t32[ELF_NGREG32]; - -struct elf_prstatus32 - { - struct elf_siginfo pr_info; /* Info associated with signal. */ - short int pr_cursig; /* Current signal. */ - unsigned int pr_sigpend; /* Set of pending signals. */ - unsigned int pr_sighold; /* Set of held signals. */ - __pid_t pr_pid; - __pid_t pr_ppid; - __pid_t pr_pgrp; - __pid_t pr_sid; - struct - { - int tv_sec, tv_usec; - } pr_utime, /* User time. */ - pr_stime, /* System time. */ - pr_cutime, /* Cumulative user time. */ - pr_cstime; /* Cumulative system time. */ - elf_gregset_t32 pr_reg; /* GP registers. */ - int pr_fpvalid; /* True if math copro being used. */ - }; - -struct elf_prpsinfo32 - { - char pr_state; /* Numeric process state. */ - char pr_sname; /* Char for pr_state. */ - char pr_zomb; /* Zombie. */ - char pr_nice; /* Nice val. */ - unsigned int pr_flag; /* Flags. */ - unsigned short int pr_uid; - unsigned short int pr_gid; - int pr_pid, pr_ppid, pr_pgrp, pr_sid; - /* Lots missing */ - char pr_fname[16]; /* Filename of executable. */ - char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ - }; - -typedef elf_gregset_t32 prgregset32_t; -typedef elf_fpregset_t32 prfpregset32_t; - -typedef struct elf_prstatus32 prstatus32_t; -typedef struct elf_prpsinfo32 prpsinfo32_t; - -#endif /* sparc64 */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/procfs.h b/lib/libc/include/sparcv9-linux-gnu/bits/procfs.h deleted file mode 100644 index 6217d6f2ff616feeee36dcef78e35d7b23fe3a1a..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/procfs.h +++ /dev/null @@ -1,61 +0,0 @@ -/* Types for registers for sys/procfs.h. SPARC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_PROCFS_H -# error "Never include directly; use instead." -#endif - -#include -#include -#include - -#if __WORDSIZE == 64 - -#define ELF_NGREG 36 - -typedef struct - { - unsigned long pr_regs[32]; - unsigned long pr_fsr; - unsigned long pr_gsr; - unsigned long pr_fprs; - } elf_fpregset_t; - -#else /* sparc32 */ - -#define ELF_NGREG 38 - -typedef struct - { - union - { - unsigned long pr_regs[32]; - double pr_dregs[16]; - } pr_fr; - unsigned long __glibc_reserved; - unsigned long pr_fsr; - unsigned char pr_qcnt; - unsigned char pr_q_entrysize; - unsigned char pr_en; - unsigned int pr_q[64]; - } elf_fpregset_t; - -#endif /* sparc32 */ - -typedef unsigned long elf_greg_t; -typedef elf_greg_t elf_gregset_t[ELF_NGREG]; \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/pthread_stack_min.h b/lib/libc/include/sparcv9-linux-gnu/bits/pthread_stack_min.h deleted file mode 100644 index 220f9fcec31750d04c2d659ae23c66b3fbedc60e..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/pthread_stack_min.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Definition of PTHREAD_STACK_MIN. Linux/SPARC version. - Copyright (C) 2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If - not, see . */ - -/* Minimum size for a thread. We are free to choose a reasonable value. */ -#define PTHREAD_STACK_MIN 24576 \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/setjmp.h b/lib/libc/include/sparcv9-linux-gnu/bits/setjmp.h deleted file mode 100644 index e7c1964e13634b345cea4b2d8948a09fcd06d317..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/setjmp.h +++ /dev/null @@ -1,67 +0,0 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SETJMP_H -#define _BITS_SETJMP_H 1 - -#if !defined _SETJMP_H && !defined _PTHREAD_H -# error "Never include directly; use instead." -#endif - -#include - -#if __WORDSIZE == 64 - -#ifndef _ASM -typedef struct __sparc64_jmp_buf - { - struct __sparc64_jmp_buf *__uc_link; - unsigned long __uc_flags; - unsigned long __uc_sigmask; - struct __sparc64_jmp_buf_mcontext - { - unsigned long __mc_gregs[19]; - unsigned long __mc_fp; - unsigned long __mc_i7; - struct __sparc64_jmp_buf_fpu - { - union - { - unsigned int __sregs[32]; - unsigned long __dregs[32]; - long double __qregs[16]; - } __mcfpu_fpregs; - unsigned long __mcfpu_fprs; - unsigned long __mcfpu_gsr; - void *__mcfpu_fq; - unsigned char __mcfpu_qcnt; - unsigned char __mcfpu_qentsz; - unsigned char __mcfpu_enab; - } __mc_fpregs; - } __uc_mcontext; - } __jmp_buf[1]; -#endif - -#else - -#ifndef _ASM -typedef int __jmp_buf[3]; -#endif - -#endif - -#endif /* bits/setjmp.h */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/sigaction.h b/lib/libc/include/sparcv9-linux-gnu/bits/sigaction.h deleted file mode 100644 index c81f76e78b96f1d124436f2c590a7eb2dc7e08cc..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/sigaction.h +++ /dev/null @@ -1,89 +0,0 @@ -/* The proper definitions for Linux/SPARC sigaction. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SIGACTION_H -#define _BITS_SIGACTION_H 1 - -#ifndef _SIGNAL_H -# error "Never include directly; use instead." -#endif - -#include - -/* Structure describing the action to be taken when a signal arrives. */ -struct sigaction - { - /* Signal handler. */ -#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED - union - { - /* Used if SA_SIGINFO is not set. */ - __sighandler_t sa_handler; - /* Used if SA_SIGINFO is set. */ - void (*sa_sigaction) (int, siginfo_t *, void *); - } - __sigaction_handler; -# define sa_handler __sigaction_handler.sa_handler -# define sa_sigaction __sigaction_handler.sa_sigaction -#else - __sighandler_t sa_handler; -#endif - - /* Additional set of signals to be blocked. */ - __sigset_t sa_mask; - - /* Special flags. */ -#if __WORDSIZE == 64 - int __glibc_reserved0; -#endif - int sa_flags; - - /* Not used by Linux/Sparc yet. */ - void (*sa_restorer) (void); - }; - - -/* Bits in `sa_flags'. */ -#define SA_NOCLDSTOP 0x00000008 /* Don't send SIGCHLD when children stop. */ -#define SA_NOCLDWAIT 0x00000100 /* Don't create zombie on child death. */ -#define SA_SIGINFO 0x00000200 /* Invoke signal-catching function with - three arguments instead of one. */ -#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC -# define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */ -#endif -#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 -# define SA_RESTART 0x00000002 /* Restart syscall on signal return. */ -# define SA_NODEFER 0x00000020 /* Don't automatically block the signal when - its handler is being executed. */ -# define SA_RESETHAND 0x00000004 /* Reset to SIG_DFL on entry to handler. */ -#endif -#ifdef __USE_MISC -# define SA_INTERRUPT 0x00000010 /* Historical no-op. */ - -/* Some aliases for the SA_ constants. */ -# define SA_NOMASK SA_NODEFER -# define SA_ONESHOT SA_RESETHAND -# define SA_STACK SA_ONSTACK -#endif - -/* Values for the HOW argument to `sigprocmask'. */ -#define SIG_BLOCK 1 /* Block signals. */ -#define SIG_UNBLOCK 2 /* Unblock signals. */ -#define SIG_SETMASK 4 /* Set the set of blocked signals. */ - -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/siginfo-arch.h b/lib/libc/include/sparcv9-linux-gnu/bits/siginfo-arch.h deleted file mode 100644 index f3360b0cca12925288f4437c08205e856b2400f5..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/siginfo-arch.h +++ /dev/null @@ -1,17 +0,0 @@ -/* Architecture-specific adjustments to siginfo_t. SPARC version. */ -#ifndef _BITS_SIGINFO_ARCH_H -#define _BITS_SIGINFO_ARCH_H 1 - -/* The kernel uses int instead of long int (as in POSIX). In 32-bit - mode, we can still use long int, but in 64-bit mode, we need to - deviate from POSIX. */ -#if __WORDSIZE == 64 -# define __SI_BAND_TYPE int -#endif - -#define __SI_SIGFAULT_ADDL \ - int _si_trapno; - -#define si_trapno _sifields._sigfault._si_trapno - -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/siginfo-consts-arch.h b/lib/libc/include/sparcv9-linux-gnu/bits/siginfo-consts-arch.h deleted file mode 100644 index a1dd324ec7f6fa104da0977caf7f431a78097e06..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/siginfo-consts-arch.h +++ /dev/null @@ -1,12 +0,0 @@ -/* Architecture-specific additional siginfo constants. SPARC version. */ -#ifndef _BITS_SIGINFO_CONSTS_ARCH_H -#define _BITS_SIGINFO_CONSTS_ARCH_H 1 - -/* `si_code' values for SIGEMT signal. */ -enum -{ - EMT_TAGOVF = 1 /* Tag overflow. */ -#define EMT_TAGOVF EMT_TAGOVF -}; - -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/signum-arch.h b/lib/libc/include/sparcv9-linux-gnu/bits/signum-arch.h deleted file mode 100644 index f7a416223ceeff16c934b515d2328cc86867d2ff..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/signum-arch.h +++ /dev/null @@ -1,66 +0,0 @@ -/* Signal number definitions. Linux/SPARC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _BITS_SIGNUM_ARCH_H -#define _BITS_SIGNUM_ARCH_H 1 - -#ifndef _SIGNAL_H -#error "Never include directly; use instead." -#endif - -/* Adjustments and additions to the signal number constants for - Linux/SPARC systems. Signal values on this platform were chosen - for SunOS binary compatibility. */ - -#define SIGEMT 7 /* Emulator trap. */ -#define SIGLOST 29 /* Resource lost (Sun); server died (GNU). */ -#define SIGPWR SIGLOST /* Power failure imminent (SysV). */ - -/* Historical signals specified by POSIX. */ -#define SIGBUS 10 /* Bus error. */ -#define SIGSYS 12 /* Bad system call. */ - -/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */ -#define SIGURG 16 /* Urgent data is available at a socket. */ -#define SIGSTOP 17 /* Stop, unblockable. */ -#define SIGTSTP 18 /* Keyboard stop. */ -#define SIGCONT 19 /* Continue. */ -#define SIGCHLD 20 /* Child terminated or stopped. */ -#define SIGTTIN 21 /* Background read from control terminal. */ -#define SIGTTOU 22 /* Background write to control terminal. */ -#define SIGPOLL 23 /* Pollable event occurred (System V). */ -#define SIGXCPU 24 /* CPU time limit exceeded. */ -#define SIGVTALRM 26 /* Virtual timer expired. */ -#define SIGPROF 27 /* Profiling timer expired. */ -#define SIGXFSZ 25 /* File size limit exceeded. */ -#define SIGUSR1 30 /* User-defined signal 1. */ -#define SIGUSR2 31 /* User-defined signal 2. */ - -/* Nonstandard signals found in all modern POSIX systems - (including both BSD and Linux). */ -#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */ - -/* Archaic names for compatibility. */ -#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ -#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ -#define SIGCLD SIGCHLD /* Old System V name */ - -#define __SIGRTMIN 32 -#define __SIGRTMAX 64 - -#endif /* included. */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/socket_type.h b/lib/libc/include/sparcv9-linux-gnu/bits/socket_type.h deleted file mode 100644 index 16f1604498fb02752b7ff28eff973b173d24f9e7..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/socket_type.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Define enum __socket_type for Linux/SPARC. - Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_SOCKET_H -# error "Never include directly; use instead." -#endif - -/* Types of sockets. */ -enum __socket_type -{ - SOCK_STREAM = 1, /* Sequenced, reliable, connection-based - byte streams. */ -#define SOCK_STREAM SOCK_STREAM - SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams - of fixed maximum length. */ -#define SOCK_DGRAM SOCK_DGRAM - SOCK_RAW = 3, /* Raw protocol interface. */ -#define SOCK_RAW SOCK_RAW - SOCK_RDM = 4, /* Reliably-delivered messages. */ -#define SOCK_RDM SOCK_RDM - SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, - datagrams of fixed maximum length. */ -#define SOCK_SEQPACKET SOCK_SEQPACKET - SOCK_DCCP = 6, /* Datagram Congestion Control Protocol. */ -#define SOCK_DCCP SOCK_DCCP - SOCK_PACKET = 10, /* Linux specific way of getting packets - at the dev level. For writing rarp and - other similar things on the user level. */ -#define SOCK_PACKET SOCK_PACKET - - /* Flags to be ORed into the type parameter of socket and socketpair and - used for the flags parameter of paccept. */ - - SOCK_CLOEXEC = 0x400000, /* Atomically set close-on-exec flag for the - new descriptor(s). */ -#define SOCK_CLOEXEC SOCK_CLOEXEC - SOCK_NONBLOCK = 0x004000 /* Atomically mark descriptor(s) as - non-blocking. */ -#define SOCK_NONBLOCK SOCK_NONBLOCK -}; \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/sparcv9-linux-gnu/bits/struct_rwlock.h deleted file mode 100644 index 01b8d4b742d5a17f19faec2dbb475637b185e868..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/struct_rwlock.h +++ /dev/null @@ -1,58 +0,0 @@ -/* SPARC internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _RWLOCK_INTERNAL_H -#define _RWLOCK_INTERNAL_H - -struct __pthread_rwlock_arch_t -{ - unsigned int __readers; - unsigned int __writers; - unsigned int __wrphase_futex; - unsigned int __writers_futex; - unsigned int __pad3; - unsigned int __pad4; -#if __WORDSIZE == 64 - int __cur_writer; - int __shared; - unsigned long int __pad1; - unsigned long int __pad2; - /* FLAGS must stay at this position in the structure to maintain - binary compatibility. */ - unsigned int __flags; -#else - unsigned char __pad1; - unsigned char __pad2; - unsigned char __shared; - /* FLAGS must stay at this position in the structure to maintain - binary compatibility. */ - unsigned char __flags; - int __cur_writer; -#endif -}; - -#if __WORDSIZE == 64 -# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags -#else -# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ - 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0 -#endif - -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/struct_stat.h b/lib/libc/include/sparcv9-linux-gnu/bits/struct_stat.h deleted file mode 100644 index 5cf20aac064e104ee985afbe20ef2d815a83f386..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/struct_stat.h +++ /dev/null @@ -1,131 +0,0 @@ -/* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#if !defined _SYS_STAT_H && !defined _FCNTL_H -# error "Never include directly; use instead." -#endif - -#ifndef _BITS_STRUCT_STAT_H -#define _BITS_STRUCT_STAT_H 1 - -#include -#include - -struct stat - { - __dev_t st_dev; /* Device. */ -#if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64 - unsigned short int __pad1; - __ino_t st_ino; /* File serial number. */ -#else - __ino64_t st_ino; /* File serial number. */ -#endif - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device. */ - unsigned short int __pad2; -#ifndef __USE_FILE_OFFSET64 - __off_t st_size; /* Size of file, in bytes. */ -#else - __off64_t st_size; /* Size of file, in bytes. */ -#endif - __blksize_t st_blksize; /* Optimal block size for I/O. */ - -#ifndef __USE_FILE_OFFSET64 - __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ -#else - __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ -#endif -#ifdef __USE_XOPEN2K8 - /* Nanosecond resolution timestamps are stored in a format - equivalent to 'struct timespec'. This is the type used - whenever possible but the Unix namespace rules do not allow the - identifier 'timespec' to appear in the header. - Therefore we have to handle the use of this header in strictly - standard-compliant sources special. */ - struct timespec st_atim; /* Time of last access. */ - struct timespec st_mtim; /* Time of last modification. */ - struct timespec st_ctim; /* Time of last status change. */ -# define st_atime st_atim.tv_sec /* Backward compatibility. */ -# define st_mtime st_mtim.tv_sec -# define st_ctime st_ctim.tv_sec -#else - __time_t st_atime; /* Time of last access. */ - unsigned long int st_atimensec; /* Nscecs of last access. */ - __time_t st_mtime; /* Time of last modification. */ - unsigned long int st_mtimensec; /* Nsecs of last modification. */ - __time_t st_ctime; /* Time of last status change. */ - unsigned long int st_ctimensec; /* Nsecs of last status change. */ -#endif - unsigned long int __glibc_reserved4; - unsigned long int __glibc_reserved5; - }; - -#ifdef __USE_LARGEFILE64 -struct stat64 - { - __dev_t st_dev; /* Device. */ -# if __WORDSIZE == 64 - unsigned short int __pad1; -# endif - __ino64_t st_ino; /* File serial number. */ - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device. */ - unsigned short int __pad2; - __off64_t st_size; /* Size of file, in bytes. */ - __blksize_t st_blksize; /* Optimal block size for I/O. */ - - __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ -# ifdef __USE_XOPEN2K8 - /* Nanosecond resolution timestamps are stored in a format - equivalent to 'struct timespec'. This is the type used - whenever possible but the Unix namespace rules do not allow the - identifier 'timespec' to appear in the header. - Therefore we have to handle the use of this header in strictly - standard-compliant sources special. */ - struct timespec st_atim; /* Time of last access. */ - struct timespec st_mtim; /* Time of last modification. */ - struct timespec st_ctim; /* Time of last status change. */ -# define st_atime st_atim.tv_sec /* Backward compatibility. */ -# define st_mtime st_mtim.tv_sec -# define st_ctime st_ctim.tv_sec -# else - __time_t st_atime; /* Time of last access. */ - unsigned long int st_atimensec; /* Nscecs of last access. */ - __time_t st_mtime; /* Time of last modification. */ - unsigned long int st_mtimensec; /* Nsecs of last modification. */ - __time_t st_ctime; /* Time of last status change. */ - unsigned long int st_ctimensec; /* Nsecs of last status change. */ -# endif - unsigned long int __glibc_reserved4; - unsigned long int __glibc_reserved5; - }; -#endif - -/* Tell code we have these members. */ -#define _STATBUF_ST_BLKSIZE -#define _STATBUF_ST_RDEV -/* Nanosecond resolution time values are supported. */ -#define _STATBUF_ST_NSEC - -#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/termios-baud.h b/lib/libc/include/sparcv9-linux-gnu/bits/termios-baud.h deleted file mode 100644 index f12fccaa0b059cca2a6aad109d17ff08932555ea..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/termios-baud.h +++ /dev/null @@ -1,46 +0,0 @@ -/* termios baud rate selection definitions. Linux/sparc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -#ifdef __USE_MISC -# define CBAUD 0x0000100f -# define CBAUDEX 0x00001000 -# define CIBAUD 0x100f0000 /* input baud rate (not used) */ -# define CMSPAR 0x40000000 /* mark or space (stick) parity */ -# define CRTSCTS 0x80000000 /* flow control */ -#endif - -#define B57600 0x00001001 -#define B115200 0x00001002 -#define B230400 0x00001003 -#define B460800 0x00001004 -#define B76800 0x00001005 -#define B153600 0x00001006 -#define B307200 0x00001007 -#define B614400 0x00001008 -#define B921600 0x00001009 -#define B500000 0x0000100a -#define B576000 0x0000100b -#define B1000000 0x0000100c -#define B1152000 0x0000100d -#define B1500000 0x0000100e -#define B2000000 0x0000100f -#define __MAX_BAUD B2000000 \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/termios-c_cc.h b/lib/libc/include/sparcv9-linux-gnu/bits/termios-c_cc.h deleted file mode 100644 index c91028b51990b42140edee4805851066b859765a..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/termios-c_cc.h +++ /dev/null @@ -1,43 +0,0 @@ -/* termios c_cc symbolic constant definitions. Linux/sparc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -/* c_cc characters */ -#define VINTR 0 -#define VQUIT 1 -#define VERASE 2 -#define VKILL 3 -#define VEOF 4 -#define VEOL 5 -#define VEOL2 6 -#define VSWTC 7 -#define VSTART 8 -#define VSTOP 9 -#define VSUSP 10 -#define VDSUSP 11 /* SunOS POSIX nicety I do believe... */ -#define VREPRINT 12 -#define VDISCARD 13 -#define VWERASE 14 -#define VLNEXT 15 - -/* User apps assume vmin/vtime is shared with eof/eol */ -#define VMIN VEOF -#define VTIME VEOL \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/termios-c_oflag.h b/lib/libc/include/sparcv9-linux-gnu/bits/termios-c_oflag.h deleted file mode 100644 index c20f5d876f4b8de57120dd57b3401e3b456324c8..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/termios-c_oflag.h +++ /dev/null @@ -1,64 +0,0 @@ -/* termios output mode definitions. Linux/sparc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -/* c_oflag bits */ -#define OPOST 0x00000001 -#define OLCUC 0x00000002 -#define ONLCR 0x00000004 -#define OCRNL 0x00000008 -#define ONOCR 0x00000010 -#define ONLRET 0x00000020 -#define OFILL 0x00000040 -#define OFDEL 0x00000080 -#if defined __USE_MISC || defined __USE_XOPEN -# define NLDLY 0x00000100 -# define NL0 0x00000000 -# define NL1 0x00000100 -# define CRDLY 0x00000600 -# define CR0 0x00000000 -# define CR1 0x00000200 -# define CR2 0x00000400 -# define CR3 0x00000600 -# define TABDLY 0x00001800 -# define TAB0 0x00000000 -# define TAB1 0x00000800 -# define TAB2 0x00001000 -# define TAB3 0x00001800 -# define BSDLY 0x00002000 -# define BS0 0x00000000 -# define BS1 0x00002000 -#define FFDLY 0x00008000 -#define FF0 0x00000000 -#define FF1 0x00008000 -#endif -#define VTDLY 0x00004000 -#define VT0 0x00000000 -#define VT1 0x00004000 - -# if defined __USE_GNU -#define PAGEOUT 0x00010000 /* SUNOS specific */ -#define WRAP 0x00020000 /* SUNOS specific */ -# endif - -#ifdef __USE_MISC -# define XTABS 0x00001800 -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/termios-struct.h b/lib/libc/include/sparcv9-linux-gnu/bits/termios-struct.h deleted file mode 100644 index 3ba93c65cabea801ee4c5242b3c5dbc75c30c097..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/termios-struct.h +++ /dev/null @@ -1,34 +0,0 @@ -/* struct termios definition. Linux/sparc version. - Copyright (C) 2019-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -#define NCCS 17 -struct termios - { - tcflag_t c_iflag; /* input mode flags */ - tcflag_t c_oflag; /* output mode flags */ - tcflag_t c_cflag; /* control mode flags */ - tcflag_t c_lflag; /* local mode flags */ - cc_t c_line; /* line discipline */ - cc_t c_cc[NCCS]; /* control characters */ -#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0 -#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0 - }; \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/types/struct_shmid_ds.h b/lib/libc/include/sparcv9-linux-gnu/bits/types/struct_shmid_ds.h deleted file mode 100644 index 25d101b362088d8922a204125c0803e13f4f02c8..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/types/struct_shmid_ds.h +++ /dev/null @@ -1,49 +0,0 @@ -/* Linux/SPARC implementation of the shared memory struct shmid_ds. - Copyright (C) 2020-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_SHM_H -# error "Never include directly; use instead." -#endif - -/* Data structure describing a shared memory segment. */ -struct shmid_ds - { -#ifdef __USE_TIME_BITS64 -# include -#else - struct ipc_perm shm_perm; /* operation permission struct */ -# if __TIMESIZE == 32 - unsigned long int __shm_atime_high; - __time_t shm_atime; /* time of last shmat() */ - unsigned long int __shm_dtime_high; - __time_t shm_dtime; /* time of last shmdt() */ - unsigned long int __shm_ctime_high; - __time_t shm_ctime; /* time of last change by shmctl() */ -# else - __time_t shm_atime; /* time of last shmat() */ - __time_t shm_dtime; /* time of last shmdt() */ - __time_t shm_ctime; /* time of last change by shmctl() */ -# endif - size_t shm_segsz; /* size of segment in bytes */ - __pid_t shm_cpid; /* pid of creator */ - __pid_t shm_lpid; /* pid of last shmop */ - shmatt_t shm_nattch; /* number of current attaches */ - __syscall_ulong_t __glibc_reserved5; - __syscall_ulong_t __glibc_reserved6; -#endif - }; \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/bits/wordsize.h b/lib/libc/include/sparcv9-linux-gnu/bits/wordsize.h deleted file mode 100644 index e08131d42361abf40adec92539cfff1d9696cccf..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/bits/wordsize.h +++ /dev/null @@ -1,11 +0,0 @@ -/* Determine the wordsize from the preprocessor defines. */ - -#if defined __arch64__ || defined __sparcv9 -# define __WORDSIZE 64 -# define __WORDSIZE_TIME64_COMPAT32 1 -#else -# define __WORDSIZE 32 -# define __WORDSIZE32_SIZE_ULONG 0 -# define __WORDSIZE32_PTRDIFF_LONG 0 -# define __WORDSIZE_TIME64_COMPAT32 0 -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/gnu/lib-names.h b/lib/libc/include/sparcv9-linux-gnu/gnu/lib-names.h deleted file mode 100644 index ad6471507a48c834a5c8cbc13cd851c2e20b74b9..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/gnu/lib-names.h +++ /dev/null @@ -1,16 +0,0 @@ -/* This file is automatically generated. - It defines macros to allow user program to find the shared - library files which come as part of GNU libc. */ -#ifndef __GNU_LIB_NAMES_H -#define __GNU_LIB_NAMES_H 1 - -#include - -#if __WORDSIZE == 32 -# include -#endif -#if __WORDSIZE == 64 -# include -#endif - -#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/gnu/stubs.h b/lib/libc/include/sparcv9-linux-gnu/gnu/stubs.h deleted file mode 100644 index 120171a87ae7a525497cffc5786ed0383b47ca33..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/gnu/stubs.h +++ /dev/null @@ -1,12 +0,0 @@ -/* This file is automatically generated. - This file selects the right generated file of `__stub_FUNCTION' macros - based on the architecture being compiled for. */ - -#include - -#if __WORDSIZE == 32 -# include -#endif -#if __WORDSIZE == 64 -# include -#endif \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/ieee754.h b/lib/libc/include/sparcv9-linux-gnu/ieee754.h deleted file mode 100644 index e65600f7425aa943c779f2c9d46bbf0e79de1f8a..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/ieee754.h +++ /dev/null @@ -1,170 +0,0 @@ -/* Copyright (C) 1992-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _IEEE754_H -#define _IEEE754_H 1 - -#include - -#include - -__BEGIN_DECLS - -union ieee754_float - { - float f; - - /* This is the IEEE 754 single-precision format. */ - struct - { -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned int negative:1; - unsigned int exponent:8; - unsigned int mantissa:23; -#endif /* Big endian. */ -#if __BYTE_ORDER == __LITTLE_ENDIAN - unsigned int mantissa:23; - unsigned int exponent:8; - unsigned int negative:1; -#endif /* Little endian. */ - } ieee; - - /* This format makes it easier to see if a NaN is a signalling NaN. */ - struct - { -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned int negative:1; - unsigned int exponent:8; - unsigned int quiet_nan:1; - unsigned int mantissa:22; -#endif /* Big endian. */ -#if __BYTE_ORDER == __LITTLE_ENDIAN - unsigned int mantissa:22; - unsigned int quiet_nan:1; - unsigned int exponent:8; - unsigned int negative:1; -#endif /* Little endian. */ - } ieee_nan; - }; - -#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ - - -union ieee754_double - { - double d; - - /* This is the IEEE 754 double-precision format. */ - struct - { -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned int negative:1; - unsigned int exponent:11; - /* Together these comprise the mantissa. */ - unsigned int mantissa0:20; - unsigned int mantissa1:32; -#endif /* Big endian. */ -#if __BYTE_ORDER == __LITTLE_ENDIAN - /* Together these comprise the mantissa. */ - unsigned int mantissa1:32; - unsigned int mantissa0:20; - unsigned int exponent:11; - unsigned int negative:1; -#endif /* Little endian. */ - } ieee; - - /* This format makes it easier to see if a NaN is a signalling NaN. */ - struct - { -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned int negative:1; - unsigned int exponent:11; - unsigned int quiet_nan:1; - /* Together these comprise the mantissa. */ - unsigned int mantissa0:19; - unsigned int mantissa1:32; -#else - /* Together these comprise the mantissa. */ - unsigned int mantissa1:32; - unsigned int mantissa0:19; - unsigned int quiet_nan:1; - unsigned int exponent:11; - unsigned int negative:1; -#endif - } ieee_nan; - }; - -#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ - - -union ieee854_long_double - { - long double d; - - /* This is the IEEE 854 quad-precision format. */ - struct - { -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned int negative:1; - unsigned int exponent:15; - /* Together these comprise the mantissa. */ - unsigned int mantissa0:16; - unsigned int mantissa1:32; - unsigned int mantissa2:32; - unsigned int mantissa3:32; -#endif /* Big endian. */ -#if __BYTE_ORDER == __LITTLE_ENDIAN - /* Together these comprise the mantissa. */ - unsigned int mantissa3:32; - unsigned int mantissa2:32; - unsigned int mantissa1:32; - unsigned int mantissa0:16; - unsigned int exponent:15; - unsigned int negative:1; -#endif /* Little endian. */ - } ieee; - - /* This format makes it easier to see if a NaN is a signalling NaN. */ - struct - { -#if __BYTE_ORDER == __BIG_ENDIAN - unsigned int negative:1; - unsigned int exponent:15; - unsigned int quiet_nan:1; - /* Together these comprise the mantissa. */ - unsigned int mantissa0:15; - unsigned int mantissa1:32; - unsigned int mantissa2:32; - unsigned int mantissa3:32; -#else - /* Together these comprise the mantissa. */ - unsigned int mantissa3:32; - unsigned int mantissa2:32; - unsigned int mantissa1:32; - unsigned int mantissa0:15; - unsigned int quiet_nan:1; - unsigned int exponent:15; - unsigned int negative:1; -#endif - } ieee_nan; - }; - -#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ - -__END_DECLS - -#endif /* ieee754.h */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/sys/ptrace.h b/lib/libc/include/sparcv9-linux-gnu/sys/ptrace.h deleted file mode 100644 index 9a7b58b46e1e5795dbdccad2e33762adc533bf13..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/sys/ptrace.h +++ /dev/null @@ -1,233 +0,0 @@ -/* `ptrace' debugger support interface. Linux/SPARC version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_PTRACE_H -#define _SYS_PTRACE_H 1 - -#include -#include -#include - -/* Linux/SPARC kernels up to 2.3.18 do not care much - about what namespace polution, so use a kludge now. */ -#undef PTRACE_GETREGS -#undef PTRACE_SETREGS -#undef PTRACE_GETFPREGS -#undef PTRACE_SETFPREGS -#undef PTRACE_READDATA -#undef PTRACE_WRITEDATA -#undef PTRACE_READTEXT -#undef PTRACE_WRITETEXT -#undef PTRACE_SUNDETACH - -__BEGIN_DECLS - -/* Type of the REQUEST argument to `ptrace.' */ -enum __ptrace_request -{ - /* Indicate that the process making this request should be traced. - All signals received by this process can be intercepted by its - parent, and its parent can use the other `ptrace' requests. */ - PTRACE_TRACEME = 0, -#define PT_TRACE_ME PTRACE_TRACEME - - /* Return the word in the process's text space at address ADDR. */ - PTRACE_PEEKTEXT = 1, -#define PT_READ_I PTRACE_PEEKTEXT - - /* Return the word in the process's data space at address ADDR. */ - PTRACE_PEEKDATA = 2, -#define PT_READ_D PTRACE_PEEKDATA - - /* Return the word in the process's user area at offset ADDR. */ - PTRACE_PEEKUSER = 3, -#define PT_READ_U PTRACE_PEEKUSER - - /* Write the word DATA into the process's text space at address ADDR. */ - PTRACE_POKETEXT = 4, -#define PT_WRITE_I PTRACE_POKETEXT - - /* Write the word DATA into the process's data space at address ADDR. */ - PTRACE_POKEDATA = 5, -#define PT_WRITE_D PTRACE_POKEDATA - - /* Write the word DATA into the process's user area at offset ADDR. */ - PTRACE_POKEUSER = 6, -#define PT_WRITE_U PTRACE_POKEUSER - - /* Continue the process. */ - PTRACE_CONT = 7, -#define PT_CONTINUE PTRACE_CONT - - /* Kill the process. */ - PTRACE_KILL = 8, -#define PT_KILL PTRACE_KILL - - /* Single step the process. */ - PTRACE_SINGLESTEP = 9, -#define PT_STEP PTRACE_SINGLESTEP - - /* Detach from a process attached to with PTRACE_ATTACH. */ - PTRACE_DETACH = 11, -#define PT_DETACH PTRACE_DETACH - - /* This define is needed for older programs which were - trying to work around sparc-linux ptrace nastiness. */ -#define PTRACE_SUNDETACH PTRACE_DETACH - -#if __WORDSIZE == 32 - - /* Get all general purpose registers used by a processes. - This is not supported on all machines. */ - PTRACE_GETREGS = 12, -#define PT_GETREGS PTRACE_GETREGS - - /* Set all general purpose registers used by a processes. - This is not supported on all machines. */ - PTRACE_SETREGS = 13, -#define PT_SETREGS PTRACE_SETREGS - - /* Get all floating point registers used by a processes. - This is not supported on all machines. */ - PTRACE_GETFPREGS = 14, -#define PT_GETFPREGS PTRACE_GETFPREGS - - /* Set all floating point registers used by a processes. - This is not supported on all machines. */ - PTRACE_SETFPREGS = 15, -#define PT_SETFPREGS PTRACE_SETFPREGS - -#endif - - /* Attach to a process that is already running. */ - PTRACE_ATTACH = 16, -#define PT_ATTACH PTRACE_ATTACH - - /* Write several bytes at a time. */ - PTRACE_WRITEDATA = 17, -#define PTRACE_WRITEDATA PTRACE_WRITEDATA - - /* Read several bytes at a time. */ - PTRACE_READTEXT = 18, -#define PTRACE_READTEXT PTRACE_READTEXT -#define PTRACE_READDATA PTRACE_READTEXT - - /* Write several bytes at a time. */ - PTRACE_WRITETEXT = 19, -#define PTRACE_WRITETEXT PTRACE_WRITETEXT - -#if __WORDSIZE == 64 - - /* Get all general purpose registers used by a processes. - This is not supported on all machines. */ - PTRACE_GETREGS = 22, -#define PT_GETREGS PTRACE_GETREGS - - /* Set all general purpose registers used by a processes. - This is not supported on all machines. */ - PTRACE_SETREGS = 23, -#define PT_SETREGS PTRACE_SETREGS - -#endif - - /* Continue and stop at the next entry to or return from syscall. */ - PTRACE_SYSCALL = 24, -#define PTRACE_SYSCALL PTRACE_SYSCALL - -#if __WORDSIZE == 64 - - /* Get all floating point registers used by a processes. - This is not supported on all machines. */ - PTRACE_GETFPREGS = 25, -#define PT_GETFPREGS PTRACE_GETFPREGS - - /* Set all floating point registers used by a processes. - This is not supported on all machines. */ - PTRACE_SETFPREGS = 26, -#define PT_SETFPREGS PTRACE_SETFPREGS - -#endif - - /* Set ptrace filter options. */ - PTRACE_SETOPTIONS = 0x4200, -#define PT_SETOPTIONS PTRACE_SETOPTIONS - - /* Get last ptrace message. */ - PTRACE_GETEVENTMSG = 0x4201, -#define PT_GETEVENTMSG PTRACE_GETEVENTMSG - - /* Get siginfo for process. */ - PTRACE_GETSIGINFO = 0x4202, -#define PT_GETSIGINFO PTRACE_GETSIGINFO - - /* Set new siginfo for process. */ - PTRACE_SETSIGINFO = 0x4203, -#define PT_SETSIGINFO PTRACE_SETSIGINFO - - /* Get register content. */ - PTRACE_GETREGSET = 0x4204, -#define PTRACE_GETREGSET PTRACE_GETREGSET - - /* Set register content. */ - PTRACE_SETREGSET = 0x4205, -#define PTRACE_SETREGSET PTRACE_SETREGSET - - /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect - signal or group stop state. */ - PTRACE_SEIZE = 0x4206, -#define PTRACE_SEIZE PTRACE_SEIZE - - /* Trap seized tracee. */ - PTRACE_INTERRUPT = 0x4207, -#define PTRACE_INTERRUPT PTRACE_INTERRUPT - - /* Wait for next group event. */ - PTRACE_LISTEN = 0x4208, -#define PTRACE_LISTEN PTRACE_LISTEN - - /* Retrieve siginfo_t structures without removing signals from a queue. */ - PTRACE_PEEKSIGINFO = 0x4209, -#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO - - /* Get the mask of blocked signals. */ - PTRACE_GETSIGMASK = 0x420a, -#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK - - /* Change the mask of blocked signals. */ - PTRACE_SETSIGMASK = 0x420b, -#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK - - /* Get seccomp BPF filters. */ - PTRACE_SECCOMP_GET_FILTER = 0x420c, -#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER - - /* Get seccomp BPF filter metadata. */ - PTRACE_SECCOMP_GET_METADATA = 0x420d, -#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA - - /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e -#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO -}; - - -#include - -__END_DECLS - -#endif /* _SYS_PTRACE_H */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/sys/ucontext.h b/lib/libc/include/sparcv9-linux-gnu/sys/ucontext.h deleted file mode 100644 index 4c7f7a1493bdbbd1b9c9cc673bb010edba2e2a50..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/sys/ucontext.h +++ /dev/null @@ -1,304 +0,0 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_UCONTEXT_H -#define _SYS_UCONTEXT_H 1 - -#include - -#include -#include - -#include - - -#ifdef __USE_MISC -# define __ctx(fld) fld -#else -# define __ctx(fld) __ ## fld -#endif - -#if __WORDSIZE == 64 - -#define __MC_NGREG 19 -#ifdef __USE_MISC -# define MC_TSTATE 0 -# define MC_PC 1 -# define MC_NPC 2 -# define MC_Y 3 -# define MC_G1 4 -# define MC_G2 5 -# define MC_G3 6 -# define MC_G4 7 -# define MC_G5 8 -# define MC_G6 9 -# define MC_G7 10 -# define MC_O0 11 -# define MC_O1 12 -# define MC_O2 13 -# define MC_O3 14 -# define MC_O4 15 -# define MC_O5 16 -# define MC_O6 17 -# define MC_O7 18 -# define MC_NGREG __MC_NGREG -#endif - -typedef unsigned long mc_greg_t; -typedef mc_greg_t mc_gregset_t[__MC_NGREG]; - -#ifdef __USE_MISC -# define MC_MAXFPQ 16 -#endif -struct __mc_fq { - unsigned long *__ctx(mcfq_addr); - unsigned int __ctx(mcfq_insn); -}; - -typedef struct { - union { - unsigned int __ctx(sregs)[32]; - unsigned long __ctx(dregs)[32]; - long double __ctx(qregs)[16]; - } __ctx(mcfpu_fregs); - unsigned long __ctx(mcfpu_fsr); - unsigned long __ctx(mcfpu_fprs); - unsigned long __ctx(mcfpu_gsr); - struct __mc_fq *__ctx(mcfpu_fq); - unsigned char __ctx(mcfpu_qcnt); - unsigned char __ctx(mcfpu_qentsz); - unsigned char __ctx(mcfpu_enab); -} mc_fpu_t; - -typedef struct { - mc_gregset_t __ctx(mc_gregs); - mc_greg_t __ctx(mc_fp); - mc_greg_t __ctx(mc_i7); - mc_fpu_t __ctx(mc_fpregs); -} mcontext_t; - -typedef struct ucontext_t { - struct ucontext_t *uc_link; - unsigned long __ctx(uc_flags); - unsigned long __uc_sigmask; - mcontext_t uc_mcontext; - stack_t uc_stack; - sigset_t uc_sigmask; -} ucontext_t; - -#endif /* __WORDISIZE == 64 */ - -/* - * Location of the users' stored registers relative to R0. - * Usage is as an index into a gregset_t array or as u.u_ar0[XX]. - */ -#ifdef __USE_MISC -# define REG_PSR (0) -# define REG_PC (1) -# define REG_nPC (2) -# define REG_Y (3) -# define REG_G1 (4) -# define REG_G2 (5) -# define REG_G3 (6) -# define REG_G4 (7) -# define REG_G5 (8) -# define REG_G6 (9) -# define REG_G7 (10) -# define REG_O0 (11) -# define REG_O1 (12) -# define REG_O2 (13) -# define REG_O3 (14) -# define REG_O4 (15) -# define REG_O5 (16) -# define REG_O6 (17) -# define REG_O7 (18) -#endif - -/* - * A gregset_t is defined as an array type for compatibility with the reference - * source. This is important due to differences in the way the C language - * treats arrays and structures as parameters. - * - * Note that NGREG is really (sizeof (struct regs) / sizeof (greg_t)), - * but that the ABI defines it absolutely to be 21 (resp. 19). - */ - -#if __WORDSIZE == 64 - -# define __NGREG 21 -# ifdef __USE_MISC -# define REG_ASI (19) -# define REG_FPRS (20) - -# define NGREG __NGREG -# endif -typedef long greg_t; - -#else /* __WORDSIZE == 32 */ - -# define __NGREG 19 -# ifdef __USE_MISC -# define NGREG __NGREG -# endif -typedef int greg_t; - -#endif /* __WORDSIZE == 32 */ - -typedef greg_t gregset_t[__NGREG]; - -/* - * The following structures define how a register window can appear on the - * stack. This structure is available (when required) through the `gwins' - * field of an mcontext (nested within ucontext). SPARC_MAXWINDOW is the - * maximum number of outstanding regiters window defined in the SPARC - * architecture (*not* implementation). - */ -# define __SPARC_MAXREGWINDOW 31 /* max windows in SPARC arch. */ -#ifdef __USE_MISC -# define SPARC_MAXREGWINDOW __SPARC_MAXREGWINDOW -#endif -struct __rwindow - { - greg_t __ctx(rw_local)[8]; /* locals */ - greg_t __ctx(rw_in)[8]; /* ins */ - }; - -#ifdef __USE_MISC -# define rw_fp __ctx(rw_in)[6] /* frame pointer */ -# define rw_rtn __ctx(rw_in)[7] /* return address */ -#endif - -typedef struct - { - int __ctx(wbcnt); - int *__ctx(spbuf)[__SPARC_MAXREGWINDOW]; - struct __rwindow __ctx(wbuf)[__SPARC_MAXREGWINDOW]; - } gwindows_t; - -/* - * Floating point definitions. - */ - -#ifdef __USE_MISC -# define MAXFPQ 16 /* max # of fpu queue entries currently supported */ -#endif - -/* - * struct fq defines the minimal format of a floating point instruction queue - * entry. The size of entries in the floating point queue are implementation - * dependent. The union FQu is guarenteed to be the first field in any ABI - * conformant system implementation. Any additional fields provided by an - * implementation should not be used applications designed to be ABI conformant. */ - -struct __fpq - { - unsigned long *__ctx(fpq_addr); /* address */ - unsigned long __ctx(fpq_instr); /* instruction */ - }; - -struct __fq - { - union /* FPU inst/addr queue */ - { - double __ctx(whole); - struct __fpq __ctx(fpq); - } __ctx(FQu); - }; - -#ifdef __USE_MISC -# define FPU_REGS_TYPE unsigned -# define FPU_DREGS_TYPE unsigned long long -# define V7_FPU_FSR_TYPE unsigned -# define V9_FPU_FSR_TYPE unsigned long long -# define V9_FPU_FPRS_TYPE unsigned -#endif - -#if __WORDSIZE == 64 - -typedef struct - { - union { /* FPU floating point regs */ - unsigned __ctx(fpu_regs)[32]; /* 32 singles */ - double __ctx(fpu_dregs)[32]; /* 32 doubles */ - long double __ctx(fpu_qregs)[16]; /* 16 quads */ - } __ctx(fpu_fr); - struct __fq *__ctx(fpu_q); /* ptr to array of FQ entries */ - unsigned long __ctx(fpu_fsr); /* FPU status register */ - unsigned char __ctx(fpu_qcnt); /* # of entries in saved FQ */ - unsigned char __ctx(fpu_q_entrysize); /* # of bytes per FQ entry */ - unsigned char __ctx(fpu_en); /* flag signifying fpu in use */ - } fpregset_t; - -#else /* __WORDSIZE == 32 */ - -typedef struct - { - union { /* FPU floating point regs */ - __extension__ unsigned long long __ctx(fpu_regs)[32]; /* 32 singles */ - double __ctx(fpu_dregs)[16]; /* 16 doubles */ - } __ctx(fpu_fr); - struct __fq *__ctx(fpu_q); /* ptr to array of FQ entries */ - unsigned __ctx(fpu_fsr); /* FPU status register */ - unsigned char __ctx(fpu_qcnt); /* # of entries in saved FQ */ - unsigned char __ctx(fpu_q_entrysize); /* # of bytes per FQ entry */ - unsigned char __ctx(fpu_en); /* flag signifying fpu in use */ - } fpregset_t; - -/* - * The following structure is for associating extra register state with - * the ucontext structure and is kept within the uc_mcontext filler area. - * - * If (xrs_id == XRS_ID) then the xrs_ptr field is a valid pointer to - * extra register state. The exact format of the extra register state - * pointed to by xrs_ptr is platform-dependent. - * - * Note: a platform may or may not manage extra register state. - */ -typedef struct - { - unsigned int __ctx(xrs_id); /* indicates xrs_ptr validity */ - void * __ctx(xrs_ptr); /* ptr to extra reg state */ - } xrs_t; - -#ifdef __USE_MISC -# define XRS_ID 0x78727300 /* the string "xrs" */ -#endif - -typedef struct - { - gregset_t __ctx(gregs); /* general register set */ - gwindows_t *__ctx(gwins); /* POSSIBLE pointer to register - windows */ - fpregset_t __ctx(fpregs); /* floating point register set */ - xrs_t __ctx(xrs); /* POSSIBLE extra register state - association */ - long __glibc_reserved1[19]; - } mcontext_t; - - -/* Userlevel context. */ -typedef struct ucontext_t - { - unsigned long __ctx(uc_flags); - struct ucontext_t *uc_link; - sigset_t uc_sigmask; - stack_t uc_stack; - mcontext_t uc_mcontext; - } ucontext_t; - -#endif /* __WORDSIZE == 32 */ -#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/lib/libc/include/sparcv9-linux-gnu/sys/user.h b/lib/libc/include/sparcv9-linux-gnu/sys/user.h deleted file mode 100644 index 7ea56205de91da1045754b456fedf660bfabd277..0000000000000000000000000000000000000000 --- a/lib/libc/include/sparcv9-linux-gnu/sys/user.h +++ /dev/null @@ -1,86 +0,0 @@ -/* Copyright (C) 2003-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#ifndef _SYS_USER_H -#define _SYS_USER_H 1 - -#include - -struct sunos_regs -{ - unsigned int psr, pc, npc, y; - unsigned int regs[15]; -}; - -struct sunos_fpqueue -{ - unsigned int *addr; - unsigned int inst; -}; - -struct sunos_fp -{ - union - { - unsigned int regs[32]; - double reg_dbls[16]; - } fregs; - unsigned int fsr; - unsigned int flags; - unsigned int extra; - unsigned int fpq_count; - struct sunos_fpqueue fpq[16]; -}; - -struct sunos_fpu -{ - struct sunos_fp fpstatus; -}; - -/* The SunOS core file header layout. */ -struct user { - unsigned int magic; - unsigned int len; - struct sunos_regs regs; - struct - { - unsigned char a_dynamic :1; - unsigned char a_toolversion :7; - unsigned char a_machtype; - unsigned short a_info; - unsigned int a_text; - unsigned int a_data; - unsigned int a_bss; - unsigned int a_syms; - unsigned int a_entry; - unsigned int a_trsize; - unsigned int a_drsize; - } uexec; - int signal; - size_t u_tsize; - size_t u_dsize; - size_t u_ssize; - char u_comm[17]; - struct sunos_fpu fpu; - unsigned int sigcode; -}; - -#define NBPG 0x2000 -#define UPAGES 1 -#define SUNOS_CORE_MAGIC 0x080456 - -#endif \ No newline at end of file diff --git a/lib/libc/include/sparc-linux-gnu/bits/inotify.h b/lib/libc/include/x86-linux-gnu/bits/dl_find_object.h similarity index 66% rename from lib/libc/include/sparc-linux-gnu/bits/inotify.h rename to lib/libc/include/x86-linux-gnu/bits/dl_find_object.h index e489d7406c114b7171be576a9028ce0fcc8bd327..b276fbc9ba3f09b76fbff3cdff7479264c1aa833 100644 --- a/lib/libc/include/sparc-linux-gnu/bits/inotify.h +++ b/lib/libc/include/x86-linux-gnu/bits/dl_find_object.h @@ -1,4 +1,5 @@ -/* Copyright (C) 2005-2021 Free Software Foundation, Inc. +/* x86 definitions for finding objects. + Copyright (C) 2021-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,15 +16,14 @@ License along with the GNU C Library; if not, see . */ -#ifndef _SYS_INOTIFY_H -# error "Never use directly; include instead." +#ifndef _DLFCN_H +# error "Never use directly; include instead." #endif -/* Flags for the parameter of inotify_init1. */ -enum - { - IN_CLOEXEC = 0x400000, -#define IN_CLOEXEC IN_CLOEXEC - IN_NONBLOCK = 0x004000 -#define IN_NONBLOCK IN_NONBLOCK - }; \ No newline at end of file +#ifdef __x86_64__ +# define DLFO_STRUCT_HAS_EH_DBASE 0 +#else +# define DLFO_STRUCT_HAS_EH_DBASE 1 +#endif +#define DLFO_STRUCT_HAS_EH_COUNT 0 +#define DLFO_EH_SEGMENT_TYPE PT_GNU_EH_FRAME \ No newline at end of file diff --git a/lib/libc/include/x86-linux-gnu/bits/environments.h b/lib/libc/include/x86-linux-gnu/bits/environments.h index 72a871ff4de397f64f5f7cf4b5f5e70a6f02c59d..99bf904d42ebde70d1c1be91bd480db227162f06 100644 --- a/lib/libc/include/x86-linux-gnu/bits/environments.h +++ b/lib/libc/include/x86-linux-gnu/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/epoll.h b/lib/libc/include/x86-linux-gnu/bits/epoll.h index 4bda3c54ef2f9331ac170b7e33d85aa1d55004bd..6902c3341a85d7959f7ce445fd664e7d1b69e9f9 100644 --- a/lib/libc/include/x86-linux-gnu/bits/epoll.h +++ b/lib/libc/include/x86-linux-gnu/bits/epoll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/fcntl.h b/lib/libc/include/x86-linux-gnu/bits/fcntl.h index de1b65f104f965926417c07a8466d61ed6bd5fc4..94abf25091b66730a25a5980e14f314ca08a129c 100644 --- a/lib/libc/include/x86-linux-gnu/bits/fcntl.h +++ b/lib/libc/include/x86-linux-gnu/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux/x86. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/fenv.h b/lib/libc/include/x86-linux-gnu/bits/fenv.h index dd01ba9442e7648df13d829ffb4c664fe0c30af5..bb5cbf1dab681340321c86ddbe3478f1b9caa9ff 100644 --- a/lib/libc/include/x86-linux-gnu/bits/fenv.h +++ b/lib/libc/include/x86-linux-gnu/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/floatn.h b/lib/libc/include/x86-linux-gnu/bits/floatn.h index 5818af200103f563ab8b3b89776b1fe2dd8de761..827aeeced4f02b45812df033e61f99b70ed6bb38 100644 --- a/lib/libc/include/x86-linux-gnu/bits/floatn.h +++ b/lib/libc/include/x86-linux-gnu/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on x86. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -58,7 +58,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix f128 exists only since GCC 7.0. */ # define __f128(x) x##q # else @@ -68,7 +68,7 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* Add a typedef for older GCC compilers which don't natively support _Complex _Float128. */ typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); @@ -82,7 +82,7 @@ typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); # if __HAVE_FLOAT128 /* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef __float128 _Float128; # endif diff --git a/lib/libc/include/x86-linux-gnu/bits/flt-eval-method.h b/lib/libc/include/x86-linux-gnu/bits/flt-eval-method.h index c714d6ed236f37ba47c46b07f0427d7f4fede23d..2f6d1751ba9f9431c95a101deae300dc124f7a00 100644 --- a/lib/libc/include/x86-linux-gnu/bits/flt-eval-method.h +++ b/lib/libc/include/x86-linux-gnu/bits/flt-eval-method.h @@ -1,5 +1,5 @@ /* Define __GLIBC_FLT_EVAL_METHOD. x86 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/fp-logb.h b/lib/libc/include/x86-linux-gnu/bits/fp-logb.h index 7c1bfa72bd5add534071850e5c498ad6e8b1db53..ffd96b72829d09ff9ce10c7b431e55c0548c84c9 100644 --- a/lib/libc/include/x86-linux-gnu/bits/fp-logb.h +++ b/lib/libc/include/x86-linux-gnu/bits/fp-logb.h @@ -1,5 +1,5 @@ /* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. x86 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/indirect-return.h b/lib/libc/include/x86-linux-gnu/bits/indirect-return.h index 4bf822a84c03e71ba8cb75841166546da1e5af40..911b8c4333e7dea12906df66807387d0307e4d99 100644 --- a/lib/libc/include/x86-linux-gnu/bits/indirect-return.h +++ b/lib/libc/include/x86-linux-gnu/bits/indirect-return.h @@ -1,5 +1,5 @@ /* Definition of __INDIRECT_RETURN. x86 version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/ipctypes.h b/lib/libc/include/x86-linux-gnu/bits/ipctypes.h index 9c301e1a3cdd67c3daafe5762ba5f02e77768d3d..7c465087b29391c35287ab6ee6ab05b51d2c1d18 100644 --- a/lib/libc/include/x86-linux-gnu/bits/ipctypes.h +++ b/lib/libc/include/x86-linux-gnu/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/iscanonical.h b/lib/libc/include/x86-linux-gnu/bits/iscanonical.h index 8e6c0d05f5016f5a498a62ab68c72468d0142931..d7e7ae35cb0da9afa8bbfbcce56ca9bdb2d14304 100644 --- a/lib/libc/include/x86-linux-gnu/bits/iscanonical.h +++ b/lib/libc/include/x86-linux-gnu/bits/iscanonical.h @@ -1,5 +1,5 @@ /* Define iscanonical macro. ldbl-96 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/link.h b/lib/libc/include/x86-linux-gnu/bits/link.h index 9774e993a3c9e35dfe6698df6815cd2828ae570a..c71bb2fc27929c742d6e28560a53bacd70646c38 100644 --- a/lib/libc/include/x86-linux-gnu/bits/link.h +++ b/lib/libc/include/x86-linux-gnu/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -38,8 +38,8 @@ typedef struct La_i86_retval uint32_t lrv_edx; long double lrv_st0; long double lrv_st1; - uint64_t lrv_bnd0; - uint64_t lrv_bnd1; + uint64_t __glibc_unused1; + uint64_t __glibc_unused2; } La_i86_retval; @@ -96,7 +96,7 @@ typedef struct La_x86_64_regs La_x86_64_xmm lr_xmm[8]; La_x86_64_vector lr_vector[8]; #ifndef __ILP32__ - __int128_t lr_bnd[4]; + __int128_t __glibc_unused1[4]; #endif } La_x86_64_regs; @@ -112,8 +112,8 @@ typedef struct La_x86_64_retval La_x86_64_vector lrv_vector0; La_x86_64_vector lrv_vector1; #ifndef __ILP32__ - __int128_t lrv_bnd0; - __int128_t lrv_bnd1; + __int128_t __glibc_unused1; + __int128_t __glibc_unused2; #endif } La_x86_64_retval; diff --git a/lib/libc/include/x86-linux-gnu/bits/long-double.h b/lib/libc/include/x86-linux-gnu/bits/long-double.h index ef3832bc80d643a47f2501845cab95ac4316e201..3839f69a6f6f5c6cf787b6edd6f244e740a3142d 100644 --- a/lib/libc/include/x86-linux-gnu/bits/long-double.h +++ b/lib/libc/include/x86-linux-gnu/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-96 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/math-vector.h b/lib/libc/include/x86-linux-gnu/bits/math-vector.h index 6e94f42ca81228bdf7d5e17ac829538784422e31..a147456599b6526d2d935218fdd19e552a89e755 100644 --- a/lib/libc/include/x86-linux-gnu/bits/math-vector.h +++ b/lib/libc/include/x86-linux-gnu/bits/math-vector.h @@ -1,5 +1,5 @@ /* Platform-specific SIMD declarations of math functions. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -58,6 +58,90 @@ # define __DECL_SIMD_pow __DECL_SIMD_x86_64 # undef __DECL_SIMD_powf # define __DECL_SIMD_powf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acos +# define __DECL_SIMD_acos __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acosf +# define __DECL_SIMD_acosf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan +# define __DECL_SIMD_atan __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanf +# define __DECL_SIMD_atanf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asin +# define __DECL_SIMD_asin __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinf +# define __DECL_SIMD_asinf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_hypot +# define __DECL_SIMD_hypot __DECL_SIMD_x86_64 +# undef __DECL_SIMD_hypotf +# define __DECL_SIMD_hypotf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp2 +# define __DECL_SIMD_exp2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp2f +# define __DECL_SIMD_exp2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp10 +# define __DECL_SIMD_exp10 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp10f +# define __DECL_SIMD_exp10f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cosh +# define __DECL_SIMD_cosh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_coshf +# define __DECL_SIMD_coshf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_expm1 +# define __DECL_SIMD_expm1 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_expm1f +# define __DECL_SIMD_expm1f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_sinh +# define __DECL_SIMD_sinh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_sinhf +# define __DECL_SIMD_sinhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cbrt +# define __DECL_SIMD_cbrt __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cbrtf +# define __DECL_SIMD_cbrtf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan2 +# define __DECL_SIMD_atan2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan2f +# define __DECL_SIMD_atan2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log10 +# define __DECL_SIMD_log10 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log10f +# define __DECL_SIMD_log10f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log2 +# define __DECL_SIMD_log2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log2f +# define __DECL_SIMD_log2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log1p +# define __DECL_SIMD_log1p __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log1pf +# define __DECL_SIMD_log1pf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanh +# define __DECL_SIMD_atanh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanhf +# define __DECL_SIMD_atanhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acosh +# define __DECL_SIMD_acosh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acoshf +# define __DECL_SIMD_acoshf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erf +# define __DECL_SIMD_erf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erff +# define __DECL_SIMD_erff __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanh +# define __DECL_SIMD_tanh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanhf +# define __DECL_SIMD_tanhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinh +# define __DECL_SIMD_asinh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinhf +# define __DECL_SIMD_asinhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erfc +# define __DECL_SIMD_erfc __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erfcf +# define __DECL_SIMD_erfcf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tan +# define __DECL_SIMD_tan __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanf +# define __DECL_SIMD_tanf __DECL_SIMD_x86_64 # endif #endif \ No newline at end of file diff --git a/lib/libc/include/x86-linux-gnu/bits/mman.h b/lib/libc/include/x86-linux-gnu/bits/mman.h index 8c96873c8645fe386f2467e9974b3492891bd97c..0019b3c1b18a477031c30460feb82bdce6f2b127 100644 --- a/lib/libc/include/x86-linux-gnu/bits/mman.h +++ b/lib/libc/include/x86-linux-gnu/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/x86_64 version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,9 +24,7 @@ But the kernel header is not namespace clean. */ /* Other flags. */ -#ifdef __USE_MISC -# define MAP_32BIT 0x40 /* Only give out 32-bit addresses. */ -#endif +#define MAP_32BIT 0x40 /* Only give out 32-bit addresses. */ #include diff --git a/lib/libc/include/x86-linux-gnu/bits/procfs-id.h b/lib/libc/include/x86-linux-gnu/bits/procfs-id.h index bada981489a50a58b41189cdf5bdfad7ed071498..a423506956207a6885881d4141d7a0ae5a2444e1 100644 --- a/lib/libc/include/x86-linux-gnu/bits/procfs-id.h +++ b/lib/libc/include/x86-linux-gnu/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. x86 version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/x86-linux-gnu/bits/procfs.h b/lib/libc/include/x86-linux-gnu/bits/procfs.h index b670484f2a498dd677f674a0200e1e1c3fdfe939..a661cedc73e2883a028adcc5bf30597e277304e1 100644 --- a/lib/libc/include/x86-linux-gnu/bits/procfs.h +++ b/lib/libc/include/x86-linux-gnu/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. x86 version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/pthreadtypes-arch.h b/lib/libc/include/x86-linux-gnu/bits/pthreadtypes-arch.h index 89b363fb2c690c0e4257ace9972e54af6ae09741..c04483882e87651562aa98bf88ab0a3656489837 100644 --- a/lib/libc/include/x86-linux-gnu/bits/pthreadtypes-arch.h +++ b/lib/libc/include/x86-linux-gnu/bits/pthreadtypes-arch.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/rseq.h b/lib/libc/include/x86-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..25794bb0348dbc0e61faf0217d908f42c120d3b6 --- /dev/null +++ b/lib/libc/include/x86-linux-gnu/bits/rseq.h @@ -0,0 +1,30 @@ +/* Restartable Sequences Linux x86 architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + RSEQ_SIG is used with the following reserved undefined instructions, which + trap in user-space: + + x86-32: 0f b9 3d 53 30 05 53 ud1 0x53053053,%edi + x86-64: 0f b9 3d 53 30 05 53 ud1 0x53053053(%rip),%edi */ + +#define RSEQ_SIG 0x53053053 \ No newline at end of file diff --git a/lib/libc/include/x86-linux-gnu/bits/setjmp.h b/lib/libc/include/x86-linux-gnu/bits/setjmp.h index 9e96a2ff9876995f8c9b65a4a586e17984ebead4..a0ec4d52b398acaec6fd78a42dab4b7c65176146 100644 --- a/lib/libc/include/x86-linux-gnu/bits/setjmp.h +++ b/lib/libc/include/x86-linux-gnu/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/sigcontext.h b/lib/libc/include/x86-linux-gnu/bits/sigcontext.h index 4f03980c986b772d0857e8065cdc360f171819a1..c5c56327d75987942fab84b5048a75bb32f30843 100644 --- a/lib/libc/include/x86-linux-gnu/bits/sigcontext.h +++ b/lib/libc/include/x86-linux-gnu/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/struct_mutex.h b/lib/libc/include/x86-linux-gnu/bits/struct_mutex.h index 89c18f35e00b222cbca0673621fd40bbdf31b69c..1c24f997660d21b2e492483441f853e58f4f91b0 100644 --- a/lib/libc/include/x86-linux-gnu/bits/struct_mutex.h +++ b/lib/libc/include/x86-linux-gnu/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* x86 internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/x86-linux-gnu/bits/struct_rwlock.h index 022106d66cdb4ff8e0f82bc8aa2eb9e80ea0a466..bda5f4503e6f9d86a530e8a4dccbd1cad337095d 100644 --- a/lib/libc/include/x86-linux-gnu/bits/struct_rwlock.h +++ b/lib/libc/include/x86-linux-gnu/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* x86 internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/x86-linux-gnu/bits/struct_stat.h b/lib/libc/include/x86-linux-gnu/bits/struct_stat.h index b3674c73c43565b0ff30101aae4a4baeccb6c838..fb7e9b0079b18c478ed167e264d55cb34ca9fb6a 100644 --- a/lib/libc/include/x86-linux-gnu/bits/struct_stat.h +++ b/lib/libc/include/x86-linux-gnu/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/timesize.h b/lib/libc/include/x86-linux-gnu/bits/timesize.h index a1ca40d632af2e5cda7f954f5736f67cc53d37fb..e93c7b59bea50280e64e0014b34099cb0d0844a2 100644 --- a/lib/libc/include/x86-linux-gnu/bits/timesize.h +++ b/lib/libc/include/x86-linux-gnu/bits/timesize.h @@ -1,5 +1,5 @@ /* Bit size of the time_t type at glibc build time, x86-64 and x32 case. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,6 +16,8 @@ License along with the GNU C Library; if not, see . */ +#include + #if defined __x86_64__ && defined __ILP32__ /* For x32, time is 64-bit even though word size is 32-bit. */ # define __TIMESIZE 64 diff --git a/lib/libc/include/x86-linux-gnu/bits/types/struct_semid_ds.h b/lib/libc/include/x86-linux-gnu/bits/types/struct_semid_ds.h index 6713836d1eec4e7203af5dc633a480ec0e9d58e8..c3fcba132f30f7e91a67baa9285f3a6baea3fb2c 100644 --- a/lib/libc/include/x86-linux-gnu/bits/types/struct_semid_ds.h +++ b/lib/libc/include/x86-linux-gnu/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* x86 implementation of the semaphore struct semid_ds. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/bits/typesizes.h b/lib/libc/include/x86-linux-gnu/bits/typesizes.h index 654f1c7b873efd6317245ed5dae99e75da8808cf..a80cf92e0d085361d7b8b106d2952c286c2b60af 100644 --- a/lib/libc/include/x86-linux-gnu/bits/typesizes.h +++ b/lib/libc/include/x86-linux-gnu/bits/typesizes.h @@ -1,5 +1,5 @@ /* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/finclude/math-vector-fortran.h b/lib/libc/include/x86-linux-gnu/finclude/math-vector-fortran.h index 5fdbe52a3c2c28d20e0a502018ba95d3dedf0dbb..a6b0e8eedd1bf9b5e9fd4210370a5d1624081451 100644 --- a/lib/libc/include/x86-linux-gnu/finclude/math-vector-fortran.h +++ b/lib/libc/include/x86-linux-gnu/finclude/math-vector-fortran.h @@ -1,5 +1,5 @@ ! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*- -! Copyright (C) 2019-2021 Free Software Foundation, Inc. +! Copyright (C) 2019-2023 Free Software Foundation, Inc. ! This file is part of the GNU C Library. ! ! The GNU C Library is free software; you can redistribute it and/or @@ -28,6 +28,48 @@ !GCC$ builtin (expf) attributes simd (notinbranch) if('x86_64') !GCC$ builtin (pow) attributes simd (notinbranch) if('x86_64') !GCC$ builtin (powf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acos) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acosf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atan) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atanf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asin) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asinf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (hypot) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp2) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp2f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp10) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp10f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (cosh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (coshf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (expm1) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (expm1f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (sinh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (sinhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (cbrt) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (cbrtf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atan2) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atan2f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log10) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log10f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log2) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log2f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log1p) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log1pf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atanh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atanhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acosh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acoshf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erff) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tanh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tanhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asinh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asinhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erfc) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erfcf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tan) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tanf) attributes simd (notinbranch) if('x86_64') !GCC$ builtin (cos) attributes simd (notinbranch) if('x32') !GCC$ builtin (cosf) attributes simd (notinbranch) if('x32') @@ -40,4 +82,46 @@ !GCC$ builtin (exp) attributes simd (notinbranch) if('x32') !GCC$ builtin (expf) attributes simd (notinbranch) if('x32') !GCC$ builtin (pow) attributes simd (notinbranch) if('x32') -!GCC$ builtin (powf) attributes simd (notinbranch) if('x32') \ No newline at end of file +!GCC$ builtin (powf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acos) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acosf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atan) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atanf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asin) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asinf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (hypot) attributes simd (notinbranch) if('x32') +!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp2) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp2f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp10) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp10f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (cosh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (coshf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (expm1) attributes simd (notinbranch) if('x32') +!GCC$ builtin (expm1f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (sinh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (sinhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (cbrt) attributes simd (notinbranch) if('x32') +!GCC$ builtin (cbrtf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atan2) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atan2f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log10) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log10f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log2) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log2f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log1p) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log1pf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atanh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atanhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acosh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acoshf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erff) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tanh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tanhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asinh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asinhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erfc) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erfcf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tan) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tanf) attributes simd (notinbranch) if('x32') \ No newline at end of file diff --git a/lib/libc/include/x86-linux-gnu/fpu_control.h b/lib/libc/include/x86-linux-gnu/fpu_control.h index 533e2da0d0872f74cf7b3e5f2dff94b6bd0faf8b..c07f6472dc05ff26787aacc00bb7311f000199f5 100644 --- a/lib/libc/include/x86-linux-gnu/fpu_control.h +++ b/lib/libc/include/x86-linux-gnu/fpu_control.h @@ -1,7 +1,6 @@ /* FPU control word bits. x86 version. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Olaf Flebbe. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/powerpc-linux-gnueabihf/gnu/lib-names-32.h b/lib/libc/include/x86-linux-gnu/gnu/lib-names-32.h similarity index 88% rename from lib/libc/include/powerpc-linux-gnueabihf/gnu/lib-names-32.h rename to lib/libc/include/x86-linux-gnu/gnu/lib-names-32.h index 7dfe5a7147490c21adb83ee28f2300eb57046f4d..05f14745a9069729bd9f5ef08d972fc3430e8637 100644 --- a/lib/libc/include/powerpc-linux-gnueabihf/gnu/lib-names-32.h +++ b/lib/libc/include/x86-linux-gnu/gnu/lib-names-32.h @@ -3,7 +3,8 @@ # error "Never use directly; include instead." #endif -#define LD_SO "ld.so.1" +#define LD_LINUX_SO "ld-linux.so.2" +#define LD_SO "ld-linux.so.2" #define LIBANL_SO "libanl.so.1" #define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" #define LIBCRYPT_SO "libcrypt.so.1" @@ -20,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/x86-linux-gnu/sys/elf.h b/lib/libc/include/x86-linux-gnu/sys/elf.h index 3731950870454d873c2b72e16be14b6dbf2c0ab9..7bdda09e46a3084af52766bf848b3209b66a5838 100644 --- a/lib/libc/include/x86-linux-gnu/sys/elf.h +++ b/lib/libc/include/x86-linux-gnu/sys/elf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/sys/ptrace.h b/lib/libc/include/x86-linux-gnu/sys/ptrace.h index 461e83ae9c84fe8476edce9df017325981f5873e..d97d5b9ac016c388651993f7f375db21601f3fbc 100644 --- a/lib/libc/include/x86-linux-gnu/sys/ptrace.h +++ b/lib/libc/include/x86-linux-gnu/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/x86 version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -190,8 +190,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/x86-linux-gnu/sys/ucontext.h b/lib/libc/include/x86-linux-gnu/sys/ucontext.h index f961c6aef830a8f4b65333c4d32e344ab0d73bc4..57a6bec561ad9616fa18a3953f47c9bdc0d55a97 100644 --- a/lib/libc/include/x86-linux-gnu/sys/ucontext.h +++ b/lib/libc/include/x86-linux-gnu/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86-linux-gnu/sys/user.h b/lib/libc/include/x86-linux-gnu/sys/user.h index 0f64e565eb618846a993dde7c108a5be4aa545c6..ae0283c23b00fea49bd0603ce5cc2cd23856d59b 100644 --- a/lib/libc/include/x86-linux-gnu/sys/user.h +++ b/lib/libc/include/x86-linux-gnu/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/dl_find_object.h b/lib/libc/include/x86_64-linux-gnu/bits/dl_find_object.h new file mode 100644 index 0000000000000000000000000000000000000000..b276fbc9ba3f09b76fbff3cdff7479264c1aa833 --- /dev/null +++ b/lib/libc/include/x86_64-linux-gnu/bits/dl_find_object.h @@ -0,0 +1,29 @@ +/* x86 definitions for finding objects. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +#ifdef __x86_64__ +# define DLFO_STRUCT_HAS_EH_DBASE 0 +#else +# define DLFO_STRUCT_HAS_EH_DBASE 1 +#endif +#define DLFO_STRUCT_HAS_EH_COUNT 0 +#define DLFO_EH_SEGMENT_TYPE PT_GNU_EH_FRAME \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-gnu/bits/environments.h b/lib/libc/include/x86_64-linux-gnu/bits/environments.h index 72a871ff4de397f64f5f7cf4b5f5e70a6f02c59d..99bf904d42ebde70d1c1be91bd480db227162f06 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/environments.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/epoll.h b/lib/libc/include/x86_64-linux-gnu/bits/epoll.h index 4bda3c54ef2f9331ac170b7e33d85aa1d55004bd..6902c3341a85d7959f7ce445fd664e7d1b69e9f9 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/epoll.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/epoll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/fcntl.h b/lib/libc/include/x86_64-linux-gnu/bits/fcntl.h index de1b65f104f965926417c07a8466d61ed6bd5fc4..94abf25091b66730a25a5980e14f314ca08a129c 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/fcntl.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux/x86. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/fenv.h b/lib/libc/include/x86_64-linux-gnu/bits/fenv.h index dd01ba9442e7648df13d829ffb4c664fe0c30af5..bb5cbf1dab681340321c86ddbe3478f1b9caa9ff 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/fenv.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/floatn.h b/lib/libc/include/x86_64-linux-gnu/bits/floatn.h index 5818af200103f563ab8b3b89776b1fe2dd8de761..827aeeced4f02b45812df033e61f99b70ed6bb38 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/floatn.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on x86. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -58,7 +58,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix f128 exists only since GCC 7.0. */ # define __f128(x) x##q # else @@ -68,7 +68,7 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* Add a typedef for older GCC compilers which don't natively support _Complex _Float128. */ typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); @@ -82,7 +82,7 @@ typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); # if __HAVE_FLOAT128 /* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef __float128 _Float128; # endif diff --git a/lib/libc/include/x86_64-linux-gnu/bits/flt-eval-method.h b/lib/libc/include/x86_64-linux-gnu/bits/flt-eval-method.h index c714d6ed236f37ba47c46b07f0427d7f4fede23d..2f6d1751ba9f9431c95a101deae300dc124f7a00 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/flt-eval-method.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/flt-eval-method.h @@ -1,5 +1,5 @@ /* Define __GLIBC_FLT_EVAL_METHOD. x86 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/fp-logb.h b/lib/libc/include/x86_64-linux-gnu/bits/fp-logb.h index 7c1bfa72bd5add534071850e5c498ad6e8b1db53..ffd96b72829d09ff9ce10c7b431e55c0548c84c9 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/fp-logb.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/fp-logb.h @@ -1,5 +1,5 @@ /* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. x86 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/indirect-return.h b/lib/libc/include/x86_64-linux-gnu/bits/indirect-return.h index 4bf822a84c03e71ba8cb75841166546da1e5af40..911b8c4333e7dea12906df66807387d0307e4d99 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/indirect-return.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/indirect-return.h @@ -1,5 +1,5 @@ /* Definition of __INDIRECT_RETURN. x86 version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/ipctypes.h b/lib/libc/include/x86_64-linux-gnu/bits/ipctypes.h index 9c301e1a3cdd67c3daafe5762ba5f02e77768d3d..7c465087b29391c35287ab6ee6ab05b51d2c1d18 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/ipctypes.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/iscanonical.h b/lib/libc/include/x86_64-linux-gnu/bits/iscanonical.h index 8e6c0d05f5016f5a498a62ab68c72468d0142931..d7e7ae35cb0da9afa8bbfbcce56ca9bdb2d14304 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/iscanonical.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/iscanonical.h @@ -1,5 +1,5 @@ /* Define iscanonical macro. ldbl-96 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/link.h b/lib/libc/include/x86_64-linux-gnu/bits/link.h index 9774e993a3c9e35dfe6698df6815cd2828ae570a..c71bb2fc27929c742d6e28560a53bacd70646c38 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/link.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -38,8 +38,8 @@ typedef struct La_i86_retval uint32_t lrv_edx; long double lrv_st0; long double lrv_st1; - uint64_t lrv_bnd0; - uint64_t lrv_bnd1; + uint64_t __glibc_unused1; + uint64_t __glibc_unused2; } La_i86_retval; @@ -96,7 +96,7 @@ typedef struct La_x86_64_regs La_x86_64_xmm lr_xmm[8]; La_x86_64_vector lr_vector[8]; #ifndef __ILP32__ - __int128_t lr_bnd[4]; + __int128_t __glibc_unused1[4]; #endif } La_x86_64_regs; @@ -112,8 +112,8 @@ typedef struct La_x86_64_retval La_x86_64_vector lrv_vector0; La_x86_64_vector lrv_vector1; #ifndef __ILP32__ - __int128_t lrv_bnd0; - __int128_t lrv_bnd1; + __int128_t __glibc_unused1; + __int128_t __glibc_unused2; #endif } La_x86_64_retval; diff --git a/lib/libc/include/x86_64-linux-gnu/bits/long-double.h b/lib/libc/include/x86_64-linux-gnu/bits/long-double.h index ef3832bc80d643a47f2501845cab95ac4316e201..3839f69a6f6f5c6cf787b6edd6f244e740a3142d 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/long-double.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-96 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/math-vector.h b/lib/libc/include/x86_64-linux-gnu/bits/math-vector.h index 6e94f42ca81228bdf7d5e17ac829538784422e31..a147456599b6526d2d935218fdd19e552a89e755 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/math-vector.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/math-vector.h @@ -1,5 +1,5 @@ /* Platform-specific SIMD declarations of math functions. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -58,6 +58,90 @@ # define __DECL_SIMD_pow __DECL_SIMD_x86_64 # undef __DECL_SIMD_powf # define __DECL_SIMD_powf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acos +# define __DECL_SIMD_acos __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acosf +# define __DECL_SIMD_acosf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan +# define __DECL_SIMD_atan __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanf +# define __DECL_SIMD_atanf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asin +# define __DECL_SIMD_asin __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinf +# define __DECL_SIMD_asinf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_hypot +# define __DECL_SIMD_hypot __DECL_SIMD_x86_64 +# undef __DECL_SIMD_hypotf +# define __DECL_SIMD_hypotf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp2 +# define __DECL_SIMD_exp2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp2f +# define __DECL_SIMD_exp2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp10 +# define __DECL_SIMD_exp10 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp10f +# define __DECL_SIMD_exp10f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cosh +# define __DECL_SIMD_cosh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_coshf +# define __DECL_SIMD_coshf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_expm1 +# define __DECL_SIMD_expm1 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_expm1f +# define __DECL_SIMD_expm1f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_sinh +# define __DECL_SIMD_sinh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_sinhf +# define __DECL_SIMD_sinhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cbrt +# define __DECL_SIMD_cbrt __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cbrtf +# define __DECL_SIMD_cbrtf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan2 +# define __DECL_SIMD_atan2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan2f +# define __DECL_SIMD_atan2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log10 +# define __DECL_SIMD_log10 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log10f +# define __DECL_SIMD_log10f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log2 +# define __DECL_SIMD_log2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log2f +# define __DECL_SIMD_log2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log1p +# define __DECL_SIMD_log1p __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log1pf +# define __DECL_SIMD_log1pf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanh +# define __DECL_SIMD_atanh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanhf +# define __DECL_SIMD_atanhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acosh +# define __DECL_SIMD_acosh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acoshf +# define __DECL_SIMD_acoshf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erf +# define __DECL_SIMD_erf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erff +# define __DECL_SIMD_erff __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanh +# define __DECL_SIMD_tanh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanhf +# define __DECL_SIMD_tanhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinh +# define __DECL_SIMD_asinh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinhf +# define __DECL_SIMD_asinhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erfc +# define __DECL_SIMD_erfc __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erfcf +# define __DECL_SIMD_erfcf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tan +# define __DECL_SIMD_tan __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanf +# define __DECL_SIMD_tanf __DECL_SIMD_x86_64 # endif #endif \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-gnu/bits/mman.h b/lib/libc/include/x86_64-linux-gnu/bits/mman.h index 8c96873c8645fe386f2467e9974b3492891bd97c..0019b3c1b18a477031c30460feb82bdce6f2b127 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/mman.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/x86_64 version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,9 +24,7 @@ But the kernel header is not namespace clean. */ /* Other flags. */ -#ifdef __USE_MISC -# define MAP_32BIT 0x40 /* Only give out 32-bit addresses. */ -#endif +#define MAP_32BIT 0x40 /* Only give out 32-bit addresses. */ #include diff --git a/lib/libc/include/x86_64-linux-gnu/bits/procfs-id.h b/lib/libc/include/x86_64-linux-gnu/bits/procfs-id.h index bada981489a50a58b41189cdf5bdfad7ed071498..a423506956207a6885881d4141d7a0ae5a2444e1 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/procfs-id.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. x86 version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/x86_64-linux-gnu/bits/procfs.h b/lib/libc/include/x86_64-linux-gnu/bits/procfs.h index b670484f2a498dd677f674a0200e1e1c3fdfe939..a661cedc73e2883a028adcc5bf30597e277304e1 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/procfs.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. x86 version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h b/lib/libc/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h index 89b363fb2c690c0e4257ace9972e54af6ae09741..c04483882e87651562aa98bf88ab0a3656489837 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/rseq.h b/lib/libc/include/x86_64-linux-gnu/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..25794bb0348dbc0e61faf0217d908f42c120d3b6 --- /dev/null +++ b/lib/libc/include/x86_64-linux-gnu/bits/rseq.h @@ -0,0 +1,30 @@ +/* Restartable Sequences Linux x86 architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + RSEQ_SIG is used with the following reserved undefined instructions, which + trap in user-space: + + x86-32: 0f b9 3d 53 30 05 53 ud1 0x53053053,%edi + x86-64: 0f b9 3d 53 30 05 53 ud1 0x53053053(%rip),%edi */ + +#define RSEQ_SIG 0x53053053 \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-gnu/bits/setjmp.h b/lib/libc/include/x86_64-linux-gnu/bits/setjmp.h index 9e96a2ff9876995f8c9b65a4a586e17984ebead4..a0ec4d52b398acaec6fd78a42dab4b7c65176146 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/setjmp.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/sigcontext.h b/lib/libc/include/x86_64-linux-gnu/bits/sigcontext.h index 4f03980c986b772d0857e8065cdc360f171819a1..c5c56327d75987942fab84b5048a75bb32f30843 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/sigcontext.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/struct_mutex.h b/lib/libc/include/x86_64-linux-gnu/bits/struct_mutex.h index 89c18f35e00b222cbca0673621fd40bbdf31b69c..1c24f997660d21b2e492483441f853e58f4f91b0 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/struct_mutex.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* x86 internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/struct_rwlock.h b/lib/libc/include/x86_64-linux-gnu/bits/struct_rwlock.h index 022106d66cdb4ff8e0f82bc8aa2eb9e80ea0a466..bda5f4503e6f9d86a530e8a4dccbd1cad337095d 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/struct_rwlock.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* x86 internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/x86_64-linux-gnu/bits/struct_stat.h b/lib/libc/include/x86_64-linux-gnu/bits/struct_stat.h index b3674c73c43565b0ff30101aae4a4baeccb6c838..fb7e9b0079b18c478ed167e264d55cb34ca9fb6a 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/struct_stat.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/timesize.h b/lib/libc/include/x86_64-linux-gnu/bits/timesize.h index a1ca40d632af2e5cda7f954f5736f67cc53d37fb..e93c7b59bea50280e64e0014b34099cb0d0844a2 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/timesize.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/timesize.h @@ -1,5 +1,5 @@ /* Bit size of the time_t type at glibc build time, x86-64 and x32 case. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,6 +16,8 @@ License along with the GNU C Library; if not, see . */ +#include + #if defined __x86_64__ && defined __ILP32__ /* For x32, time is 64-bit even though word size is 32-bit. */ # define __TIMESIZE 64 diff --git a/lib/libc/include/x86_64-linux-gnu/bits/types/struct_semid_ds.h b/lib/libc/include/x86_64-linux-gnu/bits/types/struct_semid_ds.h index 6713836d1eec4e7203af5dc633a480ec0e9d58e8..c3fcba132f30f7e91a67baa9285f3a6baea3fb2c 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/types/struct_semid_ds.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* x86 implementation of the semaphore struct semid_ds. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/bits/typesizes.h b/lib/libc/include/x86_64-linux-gnu/bits/typesizes.h index 654f1c7b873efd6317245ed5dae99e75da8808cf..a80cf92e0d085361d7b8b106d2952c286c2b60af 100644 --- a/lib/libc/include/x86_64-linux-gnu/bits/typesizes.h +++ b/lib/libc/include/x86_64-linux-gnu/bits/typesizes.h @@ -1,5 +1,5 @@ /* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/finclude/math-vector-fortran.h b/lib/libc/include/x86_64-linux-gnu/finclude/math-vector-fortran.h index 5fdbe52a3c2c28d20e0a502018ba95d3dedf0dbb..a6b0e8eedd1bf9b5e9fd4210370a5d1624081451 100644 --- a/lib/libc/include/x86_64-linux-gnu/finclude/math-vector-fortran.h +++ b/lib/libc/include/x86_64-linux-gnu/finclude/math-vector-fortran.h @@ -1,5 +1,5 @@ ! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*- -! Copyright (C) 2019-2021 Free Software Foundation, Inc. +! Copyright (C) 2019-2023 Free Software Foundation, Inc. ! This file is part of the GNU C Library. ! ! The GNU C Library is free software; you can redistribute it and/or @@ -28,6 +28,48 @@ !GCC$ builtin (expf) attributes simd (notinbranch) if('x86_64') !GCC$ builtin (pow) attributes simd (notinbranch) if('x86_64') !GCC$ builtin (powf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acos) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acosf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atan) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atanf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asin) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asinf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (hypot) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp2) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp2f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp10) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp10f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (cosh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (coshf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (expm1) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (expm1f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (sinh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (sinhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (cbrt) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (cbrtf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atan2) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atan2f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log10) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log10f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log2) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log2f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log1p) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log1pf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atanh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atanhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acosh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acoshf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erff) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tanh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tanhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asinh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asinhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erfc) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erfcf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tan) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tanf) attributes simd (notinbranch) if('x86_64') !GCC$ builtin (cos) attributes simd (notinbranch) if('x32') !GCC$ builtin (cosf) attributes simd (notinbranch) if('x32') @@ -40,4 +82,46 @@ !GCC$ builtin (exp) attributes simd (notinbranch) if('x32') !GCC$ builtin (expf) attributes simd (notinbranch) if('x32') !GCC$ builtin (pow) attributes simd (notinbranch) if('x32') -!GCC$ builtin (powf) attributes simd (notinbranch) if('x32') \ No newline at end of file +!GCC$ builtin (powf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acos) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acosf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atan) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atanf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asin) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asinf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (hypot) attributes simd (notinbranch) if('x32') +!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp2) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp2f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp10) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp10f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (cosh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (coshf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (expm1) attributes simd (notinbranch) if('x32') +!GCC$ builtin (expm1f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (sinh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (sinhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (cbrt) attributes simd (notinbranch) if('x32') +!GCC$ builtin (cbrtf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atan2) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atan2f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log10) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log10f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log2) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log2f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log1p) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log1pf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atanh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atanhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acosh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acoshf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erff) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tanh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tanhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asinh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asinhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erfc) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erfcf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tan) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tanf) attributes simd (notinbranch) if('x32') \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-gnu/fpu_control.h b/lib/libc/include/x86_64-linux-gnu/fpu_control.h index 533e2da0d0872f74cf7b3e5f2dff94b6bd0faf8b..c07f6472dc05ff26787aacc00bb7311f000199f5 100644 --- a/lib/libc/include/x86_64-linux-gnu/fpu_control.h +++ b/lib/libc/include/x86_64-linux-gnu/fpu_control.h @@ -1,7 +1,6 @@ /* FPU control word bits. x86 version. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Olaf Flebbe. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/x86_64-linux-gnu/gnu/lib-names-64.h b/lib/libc/include/x86_64-linux-gnu/gnu/lib-names-64.h index 5c25d27fe61a883ba53aecfeaab57611d04da20e..df597abd10dc74f3884a76830454ed0c5e57ea1a 100644 --- a/lib/libc/include/x86_64-linux-gnu/gnu/lib-names-64.h +++ b/lib/libc/include/x86_64-linux-gnu/gnu/lib-names-64.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/x86_64-linux-gnu/sys/elf.h b/lib/libc/include/x86_64-linux-gnu/sys/elf.h index 3731950870454d873c2b72e16be14b6dbf2c0ab9..7bdda09e46a3084af52766bf848b3209b66a5838 100644 --- a/lib/libc/include/x86_64-linux-gnu/sys/elf.h +++ b/lib/libc/include/x86_64-linux-gnu/sys/elf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/sys/ptrace.h b/lib/libc/include/x86_64-linux-gnu/sys/ptrace.h index 461e83ae9c84fe8476edce9df017325981f5873e..d97d5b9ac016c388651993f7f375db21601f3fbc 100644 --- a/lib/libc/include/x86_64-linux-gnu/sys/ptrace.h +++ b/lib/libc/include/x86_64-linux-gnu/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/x86 version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -190,8 +190,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/x86_64-linux-gnu/sys/ucontext.h b/lib/libc/include/x86_64-linux-gnu/sys/ucontext.h index f961c6aef830a8f4b65333c4d32e344ab0d73bc4..57a6bec561ad9616fa18a3953f47c9bdc0d55a97 100644 --- a/lib/libc/include/x86_64-linux-gnu/sys/ucontext.h +++ b/lib/libc/include/x86_64-linux-gnu/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnu/sys/user.h b/lib/libc/include/x86_64-linux-gnu/sys/user.h index 0f64e565eb618846a993dde7c108a5be4aa545c6..ae0283c23b00fea49bd0603ce5cc2cd23856d59b 100644 --- a/lib/libc/include/x86_64-linux-gnu/sys/user.h +++ b/lib/libc/include/x86_64-linux-gnu/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/dl_find_object.h b/lib/libc/include/x86_64-linux-gnux32/bits/dl_find_object.h new file mode 100644 index 0000000000000000000000000000000000000000..b276fbc9ba3f09b76fbff3cdff7479264c1aa833 --- /dev/null +++ b/lib/libc/include/x86_64-linux-gnux32/bits/dl_find_object.h @@ -0,0 +1,29 @@ +/* x86 definitions for finding objects. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +#ifdef __x86_64__ +# define DLFO_STRUCT_HAS_EH_DBASE 0 +#else +# define DLFO_STRUCT_HAS_EH_DBASE 1 +#endif +#define DLFO_STRUCT_HAS_EH_COUNT 0 +#define DLFO_EH_SEGMENT_TYPE PT_GNU_EH_FRAME \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/environments.h b/lib/libc/include/x86_64-linux-gnux32/bits/environments.h index 72a871ff4de397f64f5f7cf4b5f5e70a6f02c59d..99bf904d42ebde70d1c1be91bd480db227162f06 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/environments.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/environments.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999-2021 Free Software Foundation, Inc. +/* Copyright (C) 1999-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/epoll.h b/lib/libc/include/x86_64-linux-gnux32/bits/epoll.h index 4bda3c54ef2f9331ac170b7e33d85aa1d55004bd..6902c3341a85d7959f7ce445fd664e7d1b69e9f9 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/epoll.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/epoll.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/fcntl.h b/lib/libc/include/x86_64-linux-gnux32/bits/fcntl.h index de1b65f104f965926417c07a8466d61ed6bd5fc4..94abf25091b66730a25a5980e14f314ca08a129c 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/fcntl.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux/x86. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/fenv.h b/lib/libc/include/x86_64-linux-gnux32/bits/fenv.h index dd01ba9442e7648df13d829ffb4c664fe0c30af5..bb5cbf1dab681340321c86ddbe3478f1b9caa9ff 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/fenv.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/fenv.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2021 Free Software Foundation, Inc. +/* Copyright (C) 1997-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/floatn.h b/lib/libc/include/x86_64-linux-gnux32/bits/floatn.h index 5818af200103f563ab8b3b89776b1fe2dd8de761..827aeeced4f02b45812df033e61f99b70ed6bb38 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/floatn.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/floatn.h @@ -1,5 +1,5 @@ /* Macros to control TS 18661-3 glibc features on x86. - Copyright (C) 2017-2021 Free Software Foundation, Inc. + Copyright (C) 2017-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -58,7 +58,7 @@ /* Defined to concatenate the literal suffix to be used with _Float128 types, if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* The literal suffix f128 exists only since GCC 7.0. */ # define __f128(x) x##q # else @@ -68,7 +68,7 @@ /* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ # if __HAVE_FLOAT128 -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) /* Add a typedef for older GCC compilers which don't natively support _Complex _Float128. */ typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); @@ -82,7 +82,7 @@ typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); # if __HAVE_FLOAT128 /* The type _Float128 exists only since GCC 7.0. */ -# if !__GNUC_PREREQ (7, 0) || defined __cplusplus +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) typedef __float128 _Float128; # endif diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/flt-eval-method.h b/lib/libc/include/x86_64-linux-gnux32/bits/flt-eval-method.h index c714d6ed236f37ba47c46b07f0427d7f4fede23d..2f6d1751ba9f9431c95a101deae300dc124f7a00 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/flt-eval-method.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/flt-eval-method.h @@ -1,5 +1,5 @@ /* Define __GLIBC_FLT_EVAL_METHOD. x86 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/fp-logb.h b/lib/libc/include/x86_64-linux-gnux32/bits/fp-logb.h index 7c1bfa72bd5add534071850e5c498ad6e8b1db53..ffd96b72829d09ff9ce10c7b431e55c0548c84c9 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/fp-logb.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/fp-logb.h @@ -1,5 +1,5 @@ /* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. x86 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/indirect-return.h b/lib/libc/include/x86_64-linux-gnux32/bits/indirect-return.h index 4bf822a84c03e71ba8cb75841166546da1e5af40..911b8c4333e7dea12906df66807387d0307e4d99 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/indirect-return.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/indirect-return.h @@ -1,5 +1,5 @@ /* Definition of __INDIRECT_RETURN. x86 version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/ipctypes.h b/lib/libc/include/x86_64-linux-gnux32/bits/ipctypes.h index 9c301e1a3cdd67c3daafe5762ba5f02e77768d3d..7c465087b29391c35287ab6ee6ab05b51d2c1d18 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/ipctypes.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/ipctypes.h @@ -1,5 +1,5 @@ /* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/iscanonical.h b/lib/libc/include/x86_64-linux-gnux32/bits/iscanonical.h index 8e6c0d05f5016f5a498a62ab68c72468d0142931..d7e7ae35cb0da9afa8bbfbcce56ca9bdb2d14304 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/iscanonical.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/iscanonical.h @@ -1,5 +1,5 @@ /* Define iscanonical macro. ldbl-96 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/link.h b/lib/libc/include/x86_64-linux-gnux32/bits/link.h index 9774e993a3c9e35dfe6698df6815cd2828ae570a..c71bb2fc27929c742d6e28560a53bacd70646c38 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/link.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/link.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2021 Free Software Foundation, Inc. +/* Copyright (C) 2004-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -38,8 +38,8 @@ typedef struct La_i86_retval uint32_t lrv_edx; long double lrv_st0; long double lrv_st1; - uint64_t lrv_bnd0; - uint64_t lrv_bnd1; + uint64_t __glibc_unused1; + uint64_t __glibc_unused2; } La_i86_retval; @@ -96,7 +96,7 @@ typedef struct La_x86_64_regs La_x86_64_xmm lr_xmm[8]; La_x86_64_vector lr_vector[8]; #ifndef __ILP32__ - __int128_t lr_bnd[4]; + __int128_t __glibc_unused1[4]; #endif } La_x86_64_regs; @@ -112,8 +112,8 @@ typedef struct La_x86_64_retval La_x86_64_vector lrv_vector0; La_x86_64_vector lrv_vector1; #ifndef __ILP32__ - __int128_t lrv_bnd0; - __int128_t lrv_bnd1; + __int128_t __glibc_unused1; + __int128_t __glibc_unused2; #endif } La_x86_64_retval; diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/long-double.h b/lib/libc/include/x86_64-linux-gnux32/bits/long-double.h index ef3832bc80d643a47f2501845cab95ac4316e201..3839f69a6f6f5c6cf787b6edd6f244e740a3142d 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/long-double.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/long-double.h @@ -1,5 +1,5 @@ /* Properties of long double type. ldbl-96 version. - Copyright (C) 2016-2021 Free Software Foundation, Inc. + Copyright (C) 2016-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/math-vector.h b/lib/libc/include/x86_64-linux-gnux32/bits/math-vector.h index 6e94f42ca81228bdf7d5e17ac829538784422e31..a147456599b6526d2d935218fdd19e552a89e755 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/math-vector.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/math-vector.h @@ -1,5 +1,5 @@ /* Platform-specific SIMD declarations of math functions. - Copyright (C) 2014-2021 Free Software Foundation, Inc. + Copyright (C) 2014-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -58,6 +58,90 @@ # define __DECL_SIMD_pow __DECL_SIMD_x86_64 # undef __DECL_SIMD_powf # define __DECL_SIMD_powf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acos +# define __DECL_SIMD_acos __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acosf +# define __DECL_SIMD_acosf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan +# define __DECL_SIMD_atan __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanf +# define __DECL_SIMD_atanf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asin +# define __DECL_SIMD_asin __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinf +# define __DECL_SIMD_asinf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_hypot +# define __DECL_SIMD_hypot __DECL_SIMD_x86_64 +# undef __DECL_SIMD_hypotf +# define __DECL_SIMD_hypotf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp2 +# define __DECL_SIMD_exp2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp2f +# define __DECL_SIMD_exp2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp10 +# define __DECL_SIMD_exp10 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_exp10f +# define __DECL_SIMD_exp10f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cosh +# define __DECL_SIMD_cosh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_coshf +# define __DECL_SIMD_coshf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_expm1 +# define __DECL_SIMD_expm1 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_expm1f +# define __DECL_SIMD_expm1f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_sinh +# define __DECL_SIMD_sinh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_sinhf +# define __DECL_SIMD_sinhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cbrt +# define __DECL_SIMD_cbrt __DECL_SIMD_x86_64 +# undef __DECL_SIMD_cbrtf +# define __DECL_SIMD_cbrtf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan2 +# define __DECL_SIMD_atan2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atan2f +# define __DECL_SIMD_atan2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log10 +# define __DECL_SIMD_log10 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log10f +# define __DECL_SIMD_log10f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log2 +# define __DECL_SIMD_log2 __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log2f +# define __DECL_SIMD_log2f __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log1p +# define __DECL_SIMD_log1p __DECL_SIMD_x86_64 +# undef __DECL_SIMD_log1pf +# define __DECL_SIMD_log1pf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanh +# define __DECL_SIMD_atanh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_atanhf +# define __DECL_SIMD_atanhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acosh +# define __DECL_SIMD_acosh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_acoshf +# define __DECL_SIMD_acoshf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erf +# define __DECL_SIMD_erf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erff +# define __DECL_SIMD_erff __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanh +# define __DECL_SIMD_tanh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanhf +# define __DECL_SIMD_tanhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinh +# define __DECL_SIMD_asinh __DECL_SIMD_x86_64 +# undef __DECL_SIMD_asinhf +# define __DECL_SIMD_asinhf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erfc +# define __DECL_SIMD_erfc __DECL_SIMD_x86_64 +# undef __DECL_SIMD_erfcf +# define __DECL_SIMD_erfcf __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tan +# define __DECL_SIMD_tan __DECL_SIMD_x86_64 +# undef __DECL_SIMD_tanf +# define __DECL_SIMD_tanf __DECL_SIMD_x86_64 # endif #endif \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/mman.h b/lib/libc/include/x86_64-linux-gnux32/bits/mman.h index 8c96873c8645fe386f2467e9974b3492891bd97c..0019b3c1b18a477031c30460feb82bdce6f2b127 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/mman.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/x86_64 version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -24,9 +24,7 @@ But the kernel header is not namespace clean. */ /* Other flags. */ -#ifdef __USE_MISC -# define MAP_32BIT 0x40 /* Only give out 32-bit addresses. */ -#endif +#define MAP_32BIT 0x40 /* Only give out 32-bit addresses. */ #include diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/procfs-id.h b/lib/libc/include/x86_64-linux-gnux32/bits/procfs-id.h index bada981489a50a58b41189cdf5bdfad7ed071498..a423506956207a6885881d4141d7a0ae5a2444e1 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/procfs-id.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/procfs-id.h @@ -1,5 +1,5 @@ /* Types of pr_uid and pr_gid in struct elf_prpsinfo. x86 version. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/procfs.h b/lib/libc/include/x86_64-linux-gnux32/bits/procfs.h index b670484f2a498dd677f674a0200e1e1c3fdfe939..a661cedc73e2883a028adcc5bf30597e277304e1 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/procfs.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/procfs.h @@ -1,5 +1,5 @@ /* Types for registers for sys/procfs.h. x86 version. - Copyright (C) 2001-2021 Free Software Foundation, Inc. + Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/pthreadtypes-arch.h b/lib/libc/include/x86_64-linux-gnux32/bits/pthreadtypes-arch.h index 89b363fb2c690c0e4257ace9972e54af6ae09741..c04483882e87651562aa98bf88ab0a3656489837 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/pthreadtypes-arch.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/pthreadtypes-arch.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/rseq.h b/lib/libc/include/x86_64-linux-gnux32/bits/rseq.h new file mode 100644 index 0000000000000000000000000000000000000000..25794bb0348dbc0e61faf0217d908f42c120d3b6 --- /dev/null +++ b/lib/libc/include/x86_64-linux-gnux32/bits/rseq.h @@ -0,0 +1,30 @@ +/* Restartable Sequences Linux x86 architecture header. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + RSEQ_SIG is used with the following reserved undefined instructions, which + trap in user-space: + + x86-32: 0f b9 3d 53 30 05 53 ud1 0x53053053,%edi + x86-64: 0f b9 3d 53 30 05 53 ud1 0x53053053(%rip),%edi */ + +#define RSEQ_SIG 0x53053053 \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/setjmp.h b/lib/libc/include/x86_64-linux-gnux32/bits/setjmp.h index 9e96a2ff9876995f8c9b65a4a586e17984ebead4..a0ec4d52b398acaec6fd78a42dab4b7c65176146 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/setjmp.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/sigcontext.h b/lib/libc/include/x86_64-linux-gnux32/bits/sigcontext.h index 4f03980c986b772d0857e8065cdc360f171819a1..c5c56327d75987942fab84b5048a75bb32f30843 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/sigcontext.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/sigcontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. +/* Copyright (C) 2002-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/struct_mutex.h b/lib/libc/include/x86_64-linux-gnux32/bits/struct_mutex.h index 89c18f35e00b222cbca0673621fd40bbdf31b69c..1c24f997660d21b2e492483441f853e58f4f91b0 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/struct_mutex.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/struct_mutex.h @@ -1,5 +1,5 @@ /* x86 internal mutex struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/struct_rwlock.h b/lib/libc/include/x86_64-linux-gnux32/bits/struct_rwlock.h index 022106d66cdb4ff8e0f82bc8aa2eb9e80ea0a466..bda5f4503e6f9d86a530e8a4dccbd1cad337095d 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/struct_rwlock.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/struct_rwlock.h @@ -1,5 +1,5 @@ /* x86 internal rwlock struct definitions. - Copyright (C) 2019-2021 Free Software Foundation, Inc. + Copyright (C) 2019-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/struct_stat.h b/lib/libc/include/x86_64-linux-gnux32/bits/struct_stat.h index b3674c73c43565b0ff30101aae4a4baeccb6c838..fb7e9b0079b18c478ed167e264d55cb34ca9fb6a 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/struct_stat.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/struct_stat.h @@ -1,5 +1,5 @@ /* Definition for struct stat. - Copyright (C) 2020-2021 Free Software Foundation, Inc. + Copyright (C) 2020-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/timesize.h b/lib/libc/include/x86_64-linux-gnux32/bits/timesize.h index a1ca40d632af2e5cda7f954f5736f67cc53d37fb..e93c7b59bea50280e64e0014b34099cb0d0844a2 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/timesize.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/timesize.h @@ -1,5 +1,5 @@ /* Bit size of the time_t type at glibc build time, x86-64 and x32 case. - Copyright (C) 2018-2021 Free Software Foundation, Inc. + Copyright (C) 2018-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,6 +16,8 @@ License along with the GNU C Library; if not, see . */ +#include + #if defined __x86_64__ && defined __ILP32__ /* For x32, time is 64-bit even though word size is 32-bit. */ # define __TIMESIZE 64 diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/types/struct_semid_ds.h b/lib/libc/include/x86_64-linux-gnux32/bits/types/struct_semid_ds.h index 6713836d1eec4e7203af5dc633a480ec0e9d58e8..c3fcba132f30f7e91a67baa9285f3a6baea3fb2c 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/types/struct_semid_ds.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/types/struct_semid_ds.h @@ -1,5 +1,5 @@ /* x86 implementation of the semaphore struct semid_ds. - Copyright (C) 1995-2021 Free Software Foundation, Inc. + Copyright (C) 1995-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/bits/typesizes.h b/lib/libc/include/x86_64-linux-gnux32/bits/typesizes.h index 654f1c7b873efd6317245ed5dae99e75da8808cf..a80cf92e0d085361d7b8b106d2952c286c2b60af 100644 --- a/lib/libc/include/x86_64-linux-gnux32/bits/typesizes.h +++ b/lib/libc/include/x86_64-linux-gnux32/bits/typesizes.h @@ -1,5 +1,5 @@ /* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version. - Copyright (C) 2012-2021 Free Software Foundation, Inc. + Copyright (C) 2012-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/finclude/math-vector-fortran.h b/lib/libc/include/x86_64-linux-gnux32/finclude/math-vector-fortran.h index 5fdbe52a3c2c28d20e0a502018ba95d3dedf0dbb..a6b0e8eedd1bf9b5e9fd4210370a5d1624081451 100644 --- a/lib/libc/include/x86_64-linux-gnux32/finclude/math-vector-fortran.h +++ b/lib/libc/include/x86_64-linux-gnux32/finclude/math-vector-fortran.h @@ -1,5 +1,5 @@ ! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*- -! Copyright (C) 2019-2021 Free Software Foundation, Inc. +! Copyright (C) 2019-2023 Free Software Foundation, Inc. ! This file is part of the GNU C Library. ! ! The GNU C Library is free software; you can redistribute it and/or @@ -28,6 +28,48 @@ !GCC$ builtin (expf) attributes simd (notinbranch) if('x86_64') !GCC$ builtin (pow) attributes simd (notinbranch) if('x86_64') !GCC$ builtin (powf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acos) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acosf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atan) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atanf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asin) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asinf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (hypot) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp2) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp2f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp10) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (exp10f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (cosh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (coshf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (expm1) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (expm1f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (sinh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (sinhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (cbrt) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (cbrtf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atan2) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atan2f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log10) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log10f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log2) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log2f) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log1p) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (log1pf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atanh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (atanhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acosh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (acoshf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erff) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tanh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tanhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asinh) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (asinhf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erfc) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (erfcf) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tan) attributes simd (notinbranch) if('x86_64') +!GCC$ builtin (tanf) attributes simd (notinbranch) if('x86_64') !GCC$ builtin (cos) attributes simd (notinbranch) if('x32') !GCC$ builtin (cosf) attributes simd (notinbranch) if('x32') @@ -40,4 +82,46 @@ !GCC$ builtin (exp) attributes simd (notinbranch) if('x32') !GCC$ builtin (expf) attributes simd (notinbranch) if('x32') !GCC$ builtin (pow) attributes simd (notinbranch) if('x32') -!GCC$ builtin (powf) attributes simd (notinbranch) if('x32') \ No newline at end of file +!GCC$ builtin (powf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acos) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acosf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atan) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atanf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asin) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asinf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (hypot) attributes simd (notinbranch) if('x32') +!GCC$ builtin (hypotf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp2) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp2f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp10) attributes simd (notinbranch) if('x32') +!GCC$ builtin (exp10f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (cosh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (coshf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (expm1) attributes simd (notinbranch) if('x32') +!GCC$ builtin (expm1f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (sinh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (sinhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (cbrt) attributes simd (notinbranch) if('x32') +!GCC$ builtin (cbrtf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atan2) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atan2f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log10) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log10f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log2) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log2f) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log1p) attributes simd (notinbranch) if('x32') +!GCC$ builtin (log1pf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atanh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (atanhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acosh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (acoshf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erff) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tanh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tanhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asinh) attributes simd (notinbranch) if('x32') +!GCC$ builtin (asinhf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erfc) attributes simd (notinbranch) if('x32') +!GCC$ builtin (erfcf) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tan) attributes simd (notinbranch) if('x32') +!GCC$ builtin (tanf) attributes simd (notinbranch) if('x32') \ No newline at end of file diff --git a/lib/libc/include/x86_64-linux-gnux32/fpu_control.h b/lib/libc/include/x86_64-linux-gnux32/fpu_control.h index 533e2da0d0872f74cf7b3e5f2dff94b6bd0faf8b..c07f6472dc05ff26787aacc00bb7311f000199f5 100644 --- a/lib/libc/include/x86_64-linux-gnux32/fpu_control.h +++ b/lib/libc/include/x86_64-linux-gnux32/fpu_control.h @@ -1,7 +1,6 @@ /* FPU control word bits. x86 version. - Copyright (C) 1993-2021 Free Software Foundation, Inc. + Copyright (C) 1993-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Olaf Flebbe. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/lib/libc/include/x86_64-linux-gnux32/gnu/lib-names-x32.h b/lib/libc/include/x86_64-linux-gnux32/gnu/lib-names-x32.h index 95b469a00cb199891b255b5f4a433f600839a62f..d2291842571d2cfe94fc0797bd824a6d65f5b338 100644 --- a/lib/libc/include/x86_64-linux-gnux32/gnu/lib-names-x32.h +++ b/lib/libc/include/x86_64-linux-gnux32/gnu/lib-names-x32.h @@ -21,8 +21,6 @@ #define LIBNSS_FILES_SO "libnss_files.so.2" #define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" #define LIBNSS_LDAP_SO "libnss_ldap.so.2" -#define LIBNSS_TEST1_SO "libnss_test1.so.2" -#define LIBNSS_TEST2_SO "libnss_test2.so.2" #define LIBPTHREAD_SO "libpthread.so.0" #define LIBRESOLV_SO "libresolv.so.2" #define LIBRT_SO "librt.so.1" diff --git a/lib/libc/include/x86_64-linux-gnux32/sys/elf.h b/lib/libc/include/x86_64-linux-gnux32/sys/elf.h index 3731950870454d873c2b72e16be14b6dbf2c0ab9..7bdda09e46a3084af52766bf848b3209b66a5838 100644 --- a/lib/libc/include/x86_64-linux-gnux32/sys/elf.h +++ b/lib/libc/include/x86_64-linux-gnux32/sys/elf.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2021 Free Software Foundation, Inc. +/* Copyright (C) 1998-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/sys/ptrace.h b/lib/libc/include/x86_64-linux-gnux32/sys/ptrace.h index 461e83ae9c84fe8476edce9df017325981f5873e..d97d5b9ac016c388651993f7f375db21601f3fbc 100644 --- a/lib/libc/include/x86_64-linux-gnux32/sys/ptrace.h +++ b/lib/libc/include/x86_64-linux-gnux32/sys/ptrace.h @@ -1,5 +1,5 @@ /* `ptrace' debugger support interface. Linux/x86 version. - Copyright (C) 1996-2021 Free Software Foundation, Inc. + Copyright (C) 1996-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -190,8 +190,12 @@ enum __ptrace_request #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA /* Get information about system call. */ - PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_GET_SYSCALL_INFO = 0x420e, #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION }; diff --git a/lib/libc/include/x86_64-linux-gnux32/sys/ucontext.h b/lib/libc/include/x86_64-linux-gnux32/sys/ucontext.h index f961c6aef830a8f4b65333c4d32e344ab0d73bc4..57a6bec561ad9616fa18a3953f47c9bdc0d55a97 100644 --- a/lib/libc/include/x86_64-linux-gnux32/sys/ucontext.h +++ b/lib/libc/include/x86_64-linux-gnux32/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or diff --git a/lib/libc/include/x86_64-linux-gnux32/sys/user.h b/lib/libc/include/x86_64-linux-gnux32/sys/user.h index 0f64e565eb618846a993dde7c108a5be4aa545c6..ae0283c23b00fea49bd0603ce5cc2cd23856d59b 100644 --- a/lib/libc/include/x86_64-linux-gnux32/sys/user.h +++ b/lib/libc/include/x86_64-linux-gnux32/sys/user.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Free Software Foundation, Inc. +/* Copyright (C) 2001-2023 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or -- 2.54.0 From 4bfa18b07f5fe139688cdf07fb0e2b4f73c3f42e Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Thu, 12 Oct 2023 21:19:43 -0700 Subject: [PATCH 07/15] glibc patch: don't hardcode __GLIBC_MINOR__ Instead Zig passes it based on the target. --- lib/libc/include/generic-glibc/features.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libc/include/generic-glibc/features.h b/lib/libc/include/generic-glibc/features.h index a86e84edc4c4872dbb73cacf33dbbdf9f3365624..551dd10baef9229acab0754f90f023673376bb7a 100644 --- a/lib/libc/include/generic-glibc/features.h +++ b/lib/libc/include/generic-glibc/features.h @@ -492,7 +492,7 @@ /* Major and minor version number of the GNU C library package. Use these macros to test for features in specific releases. */ #define __GLIBC__ 2 -#define __GLIBC_MINOR__ 38 +/* Zig patch: we pass `-D__GLIBC_MINOR__=XX` depending on the target. */ #define __GLIBC_PREREQ(maj, min) \ ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min)) @@ -527,4 +527,4 @@ #include -#endif /* features.h */ \ No newline at end of file +#endif /* features.h */ -- 2.54.0 From f9c9ae84c6c0773ab8dc710cae3ce9024ca1e91c Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Fri, 28 Jan 2022 18:31:23 -0700 Subject: [PATCH 08/15] glibc patch: version-gate _DYNAMIC_STACK_SIZE_SOURCE This is a patch to glibc features.h which makes _DYNAMIC_STACK_SIZE_SOURCE undefined unless the version is >= 2.34. This feature was introduced with glibc 2.34 and without this patch, code built against these headers but then run on an older glibc will end up making a call to sysconf() that returns -1 for the value of SIGSTKSZ and MINSIGSTKSZ. --- lib/libc/include/generic-glibc/features.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/libc/include/generic-glibc/features.h b/lib/libc/include/generic-glibc/features.h index 551dd10baef9229acab0754f90f023673376bb7a..4ce2687602b06ab1be201850242c9319bcfa4ff8 100644 --- a/lib/libc/include/generic-glibc/features.h +++ b/lib/libc/include/generic-glibc/features.h @@ -222,8 +222,12 @@ # define _DEFAULT_SOURCE 1 # undef _ATFILE_SOURCE # define _ATFILE_SOURCE 1 + +# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 34) || __GLIBC__ > 2 # undef _DYNAMIC_STACK_SIZE_SOURCE # define _DYNAMIC_STACK_SIZE_SOURCE 1 +# endif + #endif /* If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined, -- 2.54.0 From b40943e253c079ec3de1b149dd2ef0ccc3da38a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Motiejus=20Jak=C5=A1tys?= Date: Tue, 28 Mar 2023 20:30:06 +0300 Subject: [PATCH 09/15] glibc patch: add backwards compatibility for some symbols - `fcntl` was renamed to `fcntl64` in glibc 2.28 (see #9485) - `res_{,n}{search,query,querydomain}` became "their own" symbols since glibc 2.34: they were prefixed with `__` before. This PR makes it possible to use `fcntl` with glibc 2.27 or older and the `res_*` functions with glibc 2.33 or older. These patches will become redundant with universal-headers and can be dropped. But we have to do with what we have now. --- lib/libc/glibc/io/fcntl.h | 7 +++++++ lib/libc/include/generic-glibc/fcntl.h | 8 ++++++++ lib/libc/include/generic-glibc/resolv.h | 22 ++++++++++++++++++++++ 3 files changed, 37 insertions(+) diff --git a/lib/libc/glibc/io/fcntl.h b/lib/libc/glibc/io/fcntl.h index dd620c086f4eb4703ef08a5941fab18fb525fa11..570eaf27bdf15fc9e5de4ae0636af034d0c0b528 100644 --- a/lib/libc/glibc/io/fcntl.h +++ b/lib/libc/glibc/io/fcntl.h @@ -167,6 +167,10 @@ typedef __pid_t pid_t; effective IDs, not real IDs. */ #endif + +/* fcntl was a simple symbol until glibc 2.27 inclusive. glibc 2.28 onwards + * re-defines it to fcntl64 (via #define) if _FILE_OFFSET_BITS == 64. */ +#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 28) || __GLIBC__ > 2 /* Do the file control operation described by CMD on FD. The remaining arguments are interpreted depending on CMD. @@ -197,6 +201,9 @@ extern int __fcntl_time64 (int __fd, int __request, ...) __THROW; # define fcntl __fcntl_time64 # endif #endif +#else /* glibc 2.27 or lower */ +extern int fcntl (int __fd, int __cmd, ...); +#endif /* Open FILE and return a new file descriptor for it, or -1 on error. OFLAG determines the type of access used. If O_CREAT or O_TMPFILE is set diff --git a/lib/libc/include/generic-glibc/fcntl.h b/lib/libc/include/generic-glibc/fcntl.h index ebe306343e74c9c17a98c9e1088882c2dac85318..778cb8b031d13466af20a4a99717afd41e08f21c 100644 --- a/lib/libc/include/generic-glibc/fcntl.h +++ b/lib/libc/include/generic-glibc/fcntl.h @@ -167,6 +167,11 @@ typedef __pid_t pid_t; effective IDs, not real IDs. */ #endif + +/* fcntl was a simple symbol until glibc 2.27 inclusive. + * glibc 2.28 onwards converted it to a macro when compiled with + * USE_LARGEFILE64. */ +#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 28) || __GLIBC__ > 2 /* Do the file control operation described by CMD on FD. The remaining arguments are interpreted depending on CMD. @@ -197,6 +202,9 @@ extern int __fcntl_time64 (int __fd, int __request, ...) __THROW; # define fcntl __fcntl_time64 # endif #endif +#else /* glibc 2.27 or lower */ +extern int fcntl (int __fd, int __cmd, ...); +#endif /* Open FILE and return a new file descriptor for it, or -1 on error. OFLAG determines the type of access used. If O_CREAT or O_TMPFILE is set diff --git a/lib/libc/include/generic-glibc/resolv.h b/lib/libc/include/generic-glibc/resolv.h index f25d325a10e27c1ab9405a17d0504808ddc77fdb..b00cdc0d947de31c7a12fb173e954da04a694261 100644 --- a/lib/libc/include/generic-glibc/resolv.h +++ b/lib/libc/include/generic-glibc/resolv.h @@ -170,6 +170,28 @@ __END_DECLS #define res_init __res_init #define res_isourserver __res_isourserver +/* In glibc 2.33 and earlier res_search, res_nsearch, res_query, res_nquery, + * res_querydomain, res_nquerydomain were #define'd to __res_search, + * __res_nsearch, etc. glibc 2.34 onwards removes the macros and exposes the + * symbols directly. New glibc exposes compat symbols with underscores for + * backwards compatibility. Applications linked to glibc 2.34+ are expected + * to use the non-underscored symbols. + * + * It will be enough to bring the macros back when compiling against the older + * glibc versions. + * + * See glibc commit ea9878ec271c791880fcbbe519d70c42f8113750. + */ +#if (__GLIBC__ == 2 && __GLIBC_MINOR__ < 34) +#define res_search __res_search +#define res_nsearch __res_nsearch +#define res_query __res_query +#define res_nquery __res_nquery +#define res_querydomain __res_querydomain +#define res_nquerydomain __res_nquerydomain +#endif +/* end glibc compat hacks */ + #ifdef _LIBC # define __RESOLV_DEPRECATED # define __RESOLV_DEPRECATED_MSG(msg) -- 2.54.0 From b7e5a31d79098d38ab111ca318e52698f154d5d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Motiejus=20Jak=C5=A1tys?= Date: Thu, 4 May 2023 10:36:05 +0300 Subject: [PATCH 10/15] glibc patch: add a few dn_* functions This is necessary to build glib. --- lib/libc/include/generic-glibc/resolv.h | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/lib/libc/include/generic-glibc/resolv.h b/lib/libc/include/generic-glibc/resolv.h index b00cdc0d947de31c7a12fb173e954da04a694261..1969fb7f326eb9815450a1d8c9d5d7e4e9339f86 100644 --- a/lib/libc/include/generic-glibc/resolv.h +++ b/lib/libc/include/generic-glibc/resolv.h @@ -171,16 +171,20 @@ __END_DECLS #define res_isourserver __res_isourserver /* In glibc 2.33 and earlier res_search, res_nsearch, res_query, res_nquery, - * res_querydomain, res_nquerydomain were #define'd to __res_search, - * __res_nsearch, etc. glibc 2.34 onwards removes the macros and exposes the - * symbols directly. New glibc exposes compat symbols with underscores for - * backwards compatibility. Applications linked to glibc 2.34+ are expected - * to use the non-underscored symbols. + * res_querydomain, res_nquerydomain, dn_skipname, dn_comp, dn_expand were + * #define'd to __res_search, __res_nsearch, etc. glibc 2.34 onwards removes + * the macros and exposes the symbols directly. New glibc exposes compat + * symbols with underscores for backwards compatibility. Applications linked to + * glibc 2.34+ are expected to use the non-underscored symbols. * - * It will be enough to bring the macros back when compiling against the older - * glibc versions. + * It is enough to bring the macros back when compiling against the older glibc + * versions. * - * See glibc commit ea9878ec271c791880fcbbe519d70c42f8113750. + * See glibc commits: + * - ea9878ec271c791880fcbbe519d70c42f8113750 res_* + * - 391e02236b931132c0e8b5ba4c3b087c2aaa1044 dn_skipname + * - fd8a87c0c1932de591e7ad108ff6288a4b6b18c9 dn_comp + * - 640bbdf71c6f10ac26252ac67a22902e26657bd8 dn_expand */ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ < 34) #define res_search __res_search @@ -189,6 +193,9 @@ __END_DECLS #define res_nquery __res_nquery #define res_querydomain __res_querydomain #define res_nquerydomain __res_nquerydomain +#define dn_skipname __dn_skipname +#define dn_comp __dn_comp +#define dn_expand __dn_expand #endif /* end glibc compat hacks */ @@ -328,4 +335,4 @@ void res_nclose (res_state) __THROW; __END_DECLS -#endif /* !_RESOLV_H_ */ \ No newline at end of file +#endif /* !_RESOLV_H_ */ -- 2.54.0 From 89aa63bec7102189a7449afaabff55f032eb3258 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Fri, 13 Oct 2023 18:01:50 -0700 Subject: [PATCH 11/15] glibc patch: inline x86-lp_size.h I could have just included the file from upstream glibc, but it was too silly so I just inlined it. This patch could be dropped in a future glibc update if desired. If omitted it will cause easily solvable C compilation failures building glibc nonshared. --- lib/libc/glibc/sysdeps/x86_64/sysdep.h | 6 +++++- lib/libc/glibc/sysdeps/x86_64/x32/sysdep.h | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/libc/glibc/sysdeps/x86_64/sysdep.h b/lib/libc/glibc/sysdeps/x86_64/sysdep.h index 6ca169573d9a17c5955b90109367f5f0580a8ae0..b1bb6cac9de2a91c462cb34fe0eb8d8c8d8f5337 100644 --- a/lib/libc/glibc/sysdeps/x86_64/sysdep.h +++ b/lib/libc/glibc/sysdeps/x86_64/sysdep.h @@ -20,7 +20,11 @@ #define _X86_64_SYSDEP_H 1 #include -#include +#ifdef __ASSEMBLER__ +# define LP_SIZE 8 +#else +# define LP_SIZE "8" +#endif #ifdef __ASSEMBLER__ diff --git a/lib/libc/glibc/sysdeps/x86_64/x32/sysdep.h b/lib/libc/glibc/sysdeps/x86_64/x32/sysdep.h index 8b7ef01f916dc9c85b05b5bee3616d1df93e0aa5..aafe54e663d682907db08cd35fbfe3f4cc904bdd 100644 --- a/lib/libc/glibc/sysdeps/x86_64/x32/sysdep.h +++ b/lib/libc/glibc/sysdeps/x86_64/x32/sysdep.h @@ -17,7 +17,11 @@ . */ #include -#include +#ifdef __ASSEMBLER__ +# define LP_SIZE 4 +#else +# define LP_SIZE "4" +#endif #undef LP_OP #undef ASM_ADDR -- 2.54.0 From 50e18343a99f8806be7fe46385970b3fbda0a15a Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 15 Dec 2021 22:15:31 -0700 Subject: [PATCH 12/15] glibc patch: make fstatat.c and fstatat64.c compile instead of importing every header file under the sun, I copied a couple inline functions into these files to make them work. --- .../glibc/sysdeps/unix/sysv/linux/fstatat.c | 20 +++++++++++++++++++ .../glibc/sysdeps/unix/sysv/linux/fstatat64.c | 15 ++++++++++++-- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat.c b/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat.c index ec817ca1f6bee6e65ce8a007cd7c4b17342ada0e..08bbb33669e18e76273a3e79d8eba33f3e3c0a51 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat.c +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat.c @@ -19,8 +19,28 @@ #include #include #include +#include #if !XSTAT_IS_XSTAT64 + +static inline bool +in_time_t_range (__time64_t t) +{ + time_t s = t; + return s == t; +} + +static inline struct timespec +valid_timespec64_to_timespec (const struct __timespec64 ts64) +{ + struct timespec ts; + + ts.tv_sec = (time_t) ts64.tv_sec; + ts.tv_nsec = ts64.tv_nsec; + + return ts; +} + int __fstatat (int fd, const char *file, struct stat *buf, int flag) { diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat64.c b/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat64.c index 3509d3ca6dc166c753eb06d2f9ce411c2e7b96cf..a4a12d4d9487a7ac6c89a8350a6233759bfd089a 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat64.c +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat64.c @@ -59,8 +59,8 @@ fstatat64_time64_statx (int fd, const char *file, struct __stat64_t64 *buf, return r; *buf = (struct __stat64_t64) { - .st_dev = __gnu_dev_makedev (tmp.stx_dev_major, tmp.stx_dev_minor), - .st_rdev = __gnu_dev_makedev (tmp.stx_rdev_major, tmp.stx_rdev_minor), + .st_dev = gnu_dev_makedev (tmp.stx_dev_major, tmp.stx_dev_minor), + .st_rdev = gnu_dev_makedev (tmp.stx_rdev_major, tmp.stx_rdev_minor), .st_ino = tmp.stx_ino, .st_mode = tmp.stx_mode, .st_nlink = tmp.stx_nlink, @@ -86,6 +86,17 @@ fstatat64_time64_statx (int fd, const char *file, struct __stat64_t64 *buf, /* Only statx supports 64-bit timestamps for 32-bit architectures with __ASSUME_STATX, so there is no point in building the fallback. */ #if !FSTATAT_USE_STATX || (FSTATAT_USE_STATX && !defined __ASSUME_STATX) +static inline struct __timespec64 +valid_timespec_to_timespec64 (const struct timespec ts) +{ + struct __timespec64 ts64; + + ts64.tv_sec = ts.tv_sec; + ts64.tv_nsec = ts.tv_nsec; + + return ts64; +} + static inline int fstatat64_time64_stat (int fd, const char *file, struct __stat64_t64 *buf, int flag) -- 2.54.0 From 6d8b7e95b5be949c1f70c7d5c73141d6d4a219a5 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Thu, 16 Dec 2021 00:46:06 -0700 Subject: [PATCH 13/15] glibc patch: add missing includes for inttypes.h I don't know where glibc thinks uintptr_t is coming from, but here it is. --- lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat.c | 1 + lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat64.c | 1 + lib/libc/glibc/sysdeps/unix/sysv/linux/mknodat.c | 1 + 3 files changed, 3 insertions(+) diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat.c b/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat.c index 08bbb33669e18e76273a3e79d8eba33f3e3c0a51..43d528d2e5bc61d2f95c0be6a8436c4cbbab362f 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat.c +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat.c @@ -16,6 +16,7 @@ License along with the GNU C Library; if not, see . */ +#include #include #include #include diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat64.c b/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat64.c index a4a12d4d9487a7ac6c89a8350a6233759bfd089a..ff1e3a44b202de82409854c011f77ba951f15cdb 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat64.c +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat64.c @@ -18,6 +18,7 @@ #define __fstatat __redirect___fstatat #define fstatat __redirect_fstatat +#include #include #include #include diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/mknodat.c b/lib/libc/glibc/sysdeps/unix/sysv/linux/mknodat.c index cb0584e0037cfaf255b5b80f17f68a9071ea167f..2e6b48368819f211214504ec260edad7de608b89 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/mknodat.c +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/mknodat.c @@ -16,6 +16,7 @@ License along with the GNU C Library; if not, see . */ +#include #include #include #include -- 2.54.0 From 0b16500604ac6daa8c0dbf156b3fd132b0651e34 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Fri, 13 Oct 2023 19:31:57 -0700 Subject: [PATCH 14/15] glibc patch: don't check __LIBC macro This is the only place in all of glibc that this macro is referenced. What is it doing? Only preventing fstatat.c from knowing the type definition of `__time64_t`, apparently. Fixes compilation of fstatat.c on 32-bit x86. --- lib/libc/glibc/posix/bits/types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libc/glibc/posix/bits/types.h b/lib/libc/glibc/posix/bits/types.h index a1e18d5a56d4db19d0df32dadd491df4bf7937f9..1f144d06f61a4ff84b758ee63ee9db762a1fdc77 100644 --- a/lib/libc/glibc/posix/bits/types.h +++ b/lib/libc/glibc/posix/bits/types.h @@ -217,7 +217,7 @@ typedef int __sig_atomic_t; /* Seconds since the Epoch, visible to user code when time_t is too narrow only for consistency with the old way of widening too-narrow types. User code should never use __time64_t. */ -#if __TIMESIZE == 64 && defined __LIBC +#if __TIMESIZE == 64 # define __time64_t __time_t #elif __TIMESIZE != 64 __STD_TYPE __TIME64_T_TYPE __time64_t; -- 2.54.0 From 701ef1f8c2afb9b9d05b40f26c7b5d3fc10557a2 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Fri, 13 Oct 2023 19:32:54 -0700 Subject: [PATCH 15/15] glibc patch: remove some static asserts from fstatat These are tripping on 32-bit x86 but are intended to prevent glibc itself from being built with a bad configuration. Zig is only using this file to create libc_nonshared.a, so it's not relevant. --- lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat64.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat64.c b/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat64.c index ff1e3a44b202de82409854c011f77ba951f15cdb..e774f8952a1f746a2c69576e00a503aeace4fb65 100644 --- a/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat64.c +++ b/lib/libc/glibc/sysdeps/unix/sysv/linux/fstatat64.c @@ -29,18 +29,6 @@ #include #include -#if __TIMESIZE == 64 \ - && (__WORDSIZE == 32 \ - && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)) -/* Sanity check to avoid newer 32-bit ABI to support non-LFS calls. */ -_Static_assert (sizeof (__off_t) == sizeof (__off64_t), - "__blkcnt_t and __blkcnt64_t must match"); -_Static_assert (sizeof (__ino_t) == sizeof (__ino64_t), - "__blkcnt_t and __blkcnt64_t must match"); -_Static_assert (sizeof (__blkcnt_t) == sizeof (__blkcnt64_t), - "__blkcnt_t and __blkcnt64_t must match"); -#endif - #if (__WORDSIZE == 32 \ && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)) \ || defined STAT_HAS_TIME32 \ -- 2.54.0