Re: _Unwind_FindEnclosingFunction vs darwin
Jack Howarth <[email protected]>
| Newsgroups | gmane.comp.gcc.java.devel |
|---|---|
| Message-ID | <[email protected]> |
On Sat, Dec 19, 2009 at 07:54:15PM +0000, Bryce McKinlay wrote: > On Sat, Dec 19, 2009 at 6:49 PM, Jack Howarth <[email protected]> wrote: > > > to libjava/include/posix.h, what is the correct way to access the missing declarations > > for dwarf_eh_bases, dwarf_fde, fde and _Unwind_Find_FDE? Are we supposed to directly > > include the *dw2* headers from the gcc subdirectory or duplicate their contents in this > > header? > > I think you only really need to copy the dwarf_eh_bases struct and the > definition for _Unwind_Find_FDE itself. The others can be treated as > opaque. > > Please also call it _Jv_Unwind_Find_FDE and use configure.ac to enable > it for Darwin (only) as I described before - its bad to override > functions with #defines... > > Bryce I confused about the details of functions called within a static inline function. Do we have to create additional static inlines for each of those called functions in the same header? If so, we are going to have to add a lot of code from unwind-dw2-fde-darwin.c since _Unwind_Find_FDE() calls _Unwind_Find_registered_FDE(). Perhaps it would be easier if we added a duplicated _Unwind_FindEnclosingFunction() to unwind-dw2-fde-darwin.c as _darwin10_Unwind_FindEnclosingFunction() and emitted that symbol via the versioned libgcc_ext stubs. I know that works in theory and would be a much smaller patch. Jack