[Top][All Lists]

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

[ANN] GNUstep Objective-C Runtime 1.7

From: David Chisnall
Subject: [ANN] GNUstep Objective-C Runtime 1.7
Date: Fri, 28 Jun 2013 13:58:24 +0100

Hi Everyone,

I've just pushed out the 1.7 release of libobjc2.  Many thanks to everyone who 
helped with this, especially those who contributed patches to the build system 
or to the test suite.  


GNUstep Objective-C Runtime 1.7

This is a point release to the eighth official release of the GNUstep
Objective-C runtime (a.k.a.  libobjc2).  This runtime was designed to support
the features of modern dialects of Objective-C for use with GNUstep and other
Objective-C programs.  Highlights of this release include:

- A new CMake-based build system.  This makes all of the configurable options
  available via a clean interface.  CPack is supported for building RPM and DEB
  packages out of the box.

- A new CTest-based test suite, replacing the old ad-hoc tests.

- Build a single libobjc with support for Objective-C++ on platforms where a
  C++ ABI library (libcxxrt or libsupc++) is installed as a shared library.

- Added specialised property accessor functions and support for atomic
  properties with C++ non-POD types.

- Significant improvements in property introspection and an exhaustive test

- Improved integration with libdispatch.  The runtime will correctly register
  work queues with the garbage collector or create autorelease pools around
  block invocations.

- A new exception implementation providing better integration with foreign
  exceptions (e.g. C++ exceptions).  The new ABI is supported by clang 3.3 when
  compiling with -fobjc-runtime=gnustep-1.7 (or higher).  The old ABI is still
  supported and both can be used within the same program, however code compiled
  with the old ABI remains unreliable in the presence of foreign exceptions.
  It is strongly recommended that anyone using exceptions with Objective-C++
  switches to the new version.

- MIPS64 support in the assembly routines.  Currently these are only tested
  with the n64 ABI.  They are believed to work with n32 and o32, but should be
  considered unsupported on these platforms.

- Small algorithmic improvement to the objc_msgSend() implementation, giving
  approximately a 10% speedup (architecture-dependent) on message sends.

- Updated optimisation passes to work with LLVM 3.2 and recent LLVM trunk.

You may obtain the code for this release from subversion at the following
subversion branch:


Alternatively, a tarball is available from:


The runtime library is responsible for implementing the core features of the
object model, as well as exposing introspection features to the user.  The
GNUstep runtime implements Apple's Objective-C Runtime APIs, and a small number
of GCC APIs for legacy compatibility.

This library is based on the Étoilé Objective-C Runtime, an earlier research
prototype, and includes support for non-fragile instance variables,
type-dependent dispatch, and object planes.  It is fully backwards compatible
with the FSF's GCC 4.2.1 Objective-C ABI and also implements a new ABI that is
supported by Clang and Étoilé's LanguageKit and is required for some of the
newer features.

If you come across any problems, please report them to the GNUstep Developer
mailing list <address@hidden>.  

reply via email to

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