[gnu.g++.bug] My earlier comments on collect2 were not optimal... even wrong

ngo%tammy@HARVARD.HARVARD.EDU (01/19/90)

Earlier I sent in my conjecture on how to use collect2.  This involved
patching gcc.c to use collect2 as the sole step in the load phase.
Chris Smith from Convex has pointed out that all one need do is
install collect2 as gcc-ld.  To be more precise--

This is what I was doing wrong:
    * Follow all of the standard installation instructions, and
    * Use collect2.c in place of collect.c
    * Define USE_COLLECT in the Makefile
    * Modify gcc.c to *undo* the effects of defining USE_COLLECT

This is the way it works now:
    * Follow all of the standard installation instructions, and
    * Do NOT define USE_COLLECT or COFF in the Makefile
    * Modify the Makefile in 1.36.3 as follows
      - Fix the target "collect2:" by replacing $< by collect2.c; the
	$< doesn't work in Convex make, if I remember correctly
      - Fix the target "install:" by causing collect2 to be installed
	as gcc-ld, not gcc-install
    * Remember to #define FASCIST_ASSEMBLER in tm-convex.h

Again, these patches do not repair the bugs present in cc1plus 1.36.3.

Sorry for the confusion I might have caused!

--Tom Ngo

------- Forwarded Message

Return-Path: csmith@convex.com
Date: Thu, 18 Jan 90 19:09:01 -0600
From: csmith@convex.com (Chris Smith)
To: ngo%tammy@harvard (Tom Ngo)
In-Reply-To: ngo%tammy@HARVARD.HARVARD.EDU's message of 17 Jan 90 22:12:19 GMT
Subject: How to use collect2... my conjecture

Sorry, I've been neglecting my netnews reading and didn't see your
earlier messages. 

The secret of collect2.c is to install it as "/usr/local/lib/gcc-ld"
- -- it then does its thing with the constructors & destructors and
runs the real ld.  This should be mentioned in the README file, but
I don't have one handy to check.  [Low disk space, had to delete my
1.36.0 sources...]


------- End of Forwarded Message