Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Feb 1996 19:01:35 -0500 (EST)
From:      Peter Dufault <dufault@hda.com>
To:        jdp@polstra.com (John Polstra)
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: g++ 2.7.2 / libg++ 2.7.1 and ld
Message-ID:  <199602130001.TAA17734@hda.com>
In-Reply-To: <199602122345.PAA14193@austin.polstra.com> from "John Polstra" at Feb 12, 96 03:45:19 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> > 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.

Yes, John is right (Thanks to Thomas Graichen who also suggested this
solution).

Those of you who told me things work just fine after moving to a
new assembler and using the existing linker:  No they aren't - you
just haven't had problems yet.

The problems only come up occasionally with name collisions in C++
output that the new
.weak code apparently expects the linker to resolve.

-- 
Peter Dufault               Real-Time Machine Control and Simulation
HD Associates, Inc.         Voice: 508 433 6936
dufault@hda.com             Fax:   508 433 5267



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199602130001.TAA17734>