Hi David,

> Looking at your backtrace, it appears that you're seeing the bug in BFD ld.  
> With the -r option, it resolved the __start and __stop symbols early, then 
> ended up with a .o file that caused everything declared in it to be dropped 
> during final linkage.  This results in anything in the GNUstep Base Additions 
> library being discarded.  Linking GNUstep Base (and -base Additions) with 
> either lld or gold should fix this problem.

Thanks for the pointer, that was it – adding -fuse-ld=gold to the linker flags 
the projects work fine now with the new NDK/Clang.

Interestingly using LLD gave me a different segmentation fault: somehow 
class->dtable was NULL in objc_msg_lookup_internal(), causing a NULL-pointer 
dereference in SparseArrayLookup(). Any idea what could be going on here? Note 
that LLD is only "available for testing" in the NDK

> #0  0x0000007ab56a2ec4 in SparseArrayLookup (sarray=0x0, index=3042308324) at 
> ../sarray2.h:77
> #1  0x0000007ab56a20d0 in objc_msg_lookup_internal (receiver=0x7ab9aff8a0, 
> selector=0x7ab5562378 <.objc_selector_new_\00116\0010:8>, version=0x0) at 
> ../sendmsg2.c:100
> #2  objc_msg_lookup_sender (receiver=0x7ab9aff8a0, selector=0x7ab5562378 
> <.objc_selector_new_\00116\0010:8>, sender=0x0) at ../sendmsg2.c:200
> #3  0x0000007ab55600f4 in testObjC () at ../Qt-test/ObjC.m:20


Thanks,
Frederik

_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to