From cabdc3f02880f1d44da5717f5ac2d2a0dc041aa5 Mon Sep 17 00:00:00 2001 From: Alexander Gavrilov Date: Tue, 15 Jul 2008 22:15:57 +0400 Subject: [PATCH] Make a better workaround for strtoll in kill.exe Use strtoul to obtain full 32-bit precision, and negate the result manually if a minus sign is present. Signed-off-by: Alexander Gavrilov --- bin/kill.exe | Bin 10240 -> 10240 bytes ...-workaround-use-strtol-instead-of-strtoll.patch | 39 +++++++++++++-------- 2 files changed, 24 insertions(+), 15 deletions(-) rewrite bin/kill.exe (64%) diff --git a/bin/kill.exe b/bin/kill.exe dissimilarity index 64% index 4af3970361bb822fb1dc1aca1a793cae5532135b..c62cafa3f49f8b45fb0b6d3e8554f5a8c01e2aae 100644 GIT binary patch delta 3284 zcwW6$eNa@_6~Av;U?GdUz%KjYQdi_d6cGFvQDJ-)w@Dm2K6nbI)eh}cvSFCECi{>& z(4~29nw`fcFjuFxHK~mGFd6<}29s$safFB=6U{_BP0IvZF}9gYcH7$4!8L4sJ@@Wg zc-wZS|H<%s=bi6!&pr3P9S{bDq31IeKkFM-iVd}EhTr^#A(nwx8=lUs2^{VXAcU%l z@v~exSBl@@_HwcD`&_nRoHxG4WqYkW5=l4yOQy@b$BocVv`6ap)@{KBSqj&OU(PBq ze3*~l%i2_UHJ?YV!U*DdB>3lmAz#I&>A&*7|pb~{Q3*=DUht@RV!kh3Z87Q|zcgg{Q>zMR9stwqVj z--Iw3O0OAI?Oh0p{tB3eFVQHoQmx!?MS&HhfR-9>w;adNoOW#^n(X>cR6xAwQD$$4 zvi%=`rAThEEGEbyh86;QK{5HcsZAu;aYwGL{```*9BL&m0V|}Uccevs$4)K1tVx|k zcr=$cklXn0xpm$9&5A)FQ5!;M5!(kk1r3m>>!9*=v%(4F<8+-@p)O1ibw_&8`hN4I zY6v$D*79inoB<&M_fU9Vp5K8wfw|OO-n;Z9XztScr^5o5d41z z|A{$glHPHq%a1z$+ct%Eoelw%ywlK!a3ry)24TGKwvfIrRW%$kB~*2O9S3{UNDYuw zuGncGY3Gf@XQ>P}H-A@{NvAUhK>*fhgcKzfs}#OVRDj+{=)1hQ@sa=Z^t zLyR4BmhPoL10|WI?IogNPOWULqW?yfzs(oMlVd`DmEs0jGBI zo%^ZYL<_?UX~F(>FS$DA)NiKO1o9(b{2j@*P0ks(=@xe1;JoC_$5l&6fvS{~G(!+Z zyH$zM=q=;|WMZ+Xo6oHH%=DhAN0#Fq(4olra@v9LOwJw2N4F$@V0*PxqHjcG7aWkE z=BG6xTBNsVCB2#&LMtIN{?-ad@Kh0x3hk%iDcPfq;hFG1;EEHe?CC{s8*V3?i@2EMmW8AQp+~cfr5&>?Lq5a`M%Q2g%95T@h zdV@&T;CGxCxy$&Ns}i2CxSq4TU#cIL7~baI2bve$C6+{*rW0RuJGsl_GwxxIJBzzK zH!YqDy}?KLKykgLDNXhq{$+7I_~JSqHLvH&qKLIjw6+gae6ZZw~U$v3z$78G9L0b#$r&?yxXuU>jHF{S_Qjf-O)@V$V zmuh^KMx7c>XnLgaYc*=ssF~6IcDj+)Hc^q-PNFta0yi7}n!{WDV1XVy(@0!kBO$8S zhO~=FExV&d_iE9M_?zB}mbfN8s7ViK)UVMFjs8HR-5UL_Mw>PIm_~QwE8Z`7_;s23 z^8+%0H)wn}AXlgF1X!)fPZRxn2H?QHlBVHWV~`3dF2nfUu3UDaMz?f4{jGbmayf_u z_=8U01Nc?*#v~fge5&11KI8tgr;<|8z4K- zGQ8Ry>;=tnz#!lhU=;8H;2Pit;7@=UAPz9L!ukOoKq;UW&;WQ0un*7y=x$xk(hKiH zfO9(8yYPM$FbBBP3ZF?Mlwt#{6?Kjet*BN1v#RBy@Ka@rIRWD{fu{rCm%7KlUA~gT Le1#GBRdoLw771zg delta 3176 zcwW6$eQXow8Gp~QlXGHXC-^JD84e^N86hN1Is%0Cst~PZNI7Ci(heAZP~=9agUxPf z2Q}@*Q17tj^o0&Jn@UED+KP3k*($cFA`$M)q)H`-X<1<+Qz^U5nU<|lWQfb{_nyy* z({0*ctL5K4_k2I^^FH_99Tks?v6u30z54wDxxzqf18+ZWxSmHV4c{$n2t08pKnR)e z&=|NtIu3(Q%AU>s$ z{>)TnDK01EA+ja7-`mteubE`-Al;q6!cbUBU(9b_YAF>+mpDWOfrx%D7{x@dw-@igh6B+CQ^JxR6Z!CO$AFE4`jR| zm%}%L>!QI6msY_1S0=0`{U-VBTwo<)^c6-s&Wl=-^)yh>*>D{;Lq}1GELcRP2q82M zaW%o)pR1}A_k!)?luups9|apr4=mC0NF#Zof1MrG|B!y2U)%5vmnL369(2PTf1l!E zmM~M6L6@|~qtam z)<HC{~U^ zCZ&3;{S?jV(KkYJXqZe_T|4Qc6OY&&Y2_?=NS2I%_@gD*3`g_;{w6gy{r? zEVCR=A!f8EU3YafWjLz^JC({TS~duo28haYceATcmMjWr)>p?IM<+rCE)@yu?tR2> zgw($mmmYZs-=#deBr~fi)fyhaaUkpMO^Na;7Q0LN1M=vx3|xX84G$4(e={nLhHYt9 z!wftkuwws-F_4`Xs88q)34vwehYvbGXY8ABlX)XZG=aO_f!+t_FjeKc4P62_(* zO|z^O;Xl%S)(v#pT{L{g`b#6%PrL06o_;h;+9YZN*)3NvcJvd2b|jplXY4L6NH5wq zEXkFBjjDE6zOxAP(N8^&M-geC<4JA}z3OPdz3Qmteot$i8*7-;k%}P}TsEG@fs|zX z)vdf`&NkrVjTQYg;_Tz<=!~=4kY}dLT;+Rh-99_3#&4}7``P8ei=r3xRUVB^Geey0#_yz)uB&*qU@ycczb!{YyrPPm#LJEU=24`@X6Yh?Q#ja0qF*3dyBd5Ly+t0waFYQ!sQWb-5ST57y59^p}6 z`{6`;3u$Dk))w05u6N%?ZL!#VJ=*ft`jln#9rq<}j6PLXhwJIGW7ca`x$|_Jt|{Mc z7^|Y6m$~U+xw)3F&Qb`WvyM6>+=EK zTG49lTqJv*(u!1Q@T&spU5)4NOF*xV+ST(pn-?i!(LfE6A7o3qbgvHI5c%`p5M}7J zpGUDuoNij)%+1n+%O3~@*=hI2_(`bM#LGcXIg0fZI9zv%sHo_~(E>)d|A|D@|O(VIPb| zLe7ixdU6`FwrzxrjCISljzG2nG(30wiL12=)&z%-Bs_%1^1fCs1r zS^xpq3iNg@WY~-Q!@$WL*_*h(2z&_K1g5+2z9cBc?prYWatm_(TSb|I=)vl_;X^fU Mj-Fh#A5-G~7s(|>p8x;= diff --git a/src/rt/patches/0005-Temporary-workaround-use-strtol-instead-of-strtoll.patch b/src/rt/patches/0005-Temporary-workaround-use-strtol-instead-of-strtoll.patch index 9062dd2d..a3a10aa1 100644 --- a/src/rt/patches/0005-Temporary-workaround-use-strtol-instead-of-strtoll.patch +++ b/src/rt/patches/0005-Temporary-workaround-use-strtol-instead-of-strtoll.patch @@ -1,37 +1,46 @@ -From b510dfef98a3de763c60df4fef6189ba5451eaf9 Mon Sep 17 00:00:00 2001 +From c646a0321e98a090c7ee774b0c170a78dba5a70b Mon Sep 17 00:00:00 2001 From: Alexander Gavrilov -Date: Mon, 14 Jul 2008 22:56:47 +0400 -Subject: [PATCH] Temporary workaround: use strtol instead of strtoll. +Date: Tue, 15 Jul 2008 21:47:08 +0400 +Subject: [PATCH] Temporary workaround: use strtoul instead of strtoll. -(Until somebody figures out how to compile it properly) - -It breaks CVS commit 1.25 - may fail on Win95, etc. +Also fixes a bug in negative pid handling (the 'av' part). --- - source/winsup/utils/kill.cc | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) + source/winsup/utils/kill.cc | 14 +++++++++++--- + 1 files changed, 11 insertions(+), 3 deletions(-) diff --git a/source/winsup/utils/kill.cc b/source/winsup/utils/kill.cc -index e21646f..7446c59 100644 +index e21646f..e5bd692 100644 --- a/source/winsup/utils/kill.cc +++ b/source/winsup/utils/kill.cc -@@ -241,7 +241,7 @@ main (int argc, char **argv) +@@ -241,9 +241,12 @@ main (int argc, char **argv) case '?': if (gotasig) { - pid = strtoll (argv[optind], &p, 10); -+ pid = strtol (argv[optind], &p, 10); ++ pid = -(long long) strtoul (*av+1, &p, 10); if (pid < 0) - goto out; +- goto out; ++ { ++ optind = av - argv; ++ goto out; ++ } usage (); -@@ -264,7 +264,7 @@ out: + } + optreset = 1; +@@ -264,7 +267,12 @@ out: while (*argv != NULL) { if (!pid) - pid = strtoll (*argv, &p, 10); -+ pid = strtol (*argv, &p, 10); ++ { ++ if (**argv == '-') ++ pid = -(long long) strtoul (*argv+1, &p, 10); ++ else ++ pid = strtoul (*argv, &p, 10); ++ } if (*p != '\0' || (!force && (pid < LONG_MIN || pid > LONG_MAX)) || (force && (pid <= 0 || pid > ULONG_MAX))) -- -1.5.6.2.1111.g806df +1.5.6.3.1089.g3c8b0 -- 2.11.4.GIT