[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: