On 25/11/2018 18:30, Sebastian Reitenbach wrote:
Hi,
since a good months ago, on OpenBSD -current amd64, bundle loading stopped
working. I'm not sure what caused it, at least nothing with regard to objc and
gnustep, since I haven't touched the packages since then.
I have now managed to reproduce this on FreeBSD. It appears that lld
does not like GNUstep-back (or SOPE, for that matter) and generates a
subtly broken library. Using gold to link -back and lld for everything
else appears to work.
I now have (locally, not yet committed upstream) the FreeBSD packages
using the v2 ABI and GUI apps running. I found a couple of small clang
bugs, both of which are now fixed upstream (one prevents -base configure
from running, but doesn't prevent anything real from working - it is
only a problem if you create a program or library that doesn't contain
any Objective-C classes, but does use Objective-C). I've also merged
the changes for the new constant string representations into -base.
I'm still debugging a few things. Cenon crashes on startup (before
entering main, could be another LLD incompatibility). Gorm is quite
broken with the new ABI because it adds a bunch of categories that
expose @private fields from classes in AppKit: this is not allowed now
that @private is enforced by the linker (I don't believe it works on
Apple platforms either, for the same reason - the ivar offset variables
are only publicly exported for things that are part of the public
interface). It's still possible to access ivars via reflection, but you
then have an opportunity to check that the Ivar that the runtime returns
is not NULL. I'll try to push some fixes for these things in the next
few days.
David
_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep