dawes@suphys.physics.su.OZ.AU (David Dawes) (04/24/91)
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@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@suphys.physics.su.oz.au) DoD#210 | Phone: +61 2 692 2639 School of Physics, University of Sydney, Australia | Fax: +61 2 660 2903 ------------------------------------------------------------------------------