From: Eric Backus Subject: Patches to DJGPP 1.09 To: djgpp AT sun DOT soe DOT clarkson DOT edu (djgpp) Date: Tue, 16 Feb 93 10:54:28 PST Mailer: Elm [revision: 66.25] While porting some more FSF programs to DJGPP 1.09, I ran into a few obscure bugs in libc.a of DJGPP. Here are patches for those bugs. Unofficial Patches to DJGPP 1.09 -------------------------------- 1. In errno.h, EEXIST is defined to be 36, but open() returns 35 for EEXIST. To fix this, I changed the value in djgpp/include/errno.h. After making this change, you should recompile djgpp/libsrc/c/gen/mktemp.c in libc.a, since it uses EEXIST. 2. The _fixpath() function, which is used internally by stat() and some other functions, needs to be fixed to convert to lowercase and to remove characters that MS-DOS will eventually ignore. This fixes a bug in the inode numbers reported by stat(). To fix this, I changed djgpp/libsrc/c/gen/fixpath.c. 3. The gettimeofday() function didn't return the correct values in the tz_minuteswest and tz_dsttime fields. To fix this, I got rid of djgpp/libsrc/c/sys/gettimeo.s and replaced it with djgpp/libsrc/c/sys/gettime_.s and djgpp/libsrc/c/sys/gettimeo.c. 4. The mkdir() function returns EACCESS (which is equal to 5) when there is already a directory entry with the requested name. UNIX code expects to see EEXIST (which is 35). To fix this, I modified djgpp/libsrc/c/sys/mkdir.s. 5. The utime() function has problems with dates between 1970 and 1980, because MS-DOS starts at 1980 while UNIX starts at 1970. This caused dates between 1970 and 1980 to wraparound to some date far into the future. To fix this, I modified djgpp/libsrc/c/sys/utime.c. The appropriate patches follow, in a uuencoded zip file. -- Eric Backus ericb AT lsid DOT hp DOT com section 1 of uuencode 5.15 of file patches.zip by R.E.M. begin 644 patches.zip M4$L#!!0````(`"$03AH%J3N8(@$``-X#```*````97)R;F]H+F1I9MU1RT[" M0!1=CXG_<(R[QD++`!%V"D4;H6T`H]M"+])DF"'3J=&_=Z`+;8FZYZSF<1XW M]SB.`]):JFU+Z9PM2HD)K>!WX76&GC?T^_`'`WYYX;IN16QM_V`Y=1P?P/T; M?HOJ#EQGM,DE(4C")&"\PUC;01(_CN"T:__C>`8+SE <]2LT6JW\H=28,& M&B[SN^@AL"[=$Y@+OU2?^P0I>P\72 M9O5/LB:Y(*1"4YI]@C[RPA2_3AQ&RSGS/>\8$TICMU[N#64H/@M#.ZQ3(5A3 M$UN%7RG:,93&2I4R*PZ5*)".KJ)8?*13[=$T0M#%0$IG.W^FH.;1> MU6=/[EG4U_^WOM[9U/<%4$L#!!0````(`"(03AI?',HD:@0``'$.```,```` M9FEX<&%T:&,N9&EFU59M;]M&#/ZL`OT/=`?4+Y*=R(Y?DQ0H5 AT 38@&'`LH\% MC+-TM@^5=<+IE)>U^>\E>9(B)VZZ-2V*"4BL._'(A^1#\GJ]'JS532;L-AIH MH[S+(H4+N8+P!([#Q7BZ&$\@G,]'+U_T^_U*=!!Y%T;![R*%X1"&H\4H7(Q. M2KG>_L,;,`O"$;@EZ<'E">!+_^4+@%]4&B5%+.$LUOE@^\;SCGIPH0VHU.). MIPN]HWTY:4RJFY*\\4 AT LMT:EFZ8<[B0R+37Z#='(WF:R*6EUHJ^EJ8W3'^*A MG^5&VF4LUZ)(\->H*]FYTBKN?L'U\328#!N^CV?!9%X[3X^1MC`I1'!^#NVC M-GSZ5+Z_?]]<'+=/Z<2=@^.C,\*JR*'R0>7+7&8=7$'4I8V/]._?JQ\\,N63 M*9\]QZ#\+3[('$2.]K+"`J9>F)6R1IA;8$X`7*@;%"DRL%O)>["Z791.A@/X M2^[T%28$(IWF,BHL1@[R1.1;F9=2PX84JE8)O=0B!\,[&0?3:1E>UC%NZ'@U M&+P"F2(/)`&_!]81:D1P#G&?),1FJM M(@R\3D&M0:<2KD6>MBV=-+(\.1W`KSJ]DL;RZ22IG$!>40Y8S!&+J,.L*FNK M0]'!'&Z%@9Y*@_)-%Y9A859;;`(3[7F,:ID6NY4TIQ6=[A5X/97!.8K>?^-= M3;NH\;1B-CV88_3VH*,(&J4I[:ZD2N@,8PV=7@?-^!!VF3R+-KQ^#9T.V7Z# M:\%K6IWAZI]V%WGF*F$Z#&;39B7\/U+'537;$\-/W"XBDR'H/J3?I94T M;(PN-EMN"6XV,0JR[.KA>JL2"6RRX2J:)@T?,*;N5%7F#K)'>!_"I8R&QQB. M85CG]'N&PZ_`^>!Q!;J"^Z\Q\MFU"DT%HFY0`;53>@%EJPXH$B-%?%O>B[PR M9%B!B(&!>0X5X>ME36)EI47ZXJH"%W>5+W?/S!BTW'7DN9D[2.QP.,9K:;C' M;!>YS-UIL%/N,IP3>*=:&[WC,<2=K3)5E1G.!5=W)7+*+';[G3,/3_2-1FQ^ M6X/1VM[/-4I43BGQF?J'GRW!RS6 MMK+,@X7&&5]FN_71`WW\22^1G5(^\%+>6)GF--F^UV0\>TMG42)3=K<<_J[)^UU71?E9U8H/:E4P5+>X(E+8($@2J*[)/01 M+!91O^=Y7@=.-$L/TE*!#]]/XEGBSWXH]WI9`V$P#N?H]#G&Z DOT AT 6IO+Z/8"5 MU9=@P7PT)%T[XR%E[<7>LH'?1HOQD.?6*F1S=L*@W[O!>;.IBX?7M'O8R(&B MYJ"DQNI^N5RE*4:Q AT V-.$DU.BE!H<*&(9R=PVP[`--*NJ=0))!MS'HLF-[A! M)2]I`KR_/*ZQJS("M;5!-9H*FN AT 2L%JM'],WC*+8,?0SEPVW)6U8(/8_)FWUOB0Q.Q?-J24K#8FA#)[8XJ>C:C1H57*.]M)?VT!Y"H;>R MJ`4ANPNZ+>3OZZPU33(P,//FS7LSC#%\VT'U[=:,P^8@+5ZD!@32K,K*:IW`SII>TC=+2"+UQVKT.!H6GFD07"G3$=%N/>]R!&&+P16\0>K M/D^]'%&C3$)<(LV,[,FH:18B(%C?!E3=WWO-GD\_3(CD88/;8$4[%]89478. M.72*D\0U""25%EJZH[%0PXSKJI.HG$><5!1(J%W,[T]&P'HF6E82L#9:/DL& MS`U2QKE!:X&5NL?8`Q+P!-#U7RBPC>Y:#JRJM-PS=23U8]8+$#4H[0Q/!7B(9$?/]93G71R$([HCMQY-R9R0+R:. M_]?I;5;,EYL"DL46;I,\3Q;%]N(/'7O\5:Z0^U8@]Z@#,X8I-UC=I/EL3I+D M:W:=%5O0!JZR8I&NUW"US*G%59(7V6QSG>2PVN2KY3JE1.,P#&*'/QUMNU:7 M+=SMT-$74-><'>^8M90P?&GX)0RD[LO AT U63TFK5A<"_W@>M,J7^+'@!02P,$ M%`````@`D3DL&IEZ&T.+`0``X`(```H```!G971T:6UE;RYC;5++;MLP$#R; M7S%%@<`2:BOIH4#@.(<6[2G(*3D;-+62B$JD0*Z2R('_/4L_"B7-D3,[L[.[ M+'(%S$V&7[X?@ZT;QM7U]7?\#M;@IS9_AZBDXJ&Q$=%7_*P#H=,CMH0A4HDJ M$+6C<&B]JZ$C.-6:?W;.LS4$&\6FI8IA'6O#RV1*(1%2`O$-VC$1O#LZG+LM M55XH]=4ZTPXEX2:.L6#;T;*Y5:K(<>\9)57621CKWO'0+3=^J!M81A_\5F]3 M5(':,@T AT QI'#8!A)L/..U*ND1(H(WFTZZP:F^$R15U.\C)P$*[5?*44O3,$= MJ)H.N*]*/6YTC#;R?-+@2;?(O^%#2^29N(A<3>7_Z;C_1,F[/CM%/G.=H-U* M'>-6F'^6*7DE*6YPF2$0#S+`XFJB$A9?UKA_O+O+#N"KFLFN_]@7.0Y]V`VT M*R=K066I+6/:[DSBK.5C&#F$,/,+[A>W_+2)9&3HF721YWNO-1;<"=IMZHY] M5:'`C\M)[;G)&J?;'`4X#B6JOW@!02P$"$P`4````"``A$$X:!:D[ MF"(!``#>`P``"@`````````!````````````97)R;F]H+F1I9E!+`0(3`!0` M```(`"(03AI?',HD:@0``'$.```,``````````$``````$H!``!F:7AP871H M8RYD:6902P$"$P`4````"``K$$X:`[)>?4,!```%`@``"@`````````!```` M``#>!0``;6MD:7)S+F1I9E!+`0(3`!0````(`#(03AIO`;HZ]0```*\!```* M``````````$``````$D'``!U=&EM96,N9&EF4$L!`A,`%`````@`;;0K&@!0 MD6"@`0``K@(```H``````````0``````9@@``&=E='1I;65?+G-02P$"$P`4 M````"`"1.2P:F7H;0XL!``#@`@``"@`````````!```````N"@``9V5T=&EM :96\N8U!+!08`````!@`&`%(!``#A"P`````` ` end sum -r/size 33312/4716 section (from "begin" to "end") sum -r/size 29847/3401 entire input file