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

Reply via email to