You're talking about 2 different things. Supporting multiple CPU
architectures is a different headache than supporting different OS
versions. The smaller feature-set, that BZ and I referred to, mostly had
to do with OS API support. That doesn't have anything to do with CPU arch.
But there are areas in Firefox that are dependent on the CPU arch. The
back-ends for the various JavaScript JIT compilers are specific to an
arch, since they're generating CPU instructions. And many other
performance optimizations make use of assembly (SSE 1, 2, 3?). So they
need separate implementations for each arch (or you do without).
There are also issues supporting multiple version of an arch. This is
the problem TenFourFox is running into with Firefox 10 (
http://tenfourfox.blogspot.com/2011/12/is-fx10-esr.html ), where a
needed instruction isn't available on the G3 or G4. The G5 was
introduced in 2003. But IA32/x86/amd64 isn't really any better off. I
believe that Firefox is targeting SSE2, which launched for Intel on 2001
and for AMD in 2003.
But, in the case of older Mac OS X support, I think it's clear that
Mozilla didn't think it was worth the cost to support a neutered
product. PPC its self is not really the issue. Many Linux distros that
support PPC (i.e. Gentoo), do provide current builds of Firefox. They
just sacrifice performance (not feature) improvements (JavaScript
JIT/Jaegermonkey/Type Inference). Adding modern PPC support in these
areas would probably not be that terribly difficult. However, I think
the issue is more of some actually supporting it over time.
> You partially answered the question (smaller feature set). I guess
> that procedure of keeping TenFourFox up to date is easier for a PPC
> CPU than for an Intel CPU?