File gnustep-libobjc2.changes of Package gnustep-libobjc2
-------------------------------------------------------------------
Sat Jun 25 14:34:17 UTC 2022 - Antoine Belvire <antoine.belvire@opensuse.org>
- Add gnustep-libobjc2-2.1-fix-trampoline-flags.patch
(gh#gnustep/libobjc2#177).
-------------------------------------------------------------------
Sat Feb 27 13:42:59 UTC 2021 - Antoine Belvire <antoine.belvire@opensuse.org>
- 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.
-------------------------------------------------------------------
Tue Jul 23 08:00:29 UTC 2019 - Luigi Baldoni <aloisio@gmx.com>
- Disable lto flag to fix build on Factory
-------------------------------------------------------------------
Fri Apr 26 09:27:45 UTC 2019 - Luigi Baldoni <aloisio@gmx.com>
- 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.
-------------------------------------------------------------------
Tue Mar 19 00:47:58 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Replace historic boilerplate descriptions.
- Fixup RPM group of SRPM package.
-------------------------------------------------------------------
Fri Feb 15 20:35:24 UTC 2019 - Luigi Baldoni <aloisio@gmx.com>
- 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)
-------------------------------------------------------------------
Mon Jan 23 13:04:40 UTC 2017 - aloisio@gmx.com
- 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