|
From: | David Chisnall |
Subject: | Re: libobjc2/gnustep-base also failing under FreeBSD |
Date: | Tue, 12 Feb 2019 13:43:36 +0000 |
User-agent: | Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.5.0 |
On 11/02/2019 16:10, Jordan Schidlowsky wrote:
I get these same linker errors when I link for android using a newish lld... If you use any other linker these linker errors will go away ( gold or ld do not have these errors).
I'd be quite worried if they went away. The linker is reporting that the compiler generated incorrect code[1]. I saw the same errors with BFD ld. If you have a linker that is linking it without errors, I wonder what it's actually putting in the binary...
David[1] If anyone cases: someone from Apple decided to make block descriptors public symbols with mangled names, rather than internal symbols. This is a win most of the time, because it lets the linker deduplicate them, but unfortunately they put the Objective-C type encoding in the name. On ELF platforms, @ is the separator between the symbol name and the symbol version, so block descriptors ended up appearing as versioned symbols. This is now fixed in clang, to replace the @ character with something else ('\1', I think).
[Prev in Thread] | Current Thread | [Next in Thread] |