On 2/6/06, Cyril Plisko <cyril.plisko at gmail.com> wrote:
> Hello !
>
> I want to give a brief overview of what the status of powerpc-solaris
> support for GCC I am spending last month on.
You seem to be heads down focused on this. And the results are quite
impressive thus far Cyril. Sorry, I have been doing the
infrastructure battle but I think you know about that. More info
below.
> Before I am going any further I want to emphasize that I am not a
> compiler specialist, so it possible that I am overlooking or ignoring
> something important. If you spot things like that - speak up.
> I very much welcome it.
Perhaps I will drop a note to Peter Felecan and see if he would be
interested in getting involved. He currently maintains the GCC
compilers for Blastwave.
> Back to the toolchain. During the genunix building quest a month ago
> it became quite evident that current cross tool chain is not adequate
> for the job. It wasn't really a surprise for me, since I made it as
> a quick'n'dirty solution just to see that it can be used with Solaris
> code base in general. As long as we are simply compiling kernel modules
> it hardly matters too much, but as soon as we're going to actually _run_
> it on the real hardware the tool chain becomes a serious road blocker.
> With that in mind I walked through the GCC releases back to the point
> where it dropped powerpc-solaris2.5.1 support (it turned out that the
> last release to support it was 3.0.4) and tried to determine how
> different Solaris support became since then.
I think you may recall that I was on a bit of a wild goose chase for
the Sun Workshop compilers for Solaris 2.5.1 PPC Edition. Both myself
and Martin Bochnig were under the impression that we could resurrect
the GCC toolchain from where it left off and then perhaps go forwards
with a GCC toolchain in a native Solaris PPC environment. It was a
nexperiment at best and I now have no less than 2 IBM RS/6000 systems
sitting on my floor wonder what they doing with themselves. Not much.
So much for enthusiasm and wasted efforts. But I digress.
> Well, it changed quite a
> bit - current GCC (as shipped with Nevada in SUNWgccS package) is a
> heavily modified version of gcc-3.4.3 release which adds many Sun's cc
> specific features to GCC. It is my understanding that it was done in
> order to minimize the amount of code changes needed to have Solaris
> code base buildable with gcc.
Do we know if these modifications made it back to the GCC codebase ?
> So I tried to combine powerpc/solaris bits from 3.0.4 with the current
> SUNWgccS tree. [The release tagged as 3.4.3 (csl-sol210-3_4-20050802),
> but I am using SUNWgccS as it is much shorter :)]
> I am getting to the point where I can produce the compiler itself and
> starting to test it. The obvious regression test is to have the new
> compiler being able to compile same objects the old/[current] one can.
As well as the supplied GCC testsuites which rely on dejagnu and
expect and Tcl etc etc.
It has been a while but I was once trying to keep GCC 3.x up to date
for Solaris 2.5.1 x86 which I still run :
http://gcc.gnu.org/ml/gcc/2004-03/msg00888.html
That was the last release that I worked on and it works well enough.
Perhaps I can help you with the testsuite on your build. Without
wandering off on some native Solaris PPC tangent of course :-)
> BTW, this time I am using pkgbuild/pkgtool utility from JDS
> consolidation and it is way more easier to automate and reproduce the
> whole process now. [Side note - pkgbuild would make an excellent
> build system for Blastwave].
An extensive amount of work has already been done on an automated
build system for Blastwave and we now have some 498 software packages
that can be built turn key. This is still a far cry from full nightly
builds of the entire suite but we are closing in on it fast.
The entire build system and svn repository and trac site is up in a
preliminary mode at the moment :
http://svn.blastwave.org/
Yes, we are even looking at a modification to the Blastwave logo
although the blazing sun and solar flare is still there. Oh the joys
of the trademark process but thats another discussion.
Regardless, we are rapidly approaching a full build system that will
produce the entire set of packages and still be compliant with SVR4
standards. I forsaw the need for a parallel build system project many
months ago such that we can readily generate the software needed to go
on top of Polaris also. Again, we need to realize that we are not
working with a hybrid but a UNIX which will comply with standards and
thus the build system to create the software packages will need to go
through a journey with the ultimate goal to arrive at a point where
the x86 ( Pentium and AMD64 ), Sparc ( both Sparc v8 and v9 32 and
64bit ) as well as PowerPC based architectures will all be created in
the same turn key manner with the only difference being the
architecture target of the output package.
I have every intention of letting someone on high at Sun know that
Cory Omand has poured his heart and soul into this build system and it
will affect thousands of Solaris users for a long long time. Truely
amazing work to watch nearly 500 software packages churn out the other
end of this system with perfect SVR4 compliance. Its only a matter of
a little time before we can "nightly" the whole 1300 software packages
and all dependencies.
The creation of the 32-bit old Sparc targets does need to be looked at
however we all know that Solaris 8 is still shipping and Sun has not
sold the last copy yet. It runs on old Sparc 20's and we know they
are out there. Somewhere. :-)
> I am planning to have the new tool chain available on our new Trac
> site (I am _so_ glad we have it) near the end of this week and having
> it ready to replace our current kit by the end of the month. BTW,
> we have an appropriate milestone defined and tickets will be accepted
> there for issues discovered.
This reminds me, I need to migrate the GRUB2 project over to our trac
site for Polaris and get that up to speed. I am one release behind
schedule and the ASCII is still a bit of a mess in the GRUB2 screens
at boot time. However, since I have all but given up on sleep
entirely you knwo that I will get to this directly. As soon as
possible and all that.
> I think that we will have to have a flag day in order to switch over
> to the new kit, but we'll see when we'll get there.
Also .. the old Blastware site needs to be finally shut down and a
pointer in the DNS will be adjusted accordingly.
> That's more or less the status.
Thank you Cyril. I know that Craig has poured in the hours also and
I, well, I just happen to live here on top of the servers. Sort of
like snoopy on his dog house.
> Comments, questions, flames, ideas are very welcome - discussion
> of any sort is better than silence.
Cyril, you are doing amazing work and I think that a actual bootable
kernel is far closer than people would suspect.
Dennis Clarke
Director Blastwave.org