On Tue, 2011-03-01 at 13:45 -0800, Ian Lance Taylor wrote: > Steve Ellcey <s...@cup.hp.com> writes: > > > According to PR 20095 the reason for not implementing > > __gcc_personality_v0 is that the HP unwind library does not implement > > _UA_END_OF_STACK which is a GCC extension to the standard IA64 unwind > > ABI and the HP-UX system unwind does not support it so the only way > > to implement __gcc_personality_v0 is to use the GCC libunwind instead of > > the HP-UX system one. > > I don't understand this point. It's true that gcc's unwind library will > pass _UA_END_OF_STACK to the stop function passed to > _Unwind_ForcedUnwind if the unwind library returns _URC_END_OF_STACK. > But I don't see what that has to do with __gcc_personality_v0. > __gcc_personality_v0 does not generate or look for _UA_END_OF_STACK, nor > should it, as it is not a stop function passed to _Unwind_ForcedUnwind. > > Ian
I guess it isn't related directly to __gcc_personality_v0. If I include unwind-c.c in the ia64-hp-hpux11.23 build then I get the C personality function and the pr33572.C test passes with -flto. The reason we didn't include this file before (in response to PR 20095) was that even if we added unwind-c.c to the build, it didn't fix gcc.dg/cleanup-5.c. That test still fails with a segfault in the HP-UX unwind library (In _Unwind_ForcedUnwind). So maybe we should include unwind-c.c to fix the -flto failures. Steve Ellcey s...@cup.hp.com