For those waiting for a fully functional gcj on darwin10,
we've identified the problem. In darwin10, a number of libgcc
calls are set to not-implemented macros which silently abort.
This was the reason that gcj aborts the unwinder becauses it
calls the not-implemented _Unwind_FindEnclosingFunction() call.
Fortunately, we are already defaulting to -no_compact_unwind
on darwin10 so we still have access to the _Unwind_Find_FDE()
call of the original _Unwind_FindEnclosingFunction() code.
Unfortunately, we are going to have find some way to shoehorn
in a darwin specific _Unwind_FindEnclosingFunction() to
recover the needed call.
   Debugging this has clarified the changes in unwinder a bit.
In particular, the default linkage, with compact unwinding
enabled, uses a different unwinder for compact unwind info.
This unwinder doesn't know about FDEs which explains why
in FSF gcc trunk we eliminated all of the remaining exception
handling failures, introduced with darwin10, when we switched
the linkage to -no_compact_unwind.
   In the long run, we are going to have to have FSF gcc
switch to the compact unwind info (which currently doesn't
work because the new epilog unwind info notes in FSF gcc
trunk makes the system unwinder puke).
   In any case, I have verified that the gcj issues are fixed
on darwin10 when we pass the missing code for
_Unwind_FindEnclosingFunction(). Now we have to find an
acceptable way to do that short of adding a new symbol
to libgcc_ext.
            Jack

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Fink-devel mailing list
[email protected]
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to