Hi, On Thu, 10 Nov 2011, Steve Ellcey wrote:
> This patch (r181172) has broken my bootstrap of IA64 Linux and I am > trying to figure out what to do about it. > > The failure happens while building libunwind (I did not configure with > --with-system-libunwind): > > /ctires/gcc/nightly/build-ia64-redhat-linux-gnu-trunk/obj_gcc/./gcc/xgcc > -B/ctires/gcc/nightly/build-ia64-redhat-linux-gnu-trunk/obj_gcc/./gcc/ > -B/ctires/gcc/nightly/gcc-ia64-redhat-linux-gnu-trunk/ia64-redhat-linux-gnu/bin/ > > -B/ctires/gcc/nightly/gcc-ia64-redhat-linux-gnu-trunk/ia64-redhat-linux-gnu/lib/ > > -isystem > /ctires/gcc/nightly/gcc-ia64-redhat-linux-gnu-trunk/ia64-redhat-linux-gnu/include > > -isystem > /ctires/gcc/nightly/gcc-ia64-redhat-linux-gnu-trunk/ia64-redhat-linux-gnu/sys-include > > -O2 -g -O2 -DIN_GCC -DUSE_LIBUNWIND_EXCEPTIONS -W -Wall -Wno-narrowing > -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes > -Wold-style-definition -isystem ./include -fPIC -DUSE_GAS_SYMVER -g > -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -shared > -nodefaultlibs -Wl,-h,libunwind.so.7 -Wl,-z,text -Wl,-z,defs -o > ./libunwind.so.7.tmp -g -O2 -B./ fde-glibc_s.o unwind-ia64_s.o -lc && rm > -f ./libunwind.so && if [ -f ./libunwind.so.7 ]; then mv -f > ./libunwind.so.7 ./libu > nwind.so.7.backup; else true; fi && mv ./libunwind.so.7.tmp ./libunwind.so.7 > && ln -s libunwind.so.7 ./libunwind.so > > fde-glibc_s.o:(.IA_64.unwind_info+0x28): undefined reference to > `__gcc_personality_v0' Hmm, this is defined in libgcc_s and in libgcc_eh, but libunwind is linked with -nodefaultlibs. I think it makes sense to require the unwinder to not throw or catch exceptions itself, hence -fno-exceptions should be the correct flag to compile it ... > Looking at fde-glibc_s.o and unwind-ia64_s.o before your patch I see > that there are no references to __gcc_personality_v0. Looking at the > email and PR 50857 made me think that maybe we should compile these > files with -fno-exceptions but the Makefile is currently explicitly > compiling them with -fexceptions ... so this seems incorrect. I'd try adding -fno-exceptions for the LIBUNWIND objects, it should work. Ciao, Michael.