Hi The fix is very simple: the defaulting of this macro to 0 in gcc/config/arm/arm.h, present in 2.2 has been omitted in 2.5.
The attached patch puts the defaulting clause back, the same as it was in 2.2 M
--- a/llvm-gcc-4.2-2.5/gcc/config/arm/arm.h 2008-11-03 01:44:11.000000000 +0000 +++ b/llvm-gcc-4.2-2.5/gcc/config/arm/arm.h 2009-08-02 22:43:26.000000000 +0100 @@ -31,6 +31,9 @@ #ifndef TARGET_MACHO #define TARGET_MACHO 0 #endif +#ifndef MACHO_DYNAMIC_NO_PIC_P +#define MACHO_DYNAMIC_NO_PIC_P 0 +#endif /* APPLE LOCAL end ARM darwin target */ /* APPLE LOCAL ARM interworking */