AArch64 | |
ppc64le | |
s390x | |
x86-64 |
- Update to version 2.1: * Numerous improvements to the Objective-C++ exception interoperation code. * Fix silently ignored message sent to `super` where the corresponding method does not exist. * Fix the checks for overloaded memory management methods. * Several memory management bugs in corner cases of weak reference management were fixed. * Fix a bug in `objc_msgSend` that used to lead to stack corruption on ARM. * Rewrite the ARC code as C++ using a third-party Robin-Hood hash table to store weak references. * Add support for the C11 _Atomic type qualifier in property metadata. - New build dependency: robin-map-devel.
- Disable lto flag to fix build on Factory
- Update to version 2.0 * This release introduces a new Objective-C ABI, which is designed to be forward compatible with future changes and removes a large number of hacks that were required for compatibility with the prior ABI that included features introduced in the 1980s. Highlights include: + The linker now removes duplicate selectors within a library. + The linker will remove duplicate protocol definitions within a library. + Protocols and classes are now always accessed via an indirection layer, so they can be extended by future versions of the ABI without breaking compatibility. + Categories can include property metadata and both categories. + Constant strings are now emitted with a richer structure, which provides faster hashing and better unicode support. + Instance variable metadata includes size and alignment, allowing better object layout and more accurate introspection. Instance variable metadata now includes more accurate information about ARC ownership semantics. + Method metadata now includes extended type information, allowing bridged languages to understand the class that methods expect and not just the fact that they take an object. This was previously an obstacle to supporting JavaScriptCore's Objective-C bridge with GNUstep.
- Replace historic boilerplate descriptions. - Fixup RPM group of SRPM package.
- Update to version 1.9 * Support for 64-bit ARM (AArch64) processors, including assembly fast paths for message sending. * Improved the dispatch table representation to improve performance and cache usage on the fast path. * The implementation of `imp_implementationWithBlock`, the function that allows blocks to be used as methods, no longer requires physical pages to be mapped both writeable and executable. * Numerous improvements to the interaction between runtime functions and ARC. * Support for Thumb-2 interworking on ARM. Note that the library must be compiled for ARMv7 or ARMv6T2 for this code to be enabled. Once it has been, other Objective-C binaries linked with the library can be compiled as ARM or Thumb-2 code. This will also generate Thumb-2 message send functions, improving instruction cache usage. * Significant improvements to ARC, including + The runtime no longer acquires a global lock on every object deallocation (a global lock is still used for objects that have weak references). *NOTE:* This is incompatible with other code directly inspecting the reference count and will break with older versions of GNUstep Base! + Weak references use a scheme closer to C++ `std::weak_pointer` and are lazily zeroed on access. This reduces the space overheads for weak references. + Some additional helper functions are added for use in `NSObject` and other root classes, which simplifies the layering between the runtime and the Foundation (or equivalent) implementation. * Improvements to how the runtime handles layout of ivars with strong alignment requirements, which should fix issues relating to using vector types in Objective-C objects. * The option to build a separate libobjcxx has been removed. The runtime will now depend on the C++ standard library implementation if no useable C++ runtime is available. Note that C++ exception interworking does not work because LLVM's libc++abi (shipped by Apple) does not provide GNU-compatible hooks and so Objective-C++ exception support will be automatically disabled on this platform. Any other platforms shipping libc++abi should consider either GNU libsupc++ or libcxxrt as an alternative. - Renamed library package to reflect its SONAME - Fixes (boo#1120915)
- Update to version 1.8.1 - Fixed Leap 42.1/42.2 build - Removed _service in favour of a tarball in order to be accepted into Factory - Spec cleanup