Compiled for ppc7400

I noticed that in the shipping version of Mac OS X Leopard, universal binary executables are compiled as “ppc7400” rather than simply “ppc.”

For example, the lipo output on zsh:

$ lipo -info /bin/zsh
Architectures in the fat file: /bin/zsh are: i386 ppc7400

Compare that to Tiger on PowerPC:

$ lipo -info /bin/zsh
Non-fat file: /bin/zsh is architecture: ppc

… and Tiger on Intel:

$ lipo -info /bin/zsh
Architectures in the fat file: /bin/zsh are: i386 ppc

When I’ve tried to compile Universal Binaries myself in the past, I came across various architecture types in documentation. I’ve personally compiled Apache 2.2 as Universal with support for both “ppc” and “i386” architectures. Because I used lipo to verify the results, I’m going to presume that its output matches up with the compiler targets.

I presume that this change means that even a PowerPC 750-ish (“G3”) processor — to say nothing of older PowerPCs, like the 604 — wouldn’t be able to run those binaries. I hope I’m not misinterpreting the output of lipo, and I’m certainly open to correction. If indeed the binaries are PowerPC 7400-only, it appears doubtful that even something like XPostFacto would enable Leopard to run on those older Macs that lack G4 CPUs.

Since even launchd — the executable behind PID 1 on a running Leopard system — exhibits this, I wouldn’t expect the OS to boot on anything less than a PowerPC 7400.

$ lipo -info `which launchd`
Architectures in the fat file: /sbin/launchd are: i386 ppc7400

I’m wondering if greater-than-867 MHz G4 CPU upgrades for older Power Mac G4 models will allow them to run Leopard, since the floor on the G4 system requirements was also raised. Or, does Apple’s 867 MHz minimum mean that they are really looking for something else on the system? Was 867 MHz the breakpoint between generations or models of PowerPC 7400s?

[See also: Non-universal libraries and more in Leopard.]