[Bug libstdc++/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
--- 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 V _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE thus, seems a target problem to me. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
[Bug libstdc++/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
--- 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
[Bug libstdc++/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
--- 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 > >::id $ nm libstdc++.a | grep _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE U _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE u _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968
[Bug libstdc++/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
--- 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
[Bug libstdc++/43968] undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static
--- Comment #1 from ubizjak at gmail dot com 2010-05-03 08:14 --- The testcase: #include #include 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