commit libnettle for openSUSE:Factory
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 <dmueller@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 <nisse@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 <nisse@lysator.liu.se> + + From Christian Weisgerber: + * fat-arm64.c (get_arm64_features): Enable runtime feature + detection for openbsd. + +2022-06-02 Niels M��ller <nisse@lysator.liu.se> + + * Released nettle-3.8. + 2022-05-23 Niels M��ller <nisse@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-bugs@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-bugs@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-bugs@lists.lysator.liu.se]) +AC_INIT([nettle], [3.8.1], [nettle-bugs@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
participants (1)
-
Source-Sync