Message-ID: <001f01c24f26$b636c730$0100a8c0@p4> From: "Andrew Cottrell" To: "Richard Dawe" , "Charles Sandmann" Cc: Subject: Two rm.exe issues on XP Date: Thu, 29 Aug 2002 16:38:08 +1000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Reply-To: djgpp-workers AT delorie DOT com Richard & Charles, I may have stumbled onto some issues with the file utilities 4.1 rm.exe (don't know if 4.0 also fails) on XP which have come to light when I have been trying to build GCC 3.2 or trying to rebuild it. I will not have time to to look at these two issues for a few days and as such I thought I should let you know about them in case you have ideas or have seen these before. I am in the process of upgrading to GCC 3.2 and the latest LIBC. The file utils is 4.1 from 11-June-2002. I suspect that both issues are 2K/XP specific until someone else lets me know otherwise. PROBLEM 1 - RM.EXE SIGABRT -------------------------------------- While re-building GCC 3.2 I noticed that I was not rebuilding some of the exe files as the build date of a few of the exe files had not been updated. On further investigation I found that the rm.exe caused a SIGABRT when rm.exe -rf was called four times, the other times it worked okay when "make clean" was executed. I have been able to reproduce the problem on XP (I have not tested this with any other OS's) if I setup the following directory structure and try to do delete the directory and all of it's contents with a rm -rf ( i am assuming this is what is the combo does). Test directory setup: -Created a test directory C:\dj204\test -Created a sub directory C:\dj204\test\test -Created one file in the subdirectory C:\dj204\test\test\test.c DJGPP_204 C:\dj204>rm -rf test Assertion failed at remove.c line 727: fs->have_device Exiting due to signal SIGABRT Raised at eip=0000d316 eax=000a1a00 ebx=00000120 ecx=0009dad0 edx=00000012 esi=000a1c20 edi=000a1fb8 ebp=000a1ac8 esp=000a19f0 program=C:\DJ204\BIN\RM.EXE cs: sel=01a7 base=029f0000 limit=000affff ds: sel=01af base=029f0000 limit=000affff es: sel=01af base=029f0000 limit=000affff fs: sel=017f base=00007f80 limit=0000ffff gs: sel=01bf base=00000000 limit=0010ffff ss: sel=01af base=029f0000 limit=000affff App stack: [000a2028..00022028] Exceptn stack: [00021e68..0001ff28] Call frame traceback EIPs: 0x0000d226 0x0000d316 0x0000969e 0x0000311b 0x00003215 0x0000247e 0x00002e65 0x00003215 0x00001e88 0x00008e57 GCC 3.2 error:- make.exe[2]: Leaving directory `c:/dj204/gnu/build.gcc/gcc/intl' rm -f g77spec.o g77version.o rm -rf objc-headers rm -f libgcc.a libgcc_eh.a libgcc_s libgcc_s.1 rm -f config.h tconfig.h hconfig.h tm_p.h rm -f cs-* rm -rf libgcc rm -f *.dvi rm -f */*.dvi rm -rf include Assertion failed at remove.c line 727: fs->have_device Exiting due to signal SIGABRT Raised at eip=0000d316 eax=03ccf9e0 ebx=00000120 ecx=03ccbab0 edx=00000012 esi=03ccfc00 edi=03ccff90 ebp=03ccfaa8 esp=03ccf9d0 program=c:\dj204\bin\rm.exe cs: sel=04bf base=03400000 limit=03ccffff ds: sel=04c7 base=03400000 limit=03ccffff es: sel=04c7 base=03400000 limit=03ccffff fs: sel=0497 base=0001c720 limit=0000ffff gs: sel=04d7 base=00000000 limit=0010ffff ss: sel=04c7 base=03400000 limit=03ccffff App stack: [03cd0000..03c50000] Exceptn stack: [00021e68..0001ff28] Call frame traceback EIPs: 0x0000d226 0x0000d316 0x0000969e 0x0000311b 0x00003215 0x0000247e 0x00002e65 0x00003215 0x00001e88 0x00008e57 make.exe[1]: [clean] Error -1 (ignored) PROBLEM 2 - RM.EXE Operation not permitted (EPERM) ------------------------------------------------------------- The following occurs in the GCC 3.2 "sh djmake.sh bootstrap" process (simplified): DJGPP_204 C:\dj204\gnu\build.gcc\gcc>rm -rf include rm: cannot remove directory `include': Operation not permitted (EPERM) DJGPP_204 C:\dj204\gnu\build.gcc\gcc>dir include Volume in drive C has no label. Volume Serial Number is 7058-8AB0 Directory of C:\dj204\gnu\build.gcc\gcc\include 29/08/2002 04:07 PM . 29/08/2002 04:07 PM .. 0 File(s) 0 bytes 2 Dir(s) 20,100,411,392 bytes free DJGPP_204 C:\dj204\gnu\build.gcc\gcc>attrib include C:\dj204\gnu\build.gcc\gcc\include