Re: Upgrading the minimum required s390x CPU to z10?
On Wed, Jun 01, 2016 at 05:51:56AM +0200, Kurt Roeckx wrote:
> On Tue, May 31, 2016 at 07:23:00PM -0400, Stephen Powell wrote:
> > On Tue, May 31, 2016, at 18:25, Aurelien Jarno wrote:
> > >
> > > That's indeed the right way to do it (and to fix the issue), but the
> > > point is that developers using GCC defaulting to z10 or higher don't
> > > realize they can't use the corresponding instructions, so that has to
> > > be fixed later. Latest example is openssl.
> > >
> >
> > Hmm. I see two possibilities here.
> >
> > (1) The source code package uses a GCC option that specifies that the
> > compiled object code is to run on a z10 processor. The fix here is
> > rather simple and straightforward: change the GCC option to specify a
> > z800/z900, then re-build the package. The compiler will now generate
> > object code that is compatible with all z/Architecture processors.
> >
> > (2) The so-called "C" source code bails out to assembly language in places,
> > and some instructions are used which aren't supported on a z800/z900.
> > (I've mainly seen this in s390-specific kernel modules.) In this case, the
> > fix is more involved. You have to find the offending code, insert a
> > facility check to make sure the instruction is supported first, then
> > decide how to handle the case where it isn't. This is much more labor
> > intensive.
> >
> > Which case are you talking about? (I must confess that I haven't looked
> > at the source code for openssl.)
>
> OpenSSL has a lot of hand written assembler. It's actually the
> linker that complained about it.
That should obviously be the assembler, not linker.
Kurt
Reply to: