home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Professional
/
OS2PRO194.ISO
/
os2
/
prgramer
/
unix
/
emx
/
doc
/
history.doc
< prev
next >
Wrap
Text File
|
1993-01-03
|
27KB
|
1,073 lines
===============================================================================
history.doc emx 0.8f HISTORY 03-Jan-1993
===============================================================================
Copyright (c) 1990-1993 by Eberhard Mattes
0.8f (03-Jan-1993)
==================
Important notes
---------------
- IMPORTANT: You have to rewrite the initialization code of dynamic
link libraries created with emx: main() has been replaced with
_DLL_InitTerm()
- IMPORTANT: mkdir() now has two arguments. Before linking, change
and recompile all modules that use mkdir()
Highlights
----------
- New versions of GNU programs have been ported: GCC 2.3.3, GDB 4.7
- _DLL_InitTerm(), _CRT_init() and _CRT_term() for dynamic link
libraries
- (Awkward) support for calling 16-bit OS/2 API functions
- Keyboard (Kbd), Mouse (Mou) and Video (Vio) subsystems can now be
used under OS/2
- A simple graphics library has been added (320x200x256 mode only)
- A text-mode video library has been added
- Functions for reading and writing extended attributes have been
added
emx
---
- New system call for __read_kbd(); some but not all _read_kbd() bugs fixed
- New system calls: __sleep2(), __waitpid()
- File name truncation (SET EMXOPT=-t) fixed
emx for OS/2
------------
- emxio.dll: the functions didn't save the EBX register
- fork() fixed: fork() didn't work before a call to malloc()
- FIONREAD also works if ICANON is set for the handle
- _outps8() fixed
- _syserrno() now returns the last error code for the current thread
- If the size of the stack object is 16 KB or smaller, emx.dll creates
a new object for the stack and expands the stack as needed using a
guard page and an exception handler. (emx.dll 0.8e and older always
do this, independently of the size of the stack object.) If the
size of the stack object is greater than 16 KB, the stack is not
changed, that is, the stack object is used for the stack. Programs
that use emx.dll and are linked with LINK386 and need more stack
space than declared in the .EXE file and the stack size declared in
the .EXE file is 16 KB or less, don't work with emx 0.8f and later.
The default stack size (defined by emxomf) is 8 KB. Therefore
programs are unaffected unless they use more stack than declared by
the STACKSIZE statement or the /STACK option of LINK386 or by the
.STACK segment in an OBJ file and that stack size is 16 KB or
smaller. No real programs should be affected. Note that the
(obsolete) Limited Availability release of OS/2 allocates space in
SWAPPER.DAT for all pages of the stack object. Therefore, you
should use a stack size of 16 KB or smaller and the -mprobe option
of GCC if compatibility to the Limited Availability release of OS/2
is essential. If your program uses DosSetPriority and the stack
size is set to 16 KB or smaller, you have to rename DosSetPriority
to DosTrueSetPriority in /emx/lib/os2/dos.imp, assemble
/emx/lib/os2/code1.s, rebuild libos2.a and put code1.o into
libos2.a. This is only required if you re-link your program, it
isn't required for existing executables
- An import library for emxio.dll is now available; _outp8() etc. are
supported when linking with LINK386 or when using emxlibc.dll
- longjmp() now works with user-installed exception handlers
emx for DOS
-----------
- New emx option: -ac (data and stack executable)
- New emx option: -C# (commit memory)
- Bug fixed: -c didn't work
- Access to ports 0 through 0xffff can be enabled by _portaccess().
Previous versions restricted access to ports 0 through 0x3ff
- FIONREAD works for all types of handles
- select() has been implemented
- Additional debugger commands: VP and VX; page table dump changed
emxbind
-------
- TERMGLOBAL and TERMINSTANCE module definition file statements now
supported
- Option for setting the heap size: -h#
- Option for setting the OS/2 stack size: -k#
- The STACKSIZE statement can be used for setting the OS/2 stack size
- By default, a 16 MB stack object for OS/2 is now put into the .EXE
file
emxomf
------
- Convert (I2) import records to (I3) import records
- Convert line number information unless -s is used. This feature
enables limited debugging with IBM's IPMD debugger
- No longer requests emx.lib to be linked
emxomfld
--------
- Call RC to handle .res file
- Bug fixed: LIB environment variable not correctly set
- Use /debug option of LINK386 unless -s or -S are used
touch
-----
- New -c option: don't create files
GCC
---
- #pragma pack implemented for C++
- The -s option is passed to emxomf
- The -mnoprobe option has been renamed -mno-probe
- -mno-probe is now default. If you create threads with
DosCreateThread and don't set bit 1 of the flags argument, you have
to use -mprobe. -mprobe is also required if you want to trap stack
overflow
- GCC now passes libemx1 and libemx2 instead of libemx (and emx.lib)
to the linker
- As emxomfld now knows about .res files, you can use .res files on
the GCC command line even when using -Zomf
- After all the other libraries but before -lemx2, -los2 is passed to
the linker. Therefore, you no longer have to use -los2. Using -los2
(in old makefiles, for instant) doesn't hurt
GDB
---
- `info float' command fixed
- Switch to debuggee session only on CALL instructions
- Redirection supported by `set arg'
GNU ld
------
- The -R option is no longer automatically turned on for import
libraries of type (I1)
- `.o' is appended to the symbol indicating the start of the text
segment of a module unless the symbol starts with `-l' or already
ends with `.o'. This is required to make GDB work with GCC's
MKTEMP_EACH_FILE `feature'
GNU nm
------
- New -d option: don't demangle C++ symbols
Header files and libraries
--------------------------
- Header files adapted for -traditional and C++
- Value of HZ (defined in sys/param.h) fixed
- Prototypes added to curses.h
- New header files: conio.h, sys/utsname.h, sys/wait.h
- S_ISCHR etc. defined in sys/stat.h
- There are now two emx syscall libraries: libemx.a has been replaced
with libemx1.a and libemx2.a, libemx.lib and emx.lib have been
replaced with libemx1.lib and libemx2.lib. libemx1 contains the
syscall interface to emx.dll, libemx2 is the import library for
emx.dll
- New functions: ffs(), uname(), waitpid(), _dt_*(), _ea*(),
_getname(), _inps16(), _inps32(), _int86(), _memdif(), _outps8dac(),
_outps16(), _outps32(), _sleep2(), _splitargs(), _wait*()
- _read_kbd() now available with -Zsys
- The sign of the number returned by _fncmp() is now significant
- pclose() now uses waitpid()
- popen() now parses the command line correctly
- emxlibc.dll now supports 256 file handles and 256 streams
- malloc() and friends in emxlibc.dll are thread-save now
- tempnam() return value fixed; avoid infinite loop for invalid PREFIX
- nls_init() fixed
- frexp() fixed
- popen() improved
- open() and sopen(): errno fixed for O_CREAT
- mkdir(): now sets errno to EEXIST if directory already exists
- scanf(): bugs fixed
- mktime(): the argument is interpreted as local time
- wait(): use errno of system call
- memcmp() return value fixed (sign was wrong)
- strstr (s, "") should return s
- _flush() writes a linefeed immediately in _IOLBF mode
- index(), rindex(), strchr(), strcmp() and strrchr() coded in
assembly language
- Bug fixed: strtol ("0", whatever, 0) didn't work
- printf() no longer prints "-#NAN". "#NAN" is printed instead
- SOM added to libos2
Sample and test programs
------------------------
- New sample programs: eatool, graph, wm_demo and wm_hello
- align.c renamed pack.c
0.8e (13-Sep-1992)
==================
Important notes
---------------
- IMPORTANT: Recompilation of all source files is required due to
changes in the header files and the C library. All .o and .a files
must be recreated from the source
- If the linker complains about `_streams' undefined, you haven't
recompiled all source files
- IMPORTANT: the -s emxbind option has been renamed -i
- When using GNU Emacs 18.58.3 for OS/2 2.0 with emx.dll 0.8e, you
have to replace the string
"/s /c"
with the two strings
"/s" "/c"
in compile.el, shell.el and simple.el. Also replace
"/q /s"
with
"/q" "/s"
and byte-compile compile.el, shell.el and simple.el. Then, run
dump-emacs.cmd.
- When recompiling GNU Emacs 18.58.3 for OS/2 2.0 using emx 0.8e, you
should put the line
(setq completion-ignore-case t)
into the .emacs file as readdir() no longer turns all file names
into lower case
Highlights
----------
- C++
- LINK386 can be used for linking
- fork()
- New versions of GNU programs have been ported: GCC 2.2.2, GDB 4.6
- C library in dynamic link library
- Create `native' OS/2 programs that don't need emx.dll
emx
---
- New system calls: __stat(), __fstat(), __utimes(), __filesys(),
__chsize(), __ftime(), __getppid(), __nls_memupr(), __clock(),
__fork(), __open(), __newthread(), __endthread()
- Changed system calls: __ftruncate(), __umask(), __memaccess(),
__open()
- Removed system calls: __creat(); still supported for old programs
emx for OS/2
------------
- REXX-callable entry point for getting the revision number
- emxio.dll
- MKS-ksh-style argument passing under OS/2
- System calls are now (almost) reentrant
- New scan codes for C-SPACE, A-SPACE and C-INSERT
- New system call: __brk()
- Bug fixed: argument quoting on the command line
- Bug fixed: scan code of Ctrl-Break (OS/2 full screen)
- Bug fixed: __sbrk() didn't work currectly for small arguments
emx for DOS
-----------
- _scrsize() fixed for DOS
- Bug fixed: __spawnve() didn't close the file handle when calling a DOS
program
- If a memory manager provides both DPMI and VCPI, use VCPI instead of
giving up
- termio bug fixed (`New' extended scan codes)
emxbind
-------
- The -s option has been renamed -i
- Option for stripping the symbol table
- Automatically seeks emxl.exe
- Support for new method of importing (I2)
- Support for creating dynamic link libraries
emximp
------
- Automatically call assembler
- Automatically generate output file names
- Additional conversions: .lib -> .imp, .imp -> .def, .lib -> .a
GCC
---
- GCC 2.2.2
- Expansion of wildcards on the command line
- The preprocessor macro `unix' is no longer defined
- The preprocessor macro `__32BIT__ is defined
- New -Zdll option for creating dynamic link libraries
- New -Zomf option for creating .OBJ files
GDB
---
- GDB 4.6
- Bug fixed: global variables can now be viewed
- Forward slashes must be used instead of backward slashes in path names
GAS
---
- wait instructions are no longer inserted automatically unless -w given
GNU ld
------
- New ld option: -R (automatically set when creating a .dll file or
using a special class of import libraries)
- Pass on module definition file name and resource file name to
emxbind
GNU ar
------
- Expansion of wildcards on the command line
- Extension of the temporary file shortened for FAT file systems
Header files and C library
--------------------------
- New include files: malloc.h, sys/hw.h, sys/kbdscan.h
- float.h fixed
- min() and max() removed from stdlib.h
- HT_DEV_KBD (sys/ioctl.h) has been replaced with HT_DEV_CON;
HT_DEV_VIO has been removed -- it was never returned
- time_t changed to unsigned long (was long), timezone declared long
(was time_t)
- Support for long long
- Functions renamed: itoa() -> _itoa(), ltoa() -> _ltoa(), ultoa() ->
_ultoa(), rmtmp() -> _rmtmp()
- _memaccess() and _portaccess() now documented. Note the changed
argument list if you've already used _memaccess(): You have to
change and recompile programs that use _memaccess()
- spawn*() now quotes arguments if required
- system() now obeys quoting when parsing the command
- Timezones are implemented, without day light saving (summer time)
- malloc() etc.: the memory blocks are now properly aligned
- Math functions now do argument and result checking and set errno
- stat() now returns time stamps for directories
- stat() now sets the X bit for .exe, .com, .bat and .cmd files
- stat() now sets the st_dev always to 0
- utime() and utimes() fixed
- Bug fixed: buffer for stdout
- Dummy libm.a
- open(): use SH_DENYNO sharing mode
- fseek(): improved to not always flush the buffer
- New functions: fmod(), frexp(), hypot(), cbrt(), rint(), trunc(), swab(),
_memswap(), _nls_strlwr(), _fnlwr(), getwd(), _getext(), _remext(),
strtoul(), _atoll(), _splitpath(), strftime(), fork(), getppid(), ftw(),
sopen(), _fsopen(), getw(), putw(), _filesys(), chsize(), v*scanf(),
_beginthread(), _endthread()
- Function versions of isalpha() etc.
- Function versions of abs() and labs()
- qsort() is now reentrant
- readdir() also returns system files
- readdir() and _wildcard() now use _fnlwr() instead of strlwr()
- _wildcard() no longer omits directories
- truncate() and ftruncate() can no longer increase the size of a
file. See chsize()
- Bug fixed: fread() and fwrite() should not return -1 on error
- Memory and string functions improved
- Bug fixed: umask() semantic was wrong (including documentation)
- Bug fixed: strncat() should not pad the destination string
- Bug fixed: times() return value
- Bug fixed: fclose() didn't delete temporary files
- setbuffer() now uses setvbuf()
- _abspath() now preserves a trailing slash
- All members of the exec*() family implemented
- pipe() now sets both handles to text mode
Sample and test programs
------------------------
- New sample programs: calc
- stdio renamed stdiotst
- Bug fixed: `sieve' didn't work when compiled with -DBITS
New emx tools
-------------
- touch (set time stamp of a file)
- emxrev (display revision number of emx DLLs)
- texi2dvi (typeset texinfo file)
- updt (copy file if changed or if newer)
- emxcat (concatenate source files)
- emxomf (convert a.out to OMF)
- emxomfld (front end for LINK386)
- emxomfar (librarian for OMF libraries)
New GNU programs
----------------
- info (the GNU info browser)
- makeinfo (convert texinfo to info)
- texindex (prepare index for TeX)
New BSD libraries
-----------------
- curses
- libbsd: random()
Other changes
-------------
- develop.doc split into emxdev.doc and gnudev.doc
- More OS/2 API calls prepared
- termcap.dat improved
- Library sources spread over more directories
- bind.cmd and bind.bat have been removed. Use emxbind instead
- unzip is now required for unpacking, PKUNZIP doesn't work
- emximp moved from emxlib.zip to emxdev.zip
- gccsrc3.zip merged into gccsrc2.zip
- upda no longer available because `ar' can process wildcards now
0.8d (03-May-1992)
==================
- The default value of the -f# emx option is now 0. If a program
compiled with GCC 1.4 experiences stack exceptions, you should use
emxbind to add an appropriate -f# option to the .exe file
- a core dump file is now written if a protection violation occurs
under OS/2 unless the -c option is used
- Core dumps on SIGKILL are not disabled by the -c option
- Don't lose characters if SIGALRM interrupts termio read(). If ECHO
is on, the characters will be echoed again. In ICANON mode, the
keyboard buffer is still flushed
- termio/SIGALRM problem fixed (OS/2)
- __cgets() bug fixed (OS/2)
- make.cmd and make.bat renamed omake.cmd and omake.bat
- omake.cmd, omake.bat, makebin.cmd, makebin.bat, makebin1.cmd and
makebin1.bat were missing by accident
- Terminals added to termcap.dat: rmono, ansi-color-2, ansi-color-3
- GDB now uses _isterm() instead of isatty() to make it work properly
via pipes (GNU Emacs!)
- GDB reopens the CON device for the debuggee
- GDB changed to use ; instead of : for sending the current line to
GNU Emacs
- GDB: the debuggee window stays open after the process ended, "set
close" command added
- GCC changed to use semicolon instead of colon as directory separator
in environment variables. You now can use C_INCLUDE_PATH and
LIBRARY_PATH to load GCC etc. from another drive. Example:
set C_INCLUDE_PATH=c:/emx/include
set LIBRARY_PATH=c:/emx/lib
- ar: append "$!" instead of "_supersede" to temporary file name
- #pragma pack() in os2.h fixed
- const pointers in os2.h fixed
- os2.h: second argument of window procedure function changed from USHORT to
ULONG
- dup2() now available -- does not work correctly under DOS
- kill (pid, 0) implemented
- kill() and raise() set errno
- kill (pid, sig) for pid < -1 (process group) implemented for direct
children of the calling process (OS/2 only)
- select() implemented for pipes created by emx and for termio input
(OS/2 only)
- gettimeofday() implemented
- tempnam() fixed
- filelength(), tell() and eof() no longer reset the F_EOF bit
(Ctrl-Z)
- read() now converts CR/LF to LF instead of discarding CR in text
mode. Ctrl-Z is ignored if it is the last character of a file
- O_NDELAY and FIONREAD now work for pipes created by pipe() of emx,
but not for pipes created by CMD.EXE, for instance
- Additional spawn() modes (OS/2 only)
- ioctl (FGETHTYPE) added
- Initialization of file handles and streams by _startup() improved
- signal (SIGKILL, ...) is invalid
- SIGCLD implemented (OS/2 only)
- wait() return value fixed (OS/2)
- _abspath() function added to library
- _syserrno() added
- rand() fixed
0.8c (19-Mar-1992)
==================
Important notes
---------------
- *** YOU SHOULD RECOMPILE ALL YOUR PROGRAMS *** because the header
files and the library have changed. If you can't recompile a
program (due to lacking sources, for instance), use
emxbind -u \emx\bin\emxl myprog
to update emx in the .exe file
*** DO NOT RE-LINK A PROGRAM WITHOUT RECOMPILING ALL ITS MODULES ***
As several definitions in stdio.h and fcntl.h have been changed,
just linking with the new library without compiling with the new
include files won't work. Really. We apologize for the
inconvenience
emx
---
- The -f# option will be removed for emx 0.8f, better recompile *now*
programs which require -f#
- New emx option -h# to set the number of file handles
- New emx option -c to disable core dumps caused by signals
- The -r emx option is not applied if the file name starts with
/pipe/
- Signal numbers reassigned
- System calls added: __ftruncate(), __fcntl(), __pipe()
- Message for SIGABRT changed. Return code for default processing of
signals under OS/2 changed to 3
- termio: ICANON and IDEFAULT moved from c_iflag to c_lflag
- termio: IDELETE
- _ulimit3() system call replaced with __ulimit() system call
- emx.dll: __ptrace(8) improved, this improves the behaviour of GDB
when the debugee terminates
- emx.dll: __ptrace(9) no longer steps into emx_syscall of emx.dll
- __dup() syscall implemented for OS/2
- __fsync() syscall implemented for OS/2
- __scrsize() syscall implemented (not yet implemented correctly for
DOS)
- __dup2(n,n) fixed for DOS: don't close the file
- __spawnve(): maximum size of arguments increased to 4096, E2BIG is
returned if the limit is exceeded
- __spawnve(): if P_DEBUG is used, the child process will be started
in a separate session unless the -E option is used
- __ioctl2(): FIONREAD, TCFLSH, TCSETAF
- __ptrace(): PTRACE_SESSION
- The following signals now cause a core dump unless catched or
ignored: SIGQUIT, SIGILL, SIGTRAP, SIGEMT, SIGFPE, SIGBUS, SIGSEGV
and SIGSYS
- emx under DOS now uses BIOS instead of DOS calls for termio
emxbind
-------
- emxbind: -e and -u commands added (set application type, update
emx)
- emxbind: -f, -p and -w options added (application type)
- emxbind: -r option added (add resources)
- emxbind now sets the "no internal fixups" module flag
GCC
---
- GCC 2.1
- GCC now requires a math coprocessor (80387)
- GCC: temporary files are created in the current working directory if
TMPDIR is not set. TMPDIR may end with a backslash
- Stack probes implemented in GCC. -mprobe enables stack probes,
-mnoprobe disables stack probes. By default, stack probes are
enabled. Programs compiled with -mprobe can be used with the -f0
emx option
- GCC fixed: -B was ignored; PATH was used for seeking cpp, cc1, as
and ld. Older versions of emx didn't use .exe files, therefore .exe
wasn't appended in gcc.c when seeking a program
GAS
---
- gas 1.38.1
- gas: signal problem fixed
- makebin: gas argument replaced with as
GDB
---
- GDB 4.4
- GDB no longer adds the .exe default extension
- The debuggee is now started in a separate session
- "set switch" and "show switch" commands added
- GDB now can debug Presentation Manager applications
Header files and C library
--------------------------
- Type of count parameter for memcpy etc. and return value of strlen
changed from int to size_t
- size_t changed from "unsigned int" to "unsigned long"
- bcmp, bcopy, bzero, memcmp, memcpy, memmove, memset, strcat, strcpy
and strlen coded in assembly language
- Number of streams increased from 20 to 40
- open() didn't return EMFILE if the operating system ran out of file
handles
- chmod() didn't return 0 on success
- closedir() now returns an int
- div() and ldiv() now perform a signed division
- Bug in exp() fixed
- Bug in utime() fixed
- Return value of acos() now between 0 and pi (was: -pi/2 and pi/2)
- putenv() return value fixed
- abort() declared volatile
- sscanf() whitespace bug fixed
- printf ("%%") bug fixed
- struct _dtd (sys/emx.h) changed to include hundredths of a second
- float.h now available (it's somewhat inaccurate because printf() and
strtod() are somewhat incaccurate)
- unistd.h now available (well, some bits of it)
- Signal numbers reassigned, SIGEMT declared
- I/O flag bits reassigned (see stdio.h, sys/fcntl.h, sys/emx.h)
- Link with /emx/lib/binmode.o for setting the default open mode to
binary
- Some helper functions moved from libc.a (crt0.s) to libgcc.a
- __main() put into libgcc.a for GCC 2.x. Currently, this function
does nothing as C++ is not yet supported
- Obsolete functions removed from C library and include files: prtc(),
prti(), prts(). Test programs changed to not use these functions
- _exit(): The return code will be replaced with 255 if it is greater
than 255
- exit() now uses _cleanup()
- abort() now uses _cleanup() and "raise (SIGABRT)"
- fcntl() now exists, F_GETFL and F_SETFL partially implemented
(O_APPEND should work, O_NDELAY is implemented for termio). F_GETFD
and F_SETFD implemented for OS/2 only
- ioctl(): FIONREAD implemented for handle 0 if IDEFAULT and ICANON
are not set
- ioctl(): TCFLSH implemented for the keyboard
- ioctl(): TCSETAF now flushes the keyboard buffer
- termio: ICANON and IDEFAULT moved from c_iflag to c_lflag
- termio: IDELETE in c_iflag
- getcwd() return value fixed
- sys/emx.h now included
- _seek_hdr() and _fseek_hdr() now work relative to the current
position of the file pointer
- scanf(): %X implemented
- MAXNAMLEN and MAXPATHLEN changed to 260
- P_tmpdir in stdio.h changed to ".". This affects tmpnam(),
tempnam() and tmpfile()
- _ulimit3() system call replaced with __ulimit() system call
- bsearch() fixed: comparison was reversed
- stdarg.h improved for types with sizeof(type) < 4. There's still a
problem with float promoted to double
- varargs.h improved(?)
- The names of all the syscall functions now start with two
underscores, all the syscalls are now interfaced by a library
function
- tempnam() fixed for NULL passed to DIR argument
- tempnam() fixed for trailing backslash in DIR argument or TMP
environment variable
- tempnam() now returns an absolute path name
- Check for emx version in _startup()
- fclose() return value fixed
- Global variable _osmode (which contains DOS_MODE or OS2_MODE)
implemented
- New library functions: spawnl(), spawnle(), spawnlp() and
spawnlpe()
- New library functions: pipe(), pclose() and popen(). Implemented
for OS/2, only
- New library funtions: _isterm(), _swchar(), _chdir2(), _fullpath(),
_fngetdrive(), _getcwd1(), _getcwd2(), _getdrive(), _memcount(),
_fsetmode(), _scrsize()
- ftime() implemented, see sys/timeb.h. Timezones are still not
implemented
- dup() fixed: copy _files[] entry
- _ftime() syscall renamed __filetime()
- fopen() fixed: return value
- eof() fixed: use tell(), not fseek()
- access() fixed: directories accessible, use (mode & 2) instead of
(mode == 2), fix errno values
- printf ("%04d", -1) fixed, put zeros after sign
OS/2 API
--------
- OS/2 API calls added: DosFreeModule, DosLoadModule,
DosQueryProcAddr, DosSetFileInfo, DosSetPathInfo, DosQueryPathInfo,
DosQueryCurrentDisk, DosQueryFSAttach, DosQueryDBCSEnv,
DosSetProcessCp, DosQueryModuleName, DosQueryModuleHandle,
DosQueryProcType, DosError, DosErrClass, DosDebug
- OS/2 semaphore API calls added
- OS/2 tasking API calls added
- OS/2 named pipe API calls added
- OS/2 queue API calls added
- OS/2 exception API calls added
- OS/2 session manager API calls added
- Some Presentation Manager calls added
Sample and test programs
------------------------
- sieve.c fixed: 3rd argument of memset() was wrong
- /emx/test/makefile updated
- Obsolete test programs deleted
Other changes
-------------
- Directory structure changed, all GNU programs are now under
/emx/gnu
- GCC documentation now included (TeX)
- upda.exe now included. This utility is required for building the C
library
- New utility: updt.exe. Used for building GCC
- emximp bug fixed: list of libraries wasn't cleared when starting a
new output file
- emximp: -p command line option
0.8b (18-Feb-1992)
==================
- See emx.chg for changes to versions older than 0.8b
--------------------------- END OF HISTORY.DOC ------------------------------