This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/33871] [4.3 Regression] typeinfo name referenced in ... defined in discarded section
- From: "rguenther at suse dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 30 Oct 2007 18:44:59 -0000
- Subject: [Bug c++/33871] [4.3 Regression] typeinfo name referenced in ... defined in discarded section
- References: <bug-33871-5606@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #19 from rguenther at suse dot de 2007-10-30 18:44 -------
Subject: Re: [4.3 Regression] typeinfo name referenced in
... defined in discarded section
On Tue, 30 Oct 2007, geoffk at geoffk dot org wrote:
> On 30/10/2007, at 11:07 AM, rguenth at gcc dot gnu dot org wrote:
>
> > ------- Comment #16 from rguenth at gcc dot gnu dot org 2007-10-30
> > 18:07 -------
> > Geoff, your patch changed the typeinfo symbols for anonymous
> > namespaces from
> > having weak linkage to non-weak linkage. This caused the
> > regression. Do you
> > argue this change was deliberate and is the right thing? Why do you
> > think so?
> > Can you please restore the old behavior which is also that of other
> > compilers
> > for the linux targets?
>
> No, it changed the typeinfo symbols from being externally visible and
> having weak linkage, to not being externally visible in which case the
> weak-ness does not matter.
>
> The change is correct and necessary. You cannot access an anonymous
> namespace from outside the translation unit it is defined in, so the
> associated symbols do not need to be externally visible, and the
> change is correct. It is necessary if you do not use random strings
> in the symbol names, because otherwise the symbols will conflict.
>
> It does not matter what other compilers do, this is not an ABI issue.
I see. So where is the bug here? We obviously see application builds
fail because of this.
Richard.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33871