https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63534
--- Comment #16 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- > Created attachment 33733 [details] > patch to fix darwin bootstrap > > With pseudo GOT register we don't need to set GOT register after any jump, > and therefore don't need "nonlocal_goto_receiver" and > "builtin_setjmp_receiver" > for i386. > > Please try attached patch (just removing "nonlocal_goto_receiver" and > "builtin_setjmp_receiver" from i386.md). With the patch bootstrap fails with libtool: link: /opt/gcc/build_w/./gcc/xgcc -shared-libgcc -B/opt/gcc/build_w/./gcc -nostdinc++ -L/opt/gcc/build_w/x86_64-apple-darwin13.4.0/libstdc++-v3/src -L/opt/gcc/build_w/x86_64-apple-darwin13.4.0/libstdc++-v3/src/.libs -L/opt/gcc/build_w/x86_64-apple-darwin13.4.0/libstdc++-v3/libsupc++/.libs -B/opt/gcc/gcc4.10w/x86_64-apple-darwin13.4.0/bin/ -B/opt/gcc/gcc4.10w/x86_64-apple-darwin13.4.0/lib/ -isystem /opt/gcc/gcc4.10w/x86_64-apple-darwin13.4.0/include -isystem /opt/gcc/gcc4.10w/x86_64-apple-darwin13.4.0/sys-include -dynamiclib -Wl,-undefined -Wl,dynamic_lookup -o .libs/libstdc++.6.dylib .libs/compatibility.o .libs/compatibility-debug_list.o .libs/compatibility-debug_list-2.o .libs/compatibility-c++0x.o .libs/compatibility-atomic-c++0x.o .libs/compatibility-thread-c++0x.o .libs/compatibility-chrono.o .libs/compatibility-condvar.o -Wl,-force_load,../libsupc++/.libs/libsupc++convenience.a -Wl,-force_load,../src/c++98/.libs/libc++98convenience.a -Wl,-force_load,../src/c++11/.libs/libc++11convenience.a -L/opt/gcc/build_w/x86_64-apple-darwin13.4.0/libstdc++-v3/libsupc++/.libs -L/opt/gcc/build_w/x86_64-apple-darwin13.4.0/libstdc++-v3/src -L/opt/gcc/build_w/x86_64-apple-darwin13.4.0/libstdc++-v3/src/.libs -lm -Wl,-single_module -Wl,-exported_symbols_list -Wl,libstdc++-symbols.explist -install_name /opt/gcc/gcc4.10w/lib/libstdc++.6.dylib -compatibility_version 7 -current_version 7.21 -Wl,-single_module ld: warning: cannot export hidden symbol __cxxabiv1::__pbase_type_info::__pointer_catch(__cxxabiv1::__pbase_type_info const*, void**, unsigned int) const from ../libsupc++/.libs/libsupc++convenience.a(pbase_type_info.o) ld: warning: cannot export hidden symbol std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::~basic_stringbuf() from ../src/c++98/.libs/libc++98convenience.a(complex_io.o) ld: warning: cannot export hidden symbol std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_stringbuf() from ../src/c++98/.libs/libc++98convenience.a(complex_io.o) ld: warning: cannot export hidden symbol std::ctype<char>::do_widen(char) const from ../src/c++98/.libs/libc++98convenience.a(ctype.o) ld: warning: cannot export hidden symbol std::ctype<char>::do_narrow(char, char) const from ../src/c++98/.libs/libc++98convenience.a(ctype.o) ld: warning: cannot export hidden symbol std::ctype<char>::do_narrow(char const*, char const*, char, char*) const from ../src/c++98/.libs/libc++98convenience.a(ctype.o) ld: warning: cannot export hidden symbol std::ctype<char>::do_widen(char const*, char const*, char*) const from ../src/c++98/.libs/libc++98convenience.a(ctype.o) ld: warning: cannot export hidden symbol construction vtable for std::basic_istream<char, std::char_traits<char> >-in-std::istrstream from ../src/c++98/.libs/libc++98convenience.a(strstream.o) ld: warning: cannot export hidden symbol construction vtable for std::basic_ostream<char, std::char_traits<char> >-in-std::ostrstream from ../src/c++98/.libs/libc++98convenience.a(strstream.o) ld: warning: cannot export hidden symbol construction vtable for std::basic_istream<char, std::char_traits<char> >-in-std::strstream from ../src/c++98/.libs/libc++98convenience.a(strstream.o) ld: warning: cannot export hidden symbol construction vtable for std::basic_iostream<char, std::char_traits<char> >-in-std::strstream from ../src/c++98/.libs/libc++98convenience.a(strstream.o) ld: warning: cannot export hidden symbol std::ctype<char>::do_widen(char) const from ../src/c++98/.libs/libc++98convenience.a(ctype_members.o) ld: warning: cannot export hidden symbol std::ctype<char>::do_narrow(char, char) const from ../src/c++98/.libs/libc++98convenience.a(ctype_members.o) ld: warning: cannot export hidden symbol std::ctype<char>::do_narrow(char const*, char const*, char, char*) const from ../src/c++98/.libs/libc++98convenience.a(ctype_members.o) ld: warning: cannot export hidden symbol std::ctype<char>::do_widen(char const*, char const*, char*) const from ../src/c++98/.libs/libc++98convenience.a(ctype_members.o) ld: warning: cannot export hidden symbol std::ctype<char>::do_widen(char) const from ../src/c++98/.libs/libc++98convenience.a(locale-inst.o) ld: warning: cannot export hidden symbol std::ctype<char>::do_narrow(char, char) const from ../src/c++98/.libs/libc++98convenience.a(locale-inst.o) ld: warning: cannot export hidden symbol std::ctype<char>::do_widen(char const*, char const*, char*) const from ../src/c++98/.libs/libc++98convenience.a(locale-inst.o) ld: warning: cannot export hidden symbol std::ctype<char>::do_widen(char) const from ../src/c++98/.libs/libc++98convenience.a(misc-inst.o) ld: warning: cannot export hidden symbol __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >::~stdio_sync_filebuf() from ../src/c++11/.libs/libc++11convenience.a(ext11-inst.o) ld: warning: cannot export hidden symbol __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >::~stdio_sync_filebuf() from ../src/c++11/.libs/libc++11convenience.a(ext11-inst.o) ld: warning: cannot export hidden symbol __gnu_cxx::stdio_sync_filebuf<wchar_t, std::char_traits<wchar_t> >::~stdio_sync_filebuf() from ../src/c++11/.libs/libc++11convenience.a(ext11-inst.o) ld: warning: cannot export hidden symbol __gnu_cxx::stdio_sync_filebuf<wchar_t, std::char_traits<wchar_t> >::~stdio_sync_filebuf() from ../src/c++11/.libs/libc++11convenience.a(ext11-inst.o) ld: warning: cannot export hidden symbol __gnu_cxx::stdio_sync_filebuf<wchar_t, std::char_traits<wchar_t> >::xsgetn(wchar_t*, long) from ../src/c++11/.libs/libc++11convenience.a(ext11-inst.o) ld: warning: cannot export hidden symbol __gnu_cxx::stdio_sync_filebuf<wchar_t, std::char_traits<wchar_t> >::xsputn(wchar_t const*, long) from ../src/c++11/.libs/libc++11convenience.a(ext11-inst.o) ld: warning: cannot export hidden symbol __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >::xsputn(char const*, long) from ../src/c++11/.libs/libc++11convenience.a(ext11-inst.o) ld: warning: cannot export hidden symbol __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >::xsgetn(char*, long) from ../src/c++11/.libs/libc++11convenience.a(ext11-inst.o) ld: warning: cannot export hidden symbol std::ctype<char>::do_widen(char) const from ../src/c++11/.libs/libc++11convenience.a(ios-inst.o) ld: warning: cannot export hidden symbol std::ctype<char>::do_narrow(char, char) const from ../src/c++11/.libs/libc++11convenience.a(ios-inst.o) ld: warning: cannot export hidden symbol std::ctype<char>::do_widen(char) const from ../src/c++11/.libs/libc++11convenience.a(istream-inst.o) ld: warning: cannot export hidden symbol std::ctype<char>::do_widen(char) const from ../src/c++11/.libs/libc++11convenience.a(ostream-inst.o) ld: warning: cannot export hidden symbol std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_stringbuf() from ../src/c++11/.libs/libc++11convenience.a(sstream-inst.o) ld: warning: cannot export hidden symbol std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::~basic_stringbuf() from ../src/c++11/.libs/libc++11convenience.a(sstream-inst.o) ld: warning: cannot export hidden symbol std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::~basic_stringbuf() from ../src/c++11/.libs/libc++11convenience.a(sstream-inst.o) ld: warning: cannot export hidden symbol std::basic_stringbuf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_stringbuf() from ../src/c++11/.libs/libc++11convenience.a(sstream-inst.o) ld: warning: cannot export hidden symbol construction vtable for std::basic_istream<char, std::char_traits<char> >-in-std::basic_istringstream<char, std::char_traits<char>, std::allocator<char> > from ../src/c++11/.libs/libc++11convenience.a(sstream-inst.o) ld: warning: cannot export hidden symbol construction vtable for std::basic_ostream<char, std::char_traits<char> >-in-std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> > from ../src/c++11/.libs/libc++11convenience.a(sstream-inst.o) ld: warning: cannot export hidden symbol construction vtable for std::basic_ostream<char, std::char_traits<char> >-in-std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> > from ../src/c++11/.libs/libc++11convenience.a(sstream-inst.o) ld: warning: cannot export hidden symbol construction vtable for std::basic_istream<char, std::char_traits<char> >-in-std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> > from ../src/c++11/.libs/libc++11convenience.a(sstream-inst.o) ld: warning: cannot export hidden symbol construction vtable for std::basic_iostream<char, std::char_traits<char> >-in-std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> > from ../src/c++11/.libs/libc++11convenience.a(sstream-inst.o) ld: warning: cannot export hidden symbol construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> >-in-std::basic_istringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > from ../src/c++11/.libs/libc++11convenience.a(sstream-inst.o) ld: warning: cannot export hidden symbol construction vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >-in-std::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > from ../src/c++11/.libs/libc++11convenience.a(sstream-inst.o) ld: warning: cannot export hidden symbol construction vtable for std::basic_ostream<wchar_t, std::char_traits<wchar_t> >-in-std::basic_stringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > from ../src/c++11/.libs/libc++11convenience.a(sstream-inst.o) ld: warning: cannot export hidden symbol construction vtable for std::basic_istream<wchar_t, std::char_traits<wchar_t> >-in-std::basic_stringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > from ../src/c++11/.libs/libc++11convenience.a(sstream-inst.o) ld: warning: cannot export hidden symbol construction vtable for std::basic_iostream<wchar_t, std::char_traits<wchar_t> >-in-std::basic_stringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > from ../src/c++11/.libs/libc++11convenience.a(sstream-inst.o) ld: illegal text reloc in 'std::strstream::strstream()' to 'construction vtable for std::basic_ostream<char, std::char_traits<char> >-in-std::strstream' for architecture x86_64 collect2: error: ld returned 1 exit status