[comp.unix.sysv386] GNU G++ and libg++ ON ESIX REV D

rlb@bsts00.UUCP (Ronald ) (12/27/90)

I have compiled GCC 1.37.1 and G++ 1.37.0 for USG SYSV (ESIX Rev D).  
I do not use GAS or GLD since I compiled this code for COFF use.  However when
I compile the g++ lib 1.37.0 I get "aline" errors from my stock UNIX SYSV
assembler and the make aborts.  If I substitute the GNU assembler, I will
go past this error and compile the entire lib.  However, the library will 
not work since the GAS does not support COFF and the SYSV ld.  My question 
is this:

	Can GCC, G++ and the lib G++ work on SYSV with COFF?

	It appears that the docs indicate yes, however the g++ lib
	does not seem to support this?  

	GAS assembly makes the lib appear as a pre V7 pdp11/Vax file.

Thank's in advance for any pointers.

Ron



-- 
Ron Bolin	     	    (404) 529-3945
BellSouth Services   	    Rm 25M64, 675 W. Peachtree St.  Atlanta, Ga 30375
USENET EMAIL/Reply To:      ..!gatech!sbmsg1!bsts00!rlb
BellSouth EMAIL/Reply To:    sbesac!!bsts00!rlb or aimsx!bsts00!rlb

james@bigtex.cactus.org (James Van Artsdalen) (01/02/91)

In <1990Dec27.071639.3343@usenet.ins.cwru.edu>, ernie@po.CWRU.Edu wrote:

> In article <126@bsts00.UUCP> gatech!sbmsg1!rlb@bsts00.UUCP
	(Ronald (Ron) L. Bolin 3945 snk=) writes:

|	Can GCC, G++ and the lib G++ work on SYSV with COFF?

> There is a set of COFF patches to gas, gdb, gcc, and g++ available from
> tut.cis.ohio-state.edu, anonymous FTP directory pub/gnu/COFF.
> These patches modify gas to generate coff object files that are linkable
> with standard sysv ld.

Strange: I already have an assembler that can read gcc & g++ output
and generate COFF: /bin/as.

> the fsf does not yet officially recognize these patches, due to lack
> of interest in sysv/coff type things.

It may not be strictly lack of interest.  It may also be lack of
apparent need.  There is already a way in gcc and g++ to generate COFF
output: why is another way needed?

> The official gnu SYSV support system includes a program called
> robistussin, which bypasses COFF entirely, for better or for worse.

COFF support is official in both gcc and g++.  The major problem with
COFF support to date is that there is not "a COFF format".  Instead,
there are many different incompatible formats that are all called
COFF.  Some require that forward references be generated, whereas as
some consider this a fatal error.

Encapsulated COFF (robotussin & friends) is considered first-class
support over COFF because E-COFF is more general and powerful.  For
example, COFF gets very confused over include files, and COFF
fundementally can't support C++ debugging correctly because COFF is C
specific (C++ conceptual extensions to C simply can't be expressed).

Additionally, on many systems ld(1) is not robust.  I cannot use it to
build the X11r4 server with debugging (ld(1) dumps core).  If I need
to debug the server, I will have to use GNU ld.

> G++ and libg++ should work (eventually) under both of the above
> methods.

It can be made to work.  I had g++ 1.36 working under both gas and gcc
with libg++ working too.  It was painful to debug libg++ since I don't
know C++.  I plan to try again soon.  Several people have sent problem
reports to me that need to be fixed.  I will probably wait for the g++
that corresponds to gcc 1.38.
-- 
James R. Van Artsdalen          james@bigtex.cactus.org   "Live Free or Die"
Dell Computer Co    9505 Arboretum Blvd Austin TX 78759         512-338-8789

chip@tct.uucp (Chip Salzenberg) (01/03/91)

According to james@bigtex.cactus.org (James Van Artsdalen):
>In <1990Dec27.071639.3343@usenet.ins.cwru.edu>, ernie@po.CWRU.Edu wrote:
>> the fsf ... lack of interest in sysv/coff type things.
>
>It may not be strictly lack of interest.  It may also be lack of
>apparent need.

Exactly.  When I first ported gcc 1.37.1 to SCO UNIX, I used a
gas+COFF configuration.  I submitted my changes to Richard Stallman.
He requested that I change my patches to use the standard assembler if
possible.  I did so.  As a result, my patches were much smaller, yet
had equivalent functionality; and they didn't require gas.  That's why
gcc 1.38 supports SCO UNIX out of the box.  Er, tape.  Er, wire.  :-)
-- 
Chip Salzenberg at Teltronics/TCT     <chip@tct.uucp>, <uunet!pdn!tct!chip>
"Please don't send me any more of yer scandalous email, Mr. Salzenberg..."
		-- Bruce Becker