IA64 bootstrap failed at abi_check stage reporting undefined references from libstdc++ (see log at the bottom).
That happens because of missed bodies of some compiler-generate functions. For example, minimal reproducer listed below fails to link with xgcc, reporting undefined reference from B::vtable to virtual destructor B::~B(). $ cat foo.cpp class A { public: virtual ~A(); }; class B : public A { public: B(); }; A::~A() {}; B::B() {}; int main() {} $ /bootstrap/build/./gcc/xgcc -B/bootstrap/build/./gcc foo.cpp /tmp/ccSauNDl.o(.gnu.linkonce.r._ZTV1B+0x10): undefined reference to `B::~B()' /tmp/ccSauNDl.o(.gnu.linkonce.r._ZTV1B+0x20): undefined reference to `B::~B()' How it is possible that recent cgraph changes affect ia64 compiler behavior? I see reclaimed callgraph differs on ia64 but not on ia32; therefore ia32/x86_64 compiler remains stable. Any suggestion that help analyze this is highly appreciated! --- Grigory Zagorodnev Intel Corporation PS: bootstrap log for identification reasons -------------------------------------------- /bootstrap/build/./gcc/g++ -shared-libgcc -B/bootstrap/build/./gcc/ -nostdinc++ -B/bootstrap/usr/ia64-redhat-linux/bin/ -B/bootstrap/usr/ia64-redhat-linux/lib/ -isystem /bootstrap/usr/ia64-redhat-linux/include -isystem /bootstrap/usr/ia64-redhat-linux/sys-include -g -O2 -D_GLIBCXX_ASSERT -ffunction-sections -fdata-sections -fmessage-length=0 -DLOCALEDIR=/bootstrap/build/ia64-redhat-linux/libstdc++-v3/po/share/loc ale -g -O2 -D_GNU_SOURCE -o abi_check abi_check.o -L/bootstrap/build/ia64-redhat-linux/libstdc++-v3/src -L/bootstrap/build/ia64-redhat-linux/libstdc++-v3/src/.libs -lv3test -L/bootstrap/build/ia64-redhat-linux/libstdc++-v3/testsuite -lm -Wl,--rpath -Wl,/bootstrap/build/./gcc -Wl,--rpath -Wl,/bootstrap/build/ia64-redhat-linux/libstdc++-v3/src/.libs /bootstrap/build/ia64-redhat-linux/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `std::ctype<char>::do_widen(char const*, char const*, char*) const' /bootstrap/build/ia64-redhat-linux/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::~basic_stringbuf()' /bootstrap/build/ia64-redhat-linux/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `std::overflow_error::~overflow_error()' ... collect2: ld returned 1 exit status make[4]: *** [abi_check] Error 1 make[4]: Leaving directory `/home/gcc_testbot/bootstrap/000816/bld/ia64-redhat-linux/libstdc++-v3/t estsuite' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/gcc_testbot/bootstrap/000816/bld/ia64-redhat-linux/libstdc++-v3' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/gcc_testbot/bootstrap/000816/bld/ia64-redhat-linux/libstdc++-v3' make[1]: *** [all-target-libstdc++-v3] Error 2 make[1]: Leaving directory `/home/gcc_testbot/bootstrap/000816/bld' make: *** [bootstrap] Error 2