[lsb-discuss] Support for ppc64le

Mats Wichmann mats at wichmann.us
Thu May 7 14:04:33 UTC 2015


On 05/07/15 03:58, Kalpana Shetty wrote:
> 
> Can someone comment on effort require to make LSB up/running on ppc64le
> based on their experience with   ppc64   or any other arch.

We do know the steps, but there hasn't been an architecture added for a
very long time (2004) and there has been a lot of change in tooling,
availability of experienced advisors, and more so it's really hard to
translate to any kind of time estimate.

Here are some thoughts:

A lot of LSB is constructed from a database (this can be browsed at
http://linuxbase.org/navigator/commons/welcome.php) the most important
step will be adding the records for the new architecture. I the case of
ppc64le I'd assume these would be quite similar to ppc64, so a simple
first step might just be duplicating the records for ppc64, with the
intent of "fix them up later".

Assorted makefiles in the different projects "know" the list of
architectures, as they loop through each one, building for that target.
These need an addition (this is a quick step, obviously).

One would then want to see if the SDK can be built, which will probably
take some additional tweaking, but not too much.

A special project called devchk can now help with the "fix them up
later" step: you build and run this once with native compilers on the
architecture in question - this will flag places where struct layouts,
sizes, constants, etc. don't match between the first-cut data in the DB
and what the distribution knows about. When those are fixed up (will
require regens in several places), you do the devchk pass again, this
time building with the LSB SDK, which provides an additional sanity
check, this time bringing the LSB headers into play.

At this point you should have a working model, and it becomes a case of
stepping through everything and checking it out, including the
specification itself. This isn't trivial, but as I said, is hard to put
a time estimate on. Maybe someone else (Jeff?) might want to add more
comments.

===

I'm a little curious about the ppc64le approaches though. Will this look
a like a different architecture everywhere? For example, I don't see any
mention of ppc64le in current glibc source except in the autoconf
support scripts (that is, not in the glibc code itself):

        ppc64le | powerpc64little | ppc64-le | powerpc64-little)
                basic_machine=powerpc64le-unknown
                ;;
        ppc64le-* | powerpc64little-*)
                basic_machine=powerpc64le-`echo $basic_machine | sed
's/^[^-]*-//'`
                ;;

Is it just not in yet, or will this not actually look distinct from the
glibc viewpoint?


More information about the lsb-discuss mailing list