I get interrested in Crux lately and I noticed that Crux is providing gcc with objective-c enabled, as well as the Boehm garbage collector in "opt"; nonetheless according to the gcc manual the argument ' --enable-objc-gc ' must be passed to gcc in order to profit from the Boehm's garbage collector features.
There is not such parameter passed to build gcc in the Pkgfile.
I never had the use for objective-c (and I might be plain wrong about that ;-)) but It'd be nice to have this parameter enabled since you offer objective-c as a default in gcc.
Support for a new memory management policy has been added by using a powerful conservative garbage collector, known as the Boehm-Demers-Weiser conservative garbage collector. It is available from http://www.hpl.hp.com/personal/Hans_Boehm/gc/.
To enable the support for it you have to configure the compiler using an additional argument, --enable-objc-gc. You need to have garbage collector installed before building the compiler. This will build an additional runtime library which has several enhancements to support the garbage collector. The new library has a new name, libobjc_gc.a to not conflict with the non-garbage-collected library.
When the garbage collector is used, the objects are allocated using the so-called typed memory allocation mechanism available in the Boehm-Demers-Weiser collector. This mode requires precise information on where pointers are located inside objects. This information is computed once per class, immediately after the class has been initialized.