[Bug c++/12175] [3.4 Regression] Tru64 UNIX bootstrap failure: multiply defined symbols linking libstdc++.so

dave at hiauly1 dot hia dot nrc dot ca gcc-bugzilla@gcc.gnu.org
Sun Sep 28 20:53:00 GMT 2003


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12175



------- Additional Comments From dave at hiauly1 dot hia dot nrc dot ca  2003-09-28 20:39 -------
Subject: Re:  [3.4 Regression] Tru64 UNIX bootstrap failure: mu

> Yes, this is the decl I am looking for (the _GLOBAL symbol is added later).
> It
> really is external so probably the patch I sent you will help.
> Can you send me backtrace of this call?
> It seems wrong to me that someone calls notice_global_symbol on it.

I think there is only one call that matters here, that's the one
in assemble_start_function.  I believe that there is a small bug
in notice_global_symbol.  It seems to me the function of this
routine is just to set appropriate values for first_global_object_name
and weak_global_object_name in a given translation unit.  The way
the code is written first_global_object_name or weak_global_object_name
can set several times until both get set.  I don't know if this matters
but we certainly don't get the "first" global object name saved in
first_global_object_name.s

Possibly, you are correct that we are accidently picking an external
symbol for the first global object name and this is causing the duplication
in constructor names.

Dave



More information about the Gcc-bugs mailing list