This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: 2.10.91: A problem with LINK_ONCE_DISCARD sections on mipsel-linux
- To: "Maciej W. Rozycki" <macro at ds2 dot pg dot gda dot pl>
- Subject: Re: 2.10.91: A problem with LINK_ONCE_DISCARD sections on mipsel-linux
- From: Alan Modra <alan at linuxcare dot com dot au>
- Date: Wed, 4 Oct 2000 00:50:42 +1100 (EST)
- cc: binutils at sourceware dot cygnus dot com
On Tue, 3 Oct 2000, Maciej W. Rozycki wrote:
> On Tue, 3 Oct 2000, Alan Modra wrote:
>
> > > Hmm, maybe we could mark such symbols global?...
> >
> > Well, that would lead to multiply defined symbol errors for normal
> > (non-linkonce) section symbols. Actually, after following this path of
>
> I meant "section symbols for LINK_ONCE_DISCARD sections only". I suppose
> I wasn't clear enough. Due to the way these sections are handled, they
> are not quite local, indeed. Marking these symbols as global would allow
> them to be looked up in the global symbol hash.
Yes, that should work. At least the concept is right.
> > reasoning earlier, I came close to retracting my comment about incorrect
> > output. Since section symbols must stay local, in some ways it's not
> > unreasonable for the reference to the removed section symbol to resolve to
> > zero. However, it's confusing, and perhaps against the spirit of
> > link-once sections. See what happens when we extend your example a
>
> There are no symbols within LINK_ONCE_DISCARD sections, normally. They
> carry a single template each when built by the c++ compiler. Only the
> section symbol gets referenced from them.
Hmm, I'm still a little intrigued by why x86 gas behaves as it does. Oh,
well, something to look at tomorrow. It's time I hit the hay.
Alan Modra
--
Linuxcare. Support for the Revolution.