_Unwind_FindEnclosingFunction vs darwin

Jack Howarth howarth@bromo.med.uc.edu
Sat Dec 19 18:49:00 GMT 2009


On Sat, Dec 19, 2009 at 05:26:10PM +0000, Andrew Haley wrote:
> >>
> >> The easiest thing would be to add
> >>
> >> #ifdef USING_DARWIN_CRT
> >> #undefine _Unwind_FindEnclosingFunction(PC)
> >> #define _Unwind_FindEnclosingFunction(PC) darwin10_Unwind_FindEnclosingFunction(PC)
> >> #endif
> >>
> >> to include/posix.h.
> >>
> >> Please make sure that darwin10_Unwind_FindEnclosingFunction is not exported from
> >> anywhere. I'd just declare it static inline in include/posix.h.
> >>
> >> Andrew.
> > 
> > Andrew,
> > The bigger question is were do we put the actual code for darwin10_Unwind_FindEnclosingFunction()
> > such that libgcj can access it.
>> Define it static inline in libjava/include/posix.h..
>> Andrew.

Andrew,
 Okay, so if I add...
static inline void *
_darwin10_Unwind_FindEnclosingFunction (void *pc)
{
 struct dwarf_eh_bases bases;
 const struct dwarf_fde *fde = _Unwind_Find_FDE (pc-1, &bases);
 if (fde)
 return bases.func;
 else
 return NULL;
}
#ifdef USING_DARWIN_CRT
#undef _Unwind_FindEnclosingFunction
#define _Unwind_FindEnclosingFunction(PC) _darwin10_Unwind_FindEnclosingFunction(PC)
#endif
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?
 Jack


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /