Re: Building GNUstep for Windows using Clang

Frederik Seiffert <[email protected]>
Newsgroups gmane.comp.lib.gnustep.devel
Message-ID <[email protected]>
> Am 02.12.2020 um 20:20 schrieb David Chisnall <[email protected]>:
> 
> It looks as if the code to check which personality function is outside the runtime-specific code.  The attached diff should fix that.

FYI these are the linker errors after building Clang with this patch added also:

> lld-link: error: undefined symbol: __CxxFrameHandler3
> >>> referenced by obj/libgnustep-base.obj/GSHTTPAuthentication.m.o:(.xdata)
> >>> referenced by obj/libgnustep-base.obj/GSHTTPAuthentication.m.o:(.xdata)
> >>> referenced by obj/libgnustep-base.obj/GSHTTPAuthentication.m.o:($ip2state$_c_GSHTTPAuthentication__authenticationWithCredential_inProtectionSpace_)
> >>> referenced 258 more times
> 
> lld-link: error: undefined symbol: vtable for __cxxabiv1::__class_type_info
> >>> referenced by obj/libgnustep-base.obj/GSHTTPAuthentication.m.o:(typeinfo for NSObject)
> >>> referenced by obj/libgnustep-base.obj/GSTimSort.m.o
> >>> referenced by obj/libgnustep-base.obj/GSTLS.m.o
> 
> lld-link: error: undefined symbol: vtable for __cxxabiv1::__si_class_type_info
> >>> referenced by obj/libgnustep-base.obj/GSHTTPAuthentication.m.o:(typeinfo for NSException)
> >>> referenced by obj/libgnustep-base.obj/GSTimSort.m.o
> >>> referenced by obj/libgnustep-base.obj/GSTLS.m.o
> 
> lld-link: error: undefined symbol: vtable for __cxxabiv1::__pointer_type_info
> >>> referenced by obj/libgnustep-base.obj/GSHTTPAuthentication.m.o:(typeinfo for NSException*)
> >>> referenced by obj/libgnustep-base.obj/GSTimSort.m.o
> >>> referenced by obj/libgnustep-base.obj/GSTLS.m.o


For now I might try disabling native exceptions (which looks like will require some changes in Make as it assumes libobjc2 supports them) to keep moving towards a Clang build of GNUstep on Windows.

That being said, it would be great to get a better idea of what needs to be done to get exception handling working with MinGW (in Clang and/or libobjc2). We’d be happy to support or sponsor required work in any way we can.

In the meantime, if there’s anything else I can try so we can get a better picture just let me know. :)

Thanks!
Frederik
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.