Re: [openssl-dev] [openssl.org #4548] s390x build problem
>> In other words >> could you double-check attached patch instead? > > Thanks. Just tested and it compiles and the testsuite passes. Committed. Thanks. Case is being dismissed. -- Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4548 Please log in as guest with password guest if prompted -- openssl-dev mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev
Re: [openssl-dev] [openssl.org #4548] s390x build problem
On 2016-06-02 13:29:35 [+], Andy Polyakov via RT wrote: > Thanks!!! There is couple of problems with suggested modifications > though. First general comment. While 31-bit is arguably not very > fashionable, bugs are still reported at occasions. Important to keep in > mind that 31-bit build still requires z/Arch processor *and* highgprs > kernel feature, i.e. target is not s390 systems (note lack of x), but > 64-bit processor running 64-bit OS, just running legacy *process*. Goal > also is to minimize deviations and "parametrize", so that most of the > code is constantly "exposed" to assembler. That's what are those ${g} > things are and that's why #if clauses are limited to clearing most > significant 32 bits of registers. This means that suggestion to > introduce big #if in CRYPTO_memcmp is not considered favourable. > Adhering to non-extension instructions is. Another problem is with > suggested ltgr in chacha-s390x. It has to be "parametrized", i.e. look > as lt${g}r. Because in 31-bit build there is no guarantee that most > significant 32-bit of $len register are actually zero-ed. In other words > could you double-check attached patch instead? Thanks. Just tested and it compiles and the testsuite passes. Sebastian -- Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4548 Please log in as guest with password guest if prompted -- openssl-dev mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev
Re: [openssl-dev] [openssl.org #4548] s390x build problem
>>> I'm getting: >>> crypto/chacha/chacha-s390x.S: Assembler messages: >>> crypto/chacha/chacha-s390x.S:7: Error: Unrecognized opcode: `clgije' >>> >>> >>> A full build log is available on: >>> https://buildd.debian.org/status/fetch.php?pkg=openssl=s390x=1.1.0~pre5-1=1464594754 >> >> It's overly easy to get carried away if you have access to single >> system. Double-check attached. > > I made this while I did not notice this earlier: > https://github.com/openssl/openssl/pull/1146 > > It fixes the chacha thing + memcpy. Thanks!!! There is couple of problems with suggested modifications though. First general comment. While 31-bit is arguably not very fashionable, bugs are still reported at occasions. Important to keep in mind that 31-bit build still requires z/Arch processor *and* highgprs kernel feature, i.e. target is not s390 systems (note lack of x), but 64-bit processor running 64-bit OS, just running legacy *process*. Goal also is to minimize deviations and "parametrize", so that most of the code is constantly "exposed" to assembler. That's what are those ${g} things are and that's why #if clauses are limited to clearing most significant 32 bits of registers. This means that suggestion to introduce big #if in CRYPTO_memcmp is not considered favourable. Adhering to non-extension instructions is. Another problem is with suggested ltgr in chacha-s390x. It has to be "parametrized", i.e. look as lt${g}r. Because in 31-bit build there is no guarantee that most significant 32-bit of $len register are actually zero-ed. In other words could you double-check attached patch instead? -- Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4548 Please log in as guest with password guest if prompted commit d11ca41a907ce6465e688cbfe548e21c0db94311 Author: Andy PolyakovDate: Mon May 30 22:16:31 2016 +0200 s390x assembly pack: improve portability. Some of the instructions used in latest additions are extension ones. There is no real reason to limit ourselves to specific processors, so [re-]adhere to base ISA set. diff --git a/crypto/chacha/asm/chacha-s390x.pl b/crypto/chacha/asm/chacha-s390x.pl index c7a2692..c315264 100755 --- a/crypto/chacha/asm/chacha-s390x.pl +++ b/crypto/chacha/asm/chacha-s390x.pl @@ -147,7 +147,8 @@ $code.=<<___; .type ChaCha20_ctr32,\@function .align 32 ChaCha20_ctr32: - cl${g}ije $len,0,.Lno_data # $len==0? + lt${g}r $len,$len # $len==0? + bzr %r14 a${g}hi $len,-64 l${g}hi %r1,-$frame stm${g} %r6,%r15,`6*$SIZE_T`($sp) @@ -279,7 +280,6 @@ $code.=<<___; stmg %r0,%r3,$stdframe+4*12($sp) lm${g} %r6,%r15,`$frame+6*$SIZE_T`($sp) -.Lno_data: br %r14 .align 16 diff --git a/crypto/s390xcpuid.S b/crypto/s390xcpuid.S index df7b35a..a292d10 100644 --- a/crypto/s390xcpuid.S +++ b/crypto/s390xcpuid.S @@ -137,9 +137,9 @@ CRYPTO_memcmp: je .Lno_data .Loop_cmp: - llc %r0,0(%r2) + llgc %r0,0(%r2) la %r2,1(%r2) - llc %r1,0(%r3) + llgc %r1,0(%r3) la %r3,1(%r3) xr %r1,%r0 or %r5,%r1 -- openssl-dev mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev
Re: [openssl-dev] [openssl.org #4548] s390x build problem
On 2016-05-30 20:23:35 [+], Andy Polyakov via RT wrote: > > I'm getting: > > crypto/chacha/chacha-s390x.S: Assembler messages: > > crypto/chacha/chacha-s390x.S:7: Error: Unrecognized opcode: `clgije' > > > > > > A full build log is available on: > > https://buildd.debian.org/status/fetch.php?pkg=openssl=s390x=1.1.0~pre5-1=1464594754 > > It's overly easy to get carried away if you have access to single > system. Double-check attached. I made this while I did not notice this earlier: https://github.com/openssl/openssl/pull/1146 It fixes the chacha thing + memcpy. Sebastian -- Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4548 Please log in as guest with password guest if prompted -- openssl-dev mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev
Re: [openssl-dev] [openssl.org #4548] s390x build problem
> I'm getting: > crypto/chacha/chacha-s390x.S: Assembler messages: > crypto/chacha/chacha-s390x.S:7: Error: Unrecognized opcode: `clgije' > > > A full build log is available on: > https://buildd.debian.org/status/fetch.php?pkg=openssl=s390x=1.1.0~pre5-1=1464594754 It's overly easy to get carried away if you have access to single system. Double-check attached. -- Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4548 Please log in as guest with password guest if prompted commit fbaecaa94021294f4dd3f399338d076af284f787 Author: Andy PolyakovDate: Mon May 30 22:16:31 2016 +0200 chacha/asm/chacha-s390x.pl: improve portability. cl[g]ije is an extension instruction, there is no real reason to limit ourselves to specific processors. diff --git a/crypto/chacha/asm/chacha-s390x.pl b/crypto/chacha/asm/chacha-s390x.pl index c7a2692..867594f 100755 --- a/crypto/chacha/asm/chacha-s390x.pl +++ b/crypto/chacha/asm/chacha-s390x.pl @@ -147,7 +147,8 @@ $code.=<<___; .type ChaCha20_ctr32,\@function .align 32 ChaCha20_ctr32: - cl${g}ije $len,0,.Lno_data# $len==0? + cl${g}fi$len,0 + je .Lno_data # $len==0? a${g}hi $len,-64 l${g}hi %r1,-$frame stm${g} %r6,%r15,`6*$SIZE_T`($sp) -- openssl-dev mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev
[openssl-dev] [openssl.org #4548] s390x build problem
Hi, I'm getting: crypto/chacha/chacha-s390x.S: Assembler messages: crypto/chacha/chacha-s390x.S:7: Error: Unrecognized opcode: `clgije' A full build log is available on: https://buildd.debian.org/status/fetch.php?pkg=openssl=s390x=1.1.0~pre5-1=1464594754 Kurt -- Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4548 Please log in as guest with password guest if prompted -- openssl-dev mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev