Bootstrap fails on x86_64-apple-darwin1[34] after revision r216305: ... libtool: link: /opt/gcc/p_build/./gcc/xgcc -shared-libgcc -B/opt/gcc/p_build/./gcc -nostdinc++ -L/opt/gcc/p_build/x86_64-apple-darwin14.0.0/libstdc++-v3/src -L/opt/gcc/p_build/x86_64-apple-darwin14.0.0/libstdc++-v3/src/.libs -L/opt/gcc/p_build/x86_64-apple-darwin14.0.0/libstdc++-v3/libsupc++/.libs -B/opt/gcc/gcc4.10p-216305p1/x86_64-apple-darwin14.0.0/bin/ -B/opt/gcc/gcc4.10p-216305p1/x86_64-apple-darwin14.0.0/lib/ -isystem /opt/gcc/gcc4.10p-216305p1/x86_64-apple-darwin14.0.0/include -isystem /opt/gcc/gcc4.10p-216305p1/x86_64-apple-darwin14.0.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/p_build/x86_64-apple-darwin14.0.0/libstdc++-v3/libsupc++/.libs -L/opt/gcc/p_build/x86_64-apple-darwin14.0.0/libstdc++-v3/src -L/opt/gcc/p_build/x86_64-apple-darwin14.0.0/libstdc++-v3/src/.libs -lm -Wl,-single_module -Wl,-exported_symbols_list -Wl,libstdc++-symbols.explist -install_name /opt/gcc/gcc4.10p-216305p1/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 ... using the following command /opt/gcc/build_w/./gcc/xgcc -shared-libgcc -B/opt/gcc/build_w/./gcc -L/opt/gcc/build_w/x86_64-apple-darwin14.0.0/libstdc++-v3/src -L/opt/gcc/build_w/x86_64-apple-darwin14.0.0/libstdc++-v3/src/.libs -L/opt/gcc/build_w/x86_64-apple-darwin14.0.0/libstdc++-v3/libsupc++/.libs -dynamiclib -Wl,-undefined -Wl,dynamic_lookup .libs/compatibility.o -Wl,-force_load,../src/c++98/.libs/libc++98convenience.a in x86_64-apple-darwin14.0.0/libstdc++-v3/src gives 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
If I configure gcc r216305 with the patch in pr63534 comment 33 with ../p_work/configure --prefix=/opt/gcc/gcc4.10p-216305p1 --enable-languages=c,c++,lto,fortran,ada,objc,obj-c++ --with-gmp=/opt/mp --with-system-zlib --enable-checking=release --with-isl=/opt/mp --enable-lto --enable-plugin --with-arch=core2 --with-cpu=core2 and use make BOOT_CFLAGS="-O2 -g -fno-ipa-icf" CFLAGS_FOR_TARGET="-O2 -g -fno-ipa-icf" CXXFLAGS_FOR_TARGET="-O2 -g -fno-ipa-icf" a clean bootstrap fails with rm -f rts/libgnat.dylib rts/libgnarl.dylib cd rts; `echo "/opt/gcc/p_build/./gcc/xgcc -B/opt/gcc/p_build/./gcc/ -B/opt/gcc/gcc4.10p-216305p1/x86_64-apple-darwin14.0.0/bin/ -B/opt/gcc/gcc4.10p-216305p1/x86_64-apple-darwin14.0.0/lib/ -isystem /opt/gcc/gcc4.10p-216305p1/x86_64-apple-darwin14.0.0/include -isystem /opt/gcc/gcc4.10p-216305p1/x86_64-apple-darwin14.0.0/sys-include " \ | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -dynamiclib -fno-common \ -o libgnat-4.10.dylib \ a-assert.o a-btgbso.o a-calari.o a-calcon.o a-caldel.o a-calend.o a-calfor.o a-catizo.o a-cbdlli.o a-cbhama.o a-cbhase.o a-cbmutr.o a-cborma.o a-cborse.o a-cbprqu.o a-cbsyqu.o a-cdlili.o a-cfdlli.o a-cfhama.o a-cfhase.o a-cforma.o a-cforse.o a-cgaaso.o a-cgarso.o a-cgcaso.o a-chacon.o a-chahan.o a-charac.o a-chlat1.o a-chlat9.o a-chtgbk.o a-chtgbo.o a-chtgke.o a-chtgop.o a-chzla1.o a-chzla9.o a-cidlli.o a-cihama.o a-cihase.o a-cimutr.o a-ciorma.o a-ciormu.o a-ciorse.o a-clrefi.o a-cobove.o a-cofove.o a-cogeso.o a-cohama.o a-cohase.o a-cohata.o a-coinho.o a-coinve.o a-colien.o a-colire.o a-comlin.o a-comutr.o a-contai.o a-convec.o a-coorma.o a-coormu.o a-coorse.o a-coprnu.o a-coteio.o a-crbltr.o a-crbtgk.o a-crbtgo.o a-crdlli.o a-csquin.o a-cuprqu.o a-cusyqu.o a-cwila1.o a-cwila9.o a-decima.o a-diocst.o a-direct.o a-direio.o a-dirval.o a-einuoc.o a-elchha.o a-envvar.o a-except.o a-exctra.o a-finali.o a-flteio.o a-fwteio.o a-fzteio.o a-inteio.o a-ioexce.o a-iteint.o a-iwteio.o a-izteio.o a-lcteio.o a-lfteio.o a-lfwtio.o a-lfztio.o a-liteio.o a-liwtio.o a-liztio.o a-llctio.o a-llftio.o a-llfwti.o a-llfzti.o a-llitio.o a-lliwti.o a-llizti.o a-locale.o a-ncelfu.o a-ngcefu.o a-ngcoar.o a-ngcoty.o a-ngelfu.o a-ngrear.o a-nlcefu.o a-nlcoar.o a-nlcoty.o a-nlelfu.o a-nllcar.o a-nllcef.o a-nllcty.o a-nllefu.o a-nllrar.o a-nlrear.o a-nscefu.o a-nscoty.o a-nselfu.o a-nucoar.o a-nucoty.o a-nudira.o a-nuelfu.o a-nuflra.o a-numaux.o a-numeri.o a-nurear.o a-rbtgbk.o a-rbtgbo.o a-rbtgso.o a-sbecin.o a-sbhcin.o a-sblcin.o a-scteio.o a-secain.o a-sequio.o a-sfecin.o a-sfhcin.o a-sflcin.o a-sfteio.o a-sfwtio.o a-sfztio.o a-shcain.o a-siocst.o a-siteio.o a-siwtio.o a-siztio.o a-slcain.o a-ssicst.o a-ssitio.o a-ssiwti.o a-ssizti.o a-stboha.o a-stfiha.o a-stmaco.o a-storio.o a-strbou.o a-stream.o a-strfix.o a-strhas.o a-string.o a-strmap.o a-strsea.o a-strsup.o a-strunb.o a-ststio.o a-stunau.o a-stunha.o a-stuten.o a-stwibo.o a-stwifi.o a-stwiha.o a-stwima.o a-stwise.o a-stwisu.o a-stwiun.o a-stzbou.o a-stzfix.o a-stzhas.o a-stzmap.o a-stzsea.o a-stzsup.o a-stzunb.o a-suecin.o a-suenco.o a-suenst.o a-suewst.o a-suezst.o a-suhcin.o a-sulcin.o a-suteio.o a-swbwha.o a-swfwha.o a-swmwco.o a-swunau.o a-swuwha.o a-swuwti.o a-szbzha.o a-szfzha.o a-szmzco.o a-szunau.o a-szuzha.o a-szuzti.o a-tags.o a-teioed.o a-textio.o a-tgdico.o a-tiboio.o a-ticoau.o a-ticoio.o a-tideau.o a-tideio.o a-tienau.o a-tienio.o a-tifiio.o a-tiflau.o a-tiflio.o a-tigeau.o a-tiinau.o a-tiinio.o a-timoau.o a-timoio.o a-tiocst.o a-tirsfi.o a-titest.o a-tiunio.o a-unccon.o a-uncdea.o a-undesu.o a-wichha.o a-wichun.o a-widcha.o a-witeio.o a-wrstfi.o a-wtcoau.o a-wtcoio.o a-wtcstr.o a-wtdeau.o a-wtdeio.o a-wtedit.o a-wtenau.o a-wtenio.o a-wtfiio.o a-wtflau.o a-wtflio.o a-wtgeau.o a-wtinau.o a-wtinio.o a-wtmoau.o a-wtmoio.o a-wttest.o a-wwboio.o a-wwunio.o a-zchara.o a-zchhan.o a-zchuni.o a-zrstfi.o a-ztcoau.o a-ztcoio.o a-ztcstr.o a-ztdeau.o a-ztdeio.o a-ztedit.o a-ztenau.o a-ztenio.o a-ztexio.o a-ztfiio.o a-ztflau.o a-ztflio.o a-ztgeau.o a-ztinau.o a-ztinio.o a-ztmoau.o a-ztmoio.o a-zttest.o a-zzboio.o a-zzunio.o ada.o calendar.o directio.o g-arrspl.o g-awk.o g-bubsor.o g-busora.o g-busorg.o g-byorma.o g-bytswa.o g-calend.o g-casuti.o g-catiio.o g-cgi.o g-cgicoo.o g-cgideb.o g-comlin.o g-comver.o g-crc32.o g-ctrl_c.o g-curexc.o g-debpoo.o g-debuti.o g-decstr.o g-deutst.o g-diopit.o g-dirope.o g-dynhta.o g-dyntab.o g-encstr.o g-enutst.o g-excact.o g-except.o g-exctra.o s-exctra.o g-expect.o g-exptty.o g-flocon.o g-forstr.o g-heasor.o g-hesora.o g-hesorg.o g-htable.o g-io.o g-io_aux.o g-locfil.o g-mbdira.o g-mbflra.o g-md5.o g-memdum.o g-moreex.o g-os_lib.o g-pehage.o g-rannum.o g-regexp.o g-regpat.o g-rewdat.o g-sechas.o g-sehamd.o g-sehash.o g-sercom.o g-sestin.o g-sha1.o g-sha224.o g-sha256.o g-sha384.o g-sha512.o g-shsh32.o g-shsh64.o g-shshco.o g-souinf.o g-spchge.o g-speche.o g-spipat.o g-spitbo.o g-sptabo.o g-sptain.o g-sptavs.o g-string.o g-strspl.o g-table.o g-tasloc.o g-timsta.o g-traceb.o g-trasym.o s-trasym.o g-tty.o g-u3spch.o g-utf_32.o g-wispch.o g-wistsp.o g-zspche.o g-zstspl.o gnat.o i-c.o i-cexten.o i-cobol.o i-cpoint.o i-cstrea.o i-cstrin.o i-fortra.o i-pacdec.o interfac.o ioexcept.o machcode.o s-addima.o s-addope.o s-arit64.o s-assert.o s-atacco.o s-atocou.o s-atopri.o s-auxdec.o s-bignum.o s-bitops.o s-boarop.o s-bytswa.o s-carsi8.o s-carun8.o s-casi16.o s-casi32.o s-casi64.o s-casuti.o s-caun16.o s-caun32.o s-caun64.o s-chepoo.o s-commun.o s-conca2.o s-conca3.o s-conca4.o s-conca5.o s-conca6.o s-conca7.o s-conca8.o s-conca9.o s-crc32.o s-crtl.o s-diflio.o s-diinio.o s-dim.o s-dimkio.o s-dimmks.o s-direio.o s-dmotpr.o s-dsaser.o s-elaall.o s-excdeb.o s-except.o s-exctab.o s-exnint.o s-exnllf.o s-exnlli.o s-expint.o s-explli.o s-expllu.o s-expmod.o s-expuns.o s-fatflt.o s-fatgen.o s-fatlfl.o s-fatllf.o s-fatsfl.o s-ficobl.o s-filatt.o s-fileio.o s-finmas.o s-finroo.o s-flocon.o s-fore.o s-gearop.o s-geveop.o s-gloloc.o s-htable.o s-imenne.o s-imgbiu.o s-imgboo.o s-imgcha.o s-imgdec.o s-imgenu.o s-imgint.o s-imgllb.o s-imglld.o s-imglli.o s-imgllu.o s-imgllw.o s-imgrea.o s-imguns.o s-imgwch.o s-imgwiu.o s-io.o s-llflex.o s-maccod.o s-mantis.o s-mastop.o s-memcop.o s-memory.o s-multip.o s-os_lib.o s-oscons.o s-osprim.o s-pack03.o s-pack05.o s-pack06.o s-pack07.o s-pack09.o s-pack10.o s-pack11.o s-pack12.o s-pack13.o s-pack14.o s-pack15.o s-pack17.o s-pack18.o s-pack19.o s-pack20.o s-pack21.o s-pack22.o s-pack23.o s-pack24.o s-pack25.o s-pack26.o s-pack27.o s-pack28.o s-pack29.o s-pack30.o s-pack31.o s-pack33.o s-pack34.o s-pack35.o s-pack36.o s-pack37.o s-pack38.o s-pack39.o s-pack40.o s-pack41.o s-pack42.o s-pack43.o s-pack44.o s-pack45.o s-pack46.o s-pack47.o s-pack48.o s-pack49.o s-pack50.o s-pack51.o s-pack52.o s-pack53.o s-pack54.o s-pack55.o s-pack56.o s-pack57.o s-pack58.o s-pack59.o s-pack60.o s-pack61.o s-pack62.o s-pack63.o s-parame.o s-parint.o s-pooglo.o s-pooloc.o s-poosiz.o s-powtab.o s-purexc.o s-rannum.o s-ransee.o s-regexp.o s-regpat.o s-restri.o s-rident.o s-rpc.o s-scaval.o s-secsta.o s-sequio.o s-shasto.o s-soflin.o s-spsufi.o s-stache.o s-stalib.o s-stausa.o s-stchop.o s-stoele.o s-stopoo.o s-stposu.o s-stratt.o s-strhas.o s-string.o s-ststop.o s-tasloc.o s-traceb.o s-traces.o s-traent.o s-unstyp.o s-utf_32.o s-valboo.o s-valcha.o s-valdec.o s-valenu.o s-valint.o s-vallld.o s-vallli.o s-valllu.o s-valrea.o s-valuns.o s-valuti.o s-valwch.o s-veboop.o s-vector.o s-vercon.o s-wchcnv.o s-wchcon.o s-wchjis.o s-wchstw.o s-wchwts.o s-widboo.o s-widcha.o s-widenu.o s-widlli.o s-widllu.o s-widwch.o s-wwdcha.o s-wwdenu.o s-wwdwch.o sequenio.o system.o text_io.o unchconv.o unchdeal.o g-allein.o g-alleve.o g-altcon.o g-altive.o g-alveop.o g-alvety.o g-alvevi.o g-soccon.o g-socket.o g-socthi.o g-soliop.o g-sothco.o g-sse.o g-ssvety.o g-cppexc.o s-excmac.o adadecode.o adaint.o argv.o aux-io.o cal.o cio.o cstreams.o ctrl_c.o env.o errno.o exit.o expect.o final.o init.o initialize.o locales.o mkdir.o raise.o seh_init.o socket.o sysdep.o targext.o terminals.o tracebak.o raise-gcc.o \ -shared-libgcc \ -Wl,-install_name,@rpath/libgnat-4.10.dylib \ Undefined symbols for architecture x86_64: "_ada__numerics__complex_arrays__instantiations__Omultiply__5Xnn.part.0", referenced from: _ada__numerics__complex_arrays__instantiations__Omultiply__5Xnn in a-nucoar.o "_ada__numerics__complex_arrays__instantiations__Omultiply__6Xnn.part.1", referenced from: _ada__numerics__complex_arrays__instantiations__Omultiply__6Xnn in a-nucoar.o "_gnat__sockets__control_socket.part.6", referenced from: _gnat__sockets__control_socket in g-socket.o "_gnat__sockets__receive_socket.part.11", referenced from: _gnat__sockets__receive_socket in g-socket.o "_gnat__sockets__send_socket.part.12", referenced from: _gnat__sockets__send_socket in g-socket.o _gnat__sockets__send_socket__2 in g-socket.o _gnat__sockets__write__4 in g-socket.o _gnat__sockets__send_socket__3 in g-socket.o _gnat__sockets__write__2 in g-socket.o "_gnat__sockets__write__2.part.13", referenced from: _gnat__sockets__write__2 in g-socket.o "_system__strings__stream_ops__storage_array_ops__outputXnn.part.0", referenced from: _system__strings__stream_ops__storage_array_ops__outputXnn in s-ststop.o "_system__strings__stream_ops__stream_element_array_ops__outputXnn.part.1", referenced from: _system__strings__stream_ops__stream_element_array_ops__outputXnn in s-ststop.o "_system__strings__stream_ops__string_ops__outputXnn.part.2", referenced from: _system__strings__stream_ops__string_ops__outputXnn in s-ststop.o "_system__strings__stream_ops__wide_string_ops__outputXnn.part.3", referenced from: _system__strings__stream_ops__wide_string_ops__outputXnn in s-ststop.o ld: symbol(s) not found for architecture x86_64 collect2: error: ld returned 1 exit status make[4]: *** [gnatlib-shared-darwin] Error 1 make[3]: *** [gnatlib-shared] Error 2 make[2]: *** [gnatlib-shared] Error 2 make[1]: *** [all-target-libada] Error 2 make: *** [all] Error 2 Note that I see a lot of ...warning: alias definitions not supported in Mach-O; ignored
I have bootstrapped r216305 without ada. Is there a way to propagate -fno-ipa-icf to the Ada build?
Created attachment 33843 [details] IPA ICF aliasing restriction Can you please try to apply following patch? It should disable alias creation for targets that do not support aliasing.
> Created attachment 33843 [details] > IPA ICF aliasing restriction > > Can you please try to apply following patch? > It should disable alias creation for targets that do not support aliasing. With the patch bootstrap proceeds up to stage 2 where it fails with /opt/gcc/build_w/./prev-gcc/xg++ -B/opt/gcc/build_w/./prev-gcc/ -B/opt/gcc/gcc4.10w/x86_64-apple-darwin14.0.0/bin/ -nostdinc++ -B/opt/gcc/build_w/prev-x86_64-apple-darwin14.0.0/libstdc++-v3/src/.libs -B/opt/gcc/build_w/prev-x86_64-apple-darwin14.0.0/libstdc++-v3/libsupc++/.libs -I/opt/gcc/build_w/prev-x86_64-apple-darwin14.0.0/libstdc++-v3/include/x86_64-apple-darwin14.0.0 -I/opt/gcc/build_w/prev-x86_64-apple-darwin14.0.0/libstdc++-v3/include -I/opt/gcc/work/libstdc++-v3/libsupc++ -L/opt/gcc/build_w/prev-x86_64-apple-darwin14.0.0/libstdc++-v3/src/.libs -L/opt/gcc/build_w/prev-x86_64-apple-darwin14.0.0/libstdc++-v3/libsupc++/.libs -c -g -O2 -gtoggle -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../work/gcc -I../../work/gcc/. -I../../work/gcc/../include -I./../intl -I../../work/gcc/../libcpp/include -I/opt/mp/include -I../../work/gcc/../libdecnumber -I../../work/gcc/../libdecnumber/dpd -I../libdecnumber -I../../work/gcc/../libbacktrace -DCLOOG_INT_GMP -DCLOOG_INT_GMP -I/opt/mp/include -o tree-inline.o -MT tree-inline.o -MMD -MP -MF ./.deps/tree-inline.TPo ../../work/gcc/tree-inline.c ../../work/gcc/tree-inline.c: In function 'int estimate_num_insns_seq(gimple_seq, eni_weights*)': ../../work/gcc/tree-inline.c:5667:1: error: invalid argument to gimple call } ^ stmts # .MEM_3 = VDEF <.MEM_1(D)> retval.1640_4 = count_insns_seq (stmts, weights_2(D)); [tail call] ../../work/gcc/tree-inline.c:5667:1: internal compiler error: verify_gimple failed ../../work/gcc/tree-inline.c:5667:1: internal compiler error: Abort trap: 6 xg++: internal compiler error: Abort trap: 6 (program cc1plus) make[3]: *** [tree-inline.o] Abort trap: 6 make[3]: Leaving directory `/opt/gcc/build_w/gcc' make[2]: *** [all-stage2-gcc] Error 2 make[2]: Leaving directory `/opt/gcc/build_w' make[1]: *** [stage2-bubble] Error 2 make[1]: Leaving directory `/opt/gcc/build_w' make: *** [all] Error 2
(In reply to Martin Liška from comment #3) > Created attachment 33843 [details] > IPA ICF aliasing restriction > > Can you please try to apply following patch? > It should disable alias creation for targets that do not support aliasing. Is there a problem with this patch due to the definition of... #define ASM_WEAKEN_DECL(FILE, DECL, NAME, ALIAS) \ in gcc/config/darwin.h?
(In reply to Dominique d'Humieres from comment #4) > > Created attachment 33843 [details] > > IPA ICF aliasing restriction > > > > Can you please try to apply following patch? > > It should disable alias creation for targets that do not support aliasing. > > With the patch bootstrap proceeds up to stage 2 where it fails with > > /opt/gcc/build_w/./prev-gcc/xg++ -B/opt/gcc/build_w/./prev-gcc/ > -B/opt/gcc/gcc4.10w/x86_64-apple-darwin14.0.0/bin/ -nostdinc++ > -B/opt/gcc/build_w/prev-x86_64-apple-darwin14.0.0/libstdc++-v3/src/.libs > -B/opt/gcc/build_w/prev-x86_64-apple-darwin14.0.0/libstdc++-v3/libsupc++/. > libs > -I/opt/gcc/build_w/prev-x86_64-apple-darwin14.0.0/libstdc++-v3/include/ > x86_64-apple-darwin14.0.0 > -I/opt/gcc/build_w/prev-x86_64-apple-darwin14.0.0/libstdc++-v3/include > -I/opt/gcc/work/libstdc++-v3/libsupc++ > -L/opt/gcc/build_w/prev-x86_64-apple-darwin14.0.0/libstdc++-v3/src/.libs > -L/opt/gcc/build_w/prev-x86_64-apple-darwin14.0.0/libstdc++-v3/libsupc++/. > libs -c -g -O2 -gtoggle -DIN_GCC -fno-exceptions -fno-rtti > -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings > -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic > -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror > -fno-common -DHAVE_CONFIG_H -I. -I. -I../../work/gcc -I../../work/gcc/. > -I../../work/gcc/../include -I./../intl -I../../work/gcc/../libcpp/include > -I/opt/mp/include -I../../work/gcc/../libdecnumber > -I../../work/gcc/../libdecnumber/dpd -I../libdecnumber > -I../../work/gcc/../libbacktrace -DCLOOG_INT_GMP -DCLOOG_INT_GMP > -I/opt/mp/include -o tree-inline.o -MT tree-inline.o -MMD -MP -MF > ./.deps/tree-inline.TPo ../../work/gcc/tree-inline.c > ../../work/gcc/tree-inline.c: In function 'int > estimate_num_insns_seq(gimple_seq, eni_weights*)': > ../../work/gcc/tree-inline.c:5667:1: error: invalid argument to gimple call > } > ^ > stmts > # .MEM_3 = VDEF <.MEM_1(D)> > retval.1640_4 = count_insns_seq (stmts, weights_2(D)); [tail call] > ../../work/gcc/tree-inline.c:5667:1: internal compiler error: verify_gimple > failed That looks like duplicate of PR63580. I hope the PR will be fixed today. Thanks, Martin > > ../../work/gcc/tree-inline.c:5667:1: internal compiler error: Abort trap: 6 > xg++: internal compiler error: Abort trap: 6 (program cc1plus) > make[3]: *** [tree-inline.o] Abort trap: 6 > make[3]: Leaving directory `/opt/gcc/build_w/gcc' > make[2]: *** [all-stage2-gcc] Error 2 > make[2]: Leaving directory `/opt/gcc/build_w' > make[1]: *** [stage2-bubble] Error 2 > make[1]: Leaving directory `/opt/gcc/build_w' > make: *** [all] Error 2
> That looks like duplicate of PR63580. I hope the PR will be fixed today. It looks like: I have bootstrapped r216914 with the patches in comment 3 and in PR3580 comment 4. However I have several regressions in the test suite: === acats tests === FAIL: c760002 FAIL: c761002 FAIL: cc1224a FAIL: cc3007a FAIL: cc3007b FAIL: g++.dg/ipa/ipa-icf-4.C -std=gnu++11 scan-ipa-dump icf "Varpool alias has been created" FAIL: g++.dg/ipa/ipa-icf-4.C -std=gnu++1y scan-ipa-dump icf "Varpool alias has been created" FAIL: g++.dg/ipa/ipa-icf-4.C -std=gnu++98 scan-ipa-dump icf "Varpool alias has been created" FAIL: gcc.dg/torture/builtin-noret-1.c -O2 (internal compiler error) FAIL: gcc.dg/torture/builtin-noret-1.c -O2 (test for excess errors) FAIL: gcc.dg/torture/builtin-noret-1.c -O2 -flto (internal compiler error) FAIL: gcc.dg/torture/builtin-noret-1.c -O2 -flto (test for excess errors) FAIL: gcc.dg/torture/builtin-noret-1.c -O2 -flto -flto-partition=none (internal compiler error) FAIL: gcc.dg/torture/builtin-noret-1.c -O2 -flto -flto-partition=none (test for excess errors) FAIL: gcc.dg/torture/builtin-noret-1.c -O3 -fomit-frame-pointer (internal compiler error) FAIL: gcc.dg/torture/builtin-noret-1.c -O3 -fomit-frame-pointer (test for excess errors) FAIL: gcc.dg/torture/builtin-noret-1.c -O3 -g (internal compiler error) FAIL: gcc.dg/torture/builtin-noret-1.c -O3 -g (test for excess errors) FAIL: gcc.dg/torture/builtin-noret-1.c -Os (internal compiler error) FAIL: gcc.dg/torture/builtin-noret-1.c -Os (test for excess errors) FAIL: gcc.dg/torture/builtin-noret-2.c -O2 (internal compiler error) FAIL: gcc.dg/torture/builtin-noret-2.c -O2 (test for excess errors) FAIL: gcc.dg/torture/builtin-noret-2.c -O2 -flto (internal compiler error) FAIL: gcc.dg/torture/builtin-noret-2.c -O2 -flto (test for excess errors) FAIL: gcc.dg/torture/builtin-noret-2.c -O2 -flto -flto-partition=none (internal compiler error) FAIL: gcc.dg/torture/builtin-noret-2.c -O2 -flto -flto-partition=none (test for excess errors) FAIL: gcc.dg/torture/builtin-noret-2.c -O3 -fomit-frame-pointer (internal compiler error) FAIL: gcc.dg/torture/builtin-noret-2.c -O3 -fomit-frame-pointer (test for excess errors) FAIL: gcc.dg/torture/builtin-noret-2.c -O3 -g (internal compiler error) FAIL: gcc.dg/torture/builtin-noret-2.c -O3 -g (test for excess errors) FAIL: gcc.dg/torture/builtin-noret-2.c -Os (internal compiler error) FAIL: gcc.dg/torture/builtin-noret-2.c -Os (test for excess errors) -m32 only FAIL: gfortran.dg/assumed_rank_10.f90 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions execution test FAIL: gfortran.dg/assumed_rank_10.f90 -O3 -fomit-frame-pointer -funroll-loops execution test FAIL: gfortran.dg/assumed_rank_8.f90 -O2 execution test FAIL: gfortran.dg/assumed_rank_8.f90 -O3 -fomit-frame-pointer execution test FAIL: gfortran.dg/assumed_rank_8.f90 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions execution test FAIL: gfortran.dg/assumed_rank_8.f90 -O3 -fomit-frame-pointer -funroll-loops execution test FAIL: gfortran.dg/assumed_rank_8.f90 -O3 -g execution test FAIL: gfortran.dg/assumed_rank_8.f90 -Os execution test FAIL: gfortran.dg/assumed_rank_9.f90 -O2 execution test FAIL: gfortran.dg/assumed_rank_9.f90 -O3 -fomit-frame-pointer execution test FAIL: gfortran.dg/assumed_rank_9.f90 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions execution test FAIL: gfortran.dg/assumed_rank_9.f90 -O3 -fomit-frame-pointer -funroll-loops execution test FAIL: gfortran.dg/assumed_rank_9.f90 -O3 -g execution test FAIL: gfortran.dg/assumed_rank_9.f90 -Os execution test All the failures I have tested disappear if I use -fno-ipa-icf.
At r217144 with https://gcc.gnu.org/bugzilla/attachment.cgi?id=33897 to fix PR63750, gcc trunk now bootstraps up to the "illegal text reloc" error. Is this problem understood well enough to debug or should I send a standalone test case to the darwin linker developer for further analysis of the linkage error?
The darwin linker developer's analysis of this failing linkage is as follows... That link line contains “-undefined dynamic_lookup” which is almost always a bad idea. Removing it shows the problem. The symbol __ZTCSt9strstream16_So is not defined in an object file. So that option means “assume it will be in some dylib (DSO) at runtime). But the function __ZNSt9strstreamC1Ev contains: __ZNSt9strstreamC1Ev: ... 0000000000001f75 leaq __ZTCSt9strstream16_So+24(%rip), %rax … That code gen requires the target vtable to be in the same linkage unit, but is is in DSO. The only way to possible make it work is to have a text relocation which adjusts the LEA at launch time. But darwin x86_64 does not support text relocations. You should remove the “-undefined dynamic_lookup” from the link line and fix the build to have all required symbols defined.
Note that removal of the "-undefined dynamic_lookup" produces... Undefined symbols for architecture x86_64: "__ZNKSt11logic_error4whatEv", referenced from: __ZTVSt11logic_error in libc++98convenience.a(stdexcept.o) __ZTVSt12domain_error in libc++98convenience.a(stdexcept.o) __ZTVSt16invalid_argument in libc++98convenience.a(stdexcept.o) __ZTVSt12length_error in libc++98convenience.a(stdexcept.o) __ZTVSt12out_of_range in libc++98convenience.a(stdexcept.o) "__ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_", referenced from: __ZTVSt7codecvtIcc11__mbstate_tE in libc++98convenience.a(codecvt.o) __ZTVSt14codecvt_bynameIcc11__mbstate_tE in libc++98convenience.a(locale-inst.o) "__ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv", referenced from: __ZTVSt7codecvtIcc11__mbstate_tE in libc++98convenience.a(codecvt.o) __ZTVSt14codecvt_bynameIcc11__mbstate_tE in libc++98convenience.a(locale-inst.o) "__ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_", referenced from: __ZTVSt7codecvtIcc11__mbstate_tE in libc++98convenience.a(codecvt.o) __ZTVSt14codecvt_bynameIcc11__mbstate_tE in libc++98convenience.a(locale-inst.o) "__ZNKSt9type_info14__is_pointer_pEv", referenced from: __ZTVN10__cxxabiv117__array_type_infoE in libsupc++convenience.a(array_type_info.o) __ZTVN10__cxxabiv117__class_type_infoE in libsupc++convenience.a(class_type_info.o) __ZTVN10__cxxabiv116__enum_type_infoE in libsupc++convenience.a(enum_type_info.o) __ZTVN10__cxxabiv120__function_type_infoE in libsupc++convenience.a(function_type_info.o) __ZTVN10__cxxabiv123__fundamental_type_infoE in libsupc++convenience.a(fundamental_type_info.o) __ZTVN10__cxxabiv117__pbase_type_infoE in libsupc++convenience.a(pbase_type_info.o) __ZTVN10__cxxabiv129__pointer_to_member_type_infoE in libsupc++convenience.a(pmem_type_info.o) ... "__ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIPwEES4_T_S5_RKS1_St20forward_iterator_tag.part.36", referenced from: __ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIPwEES4_T_S5_RKS1_St20forward_iterator_tag in libc++11convenience.a(wstring-inst.o) "__ZNSs12_S_constructIPcEES0_T_S1_RKSaIcESt20forward_iterator_tag.part.34", referenced from: __ZNSs12_S_constructIPcEES0_T_S1_RKSaIcESt20forward_iterator_tag in libc++11convenience.a(string-inst.o) "__ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv", referenced from: __ZTVSt12strstreambuf in libc++98convenience.a(strstream.o) __ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE in libc++11convenience.a(sstream-inst.o) __ZTVSt15basic_streambufIcSt11char_traitsIcEE in libc++11convenience.a(streambuf-inst.o) "__ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale", referenced from: __ZTVSt12strstreambuf in libc++98convenience.a(strstream.o) __ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE in libc++11convenience.a(ext11-inst.o) __ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE in libc++11convenience.a(sstream-inst.o) __ZTVSt15basic_streambufIcSt11char_traitsIcEE in libc++11convenience.a(streambuf-inst.o) "__ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl", referenced from: __ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE in libc++11convenience.a(ext11-inst.o) __ZTVSt15basic_streambufIcSt11char_traitsIcEE in libc++11convenience.a(streambuf-inst.o) "__ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode", referenced from: __ZTVSt15basic_streambufIcSt11char_traitsIcEE in libc++11convenience.a(streambuf-inst.o) "__ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode", referenced from: __ZTVSt15basic_streambufIcSt11char_traitsIcEE in libc++11convenience.a(streambuf-inst.o) "__ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi", referenced from: __ZTVSt15basic_streambufIcSt11char_traitsIcEE in libc++11convenience.a(streambuf-inst.o) "__ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi", referenced from: __ZTVSt15basic_streambufIcSt11char_traitsIcEE in libc++11convenience.a(streambuf-inst.o) "__ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv", referenced from: __ZTVSt12strstreambuf in libc++98convenience.a(strstream.o) __ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE in libc++11convenience.a(ext11-inst.o) __ZTVSt15basic_streambufIcSt11char_traitsIcEE in libc++11convenience.a(streambuf-inst.o) "__ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv", referenced from: __ZTVSt15basic_streambufIcSt11char_traitsIcEE in libc++11convenience.a(streambuf-inst.o) "__ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEi", referenced from: __ZTVSt15basic_streambufIwSt11char_traitsIwEE in libc++11convenience.a(streambuf-inst.o) "__ZTCSt9strstream16_So", referenced from: __ZNSt9strstreamC1Ev in libc++98convenience.a(strstream.o) __ZNSt9strstreamC1EPciSt13_Ios_Openmode in libc++98convenience.a(strstream.o) __ZTTSt9strstream in libc++98convenience.a(strstream.o)
It looks like we aren't compiling some object files in libstdc++-v3/src/c++98 for gcc trunk which are are on gcc 4.9.2. In particular, we are missing... ctype.o ctype_configure_char.o ctype_members.o ios-inst.o ios.o iostream-inst.o istream-inst.o ostream-inst.o sstream-inst.o streambuf-inst.o
This looks like fallout from... https://gcc.gnu.org/ml/libstdc++-cvs/2014-q4/msg00080.html https://gcc.gnu.org/ml/libstdc++-cvs/2014-q3/msg00181.html where the files moved to c++11 in gcc trunk from c++98 in gcc 4.9.2 now have undefined symbols... [MacPro:libstdc++-v3/src/c++11] howarth% nm streambuf-inst.o | grep ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv U __ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv compared to gcc 4.9.2 [MacPro:libstdc++-v3/src/c++98] howarth% nm streambuf-inst.o | grep ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv 0000000000000040 T __ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv Were these checkins made after darwin stopped bootstrapping?
Created attachment 33904 [details] preprocessed source for libstdc++-v3/src/c++11/streambuf-inst.cc
The attached preprocessed source was produced from gcc trunk with... # /sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/./gcc/xgcc -shared-libgcc -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/./gcc -nostdinc++ -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin14.0.0/libstdc++-v3/src -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin14.0.0/libstdc++-v3/src/.libs -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin14.0.0/libstdc++-v3/libsupc++/.libs -B/sw/lib/gcc5.0/x86_64-apple-darwin14.0.0/bin/ -B/sw/lib/gcc5.0/x86_64-apple-darwin14.0.0/lib/ -isystem /sw/lib/gcc5.0/x86_64-apple-darwin14.0.0/include -isystem /sw/lib/gcc5.0/x86_64-apple-darwin14.0.0/sys-include -I/sw/src/fink.build/gcc50-5.0.0-1000/gcc-5.0-20141105/libstdc++-v3/../libgcc -I/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin14.0.0/libstdc++-v3/include/x86_64-apple-darwin14.0.0 -I/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin14.0.0/libstdc++-v3/include -I/sw/src/fink.build/gcc50-5.0.0-1000/gcc-5.0-20141105/libstdc++-v3/libsupc++ -I/sw/include -std=gnu++11 -D_GLIBCXX_SHARED -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once -fvisibility-inlines-hidden -ffunction-sections -fdata-sections -frandom-seed=streambuf-inst.lo -g -O2 -c ../../../../../gcc-5.0-20141105/libstdc++-v3/src/c++11/streambuf-inst.cc -fno-common -DPIC -D_GLIBCXX_SHARED -o streambuf-inst.o --save-temps which produces as set of warnings that don't appear in the build of libstdc++-v3/src/c++98/streambuf-inst.cc. These are... ./../../../../gcc-5.0-20141105/libstdc++-v3/src/c++11/streambuf-inst.cc:63:1: warning: alias definitions not supported in Mach-O; ignored } // namespace ^ ../../../../../gcc-5.0-20141105/libstdc++-v3/src/c++11/streambuf-inst.cc:63:1: warning: alias definitions not supported in Mach-O; ignored ../../../../../gcc-5.0-20141105/libstdc++-v3/src/c++11/streambuf-inst.cc:63:1: warning: alias definitions not supported in Mach-O; ignored ../../../../../gcc-5.0-20141105/libstdc++-v3/src/c++11/streambuf-inst.cc:63:1: warning: alias definitions not supported in Mach-O; ignored ../../../../../gcc-5.0-20141105/libstdc++-v3/src/c++11/streambuf-inst.cc:63:1: warning: alias definitions not supported in Mach-O; ignored ../../../../../gcc-5.0-20141105/libstdc++-v3/src/c++11/streambuf-inst.cc:63:1: warning: alias definitions not supported in Mach-O; ignored ../../../../../gcc-5.0-20141105/libstdc++-v3/src/c++11/streambuf-inst.cc:63:1: warning: alias definitions not supported in Mach-O; ignored ../../../../../gcc-5.0-20141105/libstdc++-v3/src/c++11/streambuf-inst.cc:63:1: warning: alias definitions not supported in Mach-O; ignored ../../../../../gcc-5.0-20141105/libstdc++-v3/src/c++11/streambuf-inst.cc:63:1: warning: alias definitions not supported in Mach-O; ignored ../../../../../gcc-5.0-20141105/libstdc++-v3/src/c++11/streambuf-inst.cc:63:1: warning: alias definitions not supported in Mach-O; ignored
(In reply to howarth from comment #14) > which produces as set of warnings that don't appear in the build of > libstdc++-v3/src/c++98/streambuf-inst.cc. These are... > > ./../../../../gcc-5.0-20141105/libstdc++-v3/src/c++11/streambuf-inst.cc:63:1: > warning: alias definitions not supported in Mach-O; ignored I have no idea what that means or why building the file with -std=c++11 instead of -std=c++98 causes it, and I don't have any way to check what is different on darwin.
(In reply to Jonathan Wakely from comment #15) > (In reply to howarth from comment #14) > > which produces as set of warnings that don't appear in the build of > > libstdc++-v3/src/c++98/streambuf-inst.cc. These are... > > > > ./../../../../gcc-5.0-20141105/libstdc++-v3/src/c++11/streambuf-inst.cc:63:1: > > warning: alias definitions not supported in Mach-O; ignored > > I have no idea what that means or why building the file with -std=c++11 > instead of -std=c++98 causes it, and I don't have any way to check what is > different on darwin. This sounds similar to thread https://gcc.gnu.org/ml/gcc/2010-05/msg00164.html. The fact that we see the same warnings indicate the use of -std=c++11 is triggering the use aliases on darwin which is unsupported. The fact that the attached preprocessed source code from gcc trunk doesn't show any instances of '__alias__' makes me wondering if the middle-end is automatically doing this somehow when -std=c++11 is invoked.
These warnings are emitted from this code in gcc/config/darwin.h /* Mach-O supports 'weak imports', and 'weak definitions' in coalesced sections. machopic_select_section ensures that weak variables go in coalesced sections. Weak aliases (or any other kind of aliases) are not supported. Weak symbols that aren't visible outside the .s file are not supported. */ #define ASM_WEAKEN_DECL(FILE, DECL, NAME, ALIAS) \ do { \ if (ALIAS) \ { \ warning (0, "alias definitions not supported in Mach-O; ignored"); \ break; \ } \ \ if (! DECL_EXTERNAL (DECL) && TREE_PUBLIC (DECL)) \ targetm.asm_out.globalize_label (FILE, NAME); \ if (DECL_EXTERNAL (DECL)) \ fputs ("\t.weak_reference ", FILE); \ else if (lookup_attribute ("weak_import", DECL_ATTRIBUTES (DECL))) \ break; \ else if (TREE_PUBLIC (DECL)) \ fputs ("\t.weak_definition ", FILE); \ else \ break; \ assemble_name (FILE, NAME); \ fputc ('\n', FILE); \ } while (0)
Interestingly, these errors don't occur if the compilation of libstdc++-v3/src/c++11/streambuf-inst.cc is done at -O0, -O1 or if -fno-ipa-icf is appended at -O2 or higher.
Apparently we need something along the lines of the previously proposed IPA ICF aliasing restriction patch, however when applied to current gcc trunk the bootstrap fails at... libtool: compile: /sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/./gcc/xgcc -shared-libgcc -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/./gcc -nostdinc++ -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin14.0.0/i386/libstdc++-v3/src -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin14.0.0/i386/libstdc++-v3/src/.libs -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin14.0.0/i386/libstdc++-v3/libsupc++/.libs -B/sw/lib/gcc5.0/x86_64-apple-darwin14.0.0/bin/ -B/sw/lib/gcc5.0/x86_64-apple-darwin14.0.0/lib/ -isystem /sw/lib/gcc5.0/x86_64-apple-darwin14.0.0/include -isystem /sw/lib/gcc5.0/x86_64-apple-darwin14.0.0/sys-include -m32 -I/sw/src/fink.build/gcc50-5.0.0-1000/gcc-5.0-20141105/libstdc++-v3/../libgcc -I/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin14.0.0/i386/libstdc++-v3/include/x86_64-apple-darwin14.0.0 -I/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin14.0.0/i386/libstdc++-v3/include -I/sw/src/fink.build/gcc50-5.0.0-1000/gcc-5.0-20141105/libstdc++-v3/libsupc++ -D_GLIBCXX_SHARED -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once -fvisibility-inlines-hidden -ffunction-sections -fdata-sections -frandom-seed=atexit_thread.lo -g -O2 -m32 -std=gnu++11 -c ../../../../../gcc-5.0-20141105/libstdc++-v3/libsupc++/atexit_thread.cc -fno-common -DPIC -D_GLIBCXX_SHARED -o atexit_thread.o ../../../../../gcc-5.0-20141105/libstdc++-v3/libsupc++/atexit_thread.cc: In function ‘void {anonymous}::key_init()’: ../../../../../gcc-5.0-20141105/libstdc++-v3/libsupc++/atexit_thread.cc:111:3: internal compiler error: in cselib_invalidate_regno, at cselib.c:2154 } ^ libbacktrace could not find executable to open Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions.
This is mentioned here - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63534#c9 Fix for this is under review, start of the discussion is here - http://gcc.gnu.org/ml/gcc-patches/2014-10/msg01727.html
(In reply to Igor Zamyatin from comment #20) > This is mentioned here - > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63534#c9 > > Fix for this is under review, start of the discussion is here - > http://gcc.gnu.org/ml/gcc-patches/2014-10/msg01727.html If you apply both my IPA ICF alias restriction patch and this mentioned patch, can you bootstrap? As I don't have a machine with darwin1, I cannot verify if bootstrap works and there's no new regression? Thanks, Martin
(In reply to Martin Liška from comment #21) > (In reply to Igor Zamyatin from comment #20) > > This is mentioned here - > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63534#c9 > > > > Fix for this is under review, start of the discussion is here - > > http://gcc.gnu.org/ml/gcc-patches/2014-10/msg01727.html > > If you apply both my IPA ICF alias restriction patch and this mentioned > patch, can you bootstrap? > > As I don't have a machine with darwin1, I cannot verify if bootstrap works > and there's no new regression? > > Thanks, > Martin I already had https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63534#c50 applied and https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01727.html is already be committed. Perhaps a PR should be opened where the accumulated patches required for darwin are listed. At the moment we also need https://gcc.gnu.org/bugzilla/attachment.cgi?id=33897 and https://gcc.gnu.org/bugzilla/attachment.cgi?id=33854 for Yosemite as well.
(In reply to Martin Liška from comment #21) > (In reply to Igor Zamyatin from comment #20) > > This is mentioned here - > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63534#c9 > > > > Fix for this is under review, start of the discussion is here - > > http://gcc.gnu.org/ml/gcc-patches/2014-10/msg01727.html > > If you apply both my IPA ICF alias restriction patch and this mentioned > patch, can you bootstrap? > > As I don't have a machine with darwin1, I cannot verify if bootstrap works > and there's no new regression? > > Thanks, > Martin Martin, Are you currently testing gcc trunk with the IPA ICF alias restriction patch applied in your tree on linux? Is it possible that patch is regressed by all of the recent ipa icf commits? Jack
The error seen in Comment 19 appears to be identical to that reported in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63534#c9. If I also add in the proposed patch https://gcc.gnu.org/bugzilla/attachment.cgi?id=33736&action=diff from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63534#c18 for disabling just nonlocal_goto_receiver split in addition to the IPA ICF alias restriction patch, the bootstrap on x86_64-apple-darwin14 continues further into stage2 when it hits... /sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/./prev-gcc/xg++ -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/./prev-gcc/ -B/sw/lib/gcc5.0/x86_64-apple-darwin14.0.0/bin/ -nostdinc++ -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/prev-x86_64-apple-darwin14.0.0/libstdc++-v3/src/.libs -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/prev-x86_64-apple-darwin14.0.0/libstdc++-v3/libsupc++/.libs -I/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/prev-x86_64-apple-darwin14.0.0/libstdc++-v3/include/x86_64-apple-darwin14.0.0 -I/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/prev-x86_64-apple-darwin14.0.0/libstdc++-v3/include -I/sw/src/fink.build/gcc50-5.0.0-1000/gcc-5.0-20141106/libstdc++-v3/libsupc++ -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/prev-x86_64-apple-darwin14.0.0/libstdc++-v3/src/.libs -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/prev-x86_64-apple-darwin14.0.0/libstdc++-v3/libsupc++/.libs -c -g -O2 -gtoggle -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../gcc-5.0-20141106/gcc -I../../gcc-5.0-20141106/gcc/. -I../../gcc-5.0-20141106/gcc/../include -I../../gcc-5.0-20141106/gcc/../libcpp/include -I/sw/include -I/sw/include -I../../gcc-5.0-20141106/gcc/../libdecnumber -I../../gcc-5.0-20141106/gcc/../libdecnumber/dpd -I../libdecnumber -I../../gcc-5.0-20141106/gcc/../libbacktrace -DCLOOG_INT_GMP -I/sw/include -DCLOOG_INT_GMP -I/sw/include -I/sw/include -o tree-inline.o -MT tree-inline.o -MMD -MP -MF ./.deps/tree-inline.TPo ../../gcc-5.0-20141106/gcc/tree-inline.c ../../gcc-5.0-20141106/gcc/tree-inline.c: In function 'int estimate_num_insns_seq(gimple_seq, eni_weights*)': ../../gcc-5.0-20141106/gcc/tree-inline.c:5820:1: error: invalid argument to gimple call } ^ stmts # .MEM_3 = VDEF <.MEM_1(D)> retval.1677_4 = count_insns_seq (stmts, weights_2(D)); [tail call] ../../gcc-5.0-20141106/gcc/tree-inline.c:5820:1: internal compiler error: verify_gimple failed
> The error seen in Comment 19 appears to be identical to that reported in > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63534#c9. This is fixed by the patch at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63580#c4.
OK - so two more data points. ( i) With the alias patch, I can bootstrap x86_64-darwin12 However, there are lots of new fails in Ada (for example) that go away when I force ipa-icf off. (ii) The patch is NOT sufficient to restore bootstrap on powerpc-darwin9 (accepting that few people care about that platform). ----- So what this tells us is that the alias patch is necessary, but not sufficient to fix all the issues. My latest round of testing was carried out on 217269 - it takes time to spin the permutations - if there's new stuff in since then - then I should try it.
Author: marxin Date: Tue Nov 11 14:58:21 2014 New Revision: 217355 URL: https://gcc.gnu.org/viewcvs?rev=217355&root=gcc&view=rev Log: PR ipa/63622 PR ipa/63795 * g++.dg/ipa/ipa-icf-4.C: Add more precise dump scan. * g++.dg/ipa/ipa-icf-5.C: Add condition for target with symbol alias support. * ipa-icf.c (sem_function::merge): Add new target symbol alias support guard. (sem_variable::merge): Likewise. * ipa-icf.h (target_supports_symbol_aliases_p): New function. Modified: trunk/gcc/ChangeLog trunk/gcc/ipa-icf.c trunk/gcc/ipa-icf.h trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/ipa/ipa-icf-4.C trunk/gcc/testsuite/g++.dg/ipa/ipa-icf-5.C
At r217355, the failures for the gfortran.dg/assumed_rank_[8/9/10].f90 execution tests , first noted in Comment 7, still remain on x86_64 darwin.
(In reply to howarth from comment #28) > At r217355, the failures for the gfortran.dg/assumed_rank_[8/9/10].f90 > execution tests , first noted in Comment 7, still remain on x86_64 darwin. A backtrace of the failing test case generated by... /sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/gcc/testsuite/gfortran/../../gfortran -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/gcc/testsuite/gfortran/../../ -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libgfortran/ /sw/src/fink.build/gcc50-5.0.0-1000/gcc-5-20141111/gcc/testsuite/gfortran.dg/assumed_rank_10.f90 -fno-diagnostics-show-caret -fdiagnostics-color=never -O3 -fomit-frame-pointer -funroll-loops -fdump-tree-original -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libgfortran/.libs -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libgfortran/.libs -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libgfortran/.libs -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libquadmath/.libs -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libquadmath/.libs -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libquadmath/.libs -lm -m32 -o ./assumed_rank_10.exe in lldb appears as... % lldb /sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/gcc/testsuite/gfortran/assumed_rank_10.exe (lldb) target create "/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/gcc/testsuite/gfortran/assumed_rank_10.exe" Current executable set to '/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/gcc/testsuite/gfortran/assumed_rank_10.exe' (i386). (lldb) r Process 99438 launched: '/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/gcc/testsuite/gfortran/assumed_rank_10.exe' (i386) Program aborted. Backtrace: #0 0x5151 #1 0x6caf #2 0xbd577 #3 0x1a8f #4 0x1bfa Process 99438 stopped * thread #1: tid = 0x101913c, 0x9ab09952 libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread', stop reason = signal SIGABRT frame #0: 0x9ab09952 libsystem_kernel.dylib`__pthread_kill + 10 libsystem_kernel.dylib`__pthread_kill + 10: -> 0x9ab09952: jae 0x9ab09962 ; __pthread_kill + 26 0x9ab09954: calll 0x9ab09959 ; __pthread_kill + 17 0x9ab09959: popl %edx 0x9ab0995a: movl 0x6c996c7(%edx), %edx (lldb) bt * thread #1: tid = 0x101913c, 0x9ab09952 libsystem_kernel.dylib`__pthread_kill + 10, queue = 'com.apple.main-thread', stop reason = signal SIGABRT * frame #0: 0x9ab09952 libsystem_kernel.dylib`__pthread_kill + 10 frame #1: 0x9083c167 libsystem_pthread.dylib`pthread_kill + 101 frame #2: 0x97beb29c libsystem_c.dylib`abort + 155 frame #3: 0x00006c90 libgfortran.3.dylib`__gfortrani_sys_abort + 32 at error.c:180 frame #4: 0x000bd578 libgfortran.3.dylib`_gfortran_abort + 8 at abort.c:33 frame #5: 0x00001a90 assumed_rank_10.exe`fpa.3310 + 48 frame #6: 0x00001bfb assumed_rank_10.exe`main + 283 frame #7: 0x92e5d701 libdyld.dylib`start + 1 (lldb)
Created attachment 33936 [details] assembly for gfortran.dg/assumed_rank_10.f90 -O3 -fomit-frame-pointer -funroll-loops execution test Generated with /sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/gcc/testsuite/gfortran/../../gfortran -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/gcc/testsuite/gfortran/../../ -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libgfortran/ /sw/src/fink.build/gcc50-5.0.0-1000/gcc-5-20141111/gcc/testsuite/gfortran.dg/assumed_rank_10.f90 -fno-diagnostics-show-caret -fdiagnostics-color=never -O3 -fomit-frame-pointer -funroll-loops -fdump-tree-original -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libgfortran/.libs -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libgfortran/.libs -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libgfortran/.libs -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libquadmath/.libs -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libquadmath/.libs -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libquadmath/.libs -lm -m32 -o ./assumed_rank_10.exe --save-temps
(In reply to howarth from comment #28) As noted before, passing -fno-ipa-icf to these failing fortran test cases suppresses the execution failure.
Created attachment 33939 [details] assumed_rank_10.f90.003t.original output from -fdump-ipa-icf-details Generated using /sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/gcc/testsuite/gfortran/../../gfortran -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/gcc/testsuite/gfortran/../../ -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libgfortran/ /sw/src/fink.build/gcc50-5.0.0-1000/gcc-5-20141111/gcc/testsuite/gfortran.dg/assumed_rank_10.f90 -fno-diagnostics-show-caret -fdiagnostics-color=never -O3 -fomit-frame-pointer -funroll-loops -fdump-tree-original -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libgfortran/.libs -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libgfortran/.libs -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libgfortran/.libs -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libquadmath/.libs -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libquadmath/.libs -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libquadmath/.libs -lm -m32 -o ./assumed_rank_10.exe --save-temps -fdump-ipa-icf-details
Created attachment 33940 [details] assumed_rank_10.f90.051i.icf output from -fdump-ipa-icf-details Generated using /sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/gcc/testsuite/gfortran/../../gfortran -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/gcc/testsuite/gfortran/../../ -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libgfortran/ /sw/src/fink.build/gcc50-5.0.0-1000/gcc-5-20141111/gcc/testsuite/gfortran.dg/assumed_rank_10.f90 -fno-diagnostics-show-caret -fdiagnostics-color=never -O3 -fomit-frame-pointer -funroll-loops -fdump-tree-original -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libgfortran/.libs -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libgfortran/.libs -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libgfortran/.libs -B/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libquadmath/.libs -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libquadmath/.libs -L/sw/src/fink.build/gcc50-5.0.0-1000/darwin_objdir/x86_64-apple-darwin13.4.0/i386/libquadmath/.libs -lm -m32 -o ./assumed_rank_10.exe --save-temps -fdump-ipa-icf-details
Reduced test case for assumed_rank_10.f90 program test implicit none type t integer :: aa end type t integer, pointer :: iip type(t), pointer :: jjp logical :: is_present is_present = .true. allocate (iip, jjp) iip = 7 jjp = t(88) call fpa(iip, jjp) ! Copy back if (iip /= 7 .and. jjp%aa /= 88) call abort () call fpi(iip, jjp) ! No copy back if (iip /= 7 .and. jjp%aa /= 88) call abort () contains subroutine fpa (xx1, yy1) integer, pointer :: xx1(..) type(t), pointer :: yy1(..) if (is_present .neqv. associated (xx1)) call abort () if (is_present .neqv. associated (yy1)) call abort () end subroutine fpa subroutine fpi (xx1, yy1) integer, pointer, intent(in) :: xx1(..) type(t), pointer, intent(in) :: yy1(..) if (is_present .neqv. associated (xx1)) call abort () if (is_present .neqv. associated (yy1)) call abort () end subroutine fpi end program test The abort is triggered in the fpa/fpi subroutines when the test is compiled with [Book15] f90/bug% gfc -O2 -funroll-all-loops assumed_rank_10_red.f90 -m32 [Book15] f90/bug% a.out Program aborted. Backtrace: #0 0x1c4a1 #1 0x1e00f #2 0xd4677 #3 0x15d0f #4 0x15dd3 Abort Note that only the fpa/fpi subroutines in the original file assumed_rank_10.f90 cause the abort: if their calls are commented the tests succeed.
(In reply to howarth from comment #28) > At r217355, the failures for the gfortran.dg/assumed_rank_[8/9/10].f90 > execution tests , first noted in Comment 7, still remain on x86_64 darwin. Please file test suite failures as new PR (one new PR per test failure with a different backtrace, ideally). It's very hard to track as such (the subject is not accurate any more, the discussion is convoluted, etc.)
> Please file test suite failures as new PR (one new PR per test failure > with a different backtrace, ideally). It's very hard to track as such > (the subject is not accurate any more, the discussion is convoluted, etc.) I have filled pr63851 for the fortran failures and pr63852 for the acats ones. Any objection against closing this PR as FIXED?
Closing as fixed.