For SPARC much tinkering was needed to test the various combinations
of gcc-2.95.3, gcc-3.x and egcs64 with 32bit and/or 64bit userspace.
My personal result is that since gcc-3.1 is more stable for 32bit
SPARC code compared with the old gcc-2.95.3 (i.e. less Internal
Compiler Errors, faster code ...) and starting with gcc-3.1 the
compiler is also able to produce valid 64bit code, it is possible
to create a working 64bit kernel and 64bit user-space when dietlibc is
used. So far I was not able to create a "working" 64bit glibc for
SPARC. On the kernel side using the gcc-3.2 helps a lot, because the
old egcs generates Internal Compiler Errors on many modules, which I
one after the other had to disable to build my first kernel.
The current "Linux version 2.4.20 (gcc version 3.2.2) #3 Sun Feb 9
16:56:31" kernel is already running for "80 days, 12:25".
And with XFree-4.3 the PCI domain code made it into XFree. But be
warned that the 4.3.0 release had a rather odd "non-PC keyboard bug
introduced by changes to make SysRq generate the same keycode as
PrtScrn". So for a useful X you should be using at least XFree
4.3.99.1.
The selectable optimizations also got a rework. It is now possible to
choose between:
(X) build 32 bit user-space SPARC (v7 and above)
( ) build 64 bit user-space SPARC (v9 - Ultra SPARC)
whether to build:
[*] Build a 64 bit kernel for PCI Ultra SPARC
The optimization options (some of them are only available when a 64bit
kernel or user-space is not selected, since less than v9 doesn't make
sense in those cases) ...
( ) No special optimisation
( ) Optimised for Cypress
( ) Optimised for Super/Hyper SPARC
(X) Optimised for Ultra SPARC
And of course I also fixed our open-ssh package to utilize the
selected optimization ;-).
A preliminary set of .gem files is <a
href="https://schillernet.dyndns.org/rock-linux/sparc/">available. But
I had not the time to contribute the last missing peaces for an
bootable ISO.
On the TODO are some bigger items, sorry. We need a binutils-cross and
gcc-cross packages that provide a KGCC for systems with 32bit
user-land and a 64bit kernel, the boot-disk code needs to be added and
silo needs to be stoned (read a ROCK Linux Setup Tool ONE needs to be
created ;-).
From my side the SPARC target is currently a bit stalled because my
Ultra 5 with 270 Mhz is quite slow and it is too boring trying new
code because it always takes ages to get the result. So if someone
would like to offer code, or faster hardware this would be a big step
forward for an up-to-date SPARC port.
|