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
