Mail Archives: djgpp/1992/05/04/15:06:31
I just unpacked djgpp 1.06 and have tried a few preliminary compiles.
Some comments:
1. (Almost) everything works very nicely. Thanks, DJ!
2. The stat() function seems to work correctly, but fstat()
never indicates that I have write permission if I look at
the st_mode field. This is certainly a bug, but since it's
in the Turbo C code, I can't fix it (all I have is gcc).
3. When I use stat() on a file, the value returned in the
st_dev field varies from call to call. This is not
currently a problem for me, but it seems strange. Can
anyone explain what's going on?
4. It's nice that GO32 can now do globbing, but unfortunatly
it's MS-DOS style globbing. (Boo hiss!) Back on 1.05, I
wrote a new version of crt0.o that does globbing the
correct (UNIX) way. The drawbacks of this are:
A. All programs get bigger since they include the
globbing code.
B. Since GNU code is used to do the globbing, all
programs fall under the GNU copyleft.
If anyone is interested in this version of crt0.o, let me
know.
5. I notice that it is not possible to open() a directory. On
UNIX, it is possible to open() a directory for reading but
not for writing. I'm not sure even this is a legitimate
thing to do on MS-DOS, but I have code (source code for the
zoo archiver) which does this. My question is, does open()
fail because someone specifically wanted it to fail, or is
this just a bug that fell through the cracks?
6. I'd like to be able to set the timestamp of a file. I
checked for the utime() or utimes() functions, but they are
stubbed out. Is there some other function to do this? If
not, can someone tell me how I would write these functions?
Presumably I'd have to do some sort of DOS interrupt call?
7. Like others, I have not been able to use gprof. A program
compiled with -pg gets an exception when run. I'd guess
the problem is with the chaining of the DOS timer
interrupt, but I'm no expert.
--
Eric Backus
ericb%hplsla AT hplabs DOT hp DOT com
(206) 335-2495
- Raw text -