From owner-freebsd-hackers Mon Feb 12 15:45:35 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id PAA13693 for hackers-outgoing; Mon, 12 Feb 1996 15:45:35 -0800 (PST) Received: from austin.polstra.com (austin.polstra.com [206.213.73.10]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id PAA13683 for ; Mon, 12 Feb 1996 15:45:32 -0800 (PST) Received: from austin.polstra.com (jdp@localhost) by austin.polstra.com (8.6.12/8.6.12) with ESMTP id PAA14193; Mon, 12 Feb 1996 15:45:19 -0800 Message-Id: <199602122345.PAA14193@austin.polstra.com> To: dufault@hda.com Cc: freebsd-hackers@freebsd.org Subject: Re: g++ 2.7.2 / libg++ 2.7.1 and ld Date: Mon, 12 Feb 1996 15:45:19 -0800 From: John Polstra Sender: owner-hackers@freebsd.org Precedence: bulk Peter Dufault wrote: > 1. Start with pgcc in -ports; > ... > As suggested in the list archives, I tried adding "#define > SUPPORTS_WEAK 0" to config/xm-freebsd.h in the compiler, however, > it still generates weak symbols. I was working on ports of gcc-2.7.2 and libg++-2.7.1 for a while. I got interrupted and put it down, unfortunately. But maybe I can put you on the right track. (Note: I haven't looked at the pgcc stuff.) The way to get rid of the weak symbols is to delete these lines from "config/i386/freebsd.h": #define ASM_WEAKEN_LABEL(FILE,NAME) \ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \ fputc ('\n', FILE); } while (0) Just delete them; that's all you have to do. After that, everything should work fine with our standard assembler and linker. > The distributed gnu binutils linker fall down on FreeBSD. If you > configure it as any of our formerly close relatives (bsd, bsdi, or > netbsd) it won't work: Right. Don't waste your time on the GNU binutils linker. FreeBSD support is MILES away. For starters, there is absolutely _no_ support for our shared libraries in it. > I will be endebted to whomever can get this tool chain working > properly by about Wednesday. Don't use binutils. Just make the compiler change to get rid of weak symbols, and use the standard FreeBSD assembler and linker. > I'm also interested in why we had to go off in left field with our > linker. We didn't go off in left field with our linker. It's just old, that's all. We stayed in one place, while GNU went off somewhere else (left field?). I dearly wish that GNU binutils had up-to-date FreeBSD support, but it doesn't. It would take a _lot_ of work to put it in. -- John Polstra jdp@polstra.com John D. Polstra & Co., Inc. Seattle, Washington USA "Self-knowledge is always bad news." -- John Barth