On Tue, Dec 01, 2020 at 04:04:30PM +0000, Jonathan Wakely wrote: > On 01/12/20 15:10 +0000, Jonathan Wakely wrote: > >On 30/11/20 16:30 -0500, Michael Meissner via Libstdc++ wrote: > >>Jonathan, could you send a fresh set of patches (or at least replacements)? > >> I > >>tried installing the patches on a master branch I checked out this morning, > >>and > >>I got two rejects: > > > >I don't understand why those chunks failed, but I'll rebase and send a > >new patch ASAP. > > Here's the rebased patch, with regenerated autoconf files and a fix > for the <ext/numeric_limits.h> header. I'd changed it since sending > the previous patch, and broke the "there's more than one long double" > case (i.e. the _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT case).
Unfortunately this patch DOES NOT work at all. If I build a compiler with the configure option: --with-long-double-format=ieee And I compile this simple program: #include <iostream> int main(int argc, char *argv[], char *envp[]) { std::cout << "Hello World!\n"; return 0; } I get all of these errors: /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::ostreambuf_iterator<char, std::char_traits<char> > std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_int<long>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, long) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_extract<false>(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, std::_Ios_Iostate&, std::string&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::ostreambuf_iterator<char, std::char_traits<char> > std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert<true>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, std::string const&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_extract_int<unsigned long long>(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, std::_Ios_Iostate&, unsigned long long&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_extract_int<long long>(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, std::_Ios_Iostate&, long long&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_extract<true>(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, std::_Ios_Iostate&, std::string&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_extract_int<unsigned int>(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, std::_Ios_Iostate&, unsigned int&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_extract_int<unsigned long>(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, std::_Ios_Iostate&, unsigned long&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::istreambuf_iterator<char, std::char_traits<char> > std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_M_extract_int<unsigned int>(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&, unsigned int&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::istreambuf_iterator<char, std::char_traits<char> > std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_M_extract<false>(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&, std::string&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_insert_float<long double>(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, char, long double) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::ostreambuf_iterator<char, std::char_traits<char> > std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_int<unsigned long>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, unsigned long) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::istreambuf_iterator<char, std::char_traits<char> > std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_M_extract_int<long>(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&, long&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::istreambuf_iterator<char, std::char_traits<char> > std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_M_extract_int<long long>(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&, long long&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_insert_float<double>(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, char, double) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::istreambuf_iterator<char, std::char_traits<char> > std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_M_extract_int<unsigned short>(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&, unsigned short&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_insert<true>(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_insert_int<unsigned long>(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, unsigned long) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_extract_int<unsigned short>(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, std::_Ios_Iostate&, unsigned short&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::istreambuf_iterator<char, std::char_traits<char> > std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_M_extract<true>(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&, std::string&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_extract_int<long>(std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, std::_Ios_Iostate&, long&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::ostreambuf_iterator<char, std::char_traits<char> > std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_int<long long>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, long long) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::ostreambuf_iterator<char, std::char_traits<char> > std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_float<double>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, char, double) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_insert_int<unsigned long long>(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, unsigned long long) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::ostreambuf_iterator<char, std::char_traits<char> > std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert<false>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, std::string const&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_insert<false>(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::ostreambuf_iterator<char, std::char_traits<char> > std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_float<long double>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, char, long double) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::istreambuf_iterator<char, std::char_traits<char> > std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_M_extract_int<unsigned long long>(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&, unsigned long long&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::istreambuf_iterator<char, std::char_traits<char> > std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::_M_extract_int<unsigned long>(std::istreambuf_iterator<char, std::char_traits<char> >, std::istreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, std::_Ios_Iostate&, unsigned long&) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::ostreambuf_iterator<char, std::char_traits<char> > std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_int<unsigned long long>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, unsigned long long) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_insert_int<long>(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, long) const' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/fsf-install-ppc64le/work029-kf/lib/../lib64/libstdc++.so: undefined reference to `std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::_M_insert_int<long long>(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t, long long) const' collect2: error: ld returned 1 exit status -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.ibm.com, phone: +1 (978) 899-4797