discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: loading bundles stopped working


From: David Chisnall
Subject: Re: loading bundles stopped working
Date: Sun, 30 Dec 2018 13:51:46 +0000
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.3.3

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]