www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/08/07/14:58:59

Date: Sun, 7 Aug 94 10:46:10 -0400
From: dj AT ctron DOT com (DJ Delorie)
To: djgpp-announce AT sun DOT soe DOT clarkson DOT edu
Subject: djgpp 1.12 is on it's way

Well, after a week of network and modem difficutlies, 1.12 is finally
on it's way to simtel.  Official announcements will be posted to
simtel's usual mailing lists and newsgroups when it's finally
available in oak.oakland.edu:pub/msdos/djgpp.  Attached is new112.doc.

The only remaining known bug is one that came up after I started the
transfer sequence, which has to do with movedata() not masking off the
high four bits of _go32_info_block.linear_address_of_transfer_buffer
like dosmem*() does.  Oh well, you can't win them all.

DJ

--

1.12 happened mostly to reduce the overhead of maintaining and
installing 1.11's maintainence releases.  There is new functionality
as well.

Note that the new command-line quote handler will not be used with
programs using old stubs.  Your programs will still work the way they
used to work.  The new stub passes an extra parameter to go32 that
allows go32 to properly parse the command line in a more unix-like
way.  To switch to a new stub, use "exe2coff prog.exe" and then
"coff2exe prog".

Also note that the keepmem value in the stubinfo structure is now used
by go32 to reduce paging when spawning when not in DPMI mode.  Gcc and
make are set to not swap when they use less than 1M of extended or
expanded memory.  DOS memory is still swapped out, but this is usually
only around 24K.

djgpp 1.12 no longer contains Info-Zip's sources, since Info-Zip
distributes djgpp binaries of their programs already.

djgpp.env: new file; contains environment
docs/djgpp/libc*: switch to more maintainable format
docs/djgpp/makefile: new, builds info files from sources
docs/djgpp/makeref.cc: new, program to build texinfo files
docs/djgpp/overview.tex: new, common library overview
docs/djgpp/readme.doc: explain environment
go32/control.c: load environment from file
go32/control.c: switch to unix-style globbing
go32/control.c: handle 1r2 and 2r1 at the file level with dup2
go32/control.c: don't copy environment variables that don't have `=' in them.
go32/dalloc.c: write helpful message to first block of paging file (type pgXXXXXX.tmp gives info)
go32/dpmi.c: fixed bug in stack switching that caused had NT to break
go32/exphdlr.c: generic ints (no pointers) don't modify top 16 bits of esi/edi
go32/exphdlr.c: set *stat() blocksize to 4096 in all cases
go32/exphdlr.c: remove 1r2 and 2r1 handling (now in control.c)
go32/exphdlr.c: return djgpp EEXIST (36) for dos EEXIST (35) in turbo_assist().
go32/exphdlr.c: clear EOF flag in _openfd[] on lseek
go32/exphdlr.c: allow DPMI calls 0x060* and 0x070*.  They don't actually do anything, though.
go32/glob.[ch]: new file; common command-line and environment handling (gcc-rm.exe uses it also)
go32/mswitch.asm: optimized TSS flag setting in _go32()
go32/paging.c: if we've allocated less 32-bit memory than stub says, don't page out on spawn
go32/stubinfo.h: change rev to 1.12
go32/tables.asm: optimized ivec table size
go32/tables.asm: REMOVED entry for exception 17.  That's the BIOS equipment call.
include/bios.h: add new functions
include/ctype.h: don't include stdio.h
include/errno.h: add EFAULT
include/fnmatch.h: new (POSIX.2) taken from unistd.h and std.h
include/locale.h: minimal locale support
include/stddef.h: set NULL to 0 not (void *)0
include/stdio.h: clean up
include/stdio.h: define FILENAME_MAX, FOPEN_MAX, and TMP_MAX
include/stdlib.h: minimal locale support
include/sys/signal.h: add SIGUSR1 and SIGUSR2
include/sys/time.h: add gettimeofday prototype
libsrc/c/bios/bioscom.c: new
libsrc/c/bios/biosdisk.c: new
libsrc/c/bios/biostime.c: new
libsrc/c/io/doprnt.c: minimal locale support
libsrc/c/locale/*.*: minimal locale support
libsrc/c/maketmpl: minimal locale support
libsrc/c/dos/dir.c: readdir() doesn't change errno at end of list
libsrc/c/dos/fnsplit.c: handle both slashes properly
libsrc/c/gen/fixpath.c: reduce file to what DOS sees (fixes stat problem)
libsrc/c/gen/fnmatch.c: change return value to be POSIX.2 compliant
libsrc/c/io/popen.c: allow "rb" and "wb" modes
libsrc/c/lib/itoa.c: new file for itoa()
libsrc/c/lib/malloc.c: initialize final op->ov_next in morecore
libsrc/c/sys/disable.c: return previos interrupt status
libsrc/c/sys/enable.c: return previos interrupt status
libsrc/c/sys/gettimeo*.*: handle minwest and DST flags
libsrc/c/sys/mkdir.s: return EEXIST instead of EACCESS
libsrc/c/sys/stat.s: set blocksize to 4096 in remaining cases
libsrc/c/sys/unlink.s: remove file even if read-only (posix compatible)
libsrc/c/sys/utime.c: handle years before 1980
libsrc/m/src/tan.s: prevent underflow on exception
libsrc/m/src/tanh.s: prevent overflow or underflow
utils/djtarx.c: always make sure directories are created
utils/echo.c: allow "-o <outfile>" and "-a <appendfile>" for makefiles

-- About Globbing --

Command line expansion now understand wildcards like */*.[ch].  See
the libc.a info page of fnmatch() for details.  Also, quoting has been
fixed but if your application uses a pre-1.12 stub, you won't see the
fixes.

-- About Environments --

If you set the DJGPP environment variable to point to a file, that
file will be used to load the environment.  See the file
docs/djgpp/readme.doc for more details.

-- About documentation --

The texinfo files in docs/djgpp have been restructured to be more
maintainable.  Please be sure to include documentation changes for any
library changes you submit for djgpp.  The files you should change are
the two-letter files in the library-named subdirectory off docs/djgpp.
Use the file that matches the first two characters of the function
name (stripping any leading underscores).  The @node lines are
reformatted by the scanner; you should type in the node name and the
functional group name.  Entries are automatically sorted
alphabetically.



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019