New ABI changes upstreamed (for ELF)

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

New ABI changes upstreamed (for ELF)

David Chisnall-7
Hello all,

As of today, the clang changes to support the new ABI are upstream in the LLVM repo, so you can specify -fobjc-runtime=gnustep-2.0 and get the new ABI with any clang built from the master branch after today.

The new ABI is currently ELF-only (though as I now work at Microsoft Research, I have access to Windows machines quite easily, and as Microsoft is shipping the runtime I hope to have some time to work on the PE/COFF port quite soon).

The -base changes mostly relate to the new constant string representation.  Unfortunately, these exposed bugs in the NSString implementations of various methods related to unicode, and I then went down a rabbit hole of trying to fix these by providing an ICU version.  I don’t know what the correct approach here is, but we can’t merge the (fairly simple) changes to support the new constant string representation without introducing a number of regressions in the test suite.  Help fixing this would be appreciated!

More testing is also very welcome!  The new ABI is *probably* stable now, but I’m planning on waiting until the LLVM 7.0 release before making any real guarantees about compatibility.  I hope to do the 2.0 release of the runtime at around the same time as the LLVM 7.0 release.


Gnustep-dev mailing list
[hidden email]