I’ve tried to rebuild the latest Debian packages of Mozilla and Firefox with my jsarena pointer arithmetic fix on ppc32/ppc64 today. Rebuilding worked fine with older versions but this time it failed because the makefiles identified my G5 as an i386 box! The makefiles use uname -m
to determine the CPU type, there’s no code to handle ‘ppc64’ and the default is ‘x86’.
As my old work-around (providing a uname
command that returns ‘ppc’) didn’t work anymore, this forced me to look at the root cause of the problem.
I’ve finally found two issues with the PER_LINUX32
personality:
-
uname(2)
didn’t respectPER_LINUX32
- Child processes didn’t inherit
PER_LINUX32
This patch for 2.6.12-rc1-mm4 fixes both issues:
$ uname -m ppc64 $ linux32 uname -m ppc $ linux32 sh -c "uname -m" ppc
Without the patch all three commands return ‘ppc64’.