[comp.unix.sysv386] GCC 1.39 & G++ 1.39.0 with COFF GAS 1.38 on ISC 2.2

karp-brad@CS.YALE.EDU (Brad Karp) (04/15/91)

A few months back, a great set of patches to GCC 1.37.1, G++ 1.37.1, and GAS
1.36 (plus a few mods to GDB 3.5) were made available which allowed one with
a COFF system (including ISC UNIX 2.2) to produce COFF binaries with stabs
using GAS, which in turn made it possible to produce "real" (i.e. non-
encapsulated) COFF object files with GCC and G++ _and_ GAS. I've been running
these GNU tools with these patches since the patches were made available, and
all has been flawless.

Does anyone out there have information about availability (both existence
and "where-to-get-it," preferably) of similar patches for the new versions of
these GNU development tools (GAS 1.38, GCC 1.39, and G++ 1.39.0)?

Thanks.
-- 
Brad Karp, (203) 436-3060 (voice)          | The views expressed in the text
my 386: karp%softshop.uucp@cs.yale.edu     | you have just perused are not my
via Yale CS Dept: karp-brad@cs.yale.edu    | own; rather, they are those of the 
Box 2443 Yale Station, New Haven, CT 06520 | heavenly muse who sings in me. -JM 

dawes@suphys.physics.su.OZ.AU (David Dawes) (04/15/91)

In article <30057@cs.yale.edu> karp-brad@CS.YALE.EDU (Brad Karp) writes:
>
>A few months back, a great set of patches to GCC 1.37.1, G++ 1.37.1, and GAS
>1.36 (plus a few mods to GDB 3.5) were made available which allowed one with
>a COFF system (including ISC UNIX 2.2) to produce COFF binaries with stabs
>using GAS, which in turn made it possible to produce "real" (i.e. non-
>encapsulated) COFF object files with GCC and G++ _and_ GAS. I've been running
>these GNU tools with these patches since the patches were made available, and
>all has been flawless.
>
>Does anyone out there have information about availability (both existence
>and "where-to-get-it," preferably) of similar patches for the new versions of
>these GNU development tools (GAS 1.38, GCC 1.39, and G++ 1.39.0)?

I was able to apply those old patches to the latest releases of gas, gcc, g++
without too much trouble.  (I have made this stuff available via anon ftp
from suphys.physics.su.oz.au in Esix/src/gnu, Esix/bin/gnu).

I have recently been trying to compile various parts of the X386 release using
this COFF version of gcc/gas, and ran into a few problems.  The main problems
were related to the shared libraries:  gcc/gas was putting uninitialised
statics in a .bss section rather than the .data section.  This caused problems
because the shlib spec file wasn't expecting a .bss section.  Another problem
was with the alignment of external variables in the .data section.  gas was
aligning them on 16 byte boundaries rather than on 4 byte boundaries.  This
caused the shared libs created by the coff gcc/gas to be incompatible with
the standard ones.  Another minor problem is that when gas aligns code in
.text, it fills in the gaps with 0x00 (as fills the gaps with nop (0x90)).
This doesn't cause runtime problems, but it does cause dis(1) to get confused.

When I get some time I am going to look into these incompatibilities.  I don't
know if this is how the gcc-1.37.1/gas-1.36 behaved, but I suspect it is.

If anyone else has done any work on this I'd like to hear about it.

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
------------------------------------------------------------------------------

src@scuzzy.in-berlin.de (Heiko Blume) (04/17/91)

karp-brad@CS.YALE.EDU (Brad Karp) writes:
>Does anyone out there have information about availability (both existence
>and "where-to-get-it," preferably) of [COFF] patches for the new versions of
>these GNU development tools (GAS 1.38, GCC 1.39, and G++ 1.39.0)?

anon ftp to dg-rtp.dg.com [128.222.1.2], look in /pub/gnu/gas-coff/

or anon uucp to me, /src/gnu/gas-1.38.1/COFF-patches.Z and COFF-README.Z.
-- 
   Heiko Blume <-+-> src@scuzzy.in-berlin.de <-+-> (+49 30) 691 88 93 [voice!]
                  public UNIX source archive [HST V.42bis]:
        scuzzy Any ACU,f 38400 6919520 gin:--gin: nuucp sword: nuucp
                     uucp scuzzy!/src/README /your/home

b2676870@rick.cs.ubc.ca (Wilson W Ma) (04/18/91)

As it seems you are quite knowledgeable with GCC et al., I am having a devil of
a time getting G++ 1.39 built.  I can build it, but unfortunately, none of the
loaders seem to work.  I probably have set some wrong compile options but I am
not even sure of that!  I am also unsure of which crt files that ISC and g++
require to get them talking properly.  I've applied the GAS COFF patches and
both GCC 1.39 and GAS are working well with ISC's ld.  But I cannot get G++
working.  Any suggestions?

Thanks, Wilson