On 6 Mar 2019, at 01:27, David Chisnall <gnustep@theravensnest.org> wrote:
On 05/03/2019 12:45, Andreas Fink wrote:
Making all for tool cvtenc...
Linking tool cvtenc ...
./obj/cvtenc.obj/cvtenc.m.o:(.data..objc_init[.objc_init]+0x18): undefined
reference to `__start___objc_classes'
./obj/cvtenc.obj/cvtenc.m.o:(.data..objc_init[.objc_init]+0x20): undefined
reference to `__stop___objc_classes'
As I have said before, this is a bug in clang 7.x It is fixed in the 8.x
release branch and the fix is back-ported in the FreeBSD llvm70 package. If
your favourite operating system's LLVM 7 package does not work, please ask them
to incorporate this fix:
https://svnweb.freebsd.org/ports/head/devel/llvm70/files/clang/patch-tools_clang_lib_CodeGen_CGObjCGNU.cpp?revision=489195&view=markup
This bug doesn't affect real code, but it will be a problem for any programs
that use Objective-C but don't contain any classes, which unfortunately
includes most of the GNUstep base configure scripts.
I have tested clang 8 on FreeBSD and am able to build all of the GNUstep
applications that I've tried (all of the ones in the FreeBSD ports collection)
with it without issues. This version already contains the bug fix. It does
cause a regression in one of the libobjc2 tests, which I'm working on tracking
down (it's triggered by a change to how LLVM does ARC optimisation, but that's
not actually the cause), but that particular pattern is unlikely to occur in
real code.
David
_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnustep