Bug 63622 - [5.0 Regression] Bootstrap fails on x86_64-apple-darwin1[34] after revision r216305
Summary: [5.0 Regression] Bootstrap fails on x86_64-apple-darwin1[34] after revision r...
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: bootstrap (show other bugs)
Version: 5.0
: P3 blocker
Target Milestone: 5.0
Assignee: Martin Liška
URL:
Keywords:
Depends on:
Blocks: 63773
  Show dependency treegraph
 
Reported: 2014-10-22 19:58 UTC by Dominique d'Humieres
Modified: 2018-02-19 04:26 UTC (History)
7 users (show)

See Also:
Host: x86_64-apple-darwin1[34]
Target: x86_64-apple-darwin1[34]
Build: x86_64-apple-darwin1[34]
Known to work:
Known to fail:
Last reconfirmed: 2014-10-23 00:00:00


Attachments
IPA ICF aliasing restriction (1005 bytes, patch)
2014-10-29 15:05 UTC, Martin Liška
Details | Diff
preprocessed source for libstdc++-v3/src/c++11/streambuf-inst.cc (58.17 KB, application/octet-stream)
2014-11-06 01:19 UTC, Jack Howarth
Details
assembly for gfortran.dg/assumed_rank_10.f90 -O3 -fomit-frame-pointer -funroll-loops execution test (2.34 KB, text/plain)
2014-11-11 17:14 UTC, Jack Howarth
Details
assumed_rank_10.f90.003t.original output from -fdump-ipa-icf-details (1.12 KB, text/plain)
2014-11-11 17:57 UTC, Jack Howarth
Details
assumed_rank_10.f90.051i.icf output from -fdump-ipa-icf-details (3.23 KB, text/plain)
2014-11-11 17:58 UTC, Jack Howarth
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dominique d'Humieres 2014-10-22 19:58:43 UTC
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
Comment 1 Dominique d'Humieres 2014-10-23 12:59:32 UTC
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
Comment 2 Dominique d'Humieres 2014-10-23 15:22:42 UTC
I have bootstrapped r216305 without ada.

Is there a way to propagate -fno-ipa-icf to the Ada build?
Comment 3 Martin Liška 2014-10-29 15:05:07 UTC
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.
Comment 4 Dominique d'Humieres 2014-10-29 22:09:18 UTC
> 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
Comment 5 Jack Howarth 2014-10-30 00:43:51 UTC
(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?
Comment 6 Martin Liška 2014-10-30 10:04:03 UTC
(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
Comment 7 Dominique d'Humieres 2014-10-30 15:15:09 UTC
> 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.
Comment 8 Jack Howarth 2014-11-05 17:54:00 UTC
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?
Comment 9 Jack Howarth 2014-11-05 22:16:15 UTC
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.
Comment 10 Jack Howarth 2014-11-05 22:21:44 UTC
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)
Comment 11 Jack Howarth 2014-11-05 22:46:02 UTC
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
Comment 12 Jack Howarth 2014-11-05 23:11:56 UTC
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?
Comment 13 Jack Howarth 2014-11-06 01:19:19 UTC
Created attachment 33904 [details]
preprocessed source for libstdc++-v3/src/c++11/streambuf-inst.cc
Comment 14 Jack Howarth 2014-11-06 01:32:06 UTC
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
Comment 15 Jonathan Wakely 2014-11-06 03:10:36 UTC
(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.
Comment 16 Jack Howarth 2014-11-06 03:47:00 UTC
(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.
Comment 17 Jack Howarth 2014-11-06 03:54:00 UTC
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)
Comment 18 Jack Howarth 2014-11-06 04:09:44 UTC
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.
Comment 19 Jack Howarth 2014-11-06 04:28:48 UTC
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.
Comment 20 Igor Zamyatin 2014-11-06 08:35:55 UTC
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
Comment 21 Martin Liška 2014-11-06 10:29:03 UTC
(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
Comment 22 Jack Howarth 2014-11-06 15:38:06 UTC
(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.
Comment 23 Jack Howarth 2014-11-06 16:39:39 UTC
(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
Comment 24 Jack Howarth 2014-11-06 22:10:18 UTC
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
Comment 25 Dominique d'Humieres 2014-11-06 22:21:38 UTC
> 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.
Comment 26 Iain Sandoe 2014-11-10 21:08:31 UTC
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.
Comment 27 Martin Liška 2014-11-11 14:58:53 UTC
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
Comment 28 Jack Howarth 2014-11-11 17:01:50 UTC
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.
Comment 29 Jack Howarth 2014-11-11 17:11:03 UTC
(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)
Comment 30 Jack Howarth 2014-11-11 17:14:40 UTC
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
Comment 31 Jack Howarth 2014-11-11 17:17:30 UTC
(In reply to howarth from comment #28)

As noted before, passing -fno-ipa-icf to these failing fortran test cases suppresses the execution failure.
Comment 32 Jack Howarth 2014-11-11 17:57:30 UTC
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
Comment 33 Jack Howarth 2014-11-11 17:58:46 UTC
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
Comment 34 Dominique d'Humieres 2014-11-11 18:07:50 UTC
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.
Comment 35 Francois-Xavier Coudert 2014-11-11 19:12:43 UTC
(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.)
Comment 36 Dominique d'Humieres 2014-11-13 16:13:19 UTC
> 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?
Comment 37 Francois-Xavier Coudert 2014-11-15 12:17:53 UTC
Closing as fixed.