The question whether Blackdown is working on a PowerPC JDK keeps resurfacing.
Yes, we are working on porting HotSpot and J2SE 5 to both ppc and ppc64!
There is no sponsor for this port, so nobody is working on it full-time currently. That means work is progressing slowly (but steadily), not much is working at this point.
After many cycles of compiling and testing ppc64 kernels, I finally found out what causes 2.6.12-rc-mm kernels to lock up my PowerMac G5 regularly: It’s the recent changes in kernel/timer.c
.
When I exclude the timer-*
patches from the mm series everything works fine again.
I have not found a bug in these patches yet but I am pretty sure that it is no GCC bug.
Thanks to this patch from Benjamin Herrenschmidt, there finally is sound support for the PowerMac G5! It even works with ppc64 kernels.
Now if 2.6.12-rc kernels were just a tiny bit more stable on my G5…
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’.