The Objective C Runtime Library provides C functions and data structures required to execute an Objective C program.
The GNU Objective C Runtime Library offers everything NeXT’s runtime does, including Categories, Protocols, ‘+poseAs:’, thread-safety, class initialization on demand, delayed loading of classes, and initialization of static instances (such as @""-style string objects).
It also has several differences over NeXT’s implementation:
Apple has recently added new functionality to their runtime, including built-in exception handling, etc. Hopefully these will be ported to the GNU runtime in the future.