Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libnettle for openSUSE:Factory 
checked in at 2022-07-31 23:00:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libnettle (Old)
 and      /work/SRC/openSUSE:Factory/.libnettle.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libnettle"

Sun Jul 31 23:00:54 2022 rev:43 rq:991715 version:3.8.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/libnettle/libnettle.changes      2022-07-13 
14:32:03.137262419 +0200
+++ /work/SRC/openSUSE:Factory/.libnettle.new.1533/libnettle.changes    
2022-07-31 23:01:10.287731400 +0200
@@ -1,0 +2,11 @@
+Thu Jul 28 20:25:53 UTC 2022 - Dirk M??ller <dmuel...@suse.com>
+
+- update to 3.8.1:
+  * Avoid non-posix m4 argument references in the chacha
+    implementation for arm64, powerpc64 and s390x. Reported by
+    Christian Weisgerber, fix contributed by Mamone Tarsha.
+  * Use explicit .machine pseudo-ops where needed in s390x
+    assembly files. Bug report by Andreas K. Huettel, fix
+    contributed by Mamone Tarsha.
+
+-------------------------------------------------------------------

Old:
----
  nettle-3.8.tar.gz
  nettle-3.8.tar.gz.sig

New:
----
  nettle-3.8.1.tar.gz
  nettle-3.8.1.tar.gz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libnettle.spec ++++++
--- /var/tmp/diff_new_pack.CMTOmM/_old  2022-07-31 23:01:10.731732690 +0200
+++ /var/tmp/diff_new_pack.CMTOmM/_new  2022-07-31 23:01:10.735732702 +0200
@@ -19,7 +19,7 @@
 %define soname 8
 %define hogweed_soname 6
 Name:           libnettle
-Version:        3.8
+Version:        3.8.1
 Release:        0
 Summary:        Cryptographic Library
 License:        GPL-2.0-or-later AND LGPL-2.1-or-later


++++++ nettle-3.8.tar.gz -> nettle-3.8.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nettle-3.8/ChangeLog new/nettle-3.8.1/ChangeLog
--- old/nettle-3.8/ChangeLog    2022-06-02 19:57:16.000000000 +0200
+++ new/nettle-3.8.1/ChangeLog  2022-07-27 21:23:20.000000000 +0200
@@ -1,3 +1,21 @@
+2022-07-26  Niels M??ller  <ni...@lysator.liu.se>
+
+       * Released nettle-3.8.1.
+
+       * configure.ac: Bump package version, to 3.8.1.
+       (LIBNETTLE_MINOR): Bump minor number, to 8.6.
+       (LIBHOGWEED_MINOR): Bump minor number, to 6.6.
+
+2022-06-12  Niels M??ller  <ni...@lysator.liu.se>
+
+       From Christian Weisgerber:
+       * fat-arm64.c (get_arm64_features): Enable runtime feature
+       detection for openbsd.
+
+2022-06-02  Niels M??ller  <ni...@lysator.liu.se>
+
+       * Released nettle-3.8.
+
 2022-05-23  Niels M??ller  <ni...@lysator.liu.se>
 
        * Makefile.in (OPT_SOURCES): Add missing file fat-arm64.c.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nettle-3.8/NEWS new/nettle-3.8.1/NEWS
--- old/nettle-3.8/NEWS 2022-06-02 19:57:16.000000000 +0200
+++ new/nettle-3.8.1/NEWS       2022-07-27 21:23:20.000000000 +0200
@@ -1,3 +1,28 @@
+NEWS for the Nettle 3.8.1 release
+
+       This is a bugfix release, fixing a few portability issues
+       reported for Nettle-3.8.
+
+       Bug fixes:
+
+       * Avoid non-posix m4 argument references in the chacha
+         implementation for arm64, powerpc64 and s390x. Reported by
+         Christian Weisgerber, fix contributed by Mamone Tarsha.
+
+       * Use explicit .machine pseudo-ops where needed in s390x
+         assembly files. Bug report by Andreas K. Huettel, fix
+         contributed by Mamone Tarsha.
+
+       Optimizations:
+
+       * Implemented runtime detection of cpu features for OpenBSD on
+         arm64. Contributed by Christian Weisgerber.
+
+       The new version is intended to be fully source and binary
+       compatible with Nettle-3.6. The shared library names are
+       libnettle.so.8.6 and libhogweed.so.6.6, with sonames
+       libnettle.so.8 and libhogweed.so.6.
+
 NEWS for the Nettle 3.8 release
 
        This release includes a couple of new features, and many
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nettle-3.8/README new/nettle-3.8.1/README
--- old/nettle-3.8/README       2022-06-02 19:57:16.000000000 +0200
+++ new/nettle-3.8.1/README     2022-07-27 21:23:20.000000000 +0200
@@ -42,7 +42,7 @@
 Read the manual. Mail me if you have any questions or suggestions.
 
 You may want to subscribe to the nettle-bugs mailing list. See
