public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
@ 2010-05-03 8:05 ubizjak at gmail dot com
2010-05-03 8:14 ` [Bug libstdc++/43968] " ubizjak at gmail dot com
` (18 more replies)
0 siblings, 19 replies; 20+ messages in thread
From: ubizjak at gmail dot com @ 2010-05-03 8:05 UTC (permalink / raw)
To: gcc-bugs
libmudflap.c++/pass41-frag.cxx test case fails with -static [1] due to link
problem in libstdc++:
FAIL: libmudflap.c++/pass41-frag.cxx (-static) (test for excess errors)
WARNING: libmudflap.c++/pass41-frag.cxx (-static) compilation failed to produce
executable
The problem can be triggered with following command:
/home/uros/gcc-build/gcc/g++ -B/home/uros/gcc-build/gcc
-I/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/include/alphaev68-unknown-linux-gnu
-I/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/include
-I/home/uros/gcc-svn/trunk/libstdc++-v3/libsupc++
-L/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs
-static pass41-frag.cxx
and compilation fails with:
/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.a(locale.o):/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/../../../../gcc-svn/trunk/libstdc++-v3/src/locale.cc:421:
undefined reference to `std::num_get<char, std::istreambuf_iterator<char,
std::char_traits<char> > >::id'
/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.a(locale.o):/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/../../../../gcc-svn/trunk/libstdc++-v3/src/locale.cc:422:
undefined reference to `std::num_put<char, std::ostreambuf_iterator<char,
std::char_traits<char> > >::id'
/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.a(locale.o):/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/../../../../gcc-svn/trunk/libstdc++-v3/src/locale.cc:423:
undefined reference to `std::money_get<char, std::istreambuf_iterator<char,
std::char_traits<char> > >::id'
/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.a(locale.o):/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/../../../../gcc-svn/trunk/libstdc++-v3/src/locale.cc:424:
undefined reference to `std::money_put<char, std::ostreambuf_iterator<char,
std::char_traits<char> > >::id'
/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.a(locale.o):/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/../../../../gcc-svn/trunk/libstdc++-v3/src/locale.cc:426:
undefined reference to `std::num_get<wchar_t, std::istreambuf_iterator<wchar_t,
std::char_traits<wchar_t> > >::id'
/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.a(locale.o):/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/../../../../gcc-svn/trunk/libstdc++-v3/src/locale.cc:427:
undefined reference to `std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t,
std::char_traits<wchar_t> > >::id'
/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.a(locale.o):/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/../../../../gcc-svn/trunk/libstdc++-v3/src/locale.cc:428:
undefined reference to `std::money_get<wchar_t,
std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::id'
/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.a(locale.o):/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/../../../../gcc-svn/trunk/libstdc++-v3/src/locale.cc:429:
undefined reference to `std::money_put<wchar_t,
std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::id'
collect2: ld returned 1 exit status
Without -static, everything works OK.
[1] http://gcc.gnu.org/ml/gcc-testresults/2010-05/msg00240.html
--
Summary: undefined references to `std::{num_get, num_put,
money_get, money_put}< [...] >::id' with -static
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ubizjak at gmail dot com
GCC build triplet: alpha-linux-gnu
GCC host triplet: alpha-linux-gnu
GCC target triplet: alpha-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug libstdc++/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
@ 2010-05-03 8:14 ` ubizjak at gmail dot com
2010-05-03 10:52 ` paolo dot carlini at oracle dot com
` (17 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: ubizjak at gmail dot com @ 2010-05-03 8:14 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from ubizjak at gmail dot com 2010-05-03 08:14 -------
The testcase:
#include <string>
#include <iostream>
int
main (int argc, char *argv[])
{
std::string myStr = "Hello, World!";
std::cout << myStr << std::endl;
return 0;
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug libstdc++/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
2010-05-03 8:14 ` [Bug libstdc++/43968] " ubizjak at gmail dot com
@ 2010-05-03 10:52 ` paolo dot carlini at oracle dot com
2010-05-03 11:47 ` ubizjak at gmail dot com
` (16 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: paolo dot carlini at oracle dot com @ 2010-05-03 10:52 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from paolo dot carlini at oracle dot com 2010-05-03 10:52 -------
Before we do anything here, you should try to explain why the problem happens
only on alpha, because on x86_64 it doesn't and those symbols are exported
("V"). Are the symbols exported on alpha? Are we **really** sure that aging
target is otherwise ok, binutils included?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug libstdc++/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
2010-05-03 8:14 ` [Bug libstdc++/43968] " ubizjak at gmail dot com
2010-05-03 10:52 ` paolo dot carlini at oracle dot com
@ 2010-05-03 11:47 ` ubizjak at gmail dot com
2010-05-03 11:50 ` ubizjak at gmail dot com
` (15 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: ubizjak at gmail dot com @ 2010-05-03 11:47 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from ubizjak at gmail dot com 2010-05-03 11:46 -------
(In reply to comment #2)
> Before we do anything here, you should try to explain why the problem happens
> only on alpha, because on x86_64 it doesn't and those symbols are exported
> ("V"). Are the symbols exported on alpha? Are we **really** sure that aging
> target is otherwise ok, binutils included?
In the hope it helps, this is what I get from
libstdc++-v3/src/.libs/libstdc++.a:
$ c++filt _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE
std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> >
>::id
$ nm libstdc++.a | grep
_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE
U
_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE
0000000000000000 u
_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug libstdc++/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
` (2 preceding siblings ...)
2010-05-03 11:47 ` ubizjak at gmail dot com
@ 2010-05-03 11:50 ` ubizjak at gmail dot com
2010-05-03 11:52 ` paolo dot carlini at oracle dot com
` (14 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: ubizjak at gmail dot com @ 2010-05-03 11:50 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from ubizjak at gmail dot com 2010-05-03 11:50 -------
As shown, these symbols are exported as "u":
`u'
The symbol is a unique global symbol. This is a GNU
extension to the standard set of ELF symbol bindings. For
such a symbol the dynamic linker will make sure that in the
entire process there is just one symbol with this name and
type in use.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug libstdc++/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
` (3 preceding siblings ...)
2010-05-03 11:50 ` ubizjak at gmail dot com
@ 2010-05-03 11:52 ` paolo dot carlini at oracle dot com
2010-05-03 12:13 ` [Bug target/43968] " ubizjak at gmail dot com
` (13 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: paolo dot carlini at oracle dot com @ 2010-05-03 11:52 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from paolo dot carlini at oracle dot com 2010-05-03 11:52 -------
This is what I get on x86_64:
nm libstdc++.a | grep
_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE
U
_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE
U
_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE
0000000000000000 V
_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE
thus, seems a target problem to me.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug target/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
` (4 preceding siblings ...)
2010-05-03 11:52 ` paolo dot carlini at oracle dot com
@ 2010-05-03 12:13 ` ubizjak at gmail dot com
2010-05-03 12:17 ` paolo dot carlini at oracle dot com
` (12 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: ubizjak at gmail dot com @ 2010-05-03 12:13 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from ubizjak at gmail dot com 2010-05-03 12:12 -------
(In reply to comment #5)
> This is what I get on x86_64:
> thus, seems a target problem to me.
Do you have any advice, where/how these symbols get exported? I would like to
analyze the failure, so we can blame some other tool ;)
(No, I'm not sure that binutils work correctly...)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug target/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
` (5 preceding siblings ...)
2010-05-03 12:13 ` [Bug target/43968] " ubizjak at gmail dot com
@ 2010-05-03 12:17 ` paolo dot carlini at oracle dot com
2010-05-03 17:26 ` ubizjak at gmail dot com
` (11 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: paolo dot carlini at oracle dot com @ 2010-05-03 12:17 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from paolo dot carlini at oracle dot com 2010-05-03 12:17 -------
In locale-inst.o
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug target/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
` (6 preceding siblings ...)
2010-05-03 12:17 ` paolo dot carlini at oracle dot com
@ 2010-05-03 17:26 ` ubizjak at gmail dot com
2010-05-03 17:42 ` paolo dot carlini at oracle dot com
` (10 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: ubizjak at gmail dot com @ 2010-05-03 17:26 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from ubizjak at gmail dot com 2010-05-03 17:25 -------
(In reply to comment #7)
> In locale-inst.o
Strange, on alpha it is defined in compatibility-ldbl.o.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug target/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
` (7 preceding siblings ...)
2010-05-03 17:26 ` ubizjak at gmail dot com
@ 2010-05-03 17:42 ` paolo dot carlini at oracle dot com
2010-05-03 17:44 ` ubizjak at gmail dot com
` (9 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: paolo dot carlini at oracle dot com @ 2010-05-03 17:42 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from paolo dot carlini at oracle dot com 2010-05-03 17:41 -------
Ah yes, it's probably because of the strange workarounds put in place for long
double. Anyway, if you encounter special issues having to do with that, Jakub
is the reference person.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug target/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
` (8 preceding siblings ...)
2010-05-03 17:42 ` paolo dot carlini at oracle dot com
@ 2010-05-03 17:44 ` ubizjak at gmail dot com
2010-05-04 12:31 ` ubizjak at gmail dot com
` (8 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: ubizjak at gmail dot com @ 2010-05-03 17:44 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from ubizjak at gmail dot com 2010-05-03 17:44 -------
(In reply to comment #9)
> Ah yes, it's probably because of the strange workarounds put in place for long
> double. Anyway, if you encounter special issues having to do with that, Jakub
> is the reference person.
Added to CC.
--
ubizjak at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu dot org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2010-05-03 17:44:18
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug target/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
` (9 preceding siblings ...)
2010-05-03 17:44 ` ubizjak at gmail dot com
@ 2010-05-04 12:31 ` ubizjak at gmail dot com
2010-05-04 12:36 ` paolo dot carlini at oracle dot com
` (7 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: ubizjak at gmail dot com @ 2010-05-04 12:31 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from ubizjak at gmail dot com 2010-05-04 12:31 -------
I belive this problem also shows on powerpc64-linux-gnu, configured with
--with-long-double-128 [1]:
FAIL: libmudflap.c++/pass28-frag.cxx (-static) (test for excess errors)
WARNING: libmudflap.c++/pass28-frag.cxx (-static) compilation failed to produce
executable
FAIL: libmudflap.c++/pass41-frag.cxx (-static) (test for excess errors)
WARNING: libmudflap.c++/pass41-frag.cxx (-static) compilation failed to produce
executable
FAIL: libmudflap.c++/pass55-frag.cxx (-static) (test for excess errors)
WARNING: libmudflap.c++/pass55-frag.cxx (-static) compilation failed to produce
executable
FAIL: libmudflap.c++/pass57-frag.cxx (-static) (test for excess errors)
WARNING: libmudflap.c++/pass57-frag.cxx (-static) compilation failed to produce
executable
It looks that long-double support in libstdc++ is broken for certain symbols.
[1] http://gcc.gnu.org/ml/gcc-testresults/2010-05/msg00285.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug target/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
` (10 preceding siblings ...)
2010-05-04 12:31 ` ubizjak at gmail dot com
@ 2010-05-04 12:36 ` paolo dot carlini at oracle dot com
2010-05-04 13:57 ` jakub at gcc dot gnu dot org
` (6 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: paolo dot carlini at oracle dot com @ 2010-05-04 12:36 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from paolo dot carlini at oracle dot com 2010-05-04 12:35 -------
Can well be, personally I *never* checked -static on the targets affected by
the 128 bit long double issue. I'm not even sure if Jakub himself did...
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug target/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
` (11 preceding siblings ...)
2010-05-04 12:36 ` paolo dot carlini at oracle dot com
@ 2010-05-04 13:57 ` jakub at gcc dot gnu dot org
2010-05-04 14:16 ` ubizjak at gmail dot com
` (5 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-05-04 13:57 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from jakub at gcc dot gnu dot org 2010-05-04 13:57 -------
I guess this must be related to STB_GNU_UNIQUE, at least I can't reproduce this
on ppc on Fedora 11 where STB_GNU_UNIQUE wasn't supported (even with recentish
gcc), while according to log I see these
WARNING: libmudflap.c++/pass41-frag.cxx (-static) compilation failed to produce
executable
on ppc, ppc64, s390 and s390x when doing 4.4.*-RH package builds in Fedora 12+
where STB_GNU_UNIQUE is supported.
libstdc++.a symbols look good though:
0000000000000000 V
_ZGVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE
0000000000000000 u
_ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE
0000000000000000 V
_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE
0000000000000000 u
_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug target/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
` (12 preceding siblings ...)
2010-05-04 13:57 ` jakub at gcc dot gnu dot org
@ 2010-05-04 14:16 ` ubizjak at gmail dot com
2010-05-04 15:32 ` jakub at gcc dot gnu dot org
` (4 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: ubizjak at gmail dot com @ 2010-05-04 14:16 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from ubizjak at gmail dot com 2010-05-04 14:16 -------
(In reply to comment #13)
> I guess this must be related to STB_GNU_UNIQUE, at least I can't reproduce this
> on ppc on Fedora 11 where STB_GNU_UNIQUE wasn't supported (even with recentish
> gcc), while according to log I see these
> WARNING: libmudflap.c++/pass41-frag.cxx (-static) compilation failed to produce
> executable
> on ppc, ppc64, s390 and s390x when doing 4.4.*-RH package builds in Fedora 12+
> where STB_GNU_UNIQUE is supported.
Thanks for your comments!
FYI, my binutils are "GNU ld (GNU Binutils) 2.20.1 20100303".
I don't know when binutils was upgraded, but looking back, I see that at the
end of april, results on alpha for this test were clean [1].
[1] http://gcc.gnu.org/ml/gcc-testresults/2010-04/msg02616.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug target/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
` (13 preceding siblings ...)
2010-05-04 14:16 ` ubizjak at gmail dot com
@ 2010-05-04 15:32 ` jakub at gcc dot gnu dot org
2010-05-04 15:33 ` paolo dot carlini at oracle dot com
` (3 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-05-04 15:32 UTC (permalink / raw)
To: gcc-bugs
------- Comment #15 from jakub at gcc dot gnu dot org 2010-05-04 15:31 -------
Ah, seems a generic ar/ranlib bug, apparently STB_GNU_UNIQUE symbols aren't
added into ar index :(.
Wonder why it hasn't showed up elsewhere yet. The reason why this doesn't hit
us in libstdc++.a on x86-64 is that the STB_GNU_UNIQUE symbols locale-inst.o
needs are in locale-inst.o rather than compatibility-ldbl.o.
Looking into it.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug target/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
` (14 preceding siblings ...)
2010-05-04 15:32 ` jakub at gcc dot gnu dot org
@ 2010-05-04 15:33 ` paolo dot carlini at oracle dot com
2010-05-04 15:42 ` jakub at gcc dot gnu dot org
` (2 subsequent siblings)
18 siblings, 0 replies; 20+ messages in thread
From: paolo dot carlini at oracle dot com @ 2010-05-04 15:33 UTC (permalink / raw)
To: gcc-bugs
------- Comment #16 from paolo dot carlini at oracle dot com 2010-05-04 15:33 -------
Thanks Jakub.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug target/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
` (15 preceding siblings ...)
2010-05-04 15:33 ` paolo dot carlini at oracle dot com
@ 2010-05-04 15:42 ` jakub at gcc dot gnu dot org
2010-05-04 17:42 ` ubizjak at gmail dot com
2010-05-05 6:24 ` ubizjak at gmail dot com
18 siblings, 0 replies; 20+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-05-04 15:42 UTC (permalink / raw)
To: gcc-bugs
------- Comment #17 from jakub at gcc dot gnu dot org 2010-05-04 15:41 -------
Ah, already fixed:
http://sources.redhat.com/ml/binutils/2010-03/msg00249.html
http://sources.redhat.com/ml/binutils-cvs/2010-03/msg00143.html
http://sources.redhat.com/ml/binutils-cvs/2010-03/msg00144.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug target/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
` (16 preceding siblings ...)
2010-05-04 15:42 ` jakub at gcc dot gnu dot org
@ 2010-05-04 17:42 ` ubizjak at gmail dot com
2010-05-05 6:24 ` ubizjak at gmail dot com
18 siblings, 0 replies; 20+ messages in thread
From: ubizjak at gmail dot com @ 2010-05-04 17:42 UTC (permalink / raw)
To: gcc-bugs
------- Comment #18 from ubizjak at gmail dot com 2010-05-04 17:42 -------
(In reply to comment #15)
> Ah, seems a generic ar/ranlib bug, apparently STB_GNU_UNIQUE symbols aren't
> added into ar index :(.
> Wonder why it hasn't showed up elsewhere yet. The reason why this doesn't hit
> us in libstdc++.a on x86-64 is that the STB_GNU_UNIQUE symbols locale-inst.o
> needs are in locale-inst.o rather than compatibility-ldbl.o.
> Looking into it.
Now that you mentioned - the problem was uncovered by [1]:
2010-04-28 Uros Bizjak <ubizjak@gmail.com>
* config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
type if available.
[1] http://gcc.gnu.org/ml/gcc-patches/2010-04/msg01751.html
I wonder if the ar/ranlib bug is severe enough that we need to check for newer
version of the binutils in configure.ac. Currently we have:
[gcc_GAS_CHECK_FEATURE([gnu_unique_object], gcc_cv_as_gnu_unique_object,
[elf,2,19,52],,
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
* [Bug target/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
` (17 preceding siblings ...)
2010-05-04 17:42 ` ubizjak at gmail dot com
@ 2010-05-05 6:24 ` ubizjak at gmail dot com
18 siblings, 0 replies; 20+ messages in thread
From: ubizjak at gmail dot com @ 2010-05-05 6:24 UTC (permalink / raw)
To: gcc-bugs
------- Comment #19 from ubizjak at gmail dot com 2010-05-05 06:24 -------
Not a gcc bug.
--
ubizjak at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |INVALID
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2010-05-05 6:24 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-05-03 8:05 [Bug libstdc++/43968] New: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static ubizjak at gmail dot com
2010-05-03 8:14 ` [Bug libstdc++/43968] " ubizjak at gmail dot com
2010-05-03 10:52 ` paolo dot carlini at oracle dot com
2010-05-03 11:47 ` ubizjak at gmail dot com
2010-05-03 11:50 ` ubizjak at gmail dot com
2010-05-03 11:52 ` paolo dot carlini at oracle dot com
2010-05-03 12:13 ` [Bug target/43968] " ubizjak at gmail dot com
2010-05-03 12:17 ` paolo dot carlini at oracle dot com
2010-05-03 17:26 ` ubizjak at gmail dot com
2010-05-03 17:42 ` paolo dot carlini at oracle dot com
2010-05-03 17:44 ` ubizjak at gmail dot com
2010-05-04 12:31 ` ubizjak at gmail dot com
2010-05-04 12:36 ` paolo dot carlini at oracle dot com
2010-05-04 13:57 ` jakub at gcc dot gnu dot org
2010-05-04 14:16 ` ubizjak at gmail dot com
2010-05-04 15:32 ` jakub at gcc dot gnu dot org
2010-05-04 15:33 ` paolo dot carlini at oracle dot com
2010-05-04 15:42 ` jakub at gcc dot gnu dot org
2010-05-04 17:42 ` ubizjak at gmail dot com
2010-05-05 6:24 ` ubizjak at gmail dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).