Re: [openssl-dev] [openssl.org #4548] s390x build problem

2016-06-06 Thread Andy Polyakov via RT
>> 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

2016-06-05 Thread Sebastian Andrzej Siewior via RT
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

2016-06-02 Thread Andy Polyakov via RT
>>> 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 Polyakov 
Date:   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

2016-06-01 Thread Sebastian Andrzej Siewior via RT
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

2016-05-30 Thread Andy Polyakov via RT
> 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 Polyakov 
Date:   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

2016-05-30 Thread Kurt Roeckx via RT
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