Message ID | 4E9180F5.3050203@ubuntu.com |
---|---|
State | New |
Headers | show |
On 10/09/2011 12:09 PM, Matthias Klose wrote: > This did break libobjc and libjava on arm-linux-gnueabi. > > libobjc now has an undefined reference to _Unwind_decode_target2, which can be > avoided with > > --- libobjc/exception.c.orig 2011-07-21 15:33:57.000000000 +0000 > +++ libobjc/exception.c 2011-10-09 10:53:12.554940776 +0000 > @@ -182,7 +182,7 @@ > _Unwind_Ptr ptr; > > ptr = (_Unwind_Ptr) (info->TType - (i * 4)); > - ptr = _Unwind_decode_target2 (ptr); > + ptr = _Unwind_decode_typeinfo_ptr (info->ttype_base, (_Unwind_Word) ptr); > > /* NULL ptr means catch-all. Note that if the class is not found, > this will abort the program. */ > > libjava fails to build, the same change doesn't work for libjava/exception.cc, > because the struct lsda_header_info in exception.cc is missing the ttype_base > member. Any suggestions? Is this fixable without backing out Paul Brooks' patch? Andrew.
--- libobjc/exception.c.orig 2011-07-21 15:33:57.000000000 +0000 +++ libobjc/exception.c 2011-10-09 10:53:12.554940776 +0000 @@ -182,7 +182,7 @@ _Unwind_Ptr ptr; ptr = (_Unwind_Ptr) (info->TType - (i * 4)); - ptr = _Unwind_decode_target2 (ptr); + ptr = _Unwind_decode_typeinfo_ptr (info->ttype_base, (_Unwind_Word) ptr); /* NULL ptr means catch-all. Note that if the class is not found, this will abort the program. */