Le 8 oct. 2013 à 20:22, David Fang <[email protected]> a écrit :

Nick,

On Oct 7, 2013, at 7:38 PM, David Fang wrote:
Hi Nick,
        Thanks for the libunwind commit!
        Would it be possible to also include "mach-o/dyld_priv.h" as well? It 
is referenced by src/Unwind/AddressSpace.hpp.  I have a copy of that header from a 2009 
distribution of cctools.
        (I'm still building on powerpc-darwin8.)

Having that header is not going to help.  The header declarations a function in 
libSystem.dylib which the unwinder calls to get the address of the __eh_frame 
for a given pc.  That function is not in the darwin8 libSystem.  We'll need to 
write an equivalent using dladdr() and getsectiondata() for older MacOSX 
versions.

        What is the name of that function (where it is available)?  Would 
something like this be available somewhere in LLVM?


It is _dyld_find_unwind_sections() used to find __eh_frame and _dyld_register_func_for_remove_image() used to track unloaded libraries and prune the cache accordingly.

But even if you manage to fix the dyld dependency, it will just get you to an other missing private header error (pthread_machdep.h from libc) which provides direct access to thread local variables (maybe that one can be replaced by a __thread var though).
-- Jean-Daniel

Thanks,
        FYI, I've started putting notes in
http://llvm.org/bugs/show_bug.cgi?id=17513

Are there alternative ways of implementing:

bool
LocalAddressSpace::findUnwindSections(pint_t targetAddr,
                                      UnwindInfoSections& info);

on darwin8?

I also saw the System/pthread_machdep.h error during compilation.
Is there an equivalent on older darwin?

Fang

--
David Fang
http://www.csl.cornell.edu/~fang/
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to