| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | 2 EMX 0.9a patch/change list, p1 of 2 |
- emxomf no longer creates groups for sets (such as __CTOR__LIST__).
In consequence, executables become smaller and use less memory as
sets are no longer put into objects of their own, unless the
executable is linked with at least one module which has groups for
sets. The -g option can be used to get the old behavior, that is,
groups will be created for sets
- Command line options for emxomf can now be set in the EMXOMFOPT
environment variable
- Several bugs fixed
emximp
------
- emximp can now read multiple .def files
- display warning message when the input .lib file contains static
code or data
emxload
-------
- emxload now selects the root directory as current directory. In
consequence, directories are no longer locked from renaming and
deleting
- emxload -l now lists the time-out as minutes:seconds
- The emxload server sets its priority to `foreground server'
GCC
- Fix bug in -Xlinker (which has been introduced by adding -Zlinker)
- The -Zwait option has been removed
- New -Zmap option: write map file (passed down to ld or emxomfld)
- If no output file name is given and the link step is not suppressed,
an .exe file (or .dll file if -Zdll is given) will be created
instead of `a.out'. The base name is taken from the first input
file. Example:
gcc sample.c utils.c
creates sample.exe
- New -Zbsd-signals and -Zsysv-signals options for selecting signal
processing model
- New -Zbin-files option for linking with binmode.o, selecting binary mode
as default for fopen(), open(), etc.
- New -Zmt option for compiling multithread programs. The -Zmt
option does not select static vs. dynamic linking
- New -Zcrtdll option for dynamic linking. The -Zcrtdll option does
not select compiling and linking single-thread vs. multithread
programs. Zmtd is an abbreviation for -Zmt -Zcrtdll
- New -Zso and -Zno-rte options for creating stand-alone DLLs and DLLs
without runtime environment
- Reject incompatible options
- This port of GCC no longer works with GAS 1.38
GAS
- The -w option has been removed
- New -Zomf option: call emxomf to create .obj file
- New -Zstrip option: pass the -s option (omit debugging information)
to emxomf
GNU ld
------
- Fix two bugs in processing of set vectors (used for constructors,
destructors, import method (I1) and for graph.a). IMPORTANT: You
have to use the new GNU ld for linking with graph.a
- New -Zmap option: write map file (passed down to emxbind)
- New -Zno-demangle option: don't demangle C++ symbols in error
messages
- New -Zdemangle-proto options: include parameters and qualifiers in
demangled C++ symbols in error messages
- Use a new version of the C++ demangler
GNU ar
------
- New J option for removing directories from filenames added to the
archive
GNU info
--------
- Try to fix problem with `dir' and info files in text format (CR/LF)
Other changes
-------------
- os2emx.h: Add spooler functions (PMSPL.DLL) and some Workplace Shell
functions. Add structure tags to make C++ modules compiled with
os2emx.h linkable with C++ modules compiled with the Toolkit headers
- Workplace Shell sample program added: Flag (see
/emx/samples/makefile for details)
- REXX sample added: regexx.dll and rgrep.cmd
- New sample programs: redir and rmdirs
- emxcat: sort input files by name to get identical results when using
wildcards, independent of the file system type (FAT vs. HPFS) and
the order of the files in the directory
- emxomfld: add -Zmap option and no longer automatically recognize
.map files
- os2emx.h: Add INCL_FONTFILEFORMAT
- GPPDEMID.DLL: fix a problem with templates, use a new version of the
C++ demangler
- The OS/2 error code ERROR_INVALID_PATH is now mapped to ENOENT
instead of EINVAL
0.8h (14-Dec-1993)
==================
Important notes
---------------
- The emxdoc.ndx file has been renamed emxbook.ndx. You should set
the EMXBOOK environment variable instead of EMXDOC. Replace EMXDOC
with EMXBOOK in the HELPNDX environent variable. If you're using
GNU Emacs, don't forget to update the value of the `os2help'
variable
- Each thread now has its own set of signal handlers. raise() raises
a signal in the current thread, kill() can be used to send a signal
to the main thread (thread 1)
- The `lib' prefix has been removed from the file names of the
libraries. The -l option of GNU ld and emxomfld no longer prepends
`lib' to the library name. Now you should use -lcurses (instead of
-lcurse) and -ltermcap (instead of -ltermc)
- The default stack size for -Zomf has been increased to 0x8000 bytes
- The address of the emx-list mailing list has changed, see readme.doc
- The iostream classes are no longer in libg++. Use libiostream
instead (replace -lgpp with -liostream)
Highlights
----------
- GPPDEMID.DLL has been provided to let LINK386 demangle C++ symbols
in error messages
- The new emxload utility speeds up compiling by keeping the compiler
passes in memory. Use
SET GCCLOAD=5
to keep the compiler in memory for 5 minutes
- emxomf now generates HLL version 3 debugging information for IPMD of
the C/C++ Tools 2.0 package, including C++
- emxomf has been enhanced to support creation of dynamic link
libraries with both instance data and private data
- Exceptions are now mapped to SIGFPE, SIGILL and SIGSEGV signals.
SIGTERM is now supported under OS/2
- New emxexp utility to simplify creating C++ dynamic link libraries
- New versions of GNU programs have been ported: GCC 2.5.7 (see
\emx\doc\NEWS.GCC), GDB 4.11, libg++ 2.5.2 and libiostream 0.62.
Linking with the GNU C++ iostream library doesn't put your program
under GPL (see \emx\doc\COPYING.IOS for details)
- Static constructors and destructors in dynamic link libraries are
now supported officially
- Support for creating custom C run-time DLLs added (cdllobj.lib).
Support for creating resource DLLs added (res0.obj)
- A REXX procedure (emxinst.cmd) for creating a documentation folder
is now included
emx for OS/2
------------
- __signal() did not return the previous signal handler if emx.dll was
used
- Don't crash if a signal is received in 16-bit code of the operating
system
- The stack object of an executable with preloaded data (-c option of
emxbind) was omitted from core dumps. This has been fixed (revision
index 14 of emx.dll)
- Bug in __clock() fixed: the return values were not monotonous
emx for DOS
-----------
- emxl.exe now runs rsx.exe (a DPMI-compliant DOS extender by Rainer
Schnittker which implements a subset of the emx system calls)
instead of emx.exe if a DPMI server, but no VCPI server is found.
In that case, the RSX environment variable will be used instead of
EMX
- emx no longer displays a register dump if a protection violation has
been detected. A core dump file is written instead
- __spawnve() now supports P_NOWAIT. However, the process will be run
synchronously. You can now use wait() with the spawn*() functions
if you use P_NOWAIT. SIGCLD is raised before continuing the parent
process
- __memaccess() bug fixed. For _memaccess (0, n*4095-1, 0), page 0 was
mapped n times and the other pages were not mapped
- __select() now returns EINTR when interrupted by a signal
- __select() no longer returns EINVAL for nearly all non-zero values
of tv_usec
emxbind
-------
- A bug has been removed which caused a corrupt fixup page table in
rare cases
- Speed up processing programs which import many symbols
- New -E option for renaming emx.dll
- emxbind now supports import by name when using method (I2)
emximp
------
- emximp now can directly convert a .def file to a .lib file, without
having to create an intermediate .imp file
- emximp now supports import by name when writing an .a file for
method (I2)
emxomf
------
- Write IDMDLL record. The name of the identifier manipulation DLL
can be changed with the -I command line option
- Generate HLL version 3 debugging information for IPMD of the C/C++
Tools 2.0 package
- New -D option for renaming the data segment. This can be used for
creating dynamic link libraries which have both instance data and
shared data
- The default stack size for modules translated with the -m option has
been increased to 0x8000 bytes
- Support import by name
- The -l option now takes an option argument, the entry symbol
emxomfld
--------
- New -O option for passing options to LINK386
- New -Zdll option to tell emxomfld that a DLL is being built
- Pass /base:0x10000 to LINK386 unless a DLL is built or the -T option
is specified
- The -l option no longer prepends `lib' to the name of the library
- The directories set by -L options are now inserted at the start of
the LIB environment variable
listomf
-------
- List HLL version 3 debugging information. Older versions of HLL
debugging information are no longer supported
- Now lists more OMF record types in human-readable form
GCC
- Version 2.5.7 has been ported to emx. See \emx\doc\NEWS.GCC for
details
- Under OS/2, GCC now supports -pipe
- GCCLOAD and GCCOPT environment variables added
- New -Zlinker option to pass options to LINK386
- Pass -Zdll option to emxomfld
GNU ld
------
- Use new C++ demangler
- The -l option no longer prepends `lib' to the name of the library
GNU nm
------
- Use new C++ demangler
Libraries
---------
- os2emx.h: Rename CPSZ to PCSZ, CPCH to PCCH
- Definition of HUGE and HUGE_VAL changed
- The type of the fields of struct tms (sys/times.h) has been changed
from time_t to clock_t
- All the libraries have been renamed to remove the `lib' prefix
- Each thread now has its own set of signal handlers. raise() raises
a signal in the current thread, kill() can be used to send a signal
to the main thread (thread 1)
- access(): Directories on a CDROM are not writable
- _msize() now returns 0 if the argument is NULL
- _fnexplode(): No longer crashes when applied to an empty directory
- open() etc.: Move to the end of the file when opening a file for
appending. This is required for passing the handle to a child
process
- popen() and system(): The COMSPEC environment variable can now be
overriden with the EMXSHELL environment variable
- popen() and system(): Use -c instead of /c unless COMPSPEC (or
EMXSHELL) points to cmd.exe, 4os2.exe, command.com or 4dos.com
- printf(), scanf() etc. and strtod() have been rewritten. Several
small bugs have been removed (and replaced by new ones :-)
- rand() is now thread-safe when using the multithread libraries
- Various small bugs in strtol() and strtoul() fixed
- Bug in memcmp() and strcmp() fixed (wrong sign)
- _threadstore() and _threadid added
- _osminor and _osmajor fixed for -Zsys
- open() and fopen() etc. didn't update the time stamp of a file when
opening an existing file of size 0 for writing
- open() and fopen() etc. now remove the final Ctrl-Z when opening a
file for appending in write-only mode. Previously, this was done
only in read/write mode. Note that this requires opening the file
in read/write mode, temporarily
- _execname() added (not yet implemented under DOS)
- _envargs() added
- Functions which support the `long double' format have been added
- You can now build DLLs with -Zomf and -Zsys. There was a bug in the
startup code of the emx 0.8g C library
- The `load' sample program has been replaced with the `emxload' tool
- Library functions for keeping OS/2 programs in memory added:
_emxload_env() etc.
- System call library (-Zsys): Decommit pages when shrinking the size
of the heap with brk() or sbrk()
- System call library (-Zsys): waitpid() waits for any child process
if PID is -1
- wait(): Set errno to ECHILD (not ESRCH) if there are no child processes
- Functions __ctordtorInit() and __ctordtorTerm() for calling static
constructors and destructors, respectively, in dynamic link
libraries have been added
- Add _errno() function for creating libraries that can be used for
single-thread and multithread programs
- New library for reading module definition files: moddef (see
_md_open() for details)
Other changes
-------------
- The supplemental files for patching the GNU programs have been moved
from \emx\gnu to \emx\gnu\patches
- bsddev.doc is now available as OS/2 on-line book
0.8g (13-Jul-1993)
==================
Important notes
---------------
- IMPORTANT: The -Zmt GCC option has been renamed -Zmtd. If GCC
complains about an unknown -Zmt option, use -Zmtd instead (unless
you want to use static linking). Most existing makefiles use -Zmt
for dynamic linking
- The emx runtime is now available in a separate package: emxrt.zip.
user.doc has been renamed emxrt.doc and improved. See also
emxrt.inf
Highlights
----------
- You can now statically link multithread programs
- emxomf now converts debugging information suitable for IBM's IPMD
debugger
- os2emx.h enhanced
- New versions of GNU programs have been ported: GCC 2.4.5 (see
\emx\doc\NEWS.GCC), GDB 4.9 (including DUEL and REXX) and texinfo 3.1
- Source code for emxomf, emxomfar and emxomfld is now available
- Dynamic link library for the 32-bit wrappers for 16-bit OS/2 API
functions
- Hypertext documentation in OS/2 .inf format (on-line books)
emx
- SIGUSR1 and SIGUSR2 added
- umask() fixed
emx for OS/2
------------
- waitpid() returned an incorrect termination status
- termio keyboard buffer size increased (1024 characters now, was 256)
- Decommit pages when shrinking the size of the heap with brk() or
sbrk(). This saves memory (swap space) when using a malloc()
package which can shrink the size of the heap
- __spawnve() now does special argument quoting for CMD.EXE and
4OS2.EXE. Note that this may break existing programs such as MAKE.
If you have trouble with an emx port of MAKE, get the latest version
of that port -- the problem has probably been fixed in the
meantime
- P_PM and P_NOSESSION implemented for spawn*()
- Core dumps caused by signals and _core() improved, EIP is now in the
function which called __raise() or __core(). This simplifies post
mortem debugging after abort() has been called as GDB's backtrace
command will work properly
- Thunks to both _pascal and _cdecl functions can be built
emx for DOS
-----------
- Using emxl.exe no longer reduces the maximum length of the command
line
- Several emx options are now local to the process for which they have
been given (by emxbind)
- Options set by emxbind are now honored by emx programs started by
emx programs
- Nearly asynchronous handling of Ctrl-Break
- Additional interrupts supported: VESA functions of INT 10H, mouse
interface via INT 33H
- Bug in emxl.exe fixed: now you no longer have to sort the PATH
directories by length
- Bug fixed: debuggers couldn't access the initial argv[] and envp[]
arrays and strings
- __spawnve() now does special argument quoting for COMMAND.COM and
4DOS.COM
emxbind
-------
- Derive the module name from the output file name
- Reduce the alignment of the DOS stub
- The value of the STACKSIZE statement was rounded slightly
incorrectly
- The -h# and -k# options now accept octal and hexadecimal numbers
TTYL,
=--Ron TeamOS2
Fidonet: Ronald Van Iwaarden 1:104/338{at}fidonet.org
OS2net: Ronald Van Iwaarden 81:313/1{at}os2net.ftn
Internet: rvaniwaa{at}carbon.denver.colorado.edu
---
---
---
---
--- timEd/2-B9
* Origin: The OS/2 Source BBS (303)744-0373 (1:104/338)SEEN-BY: 12/2442 54/54 620/243 624/50 632/348 640/820 690/660 711/409 410 413 SEEN-BY: 711/430 807 808 809 934 942 949 712/353 623 713/888 800/1 @PATH: 104/338 730 1 3615/50 229/2 12/2442 711/409 54/54 711/808 809 934 |
|
| SOURCE: echomail via fidonet.ozzmosis.com | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.