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