-<URL: http://lists.lysator.liu.se/mailman/listinfo/nettle-bugs>.
+<URL: 
https://lists.lysator.liu.se/mailman3/postorius/lists/nettle-bugs.lists.lysator.liu.se/>.
 
 See CONTRIBUTING.md for information on contibuting patches.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nettle-3.8/arm64/chacha-4core.asm 
new/nettle-3.8.1/arm64/chacha-4core.asm
--- old/nettle-3.8/arm64/chacha-4core.asm       2022-06-02 19:57:16.000000000 
+0200
+++ new/nettle-3.8.1/arm64/chacha-4core.asm     2022-07-27 21:23:21.000000000 
+0200
@@ -53,67 +53,74 @@
 
 define(`ROT24', `v8')
 
+C A workaround for expanding multiple digits of argument references to QR 
macro which is incompatible with POSIX
+C See https://www.gnu.org/software/m4/manual/html_node/Arguments.html
+define(`P1',
+`ifelse($1, 0, v16, $1, 1, v17, $1, 2, v18, $1, 3, v19, $1, 4, v20, $1, 5, 
v21, $1, 6, v22, $1, 7, v23, $1, 8, v24, $1, 9, v25, $1, 10, v26, $1, 11, v27, 
$1, 12, v28, $1, 13, v29, $1, 14, v30, $1, 15, v31)')
+define(`P2',
+`ifelse($1, 0, v16, $1, 1, v21, $1, 2, v26, $1, 3, v31, $1, 4, v20, $1, 5, 
v25, $1, 6, v30, $1, 7, v19, $1, 8, v24, $1, 9, v29, $1, 10, v18, $1, 11, v23, 
$1, 12, v28, $1, 13, v17, $1, 14, v22, $1, 15, v27)')
+
 C Main loop for round
 define(`QR',`
-       add             $1.4s, $1.4s, $2.4s
-       add             $5.4s, $5.4s, $6.4s
-       add             $9.4s, $9.4s, $10.4s
-       add             $13.4s, $13.4s, $14.4s
-       eor             $4.16b, $4.16b, $1.16b
-       eor             $8.16b, $8.16b, $5.16b
-       eor             $12.16b, $12.16b, $9.16b
-       eor             $16.16b, $16.16b, $13.16b
-       rev32   $4.8h, $4.8h
-       rev32   $8.8h, $8.8h
-       rev32   $12.8h, $12.8h
-       rev32   $16.8h, $16.8h
-
-       add             $3.4s, $3.4s, $4.4s
-       add             $7.4s, $7.4s, $8.4s
-       add             $11.4s, $11.4s, $12.4s
-       add             $15.4s, $15.4s, $16.4s
-       eor             TMP0.16b, $2.16b, $3.16b
-       eor             TMP1.16b, $6.16b, $7.16b
-       eor             TMP2.16b, $10.16b, $11.16b
-       eor             TMP3.16b, $14.16b, $15.16b
-       ushr    $2.4s, TMP0.4s, #20
-       ushr    $6.4s, TMP1.4s, #20
-       ushr    $10.4s, TMP2.4s, #20
-       ushr    $14.4s, TMP3.4s, #20
-       sli             $2.4s, TMP0.4s, #12
-       sli             $6.4s, TMP1.4s, #12
-       sli             $10.4s, TMP2.4s, #12
-       sli             $14.4s, TMP3.4s, #12
-
-       add             $1.4s, $1.4s, $2.4s
-       add             $5.4s, $5.4s, $6.4s
-       add             $9.4s, $9.4s, $10.4s
-       add             $13.4s, $13.4s, $14.4s
-       eor             $4.16b, $4.16b, $1.16b
-       eor             $8.16b, $8.16b, $5.16b
-       eor             $12.16b, $12.16b, $9.16b
-       eor             $16.16b, $16.16b, $13.16b
-       tbl             $4.16b, {$4.16b}, ROT24.16b
-       tbl             $8.16b, {$8.16b}, ROT24.16b
-       tbl             $12.16b, {$12.16b}, ROT24.16b
-       tbl             $16.16b, {$16.16b}, ROT24.16b
-
-       add             $3.4s, $3.4s, $4.4s
-       add             $7.4s, $7.4s, $8.4s
-       add             $11.4s, $11.4s, $12.4s
-       add             $15.4s, $15.4s, $16.4s
-       eor             TMP0.16b, $2.16b, $3.16b
-       eor             TMP1.16b, $6.16b, $7.16b
-       eor             TMP2.16b, $10.16b, $11.16b
-       eor             TMP3.16b, $14.16b, $15.16b
-       ushr    $2.4s, TMP0.4s, #25
-       ushr    $6.4s, TMP1.4s, #25
-       ushr    $10.4s, TMP2.4s, #25
-       ushr    $14.4s, TMP3.4s, #25
-       sli             $2.4s, TMP0.4s, #7
-       sli             $6.4s, TMP1.4s, #7
-       sli             $10.4s, TMP2.4s, #7
-       sli             $14.4s, TMP3.4s, #7
+       add             $1(0).4s, $1(0).4s, $1(1).4s
+       add             $1(4).4s, $1(4).4s, $1(5).4s
+       add             $1(8).4s, $1(8).4s, $1(9).4s
+       add             $1(12).4s, $1(12).4s, $1(13).4s
+       eor             $1(3).16b, $1(3).16b, $1(0).16b
+       eor             $1(7).16b, $1(7).16b, $1(4).16b
+       eor             $1(11).16b, $1(11).16b, $1(8).16b
+       eor             $1(15).16b, $1(15).16b, $1(12).16b
+       rev32   $1(3).8h, $1(3).8h
+       rev32   $1(7).8h, $1(7).8h
+       rev32   $1(11).8h, $1(11).8h
+       rev32   $1(15).8h, $1(15).8h
+
+       add             $1(2).4s, $1(2).4s, $1(3).4s
+       add             $1(6).4s, $1(6).4s, $1(7).4s
+       add             $1(10).4s, $1(10).4s, $1(11).4s
+       add             $1(14).4s, $1(14).4s, $1(15).4s
+       eor             TMP0.16b, $1(1).16b, $1(2).16b
+       eor             TMP1.16b, $1(5).16b, $1(6).16b
+       eor             TMP2.16b, $1(9).16b, $1(10).16b
+       eor             TMP3.16b, $1(13).16b, $1(14).16b
+       ushr    $1(1).4s, TMP0.4s, #20
+       ushr    $1(5).4s, TMP1.4s, #20
+       ushr    $1(9).4s, TMP2.4s, #20
+       ushr    $1(13).4s, TMP3.4s, #20
+       sli             $1(1).4s, TMP0.4s, #12
+       sli             $1(5).4s, TMP1.4s, #12
+       sli             $1(9).4s, TMP2.4s, #12
+       sli             $1(13).4s, TMP3.4s, #12
+
+       add             $1(0).4s, $1(0).4s, $1(1).4s
+       add             $1(4).4s, $1(4).4s, $1(5).4s
+       add             $1(8).4s, $1(8).4s, $1(9).4s
+       add             $1(12).4s, $1(12).4s, $1(13).4s
+       eor             $1(3).16b, $1(3).16b, $1(0).16b
+       eor             $1(7).16b, $1(7).16b, $1(4).16b
+       eor             $1(11).16b, $1(11).16b, $1(8).16b
+       eor             $1(15).16b, $1(15).16b, $1(12).16b
+       tbl             $1(3).16b, {$1(3).16b}, ROT24.16b
+       tbl             $1(7).16b, {$1(7).16b}, ROT24.16b
+       tbl             $1(11).16b, {$1(11).16b}, ROT24.16b
+       tbl             $1(15).16b, {$1(15).16b}, ROT24.16b
+
+       add             $1(2).4s, $1(2).4s, $1(3).4s
+       add             $1(6).4s, $1(6).4s, $1(7).4s
+       add             $1(10).4s, $1(10).4s, $1(11).4s
+       add             $1(14).4s, $1(14).4s, $1(15).4s
+       eor             TMP0.16b, $1(1).16b, $1(2).16b
+       eor             TMP1.16b, $1(5).16b, $1(6).16b
+       eor             TMP2.16b, $1(9).16b, $1(10).16b
+       eor             TMP3.16b, $1(13).16b, $1(14).16b
+       ushr    $1(1).4s, TMP0.4s, #25
+       ushr    $1(5).4s, TMP1.4s, #25
+       ushr    $1(9).4s, TMP2.4s, #25
+       ushr    $1(13).4s, TMP3.4s, #25
+       sli             $1(1).4s, TMP0.4s, #7
+       sli             $1(5).4s, TMP1.4s, #7
+       sli             $1(9).4s, TMP2.4s, #7
+       sli             $1(13).4s, TMP3.4s, #7
 ')
 
 define(`TRANSPOSE',`
@@ -174,8 +181,8 @@
        mov             T3.16b, v31.16b
 
 .Loop:
-       QR(v16, v17,  v18, v19, v20, v21,  v22, v23, v24, v25, v26, v27, v28, 
v29, v30, v31)
-       QR(v16, v21, v26, v31, v20, v25, v30, v19, v24, v29,  v18, v23, v28, 
v17,  v22, v27)
+       QR(`P1')
+       QR(`P2')
        subs    ROUNDS, ROUNDS, #2
        b.ne    .Loop
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nettle-3.8/configure new/nettle-3.8.1/configure
--- old/nettle-3.8/configure    2022-06-02 19:57:16.000000000 +0200
+++ new/nettle-3.8.1/configure  2022-07-27 21:23:20.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for nettle 3.8.
+# Generated by GNU Autoconf 2.69 for nettle 3.8.1.
 #
 # Report bugs to <nettle-b...@lists.lysator.liu.se>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='nettle'
 PACKAGE_TARNAME='nettle'
-PACKAGE_VERSION='3.8'
-PACKAGE_STRING='nettle 3.8'
+PACKAGE_VERSION='3.8.1'
+PACKAGE_STRING='nettle 3.8.1'
 PACKAGE_BUGREPORT='nettle-b...@lists.lysator.liu.se'
 PACKAGE_URL=''
 
@@ -1348,7 +1348,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures nettle 3.8 to adapt to many kinds of systems.
+\`configure' configures nettle 3.8.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1414,7 +1414,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of nettle 3.8:";;
+     short | recursive ) echo "Configuration of nettle 3.8.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1542,7 +1542,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-nettle configure 3.8
+nettle configure 3.8.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2186,7 +2186,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by nettle $as_me 3.8, which was
+It was created by nettle $as_me 3.8.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2571,10 +2571,10 @@
 
 
 LIBNETTLE_MAJOR=8
-LIBNETTLE_MINOR=5
+LIBNETTLE_MINOR=6
 
 LIBHOGWEED_MAJOR=6
-LIBHOGWEED_MINOR=5
+LIBHOGWEED_MINOR=6
 
 MAJOR_VERSION=`echo $PACKAGE_VERSION | sed 's/^\([^.]*\)\..*/\1/'`
 MINOR_VERSION=`echo $PACKAGE_VERSION | sed 's/^[^.]*\.\([0-9]*\).*/\1/'`
@@ -8323,7 +8323,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by nettle $as_me 3.8, which was
+This file was extended by nettle $as_me 3.8.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -8389,7 +8389,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-nettle config.status 3.8
+nettle config.status 3.8.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nettle-3.8/configure.ac new/nettle-3.8.1/configure.ac
--- old/nettle-3.8/configure.ac 2022-06-02 19:57:16.000000000 +0200
+++ new/nettle-3.8.1/configure.ac       2022-07-27 21:23:20.000000000 +0200
@@ -2,7 +2,7 @@
 
 dnl Process this file with autoconf to produce a configure script.
 
-AC_INIT([nettle], [3.8], [nettle-b...@lists.lysator.liu.se])
+AC_INIT([nettle], [3.8.1], [nettle-b...@lists.lysator.liu.se])
 AC_PREREQ(2.61)
 AC_CONFIG_SRCDIR([arcfour.c])
 # Needed to stop autoconf from looking for files in parent directories.
@@ -11,10 +11,10 @@
 AC_CONFIG_HEADER([config.h])
 
 LIBNETTLE_MAJOR=8
-LIBNETTLE_MINOR=5
+LIBNETTLE_MINOR=6
 
 LIBHOGWEED_MAJOR=6
-LIBHOGWEED_MINOR=5
+LIBHOGWEED_MINOR=6
 
 dnl Note double square brackets, for extra m4 quoting.
 MAJOR_VERSION=`echo $PACKAGE_VERSION | sed 's/^\([[^.]]*\)\..*/\1/'`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nettle-3.8/fat-arm64.c new/nettle-3.8.1/fat-arm64.c
--- old/nettle-3.8/fat-arm64.c  2022-06-02 19:57:15.000000000 +0200
+++ new/nettle-3.8.1/fat-arm64.c        2022-07-27 21:23:20.000000000 +0200
@@ -46,6 +46,10 @@
 #  include <asm/hwcap.h>
 #  include <sys/auxv.h>
 # endif
+#elif defined(__OpenBSD__)
+# include <sys/sysctl.h>
+# include <machine/cpu.h>
+# include <machine/armreg.h>
 #endif
 
 #include "nettle-types.h"
@@ -122,6 +126,21 @@
        = ((hwcap & (HWCAP_ASIMD | HWCAP_SHA1)) == (HWCAP_ASIMD | HWCAP_SHA1));
       features->have_sha2
        = ((hwcap & (HWCAP_ASIMD | HWCAP_SHA2)) == (HWCAP_ASIMD | HWCAP_SHA2));
+#elif defined(__OpenBSD__)
+      const int isar0_mib[] = { CTL_MACHDEP, CPU_ID_AA64ISAR0 };
+      uint64_t isar0;
+      size_t len = sizeof(isar0);
+
+      if (sysctl(isar0_mib, 2, &isar0, &len, NULL, 0) < 0)
+        return;
+      features->have_aes
+        = (ID_AA64ISAR0_AES(isar0) >= ID_AA64ISAR0_AES_BASE);
+      features->have_pmull
+        = (ID_AA64ISAR0_AES(isar0) >= ID_AA64ISAR0_AES_PMULL);
+      features->have_sha1
+        = (ID_AA64ISAR0_SHA1(isar0) >= ID_AA64ISAR0_SHA1_BASE);
+      features->have_sha2
+        = (ID_AA64ISAR0_SHA2(isar0) >= ID_AA64ISAR0_SHA2_BASE);
 #endif
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nettle-3.8/powerpc64/p7/chacha-4core.asm 
new/nettle-3.8.1/powerpc64/p7/chacha-4core.asm
--- old/nettle-3.8/powerpc64/p7/chacha-4core.asm        2022-06-02 
19:57:16.000000000 +0200
+++ new/nettle-3.8.1/powerpc64/p7/chacha-4core.asm      2022-07-27 
21:23:21.000000000 +0200
@@ -53,59 +53,66 @@
 define(`T2', `v22')
 define(`T3', `v23')
 
+C A workaround for expanding multiple digits of argument references to QR 
macro which is incompatible with POSIX
+C See https://www.gnu.org/software/m4/manual/html_node/Arguments.html
+define(`P1',
+`ifelse($1, 0, v0, $1, 1, v4, $1, 2, v8, $1, 3, v12, $1, 4, v1, $1, 5, v5, $1, 
6, v9, $1, 7, v13, $1, 8, v2, $1, 9, v6, $1, 10, v10, $1, 11, v14, $1, 12, v3, 
$1, 13, v7, $1, 14, v11, $1, 15, v15)')
+define(`P2',
+`ifelse($1, 0, v0, $1, 1, v5, $1, 2, v10, $1, 3, v15, $1, 4, v1, $1, 5, v6, 
$1, 6, v11, $1, 7, v12, $1, 8, v2, $1, 9, v7, $1, 10, v8, $1, 11, v13, $1, 12, 
v3, $1, 13, v4, $1, 14, v9, $1, 15, v14)')
+
 C Main loop for round
 define(`QR',`
-       vadduwm $1, $1, $2
-       vadduwm $5, $5, $6
-       vadduwm $9, $9, $10
-       vadduwm $13, $13, $14
-       vxor    $4, $4, $1
-       vxor    $8, $8, $5
-       vxor    $12, $12, $9
-       vxor    $16, $16, $13
-       vrlw    $4, $4, ROT16
-       vrlw    $8, $8, ROT16
-       vrlw    $12, $12, ROT16
-       vrlw    $16, $16, ROT16
-
-       vadduwm $3, $3, $4
-       vadduwm $7, $7, $8
-       vadduwm $11, $11, $12
-       vadduwm $15, $15, $16
-       vxor    $2, $2, $3
-       vxor    $6, $6, $7
-       vxor    $10, $10, $11
-       vxor    $14, $14, $15
-       vrlw    $2, $2, ROT12
-       vrlw    $6, $6, ROT12
-       vrlw    $10, $10, ROT12
-       vrlw    $14, $14, ROT12
-
-       vadduwm $1, $1, $2
-       vadduwm $5, $5, $6
-       vadduwm $9, $9, $10
-       vadduwm $13, $13, $14
-       vxor    $4, $4, $1
-       vxor    $8, $8, $5
-       vxor    $12, $12, $9
-       vxor    $16, $16, $13
-       vrlw    $4, $4, ROT8
-       vrlw    $8, $8, ROT8
-       vrlw    $12, $12, ROT8
-       vrlw    $16, $16, ROT8
-
-       vadduwm $3, $3, $4
-       vadduwm $7, $7, $8
-       vadduwm $11, $11, $12
-       vadduwm $15, $15, $16
-       vxor    $2, $2, $3
-       vxor    $6, $6, $7
-       vxor    $10, $10, $11
-       vxor    $14, $14, $15
-       vrlw    $2, $2, ROT7
-       vrlw    $6, $6, ROT7
-       vrlw    $10, $10, ROT7
-       vrlw    $14, $14, ROT7
+       vadduwm $1(0), $1(0), $1(1)
+       vadduwm $1(4), $1(4), $1(5)
+       vadduwm $1(8), $1(8), $1(9)
+       vadduwm $1(12), $1(12), $1(13)
+       vxor    $1(3), $1(3), $1(0)
+       vxor    $1(7), $1(7), $1(4)
+       vxor    $1(11), $1(11), $1(8)
+       vxor    $1(15), $1(15), $1(12)
+       vrlw    $1(3), $1(3), ROT16
+       vrlw    $1(7), $1(7), ROT16
+       vrlw    $1(11), $1(11), ROT16
+       vrlw    $1(15), $1(15), ROT16
+
+       vadduwm $1(2), $1(2), $1(3)
+       vadduwm $1(6), $1(6), $1(7)
+       vadduwm $1(10), $1(10), $1(11)
+       vadduwm $1(14), $1(14), $1(15)
+       vxor    $1(1), $1(1), $1(2)
+       vxor    $1(5), $1(5), $1(6)
+       vxor    $1(9), $1(9), $1(10)
+       vxor    $1(13), $1(13), $1(14)
+       vrlw    $1(1), $1(1), ROT12
+       vrlw    $1(5), $1(5), ROT12
+       vrlw    $1(9), $1(9), ROT12
+       vrlw    $1(13), $1(13), ROT12
+
+       vadduwm $1(0), $1(0), $1(1)
+       vadduwm $1(4), $1(4), $1(5)
+       vadduwm $1(8), $1(8), $1(9)
+       vadduwm $1(12), $1(12), $1(13)
+       vxor    $1(3), $1(3), $1(0)
+       vxor    $1(7), $1(7), $1(4)
+       vxor    $1(11), $1(11), $1(8)
+       vxor    $1(15), $1(15), $1(12)
+       vrlw    $1(3), $1(3), ROT8
+       vrlw    $1(7), $1(7), ROT8
+       vrlw    $1(11), $1(11), ROT8
+       vrlw    $1(15), $1(15), ROT8
+
+       vadduwm $1(2), $1(2), $1(3)
+       vadduwm $1(6), $1(6), $1(7)
+       vadduwm $1(10), $1(10), $1(11)
+       vadduwm $1(14), $1(14), $1(15)
+       vxor    $1(1), $1(1), $1(2)
+       vxor    $1(5), $1(5), $1(6)
+       vxor    $1(9), $1(9), $1(10)
+       vxor    $1(13), $1(13), $1(14)
+       vrlw    $1(1), $1(1), ROT7
+       vrlw    $1(5), $1(5), ROT7
+       vrlw    $1(9), $1(9), ROT7
+       vrlw    $1(13), $1(13), ROT7
 ')
 
 define(`TRANSPOSE',`
@@ -185,8 +192,8 @@
        srdi    ROUNDS, ROUNDS, 1
        mtctr   ROUNDS
 .Loop:
-       QR(v0, v4,  v8, v12, v1, v5,  v9, v13, v2, v6, v10, v14, v3, v7, v11, 
v15)
-       QR(v0, v5, v10, v15, v1, v6, v11, v12, v2, v7,  v8, v13, v3, v4,  v9, 
v14)
+       QR(`P1')
+       QR(`P2')
        bdnz    .Loop
 
        C Add in saved original words, including counters, before
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nettle-3.8/s390x/memxor.asm 
new/nettle-3.8.1/s390x/memxor.asm
--- old/nettle-3.8/s390x/memxor.asm     2022-06-02 19:57:16.000000000 +0200
+++ new/nettle-3.8.1/s390x/memxor.asm   2022-07-27 21:23:21.000000000 +0200
@@ -30,6 +30,7 @@
 ')
 
 .file "memxor.asm"
+.machine "z10"
 
 .text
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nettle-3.8/s390x/vf/chacha-4core.asm 
new/nettle-3.8.1/s390x/vf/chacha-4core.asm
--- old/nettle-3.8/s390x/vf/chacha-4core.asm    2022-06-02 19:57:16.000000000 
+0200
+++ new/nettle-3.8.1/s390x/vf/chacha-4core.asm  2022-07-27 21:23:21.000000000 
+0200
@@ -48,59 +48,66 @@
 define(`T2', `%v27')
 define(`T3', `%v28')
 
+C A workaround for expanding multiple digits of argument references to QR 
macro which is incompatible with POSIX
+C See https://www.gnu.org/software/m4/manual/html_node/Arguments.html
+define(`P1',
+`ifelse($1, 0, %v0, $1, 1, %v1, $1, 2, %v2, $1, 3, %v3, $1, 4, %v4, $1, 5, 
%v5, $1, 6, %v6, $1, 7, %v7, $1, 8, %v8, $1, 9, %v9, $1, 10, %v10, $1, 11, 
%v11, $1, 12, %v12, $1, 13, %v13, $1, 14, %v14, $1, 15, %v15)')
+define(`P2',
+`ifelse($1, 0, %v0, $1, 1, %v5, $1, 2, %v10, $1, 3, %v15, $1, 4, %v4, $1, 5, 
%v9, $1, 6, %v14, $1, 7, %v3, $1, 8, %v8, $1, 9, %v13, $1, 10, %v2, $1, 11, 
%v7, $1, 12, %v12, $1, 13, %v1, $1, 14, %v6, $1, 15, %v11)')
+
 C Main loop for round
 define(`QR',`
-       vaf             $1, $1, $2
-       vaf             $5, $5, $6
-       vaf             $9, $9, $10
-       vaf             $13, $13, $14
-       vx              $4, $4, $1
-       vx              $8, $8, $5
-       vx              $12, $12, $9
-       vx              $16, $16, $13
-       verllf  $4, $4, 16
-       verllf  $8, $8, 16
-       verllf  $12, $12, 16
-       verllf  $16, $16, 16
-
-       vaf             $3, $3, $4
-       vaf             $7, $7, $8
-       vaf             $11, $11, $12
-       vaf             $15, $15, $16
-       vx              $2, $2, $3
-       vx              $6, $6, $7
-       vx              $10, $10, $11
-       vx              $14, $14, $15
-       verllf  $2, $2, 12
-       verllf  $6, $6, 12
-       verllf  $10, $10, 12
-       verllf  $14, $14, 12
-
-       vaf             $1, $1, $2
-       vaf             $5, $5, $6
-       vaf             $9, $9, $10
-       vaf             $13, $13, $14
-       vx              $4, $4, $1
-       vx              $8, $8, $5
-       vx              $12, $12, $9
-       vx              $16, $16, $13
-       verllf  $4, $4, 8
-       verllf  $8, $8, 8
-       verllf  $12, $12, 8
-       verllf  $16, $16, 8
-
-       vaf             $3, $3, $4
-       vaf             $7, $7, $8
-       vaf             $11, $11, $12
-       vaf             $15, $15, $16
-       vx              $2, $2, $3
-       vx              $6, $6, $7
-       vx              $10, $10, $11
-       vx              $14, $14, $15
-       verllf  $2, $2, 7
-       verllf  $6, $6, 7
-       verllf  $10, $10, 7
-       verllf  $14, $14, 7
+       vaf             $1(0), $1(0), $1(1)
+       vaf             $1(4), $1(4), $1(5)
+       vaf             $1(8), $1(8), $1(9)
+       vaf             $1(12), $1(12), $1(13)
+       vx              $1(3), $1(3), $1(0)
+       vx              $1(7), $1(7), $1(4)
+       vx              $1(11), $1(11), $1(8)
+       vx              $1(15), $1(15), $1(12)
+       verllf  $1(3), $1(3), 16
+       verllf  $1(7), $1(7), 16
+       verllf  $1(11), $1(11), 16
+       verllf  $1(15), $1(15), 16
+
+       vaf             $1(2), $1(2), $1(3)
+       vaf             $1(6), $1(6), $1(7)
+       vaf             $1(10), $1(10), $1(11)
+       vaf             $1(14), $1(14), $1(15)
+       vx              $1(1), $1(1), $1(2)
+       vx              $1(5), $1(5), $1(6)
+       vx              $1(9), $1(9), $1(10)
+       vx              $1(13), $1(13), $1(14)
+       verllf  $1(1), $1(1), 12
+       verllf  $1(5), $1(5), 12
+       verllf  $1(9), $1(9), 12
+       verllf  $1(13), $1(13), 12
+
+       vaf             $1(0), $1(0), $1(1)
+       vaf             $1(4), $1(4), $1(5)
+       vaf             $1(8), $1(8), $1(9)
+       vaf             $1(12), $1(12), $1(13)
+       vx              $1(3), $1(3), $1(0)
+       vx              $1(7), $1(7), $1(4)
+       vx              $1(11), $1(11), $1(8)
+       vx              $1(15), $1(15), $1(12)
+       verllf  $1(3), $1(3), 8
+       verllf  $1(7), $1(7), 8
+       verllf  $1(11), $1(11), 8
+       verllf  $1(15), $1(15), 8
+
+       vaf             $1(2), $1(2), $1(3)
+       vaf             $1(6), $1(6), $1(7)
+       vaf             $1(10), $1(10), $1(11)
+       vaf             $1(14), $1(14), $1(15)
+       vx              $1(1), $1(1), $1(2)
+       vx              $1(5), $1(5), $1(6)
+       vx              $1(9), $1(9), $1(10)
+       vx              $1(13), $1(13), $1(14)
+       verllf  $1(1), $1(1), 7
+       verllf  $1(5), $1(5), 7
+       verllf  $1(9), $1(9), 7
+       verllf  $1(13), $1(13), 7
 ')
 
 define(`TRANSPOSE',`
@@ -176,8 +183,8 @@
        srlg    ROUNDS, ROUNDS, 1
 
 .Loop:
-       QR(%v0, %v1, %v2, %v3, %v4, %v5, %v6, %v7, %v8, %v9, %v10, %v11, %v12, 
%v13, %v14, %v15)
-       QR(%v0, %v5, %v10, %v15, %v4, %v9, %v14, %v3, %v8, %v13, %v2, %v7, 
%v12, %v1, %v6, %v11)
+       QR(`P1')
+       QR(`P2')
        brctg   ROUNDS, .Loop
 
        C Add in saved original words, including counters, before

Reply via email to