Insipred by the comment here: http://bugs.freepascal.org/view.php?id=20879 It looks like the PPC case is missing, hence add this. Without, we get linker errors for compiling packages like Python and TexLive. --- src/ld/OutputFile.cpp +++ src/ld/OutputFile.cpp @@ -807,7 +807,7 @@ // is encoded in mach-o the same as: // .long _foo + 0x40000000 // so if _foo lays out to 0xC0000100, the first is ok, but the second is not. - if ( (_options.architecture() == CPU_TYPE_ARM) || (_options.architecture() == CPU_TYPE_I386) ) { + if ( (_options.architecture() == CPU_TYPE_ARM) || (_options.architecture() == CPU_TYPE_I386) || (_options.architecture() == CPU_TYPE_POWERPC) ) { // Unlikely userland code does funky stuff like this, so warn for them, but not warn for -preload if ( _options.outputKind() != Options::kPreload ) { warning("32-bit absolute address out of range (0x%08llX max is 4GB): from %s + 0x%08X (0x%08llX) to 0x%08llX",