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