Updated release of gcc/g++-1.39 with COFF gas-1.38.1
David Dawes
dawes at suphys.physics.su.OZ.AU
Wed Apr 24 21:21:33 AEST 1991
This posting is to announce an updated release of gcc/g++ version 1.39
configured to use a version of gas-1.38.1 modified to produce COFF objects.
This release has been configured to run under Esix 5.3.2 Rev D, but should
be usable with most other sysv/386 r3.2 systems.
The previous version had a number of problems which became apparent
when compiling Thomas Roell's X386. These problems have been fixed in
this release.
The changes in this release are:
1. gcc was producing .align directives using AT&T syntax, but BSD syntax
is required when using gas. This has been fixed. (This problem caused
target shared libraries to be incompatible with those distributed with X386.)
2. gcc previously required the "-shlib" flag when linking with shared
libraries (so that the correct start and end objects were given to ld).
I have followed the method used in config/tm-i386esix.h, and now the
"-shlib" flag is not required. (Linking is always done with crt1.o, crtn.o
-- this is consistent with the native cc/as combination.)
3. The COFF gcc/gas combination caused problems when making shared libraries
because it puts uninitialised static data in the .bss section, whereas the
native cc/as combination puts this data in the .data section. I have
provided the flags "-mnobss" and "-musebss", which can be used to select
the desired behaviour. The default is "-musebss" (this often leads to
smaller binaries). "-mnobss" should be used when generating shared
libraries.
4. Gas has been patched so that .align directives in the .text section produce
NOP instructions (0x90) to fill the gaps rather than filling with 0x00.
This makes the binaries easier for dis(1) to process. This patch was
supplied by Peter Schauer (pes at regent.e-technik.tu-muenchen.de).
This release is available via anonymous ftp from suphys.physics.su.oz.au
(129.78.129.1). The source is in the directory Esix/src/gnu, documentation
(in both TeX and PostScript) is in Esix/docs/gnu, and binaries (compiled
under Esix 5.3.2 Rev D) are in Esix/bin/gnu.
Before downloading any source, PLEASE read the README file in Esix/src/gnu.
Also available are bison-1.14, libg++-1.39.0, groff-1.01.
David
--
------------------------------------------------------------------------------
David Dawes (dawes at suphys.physics.su.oz.au) DoD#210 | Phone: +61 2 692 2639
School of Physics, University of Sydney, Australia | Fax: +61 2 660 2903
------------------------------------------------------------------------------
More information about the Comp.unix.sysv386
mailing list