Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libgcrypt for openSUSE:Factory 
checked in at 2025-08-13 16:22:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libgcrypt (Old)
 and      /work/SRC/openSUSE:Factory/.libgcrypt.new.1085 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libgcrypt"

Wed Aug 13 16:22:37 2025 rev:110 rq:1299109 version:1.11.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/libgcrypt/libgcrypt.changes      2025-06-12 
15:52:22.238970760 +0200
+++ /work/SRC/openSUSE:Factory/.libgcrypt.new.1085/libgcrypt.changes    
2025-08-13 16:22:38.816781570 +0200
@@ -1,0 +2,10 @@
+Fri Aug  8 20:05:34 UTC 2025 - Andreas Stieger <andreas.stie...@gmx.de>
+
+- Update to 1.11.2:
+  * portability fixes
+  * Support secp256k1 by KEM API.  GnuPG has recently switched to
+     use the KEM interface and a few folks are using this curve
+  * Fix a missing initialization in RSA's generate_fips.
+  * Use '.rodata' section for read-only data of poly1305-p10le
+
+-------------------------------------------------------------------

Old:
----
  libgcrypt-1.11.1.tar.bz2
  libgcrypt-1.11.1.tar.bz2.sig

New:
----
  libgcrypt-1.11.2.tar.bz2
  libgcrypt-1.11.2.tar.bz2.sig

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

Other differences:
------------------
++++++ libgcrypt.spec ++++++
--- /var/tmp/diff_new_pack.c0QLeG/_old  2025-08-13 16:22:46.177091014 +0200
+++ /var/tmp/diff_new_pack.c0QLeG/_new  2025-08-13 16:22:46.181091183 +0200
@@ -2,6 +2,7 @@
 # spec file for package libgcrypt
 #
 # Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 Andreas Stieger <andreas.stie...@gmx.de>
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +21,7 @@
 %define libsoname %{name}%{libsover}
 %define hmac_key orboDeJITITejsirpADONivirpUkvarP
 Name:           libgcrypt
-Version:        1.11.1
+Version:        1.11.2
 Release:        0
 Summary:        The GNU Crypto Library
 License:        GPL-2.0-or-later AND LGPL-2.1-or-later AND GPL-3.0-or-later
@@ -60,7 +61,7 @@
 Patch109:       libgcrypt-CVE-2024-2236.patch
 
 BuildRequires:  automake >= 1.14
-BuildRequires:  libgpg-error-devel >= 1.49
+BuildRequires:  pkgconfig(gpg-error) >= 1.49
 BuildRequires:  libtool
 BuildRequires:  makeinfo
 BuildRequires:  pkgconfig
@@ -142,9 +143,9 @@
 %make_build
 
 %check
-make -k check
+%make_build check
 # run the regression tests also in FIPS mode
-LIBGCRYPT_FORCE_FIPS_MODE=1 make -k check
+LIBGCRYPT_FORCE_FIPS_MODE=1 %make_build check
 
 %install
 %make_install
@@ -173,8 +174,7 @@
 install -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/gcrypt/random.conf
 install -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/gcrypt/hwf.deny
 
-%post -n %{libsoname} -p /sbin/ldconfig
-%postun -n %{libsoname} -p /sbin/ldconfig
+%ldconfig_scriptlets -n %{libsoname}
 
 %files -n %{libsoname}
 %license COPYING COPYING.LIB LICENSES

++++++ libgcrypt-1.11.1.tar.bz2 -> libgcrypt-1.11.2.tar.bz2 ++++++
++++ 1955 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/ChangeLog new/libgcrypt-1.11.2/ChangeLog
--- old/libgcrypt-1.11.1/ChangeLog      2025-05-07 17:52:05.000000000 +0200
+++ new/libgcrypt-1.11.2/ChangeLog      2025-08-04 12:07:17.000000000 +0200
@@ -1,3 +1,121 @@
+2025-08-04  Werner Koch  <w...@gnupg.org>
+
+       Release 1.11.2.
+       + commit 737cc63600146f196738a6768679eb016cf866e9
+
+
+2025-07-31  NIIBE Yutaka  <gni...@fsij.org>
+
+       Mark nonstring use cases with __nonstring__ attribute.
+       + commit db55dfb74e64520a4a1c67ecb67d4a3f31979087
+       * src/gcrypt.h.in (_GCRY_GCC_ATTR_NONSTRING): New.
+       * cipher/chacha20.c (chacha20_keysetup): Use _GCRY_GCC_ATTR_NONSTRING.
+       * cipher/cipher-gcm-siv.c (gcm_siv_selftest): Likewise.
+       * cipher/ecc.c (compute_keygrip): Likewise.
+       * cipher/serpent.c (serpent_test): Likewise.
+       * tests/basic.c (check_aes128_cbc_cts_cipher): Likewise.
+       (_check_gcm_cipher, check_gcm_siv_cipher): Likewise.
+       (check_ocb_cipher_largebuf_split, check_ocb_cipher_checksum): Likewise.
+       * tests/keygrip.c (key_grips): Likewise.
+
+2025-07-31  Jussi Kivilinna  <jussi.kivili...@iki.fi>
+
+       poly1305-p10le: use '.rodata' section for read-only data.
+       + commit c720dd8927a5c3f6b132527276fde2780067653e
+       * cipher/poly1305-p10le.s: Change '.data' section to '.rodata'.
+
+       Add missing abiversion tag for PowerPC assembly.
+       + commit 013bcc18676dfe8f3b5a7da1ff9a2de97dfc4979
+       * cipher/chacha20-p10le-8x.s: Add abiversion tag.
+       * cipher/poly1305-p10le.s: Likewise.
+       * configure.ac (gcry_cv_gcc_inline_asm_ppc_altivec)
+       (gcry_cv_gcc_inline_asm_ppc_arch_3_00): Likewise.
+
+       Add missing machine tags for PowerPC assembly.
+       + commit 210562de650d14701356633ad7a27809e7250c49
+       * cipher/chacha20-p10le-8x.s: Add "any" machine tag.
+       * cipher/poly1305-p10le.s: Likewise.
+       * configure.ac (gcry_cv_gcc_inline_asm_ppc_altivec)
+       (gcry_cv_gcc_inline_asm_ppc_arch_3_00): Likewise.
+
+2025-07-31  NIIBE Yutaka  <gni...@fsij.org>
+
+       mpi: Provide the function prototype of __udiv_qrnnd.
+       + commit aced8fd2323650f4fc85fdedcb8a28bab4792372
+       * mpi/longlong.h [__alpha] (__udiv_qrnnd): Add the prototype.
+       [__hppa] (__udiv_qrnnd): Likewise.
+       [__sparc__] (__udiv_qrnnd): Likewise.
+
+       cipher:ecc: Silence GCC 15 warning.
+       + commit 7ebe90e5553b59f0e5c1421f293f1ca29948ef31
+       * cipher/ecc-eddsa.c (_gcry_ecc_eddsa_ensure_compact): Initialize
+       ENC and ENCLEN before use.
+
+2025-07-18  NIIBE Yutaka  <gni...@fsij.org>
+
+       cipher:rsa: Fix missing initialization in generate_fips.
+       + commit 448693047fac163960f132528cff6a9d5e5444d6
+       * cipher/rsa.c (generate_fips): Initialize E, P and Q.
+
+       build: More changes to allow build with no Kyber.
+       + commit d54d834eb43453bd4749df89fa709f6429d4d5d4
+       * cipher/Makefile.am (libcipher_la_SOURCES): Move kyber.c and kyber.h
+       to ...
+       (EXTRA_libcipher_la_SOURCES): ... here.
+       * cipher/kem.c: [USE_KYBER]: Only include kyber.h when USE_KYBER.
+       (_gcry_kem_genkey, _gcry_kem_encap, _gcry_kem_decap): [USE_KYBER]:
+       Enable Kyber when USE_KYBER.
+       * tests/keygen.c (check_kem_keys): [USE_KYBER]: Enable Kyber when
+       USE_KYBER.
+
+       build: Allow build with no Kyber.
+       + commit acd0b4347002d002bb4f141894e757da6df70c57
+       * configure.ac (GCRYPT_PUBKEY_CIPHERS): It's kyber.lo.
+       * tests/Makefile.am (tests_bin): [USE_KYBER]: Add t-mlkem only when
+       USE_KYBER.
+       * tests/t-kem.c: Allow building with no Kyber.
+
+2025-07-17  NIIBE Yutaka  <gni...@fsij.org>
+
+       cipher:kem: Provide each enum constant as macro.
+       + commit f7e06f8a29fc4c347016fc32f0878ad6a3ffee8e
+       src/gcrypt.h.in (GCRY_KEM_CM6688128F, GCRY_KEM_DHKEM25519)
+       (GCRY_KEM_DHKEM448, GCRY_KEM_DHKEMP256R1, GCRY_KEM_DHKEMP384R1)
+       (GCRY_KEM_DHKEMP521R1, GCRY_KEM_RAW_BP256, GCRY_KEM_RAW_BP384)
+       (GCRY_KEM_RAW_BP512, GCRY_KEM_RAW_MLKEM512, GCRY_KEM_RAW_MLKEM768)
+       (GCRY_KEM_RAW_MLKEM1024, GCRY_KEM_RAW_P256K1, GCRY_KEM_RAW_P256R1)
+       (GCRY_KEM_RAW_P384R1, GCRY_KEM_RAW_P521R1, GCRY_KEM_RAW_X25519)
+       (GCRY_KEM_RAW_X448, GCRY_KEM_SNTRUP761): New defines.
+
+       cipher:kem:ecc: Support secp256k1 by KEM API.
+       + commit d9ebc6c4e8b514704defd27f8115e1f6311da19c
+       * src/gcrypt.h.in (GCRY_KEM_RAW_P256K1): New.
+       * cipher/kem-ecc.c (algo_to_curve, algo_to_seckey_len): Support
+       GCRY_KEM_RAW_P256K1.
+
+2025-05-19  Collin Funk via Gcrypt-devel  <gcrypt-de...@gnupg.org>
+
+       Fix missing simd-common-riscv.h in libgcrypt tarball.
+       + commit 62f84bb3040fc138f061032889574f82ce72a0bc
+       * cipher/Makefile.am (EXTRA_libcipher_la_SOURCES): Add
+       simd-common-riscv.h.
+
+2025-05-15  Collin Funk  <collin.fu...@gmail.com>
+
+       tests: Fix link errors for t-thread-local.
+       + commit a47fb91496554316045a8a62f49b1a45aef25d4c
+       On platforms where pthread_create is not in libc t-thread-local fails to
+       link.  Issue found on NetBSD 10.0.
+       * tests/Makefile.am (t_thread_local_LDADD): Add $(standard_ldadd),
+       $(GPG_ERROR_MT_LIBS), and @LDADD_FOR_TESTS_KLUDGE@.
+       (t_thread_local_CFLAGS): Add $(GPG_ERROR_MT_CFLAGS).
+
+2025-05-12  Paul Eggert  <egg...@cs.ucla.edu>
+
+       Fix ungrammatical use of "allow to"
+       + commit a1806adc5e7f7149f044c73176fa51b96d384b5b
+
+
 2025-05-07  Werner Koch  <w...@gnupg.org>
 
        Release 1.11.1.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/NEWS new/libgcrypt-1.11.2/NEWS
--- old/libgcrypt-1.11.1/NEWS   2025-05-07 17:12:57.000000000 +0200
+++ new/libgcrypt-1.11.2/NEWS   2025-08-04 12:05:11.000000000 +0200
@@ -1,3 +1,40 @@
+Noteworthy changes in version 1.11.2 (2025-08-04)  [C26/A6/R0]
+-------------------------------------------------
+
+ * Bug fixes:
+
+   - Fix link errors in regression test t-thread-local on some
+     platforms (e.g. NetBSD).  [T7634]
+
+   - Add missing file to allow building for RISC-V.  [T7647]
+
+   - Support secp256k1 by KEM API.  GnuPG has recently switched to use
+     the KEM interface and a few folks are using this curve.  [T7698]
+
+   - Fix a missing initialization in RSA's generate_fips.
+     [rG448693047f]
+
+ * Other:
+
+   - Silence GCC 15 warnings [rG7ebe90e555,T7617]
+
+   - Provide a prototype for __udiv_qrnnd for PowerPC and Alpha which
+     is required due to GCC-15 changes.  [T7721]
+
+   - Add missing abi versions and machine tags for PowerPC assembly
+     with GCC-15.  [T7721]
+
+   - Use '.rodata' section for read-only data of poly1305-p10le.
+     [T7721]
+
+ * Interface changes relative to the 1.11.1 release:
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   GCRY_KEM_RAW_P256R1                   NEW enum.
+
+
+ Release-info: https://dev.gnupg.org/T7642
+
+
 Noteworthy changes in version 1.11.1 (2025-05-07)  [C25/A5/R1]
 -------------------------------------------------
 
@@ -781,7 +818,7 @@
 
    - New function gcry_get_config.
 
-   - GCRYCTL_REINIT_SYSCALL_CLAMP allows to init nPth after Libgcrypt.
+   - GCRYCTL_REINIT_SYSCALL_CLAMP allows initializing nPth after Libgcrypt.
 
    - New global configuration file /etc/gcrypt/random.conf.
 
@@ -1445,7 +1482,7 @@
 Noteworthy changes in version 1.3.0 (2007-05-04)
 ------------------------------------------------
 
- * Changed the way the RNG gets initialized. This allows to keep it
+ * Changed the way the RNG gets initialized. This allows keeping it
    uninitialized as long as no random numbers are used.  To override
    this, the new macro gcry_fast_random_poll may be used.  It is in
    general a good idea to spread this macro into the application code
@@ -1477,7 +1514,7 @@
 
  * New configure option --enable-random-daemon to support a system
    wide random daemon.  The daemon code is experimental and not yet
-   very well working.  It will eventually allow to keep a global
+   very well working.  It will eventually allow keeping a global
    random pool for the sake of short living processes.
 
  * Non executable stack support is now used by default on systems
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/README new/libgcrypt-1.11.2/README
--- old/libgcrypt-1.11.1/README 2025-05-07 16:19:39.000000000 +0200
+++ new/libgcrypt-1.11.2/README 2025-05-12 17:53:32.000000000 +0200
@@ -273,7 +273,7 @@
 
     Since 2001 maintenance and development of Libgcrypt is done by g10
     Code GmbH and was mostly financed by donations; since 2022 a raise
-    in revenues from support contracts allows to fully finance the
+    in revenues from support contracts allows fully financing the
     development without resorting to donations.  Many thanks to our
     paid developers for their work and also a big thank you to Jussi
     Kivilinna for all of his performance work.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/VERSION new/libgcrypt-1.11.2/VERSION
--- old/libgcrypt-1.11.1/VERSION        2025-05-07 17:51:54.000000000 +0200
+++ new/libgcrypt-1.11.2/VERSION        2025-08-04 12:07:05.000000000 +0200
@@ -1 +1 @@
-1.11.1
+1.11.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/autogen.sh new/libgcrypt-1.11.2/autogen.sh
--- old/libgcrypt-1.11.1/autogen.sh     2025-03-17 10:55:03.000000000 +0100
+++ new/libgcrypt-1.11.2/autogen.sh     2025-05-12 17:53:32.000000000 +0200
@@ -57,7 +57,7 @@
     extraoptions=$(echo $extraoptions | sed "s#@SYSROOT@#${w32root}#g")
 }
 
-# Allow to override the default tool names
+# Allow overriding the default tool names
 AUTOCONF=${AUTOCONF_PREFIX}${AUTOCONF:-autoconf}${AUTOCONF_SUFFIX}
 AUTOHEADER=${AUTOCONF_PREFIX}${AUTOHEADER:-autoheader}${AUTOCONF_SUFFIX}
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/cipher/Makefile.am new/libgcrypt-1.11.2/cipher/Makefile.am
--- old/libgcrypt-1.11.1/cipher/Makefile.am     2025-03-17 10:55:24.000000000 
+0100
+++ new/libgcrypt-1.11.2/cipher/Makefile.am     2025-08-04 11:25:32.000000000 
+0200
@@ -60,7 +60,7 @@
        mac.c mac-internal.h \
        mac-hmac.c mac-cmac.c mac-gmac.c mac-poly1305.c \
        poly1305.c poly1305-internal.h \
-       kem.c sntrup761.c sntrup761.h kyber.c kyber.h kem-ecc.c kem-ecc.h \
+       kem.c sntrup761.c sntrup761.h kem-ecc.c kem-ecc.h \
        mceliece6688128f.c mceliece6688128f.h \
        kdf.c kdf-internal.h \
        bithelp.h  \
@@ -101,6 +101,7 @@
        elgamal.c \
        ecc.c ecc-curves.c ecc-misc.c ecc-common.h \
        ecc-ecdh.c ecc-ecdsa.c ecc-eddsa.c ecc-gost.c ecc-sm2.c \
+       kyber.c kyber.h \
        idea.c \
        gost28147.c gost.h \
        gostr3411-94.c \
@@ -129,7 +130,7 @@
        seed.c \
        serpent.c serpent-sse2-amd64.S serpent-avx2-amd64.S \
        serpent-avx512-x86.c serpent-armv7-neon.S \
-       simd-common-aarch64.h simd-common-ppc.h \
+       simd-common-aarch64.h simd-common-ppc.h simd-common-riscv.h \
        sm4.c sm4-aesni-avx-amd64.S sm4-aesni-avx2-amd64.S \
        sm4-gfni-avx2-amd64.S sm4-gfni-avx512-amd64.S \
        sm4-aarch64.S sm4-armv8-aarch64-ce.S sm4-armv9-aarch64-sve-ce.S \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/cipher/chacha20-p10le-8x.s 
new/libgcrypt-1.11.2/cipher/chacha20-p10le-8x.s
--- old/libgcrypt-1.11.1/cipher/chacha20-p10le-8x.s     2025-03-17 
10:55:24.000000000 +0100
+++ new/libgcrypt-1.11.2/cipher/chacha20-p10le-8x.s     2025-08-04 
11:25:32.000000000 +0200
@@ -59,6 +59,9 @@
 # Column round (v0, v4,  v8, v12, v1, v5,  v9, v13, v2, v6, v10, v14, v3, v7, 
v11, v15)
 # Diagnal round (v0, v5, v10, v15, v1, v6, v11, v12, v2, v7,  v8, v13, v3, v4, 
 v9, v14)
 #
+
+.machine        "any"
+.abiversion     2
 .text
 
 .macro clear_vec_regs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/cipher/chacha20.c new/libgcrypt-1.11.2/cipher/chacha20.c
--- old/libgcrypt-1.11.1/cipher/chacha20.c      2025-03-17 10:55:24.000000000 
+0100
+++ new/libgcrypt-1.11.2/cipher/chacha20.c      2025-08-04 11:25:32.000000000 
+0200
@@ -428,8 +428,8 @@
 chacha20_keysetup (CHACHA20_context_t *ctx, const byte *key,
                    unsigned int keylen)
 {
-  static const char sigma[16] = "expand 32-byte k";
-  static const char tau[16] = "expand 16-byte k";
+  static const char sigma[16] _GCRY_GCC_ATTR_NONSTRING = "expand 32-byte k";
+  static const char tau[16] _GCRY_GCC_ATTR_NONSTRING = "expand 16-byte k";
   const char *constants;
 
   ctx->input[4] = buf_get_le32(key + 0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/cipher/cipher-cfb.c 
new/libgcrypt-1.11.2/cipher/cipher-cfb.c
--- old/libgcrypt-1.11.1/cipher/cipher-cfb.c    2025-03-17 10:55:03.000000000 
+0100
+++ new/libgcrypt-1.11.2/cipher/cipher-cfb.c    2025-05-12 17:53:32.000000000 
+0200
@@ -70,7 +70,7 @@
 
   /* Now we can process complete blocks.  We use a loop as long as we
      have at least 2 blocks and use conditions for the rest.  This
-     also allows to use a bulk encryption function if available.  */
+     also allows using a bulk encryption function if available.  */
   if (inbuflen >= blocksize_x_2 && c->bulk.cfb_enc)
     {
       size_t nblocks = inbuflen >> blocksize_shift;
@@ -168,7 +168,7 @@
 
   /* Now we can process complete blocks.  We use a loop as long as we
      have at least 2 blocks and use conditions for the rest.  This
-     also allows to use a bulk encryption function if available.  */
+     also allows using a bulk encryption function if available.  */
   if (inbuflen >= blocksize_x_2 && c->bulk.cfb_dec)
     {
       size_t nblocks = inbuflen >> blocksize_shift;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/cipher/cipher-gcm-siv.c 
new/libgcrypt-1.11.2/cipher/cipher-gcm-siv.c
--- old/libgcrypt-1.11.1/cipher/cipher-gcm-siv.c        2025-03-17 
10:55:03.000000000 +0100
+++ new/libgcrypt-1.11.2/cipher/cipher-gcm-siv.c        2025-08-04 
11:25:32.000000000 +0200
@@ -248,22 +248,22 @@
 static int
 gcm_siv_selftest (gcry_cipher_hd_t c)
 {
-  static const byte in1[GCRY_SIV_BLOCK_LEN] =
+  static const byte in1[GCRY_SIV_BLOCK_LEN] _GCRY_GCC_ATTR_NONSTRING =
       "\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
-  static const byte out1[GCRY_SIV_BLOCK_LEN] =
+  static const byte out1[GCRY_SIV_BLOCK_LEN] _GCRY_GCC_ATTR_NONSTRING =
       "\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
-  static const byte in2[GCRY_SIV_BLOCK_LEN] =
+  static const byte in2[GCRY_SIV_BLOCK_LEN] _GCRY_GCC_ATTR_NONSTRING =
       "\x9c\x98\xc0\x4d\xf9\x38\x7d\xed\x82\x81\x75\xa9\x2b\xa6\x52\xd8";
-  static const byte out2[GCRY_SIV_BLOCK_LEN] =
+  static const byte out2[GCRY_SIV_BLOCK_LEN] _GCRY_GCC_ATTR_NONSTRING =
       "\x4e\x4c\x60\x26\xfc\x9c\x3e\xf6\xc1\x40\xba\xd4\x95\xd3\x29\x6c";
-  static const byte polyval_key[GCRY_SIV_BLOCK_LEN] =
+  static const byte polyval_key[GCRY_SIV_BLOCK_LEN] _GCRY_GCC_ATTR_NONSTRING =
       "\x25\x62\x93\x47\x58\x92\x42\x76\x1d\x31\xf8\x26\xba\x4b\x75\x7b";
-  static const byte ghash_key[GCRY_SIV_BLOCK_LEN] =
+  static const byte ghash_key[GCRY_SIV_BLOCK_LEN] _GCRY_GCC_ATTR_NONSTRING =
       "\xdc\xba\xa5\xdd\x13\x7c\x18\x8e\xbb\x21\x49\x2c\x23\xc9\xb1\x12";
-  static const byte polyval_data[GCRY_SIV_BLOCK_LEN * 2] =
+  static const byte polyval_data[GCRY_SIV_BLOCK_LEN * 2] 
_GCRY_GCC_ATTR_NONSTRING =
       "\x4f\x4f\x95\x66\x8c\x83\xdf\xb6\x40\x17\x62\xbb\x2d\x01\xa2\x62"
       "\xd1\xa2\x4d\xdd\x27\x21\xd0\x06\xbb\xe4\x5f\x20\xd3\xc9\xf3\x62";
-  static const byte polyval_tag[GCRY_SIV_BLOCK_LEN] =
+  static const byte polyval_tag[GCRY_SIV_BLOCK_LEN] _GCRY_GCC_ATTR_NONSTRING =
       "\xf7\xa3\xb4\x7b\x84\x61\x19\xfa\xe5\xb7\x86\x6c\xf5\xe5\xb7\x7e";
   byte tmp[GCRY_SIV_BLOCK_LEN];
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/cipher/cipher-internal.h 
new/libgcrypt-1.11.2/cipher/cipher-internal.h
--- old/libgcrypt-1.11.1/cipher/cipher-internal.h       2025-03-17 
10:55:24.000000000 +0100
+++ new/libgcrypt-1.11.2/cipher/cipher-internal.h       2025-05-12 
17:53:32.000000000 +0200
@@ -247,7 +247,7 @@
   gcry_cipher_spec_t *spec;
 
   /* The algorithm id.  This is a hack required because the module
-     interface does not easily allow to retrieve this value. */
+     interface does not easily allow retrieving this value. */
   int algo;
 
   /* A structure with function pointers for mode operations. */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/cipher/cipher-ocb.c 
new/libgcrypt-1.11.2/cipher/cipher-ocb.c
--- old/libgcrypt-1.11.1/cipher/cipher-ocb.c    2025-03-17 10:55:03.000000000 
+0100
+++ new/libgcrypt-1.11.2/cipher/cipher-ocb.c    2025-05-12 17:53:32.000000000 
+0200
@@ -238,7 +238,7 @@
 
 
 /* Process additional authentication data.  This implementation allows
-   to add additional authentication data at any time before the final
+   adding additional authentication data at any time before the final
    gcry_cipher_gettag.  */
 gcry_err_code_t
 _gcry_cipher_ocb_authenticate (gcry_cipher_hd_t c, const unsigned char *abuf,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/cipher/ecc-eddsa.c new/libgcrypt-1.11.2/cipher/ecc-eddsa.c
--- old/libgcrypt-1.11.1/cipher/ecc-eddsa.c     2025-03-17 10:55:03.000000000 
+0100
+++ new/libgcrypt-1.11.2/cipher/ecc-eddsa.c     2025-08-04 11:25:32.000000000 
+0200
@@ -154,8 +154,6 @@
   const unsigned char *buf;
   unsigned int rawmpilen;
   gcry_mpi_t x, y;
-  unsigned char *enc;
-  unsigned int enclen;
 
   if (!mpi_is_opaque (value))
     return GPG_ERR_INV_OBJ;
@@ -168,6 +166,9 @@
     {
       if (buf[0] == 0x04)
         {
+          unsigned char *enc = NULL;
+          unsigned int enclen = 0;
+
           /* Buffer is in SEC1 uncompressed format.  Extract y and
              compress.  */
           rc = _gcry_mpi_scan (&x, GCRYMPI_FMT_USG,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/cipher/ecc.c new/libgcrypt-1.11.2/cipher/ecc.c
--- old/libgcrypt-1.11.1/cipher/ecc.c   2025-03-17 10:55:24.000000000 +0100
+++ new/libgcrypt-1.11.2/cipher/ecc.c   2025-08-04 11:25:32.000000000 +0200
@@ -1699,7 +1699,7 @@
 compute_keygrip (gcry_md_hd_t md, gcry_sexp_t keyparms)
 {
 #define N_COMPONENTS 6
-  static const char names[N_COMPONENTS] = "pabgnq";
+  static const char names[N_COMPONENTS] _GCRY_GCC_ATTR_NONSTRING = "pabgnq";
   gpg_err_code_t rc;
   gcry_sexp_t l1;
   gcry_mpi_t values[N_COMPONENTS];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/cipher/hash-common.c 
new/libgcrypt-1.11.2/cipher/hash-common.c
--- old/libgcrypt-1.11.1/cipher/hash-common.c   2025-03-17 10:55:03.000000000 
+0100
+++ new/libgcrypt-1.11.2/cipher/hash-common.c   2025-05-12 17:53:32.000000000 
+0200
@@ -110,7 +110,7 @@
 
 /* Common function to write a chunk of data to the transform function
    of a hash algorithm.  Note that the use of the term "block" does
-   not imply a fixed size block.  Note that we explicitly allow to use
+   not imply a fixed size block.  Note that we explicitly allow using
    this function after the context has been finalized; the result does
    not have any meaning but writing after finalize is sometimes
    helpful to mitigate timing attacks. */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/cipher/kem-ecc.c new/libgcrypt-1.11.2/cipher/kem-ecc.c
--- old/libgcrypt-1.11.1/cipher/kem-ecc.c       2025-03-17 10:55:03.000000000 
+0100
+++ new/libgcrypt-1.11.2/cipher/kem-ecc.c       2025-07-17 09:19:03.000000000 
+0200
@@ -64,6 +64,9 @@
     case GCRY_KEM_RAW_P521R1:
       return "NIST P-521";
 
+    case GCRY_KEM_RAW_P256K1:
+      return "secp256k1";
+
     default:
       return 0;
     }
@@ -101,6 +104,9 @@
     case GCRY_KEM_RAW_P521R1:
       return 66;
 
+    case GCRY_KEM_RAW_P256K1:
+      return 32;
+
     default:
       return 0;
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/cipher/kem.c new/libgcrypt-1.11.2/cipher/kem.c
--- old/libgcrypt-1.11.1/cipher/kem.c   2025-03-17 10:55:24.000000000 +0100
+++ new/libgcrypt-1.11.2/cipher/kem.c   2025-08-04 11:25:32.000000000 +0200
@@ -29,7 +29,9 @@
 #include "cipher.h"
 #include "sntrup761.h"
 #include "mceliece6688128f.h"
+#if USE_KYBER
 #include "kyber.h"
+#endif
 #include "kem-ecc.h"
 
 
@@ -100,6 +102,7 @@
       mceliece6688128f_keypair (pubkey, seckey);
       return 0;
 
+#if USE_KYBER
     case GCRY_KEM_MLKEM512:
       if (seckey_len != GCRY_KEM_MLKEM512_SECKEY_LEN
           || pubkey_len != GCRY_KEM_MLKEM512_PUBKEY_LEN
@@ -123,6 +126,7 @@
         return GPG_ERR_INV_ARG;
       kyber_keypair (algo, pubkey, seckey, optional);
       return 0;
+#endif
 
     case GCRY_KEM_RAW_X25519:
     case GCRY_KEM_RAW_X448:
@@ -170,6 +174,7 @@
       mceliece6688128f_enc (ciphertext, shared, pubkey);
       return 0;
 
+#if USE_KYBER
     case GCRY_KEM_MLKEM512:
     case GCRY_KEM_MLKEM768:
     case GCRY_KEM_MLKEM1024:
@@ -177,6 +182,7 @@
        return GPG_ERR_INV_VALUE;
       kyber_encap (algo, ciphertext, shared, pubkey, optional);
       return 0;
+#endif
 
     case GCRY_KEM_RAW_X25519:
     case GCRY_KEM_RAW_X448:
@@ -230,6 +236,7 @@
       mceliece6688128f_dec (shared, ciphertext, seckey);
       return 0;
 
+#if USE_KYBER
     case GCRY_KEM_MLKEM512:
     case GCRY_KEM_MLKEM768:
     case GCRY_KEM_MLKEM1024:
@@ -237,6 +244,7 @@
         return GPG_ERR_INV_VALUE;
       kyber_decap (algo, shared, ciphertext, seckey);
       return 0;
+#endif
 
     case GCRY_KEM_RAW_X25519:
     case GCRY_KEM_RAW_X448:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/cipher/mac-hmac.c new/libgcrypt-1.11.2/cipher/mac-hmac.c
--- old/libgcrypt-1.11.1/cipher/mac-hmac.c      2025-03-17 10:55:24.000000000 
+0100
+++ new/libgcrypt-1.11.2/cipher/mac-hmac.c      2025-05-12 17:53:32.000000000 
+0200
@@ -1166,7 +1166,7 @@
           0xd5, 0xf3, 0x29, 0x8a, 0x41, 0xd0, 0x2c, 0x66  }
       }/*,*/
 
-      /* Our API does not allow to specify a bit count and thus we
+      /* Our API does not allow specifying a bit count and thus we
        * can't use the following test.  */
       /* { "data-5bit key-4",  /\* Test 8  *\/ */
       /*   /\* Test with data bit size no multiple of 8, the data bits are */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/cipher/poly1305-p10le.s 
new/libgcrypt-1.11.2/cipher/poly1305-p10le.s
--- old/libgcrypt-1.11.1/cipher/poly1305-p10le.s        2025-03-17 
10:55:24.000000000 +0100
+++ new/libgcrypt-1.11.2/cipher/poly1305-p10le.s        2025-08-04 
11:25:32.000000000 +0200
@@ -55,6 +55,9 @@
 #  r4 = mlen
 #  r5 = m
 #
+
+.machine        "any"
+.abiversion     2
 .text
 
 .macro clear_vec_regs
@@ -867,7 +870,7 @@
        li      3, 0
        blr
 
-.data
+.section .rodata
 .align 5
 rmask:
 .byte  0xff, 0xff, 0xff, 0x0f, 0xfc, 0xff, 0xff, 0x0f, 0xfc, 0xff, 0xff, 0x0f, 
0xfc, 0xff, 0xff, 0x0f
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/cipher/pubkey-util.c 
new/libgcrypt-1.11.2/cipher/pubkey-util.c
--- old/libgcrypt-1.11.1/cipher/pubkey-util.c   2025-03-17 10:55:24.000000000 
+0100
+++ new/libgcrypt-1.11.2/cipher/pubkey-util.c   2025-05-12 17:53:32.000000000 
+0200
@@ -259,7 +259,7 @@
     {
       /* In case of not listed or dynamically allocated hash
         algorithm we fall back to this somewhat slower
-        method.  Further, it also allows to use OIDs as
+        method.  Further, it also allows using OIDs as
         algorithm names. */
       char *tmpname;
 
@@ -666,7 +666,7 @@
 /* Take the hash value and convert into an MPI, suitable for
    passing to the low level functions.  We currently support the
    old style way of passing just a MPI and the modern interface which
-   allows to pass flags so that we can choose between raw and pkcs1
+   allows passing flags so that we can choose between raw and pkcs1
    padding - may be more padding options later.
 
    (<mpi>)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/cipher/pubkey.c new/libgcrypt-1.11.2/cipher/pubkey.c
--- old/libgcrypt-1.11.1/cipher/pubkey.c        2025-03-17 10:55:24.000000000 
+0100
+++ new/libgcrypt-1.11.2/cipher/pubkey.c        2025-05-12 17:53:32.000000000 
+0200
@@ -296,7 +296,7 @@
    Caller has to provide a public key as the SEXP pkey and data as a
    SEXP with just one MPI in it. Alternatively S_DATA might be a
    complex S-Expression, similar to the one used for signature
-   verification.  This provides a flag which allows to handle PKCS#1
+   verification.  This provides a flag which allows handling PKCS#1
    block type 2 padding.  The function returns a sexp which may be
    passed to to pk_decrypt.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/cipher/rsa.c new/libgcrypt-1.11.2/cipher/rsa.c
--- old/libgcrypt-1.11.1/cipher/rsa.c   2025-03-17 10:55:24.000000000 +0100
+++ new/libgcrypt-1.11.2/cipher/rsa.c   2025-08-04 11:25:32.000000000 +0200
@@ -472,8 +472,8 @@
     {
       /* Parameters to derive the key are given.  */
       /* Note that we explicitly need to setup the values of tbl
-         because some compilers (e.g. OpenWatcom, IRIX) don't allow to
-         initialize a structure with automatic variables.  */
+         because some compilers (e.g. OpenWatcom, IRIX) don't allow
+         initializing a structure with automatic variables.  */
       struct { const char *name; gcry_mpi_t *value; } tbl[] = {
         { "e" },
         { "p" },
@@ -483,6 +483,7 @@
       int idx;
       gcry_sexp_t oneparm;
 
+      e = p = q = NULL;
       tbl[0].value = &e;
       tbl[1].value = &p;
       tbl[2].value = &q;
@@ -825,7 +826,7 @@
         /* Parameters to derive the key are given.  */
         /* Note that we explicitly need to setup the values of tbl
            because some compilers (e.g. OpenWatcom, IRIX) don't allow
-           to initialize a structure with automatic variables.  */
+           initializing a structure with automatic variables.  */
         struct { const char *name; gcry_mpi_t *value; } tbl[] = {
           { "Xp1" },
           { "Xp2" },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/cipher/serpent.c new/libgcrypt-1.11.2/cipher/serpent.c
--- old/libgcrypt-1.11.1/cipher/serpent.c       2025-03-17 10:55:03.000000000 
+0100
+++ new/libgcrypt-1.11.2/cipher/serpent.c       2025-08-04 11:25:32.000000000 
+0200
@@ -1880,9 +1880,9 @@
   static struct test
   {
     int key_length;
-    unsigned char key[32];
-    unsigned char text_plain[16];
-    unsigned char text_cipher[16];
+    unsigned char key[32] _GCRY_GCC_ATTR_NONSTRING;
+    unsigned char text_plain[16] _GCRY_GCC_ATTR_NONSTRING;
+    unsigned char text_cipher[16] _GCRY_GCC_ATTR_NONSTRING;
   } test_data[] =
     {
       {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/cipher/simd-common-riscv.h 
new/libgcrypt-1.11.2/cipher/simd-common-riscv.h
--- old/libgcrypt-1.11.1/cipher/simd-common-riscv.h     1970-01-01 
01:00:00.000000000 +0100
+++ new/libgcrypt-1.11.2/cipher/simd-common-riscv.h     2025-03-17 
10:55:24.000000000 +0100
@@ -0,0 +1,48 @@
+/* simd-common-riscv.h  -  Common macros for RISC-V vector code
+ *
+ * Copyright (C) 2025 Jussi Kivilinna <jussi.kivili...@iki.fi>
+ *
+ * This file is part of Libgcrypt.
+ *
+ * Libgcrypt is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * Libgcrypt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef GCRY_SIMD_COMMON_RISCV_H
+#define GCRY_SIMD_COMMON_RISCV_H
+
+#include <config.h>
+
+#define memory_barrier_with_vec(a) __asm__("" : "+vr"(a) :: "memory")
+
+#define clear_vec_regs() __asm__ volatile("vsetvli zero, %0, e8, m1, ta, 
ma;\n" \
+                                         "vmv.v.i v0, 0;\n" \
+                                         "vmv.v.i v1, 0;\n" \
+                                         "vmv2r.v v2, v0;\n" \
+                                         "vmv4r.v v4, v0;\n" \
+                                         "vmv8r.v v8, v0;\n" \
+                                         "vmv8r.v v16, v0;\n" \
+                                         "vmv8r.v v24, v0;\n" \
+                                         : \
+                                         : "r" (~0) \
+                                         : "memory", "vl", "vtype", \
+                                           "v0", "v1", "v2", "v3", \
+                                           "v4", "v5", "v6", "v7", \
+                                           "v8", "v9", "v10", "v11", \
+                                           "v12", "v13", "v14", "v15", \
+                                           "v16", "v17", "v18", "v19", \
+                                           "v20", "v21", "v22", "v23", \
+                                           "v24", "v25", "v26", "v27", \
+                                           "v28", "v29", "v30", "v31")
+
+#endif /* GCRY_SIMD_COMMON_RISCV_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/configure.ac new/libgcrypt-1.11.2/configure.ac
--- old/libgcrypt-1.11.1/configure.ac   2025-05-07 15:25:56.000000000 +0200
+++ new/libgcrypt-1.11.2/configure.ac   2025-08-04 11:25:32.000000000 +0200
@@ -31,7 +31,7 @@
 m4_define([mym4_package],[libgcrypt])
 m4_define([mym4_major], [1])
 m4_define([mym4_minor], [11])
-m4_define([mym4_micro], [1])
+m4_define([mym4_micro], [2])
 
 # Below is m4 magic to extract and compute the git revision number,
 # the decimalized short revision number, a beta version string and a
@@ -55,9 +55,10 @@
 #   (Interfaces removed:    CURRENT++, AGE=0, REVISION=0)
 #   (Interfaces added:      CURRENT++, AGE++, REVISION=0)
 #   (No interfaces changed:                   REVISION++)
-LIBGCRYPT_LT_CURRENT=25
-LIBGCRYPT_LT_AGE=5
-LIBGCRYPT_LT_REVISION=1
+# NOTE: Already upadated for 1.11.2 - remove this comment for release
+LIBGCRYPT_LT_CURRENT=26
+LIBGCRYPT_LT_AGE=6
+LIBGCRYPT_LT_REVISION=0
 ################################################
 
 AC_SUBST(LIBGCRYPT_LT_CURRENT)
@@ -2414,7 +2415,9 @@
         else
           gcry_cv_gcc_inline_asm_ppc_altivec=no
           AC_LINK_IFELSE([AC_LANG_PROGRAM(
-          [[__asm__(".globl testfn;\n"
+          [[__asm__(".machine \"any\"\n"
+                    ".abiversion 2\n"
+                    ".globl testfn;\n"
                     ".text\n\t"
                     "testfn:\n"
                     "stvx %v31,%r12,%r0;\n"
@@ -2447,7 +2450,9 @@
         else
           gcry_cv_gcc_inline_asm_ppc_arch_3_00=no
           AC_LINK_IFELSE([AC_LANG_PROGRAM(
-          [[__asm__(".text\n\t"
+          [[__asm__(".machine \"any\"\n"
+                    ".abiversion 2\n"
+                    ".text\n\t"
                     ".globl testfn;\n"
                     "testfn:\n"
                     "stxvb16x %r1,%v12,%v30;\n"
@@ -2890,14 +2895,14 @@
           random_modules="w32"
           ;;
         *)
-          # Build everything, allow to select at runtime.
+          # Build everything, allow selecting at runtime.
           random_modules="$auto_random_modules"
           ;;
         esac
     fi
 else
     if test "$random" = "auto"; then
-        # Build everything, allow to select at runtime.
+        # Build everything, allow selecting at runtime.
         random_modules="$auto_random_modules"
     else
         random_modules="$random"
@@ -3563,7 +3568,7 @@
 AM_CONDITIONAL(USE_KYBER, [test "$found" = "1"])
 if test "$found" = "1" ; then
    GCRYPT_PUBKEY_CIPHERS="$GCRYPT_PUBKEY_CIPHERS \
-                          kyber.c"
+                          kyber.lo"
    AC_DEFINE(USE_KYBER, 1, [Defined if this module should be included])
 fi
 
Binary files old/libgcrypt-1.11.1/doc/fips-fsm.pdf and 
new/libgcrypt-1.11.2/doc/fips-fsm.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/doc/gcrypt.info new/libgcrypt-1.11.2/doc/gcrypt.info
--- old/libgcrypt-1.11.1/doc/gcrypt.info        2025-05-07 17:52:05.000000000 
+0200
+++ new/libgcrypt-1.11.2/doc/gcrypt.info        2025-08-04 12:07:17.000000000 
+0200
@@ -1,8 +1,7 @@
 This is gcrypt.info, produced by makeinfo version 6.8 from gcrypt.texi.
 
-This manual is for Libgcrypt version 1.11.1 and was last updated 17
-March 2025.  Libgcrypt is GNU's library of cryptographic building
-blocks.
+This manual is for Libgcrypt version 1.11.2 and was last updated 12 May
+2025.  Libgcrypt is GNU's library of cryptographic building blocks.
 
 Copyright (C) 2000, 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2011, 2012
 Free Software Foundation, Inc.
@@ -21,118 +20,118 @@
 
 
 Indirect:
-gcrypt.info-1: 860
-gcrypt.info-2: 315275
+gcrypt.info-1: 858
+gcrypt.info-2: 315268
 
 Tag Table:
 (Indirect)
-Node: Top860
-Node: Introduction3411
-Node: Getting Started3783
-Node: Features4663
-Node: Overview5448
-Node: Preparation6071
-Node: Header7056
-Node: Building sources8127
-Node: Building sources using Automake10055
-Node: Initializing the library11445
-Ref: sample-use-suspend-secmem14837
-Ref: sample-use-resume-secmem15681
-Node: Multi-Threading16584
-Ref: Multi-Threading-Footnote-117763
-Node: Enabling FIPS mode18172
-Ref: enabling fips mode18355
-Node: Disabling FIPS mode19624
-Ref: disabling fips mode19811
-Node: Hardware features20262
-Ref: hardware features20430
-Ref: Hardware features-Footnote-121902
-Node: Generalities22060
-Node: Controlling the library22319
-Node: Error Handling46086
-Node: Error Values48625
-Node: Error Sources53565
-Node: Error Codes55833
-Node: Error Strings59309
-Node: Handler Functions60493
-Node: Progress handler61052
-Node: Allocation handler63201
-Node: Error handler64747
-Node: Logging handler66313
-Node: Symmetric cryptography67381
-Node: Available ciphers68122
-Node: Available cipher modes71575
-Node: Working with cipher handles77710
-Node: General cipher functions91592
-Node: Public Key cryptography95111
-Node: Available algorithms95950
-Node: Used S-expressions96250
-Node: RSA key parameters97416
-Node: DSA key parameters98694
-Node: ECC key parameters99349
-Ref: ecc_keyparam99500
-Node: Cryptographic Functions103537
-Node: Dedicated ECC Functions117900
-Node: General public-key related Functions119047
-Node: Hashing134080
-Node: Available hash algorithms134813
-Node: Working with hash algorithms141860
-Node: Message Authentication Codes156374
-Node: Available MAC algorithms157042
-Node: Working with MAC algorithms164411
-Node: Key Derivation170403
-Node: Random Numbers172802
-Node: Quality of random numbers173085
-Node: Retrieving random numbers173771
-Node: S-expressions175260
-Node: Data types for S-expressions175902
-Node: Working with S-expressions176228
-Node: MPI library191361
-Node: Data types192383
-Node: Basic functions192692
-Node: MPI formats195713
-Node: Calculations199319
-Node: Comparisons201703
-Node: Bit manipulations202710
-Node: EC functions204032
-Ref: gcry_mpi_ec_new206986
-Node: Miscellaneous212555
-Node: Prime numbers216701
-Node: Generation216971
-Node: Checking218262
-Node: Utilities218672
-Node: Memory allocation219044
-Node: Context management220410
-Ref: gcry_ctx_release220849
-Node: Buffer description221010
-Node: Config reporting221798
-Node: Tools222761
-Node: hmac256222928
-Node: Configuration223933
-Node: Architecture227149
-Ref: fig:subsystems228675
-Ref: Architecture-Footnote-1229763
-Ref: Architecture-Footnote-2229825
-Node: Public-Key Subsystem Architecture229909
-Node: Symmetric Encryption Subsystem Architecture232193
-Node: Hashing and MACing Subsystem Architecture233790
-Node: Multi-Precision-Integer Subsystem Architecture235864
-Node: Prime-Number-Generator Subsystem Architecture237302
-Ref: Prime-Number-Generator Subsystem Architecture-Footnote-1239229
-Node: Random-Number Subsystem Architecture239519
-Node: CSPRNG Description242710
-Ref: CSPRNG Description-Footnote-1244265
-Node: DRBG Description244388
-Node: Self-Tests246069
-Node: FIPS Mode257886
-Ref: fig:fips-fsm262070
-Ref: tbl:fips-states262174
-Ref: tbl:fips-state-transitions263423
-Node: Library Copying267034
-Node: Copying295162
-Node: Figures and Tables315275
-Node: Concept Index315700
-Node: Function and Data Index328420
+Node: Top858
+Node: Introduction3407
+Node: Getting Started3779
+Node: Features4659
+Node: Overview5444
+Node: Preparation6067
+Node: Header7052
+Node: Building sources8123
+Node: Building sources using Automake10051
+Node: Initializing the library11441
+Ref: sample-use-suspend-secmem14833
+Ref: sample-use-resume-secmem15677
+Node: Multi-Threading16580
+Ref: Multi-Threading-Footnote-117759
+Node: Enabling FIPS mode18168
+Ref: enabling fips mode18351
+Node: Disabling FIPS mode19620
+Ref: disabling fips mode19807
+Node: Hardware features20258
+Ref: hardware features20426
+Ref: Hardware features-Footnote-121898
+Node: Generalities22056
+Node: Controlling the library22315
+Node: Error Handling46082
+Node: Error Values48620
+Node: Error Sources53560
+Node: Error Codes55828
+Node: Error Strings59303
+Node: Handler Functions60487
+Node: Progress handler61046
+Node: Allocation handler63195
+Node: Error handler64741
+Node: Logging handler66307
+Node: Symmetric cryptography67375
+Node: Available ciphers68116
+Node: Available cipher modes71569
+Node: Working with cipher handles77704
+Node: General cipher functions91586
+Node: Public Key cryptography95105
+Node: Available algorithms95944
+Node: Used S-expressions96244
+Node: RSA key parameters97410
+Node: DSA key parameters98688
+Node: ECC key parameters99343
+Ref: ecc_keyparam99494
+Node: Cryptographic Functions103531
+Node: Dedicated ECC Functions117895
+Node: General public-key related Functions119042
+Node: Hashing134075
+Node: Available hash algorithms134808
+Node: Working with hash algorithms141855
+Node: Message Authentication Codes156369
+Node: Available MAC algorithms157037
+Node: Working with MAC algorithms164406
+Node: Key Derivation170398
+Node: Random Numbers172797
+Node: Quality of random numbers173080
+Node: Retrieving random numbers173766
+Node: S-expressions175255
+Node: Data types for S-expressions175897
+Node: Working with S-expressions176223
+Node: MPI library191356
+Node: Data types192378
+Node: Basic functions192687
+Node: MPI formats195708
+Node: Calculations199314
+Node: Comparisons201698
+Node: Bit manipulations202705
+Node: EC functions204027
+Ref: gcry_mpi_ec_new206981
+Node: Miscellaneous212550
+Node: Prime numbers216696
+Node: Generation216966
+Node: Checking218257
+Node: Utilities218667
+Node: Memory allocation219039
+Node: Context management220405
+Ref: gcry_ctx_release220844
+Node: Buffer description221005
+Node: Config reporting221793
+Node: Tools222756
+Node: hmac256222923
+Node: Configuration223928
+Node: Architecture227144
+Ref: fig:subsystems228670
+Ref: Architecture-Footnote-1229758
+Ref: Architecture-Footnote-2229820
+Node: Public-Key Subsystem Architecture229904
+Node: Symmetric Encryption Subsystem Architecture232188
+Node: Hashing and MACing Subsystem Architecture233785
+Node: Multi-Precision-Integer Subsystem Architecture235859
+Node: Prime-Number-Generator Subsystem Architecture237297
+Ref: Prime-Number-Generator Subsystem Architecture-Footnote-1239224
+Node: Random-Number Subsystem Architecture239514
+Node: CSPRNG Description242705
+Ref: CSPRNG Description-Footnote-1244260
+Node: DRBG Description244383
+Node: Self-Tests246064
+Node: FIPS Mode257881
+Ref: fig:fips-fsm262065
+Ref: tbl:fips-states262169
+Ref: tbl:fips-state-transitions263418
+Node: Library Copying267029
+Node: Copying295157
+Node: Figures and Tables315268
+Node: Concept Index315693
+Node: Function and Data Index328413
 
 End Tag Table
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/doc/gcrypt.info-1 new/libgcrypt-1.11.2/doc/gcrypt.info-1
--- old/libgcrypt-1.11.1/doc/gcrypt.info-1      2025-05-07 17:52:05.000000000 
+0200
+++ new/libgcrypt-1.11.2/doc/gcrypt.info-1      2025-08-04 12:07:17.000000000 
+0200
@@ -1,8 +1,7 @@
 This is gcrypt.info, produced by makeinfo version 6.8 from gcrypt.texi.
 
-This manual is for Libgcrypt version 1.11.1 and was last updated 17
-March 2025.  Libgcrypt is GNU's library of cryptographic building
-blocks.
+This manual is for Libgcrypt version 1.11.2 and was last updated 12 May
+2025.  Libgcrypt is GNU's library of cryptographic building blocks.
 
 Copyright (C) 2000, 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2011, 2012
 Free Software Foundation, Inc.
@@ -25,9 +24,8 @@
 The Libgcrypt Library
 *********************
 
-This manual is for Libgcrypt version 1.11.1 and was last updated 17
-March 2025.  Libgcrypt is GNU's library of cryptographic building
-blocks.
+This manual is for Libgcrypt version 1.11.2 and was last updated 12 May
+2025.  Libgcrypt is GNU's library of cryptographic building blocks.
 
 Copyright (C) 2000, 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2011, 2012
 Free Software Foundation, Inc.
@@ -1039,7 +1037,7 @@
 meanings if returned by a certain functions.  Such cases are described
 in the documentation of those functions.
 
-   Libgcrypt uses the 'libgpg-error' library.  This allows to share the
+   Libgcrypt uses the 'libgpg-error' library.  This allows sharing the
 error codes with other components of the GnuPG system, and to pass error
 values transparently from the crypto engine, or some helper application
 of the crypto engine, to the user.  This way no information is lost.  As
@@ -1319,7 +1317,7 @@
 
 'GPG_ERR_NOT_OPERATIONAL'
      This value means that the library is not yet in state which allows
-     to use this function.  This error code is in particular returned if
+     using this function.  This error code is in particular returned if
      Libgcrypt is operated in FIPS mode and the internal state of the
      library does not yet or not anymore allow the use of a service.
 
@@ -2245,7 +2243,7 @@
 
    Note that all MPI (multi-precision-integers) values are expected to
 be in 'GCRYMPI_FMT_USG' format.  An easy way to create S-expressions is
-by using 'gcry_sexp_build' which allows to pass a string with
+by using 'gcry_sexp_build' which allows passing a string with
 printf-like escapes to insert MPI values.
 
 * Menu:
@@ -2645,7 +2643,7 @@
      expected as an appropriate S-expression (see above) in PKEY.  The
      data to be encrypted can either be in the simple old format, which
      is a very simple S-expression consisting only of one MPI, or it may
-     be a more complex S-expression which also allows to specify flags
+     be a more complex S-expression which also allows specifying flags
      for operation, like e.g., padding rules.
 
      If you don't want to let Libgcrypt handle the padding, you must
@@ -2741,7 +2739,7 @@
      private key SKEY and place it into the variable at the address of
      R_SIG.  DATA may either be the simple old style S-expression with
      just one MPI or a modern and more versatile S-expression which
-     allows to let Libgcrypt handle padding:
+     allows letting Libgcrypt handle padding:
 
            (data
             (flags pkcs1)
@@ -3064,7 +3062,7 @@
 
      'curve NAME'
           For ECC a named curve may be used instead of giving the number
-          of requested bits.  This allows to request a specific curve to
+          of requested bits.  This allows requesting a specific curve to
           override a default selection Libgcrypt would have taken if
           'nbits' has been given.  The available names are listed with
           the description of the ECC public key parameters.
@@ -5054,7 +5052,7 @@
 =================
 
 Libgcrypt provides an API to access low level functions used by its
-elliptic curve implementation.  These functions allow to implement
+elliptic curve implementation.  These functions allow implementing
 elliptic curve methods for which no explicit support is available.
 
  -- Function: gcry_mpi_point_t gcry_mpi_point_new (unsigned int NBITS)
Binary files old/libgcrypt-1.11.1/doc/gcrypt.info-2 and 
new/libgcrypt-1.11.2/doc/gcrypt.info-2 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/doc/gcrypt.texi new/libgcrypt-1.11.2/doc/gcrypt.texi
--- old/libgcrypt-1.11.1/doc/gcrypt.texi        2025-03-17 10:55:24.000000000 
+0100
+++ new/libgcrypt-1.11.2/doc/gcrypt.texi        2025-05-12 17:53:32.000000000 
+0200
@@ -1109,7 +1109,7 @@
 specific meanings if returned by a certain functions.  Such cases are
 described in the documentation of those functions.
 
-Libgcrypt uses the @code{libgpg-error} library.  This allows to share
+Libgcrypt uses the @code{libgpg-error} library.  This allows sharing
 the error codes with other components of the GnuPG system, and to pass
 error values transparently from the crypto engine, or some helper
 application of the crypto engine, to the user.  This way no
@@ -1401,8 +1401,8 @@
 available.
 
 @item GPG_ERR_NOT_OPERATIONAL
-This value means that the library is not yet in state which allows to
-use this function.  This error code is in particular returned if
+This value means that the library is not yet in state which allows
+using this function.  This error code is in particular returned if
 Libgcrypt is operated in FIPS mode and the internal state of the
 library does not yet or not anymore allow the use of a service.
 
@@ -2427,7 +2427,7 @@
 
 Note that all MPI (multi-precision-integers) values are expected to be in
 @code{GCRYMPI_FMT_USG} format.  An easy way to create S-expressions is
-by using @code{gcry_sexp_build} which allows to pass a string with
+by using @code{gcry_sexp_build} which allows passing a string with
 printf-like escapes to insert MPI values.
 
 @menu
@@ -2863,7 +2863,7 @@
 expected as an appropriate S-expression (see above) in @var{pkey}.
 The data to be encrypted can either be in the simple old format, which
 is a very simple S-expression consisting only of one MPI, or it may be
-a more complex S-expression which also allows to specify flags for
+a more complex S-expression which also allows specifying flags for
 operation, like e.g., padding rules.
 
 @noindent
@@ -2984,7 +2984,7 @@
 private key @var{skey} and place it into the variable at the address of
 @var{r_sig}.  @var{data} may either be the simple old style S-expression
 with just one MPI or a modern and more versatile S-expression which
-allows to let Libgcrypt handle padding:
+allows letting Libgcrypt handle padding:
 
 @example
  (data
@@ -3370,7 +3370,7 @@
 
 @item curve @var{name}
 For ECC a named curve may be used instead of giving the number of
-requested bits.  This allows to request a specific curve to override a
+requested bits.  This allows requesting a specific curve to override a
 default selection Libgcrypt would have taken if @code{nbits} has been
 given.  The available names are listed with the description of the ECC
 public key parameters.
@@ -5551,7 +5551,7 @@
 
 @noindent
 Libgcrypt provides an API to access low level functions used by its
-elliptic curve implementation.  These functions allow to implement
+elliptic curve implementation.  These functions allow implementing
 elliptic curve methods for which no explicit support is available.
 
 @deftypefun gcry_mpi_point_t gcry_mpi_point_new (@w{unsigned int @var{nbits}})
Binary files old/libgcrypt-1.11.1/doc/libgcrypt-modules.pdf and 
new/libgcrypt-1.11.2/doc/libgcrypt-modules.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/doc/stamp-vti new/libgcrypt-1.11.2/doc/stamp-vti
--- old/libgcrypt-1.11.1/doc/stamp-vti  2025-05-07 17:52:05.000000000 +0200
+++ new/libgcrypt-1.11.2/doc/stamp-vti  2025-08-04 12:07:17.000000000 +0200
@@ -1,4 +1,4 @@
-@set UPDATED 17 March 2025
-@set UPDATED-MONTH March 2025
-@set EDITION 1.11.1
-@set VERSION 1.11.1
+@set UPDATED 12 May 2025
+@set UPDATED-MONTH May 2025
+@set EDITION 1.11.2
+@set VERSION 1.11.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/doc/version.texi new/libgcrypt-1.11.2/doc/version.texi
--- old/libgcrypt-1.11.1/doc/version.texi       2025-05-07 17:52:05.000000000 
+0200
+++ new/libgcrypt-1.11.2/doc/version.texi       2025-08-04 12:07:17.000000000 
+0200
@@ -1,4 +1,4 @@
-@set UPDATED 17 March 2025
-@set UPDATED-MONTH March 2025
-@set EDITION 1.11.1
-@set VERSION 1.11.1
+@set UPDATED 12 May 2025
+@set UPDATED-MONTH May 2025
+@set EDITION 1.11.2
+@set VERSION 1.11.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/m4/libtool.m4 new/libgcrypt-1.11.2/m4/libtool.m4
--- old/libgcrypt-1.11.1/m4/libtool.m4  2025-03-17 10:55:03.000000000 +0100
+++ new/libgcrypt-1.11.2/m4/libtool.m4  2025-05-12 17:53:32.000000000 +0200
@@ -1121,7 +1121,7 @@
 # If we don't find anything, use the default library path according
 # to the aix ld manual.
 # Store the results from the different compilers for each TAGNAME.
-# Allow to override them for all tags through lt_cv_aix_libpath.
+# Allow overriding them for all tags through lt_cv_aix_libpath.
 m4_defun([_LT_SYS_MODULE_PATH_AIX],
 [m4_require([_LT_DECL_SED])dnl
 if test "${lt_cv_aix_libpath+set}" = set; then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/mpi/longlong.h new/libgcrypt-1.11.2/mpi/longlong.h
--- old/libgcrypt-1.11.1/mpi/longlong.h 2025-03-17 10:55:24.000000000 +0100
+++ new/libgcrypt-1.11.2/mpi/longlong.h 2025-08-04 11:25:32.000000000 +0200
@@ -192,7 +192,7 @@
     (q) = __udiv_qrnnd (&__r, (n1), (n0), (d));                        \
     (r) = __r;                                                         \
   } while (0)
-extern UDItype __udiv_qrnnd ();
+extern UDItype __udiv_qrnnd (UDItype *, UDItype, UDItype, UDItype);
 #  define UDIV_TIME 220
 # endif /* !LONGLONG_STANDALONE */
 #endif /* __alpha */
@@ -448,7 +448,7 @@
     (q) = __udiv_qrnnd (&__r, (n1), (n0), (d));                        \
     (r) = __r;                                                         \
   } while (0)
-extern USItype __udiv_qrnnd ();
+extern USItype __udiv_qrnnd (USItype *, USItype, USItype, USItype);
 # endif /* !LONGLONG_STANDALONE && !ASM_DISABLED */
 # define count_leading_zeros(count, x) \
   do {                                                                \
@@ -1408,7 +1408,7 @@
     (q) = __udiv_qrnnd (&__r, (n1), (n0), (d));                        \
     (r) = __r;                                                         \
   } while (0)
-extern USItype __udiv_qrnnd ();
+extern USItype __udiv_qrnnd (USItype *, USItype, USItype, USItype);
 #   define UDIV_TIME 140
 #  endif /* LONGLONG_STANDALONE */
 # endif /* udiv_qrnnd */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/mpi/mpiutil.c new/libgcrypt-1.11.2/mpi/mpiutil.c
--- old/libgcrypt-1.11.1/mpi/mpiutil.c  2025-03-17 10:55:03.000000000 +0100
+++ new/libgcrypt-1.11.2/mpi/mpiutil.c  2025-05-12 17:53:32.000000000 +0200
@@ -55,8 +55,8 @@
 }
 
 
-/* Initialize the MPI subsystem.  This is called early and allows to
-   do some initialization without taking care of threading issues.  */
+/* Initialize the MPI subsystem.  This is called early and allows
+   doing some initialization without taking care of threading issues.  */
 gcry_err_code_t
 _gcry_mpi_init (void)
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/random/random-csprng.c 
new/libgcrypt-1.11.2/random/random-csprng.c
--- old/libgcrypt-1.11.1/random/random-csprng.c 2025-03-17 10:55:24.000000000 
+0100
+++ new/libgcrypt-1.11.2/random/random-csprng.c 2025-05-12 17:53:32.000000000 
+0200
@@ -980,7 +980,7 @@
 
   gcry_assert (pool_is_locked);
 
-  /* Our code does not allow to extract more than POOLSIZE.  Better
+  /* Our code does not allow extracting more than POOLSIZE.  Better
      check it here. */
   if (length > POOLSIZE)
     {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/random/random-drbg.c 
new/libgcrypt-1.11.2/random/random-drbg.c
--- old/libgcrypt-1.11.1/random/random-drbg.c   2025-03-17 10:55:03.000000000 
+0100
+++ new/libgcrypt-1.11.2/random/random-drbg.c   2025-05-12 17:53:32.000000000 
+0200
@@ -573,7 +573,7 @@
 
 /* Helper variables for read_cb().
  *
- *   The _gcry_rnd*_gather_random interface does not allow to provide a
+ *   The _gcry_rnd*_gather_random interface does not allow providing a
  *   data pointer.  Thus we need to use a global variable for
  *   communication.  However, the then required locking is anyway a good
  *   idea because it does not make sense to have several readers of (say
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/random/random-system.c 
new/libgcrypt-1.11.2/random/random-system.c
--- old/libgcrypt-1.11.1/random/random-system.c 2025-03-17 10:55:03.000000000 
+0100
+++ new/libgcrypt-1.11.2/random/random-system.c 2025-05-12 17:53:32.000000000 
+0200
@@ -103,7 +103,7 @@
 
 /* Helper variables for read_cb().
 
-   The _gcry_rnd*_gather_random interface does not allow to provide a
+   The _gcry_rnd*_gather_random interface does not allow providing a
    data pointer.  Thus we need to use a global variable for
    communication.  However, the then required locking is anyway a good
    idea because it does not make sense to have several readers of (say
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/random/random.c new/libgcrypt-1.11.2/random/random.c
--- old/libgcrypt-1.11.1/random/random.c        2025-03-17 10:55:03.000000000 
+0100
+++ new/libgcrypt-1.11.2/random/random.c        2025-05-12 17:53:32.000000000 
+0200
@@ -176,8 +176,8 @@
     }
   else if (any_init)
     {
-      /* After any initialization has been done we only allow to
-         upgrade to the standard RNG (handled above).  All other
+      /* After any initialization has been done we only allow
+         upgrading to the standard RNG (handled above).  All other
          requests are ignored.  The idea is that the application needs
          to declare a preference for a weaker RNG as soon as possible
          and before any library sets a preference.  We assume that a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/src/context.c new/libgcrypt-1.11.2/src/context.c
--- old/libgcrypt-1.11.1/src/context.c  2025-03-17 10:55:03.000000000 +0100
+++ new/libgcrypt-1.11.2/src/context.c  2025-05-12 17:53:32.000000000 +0200
@@ -83,8 +83,8 @@
 
 
 /* Return a pointer to the private part of the context CTX.  TYPE is
-   the requested context type.  Using an explicit type allows to cross
-   check the type and eventually allows to store several private
+   the requested context type.  Using an explicit type allows cross
+   checking the type and eventually allows storing several private
    contexts in one context object.  The function does not return an
    error but aborts if the provided CTX is not valid.
    Special usage: using TYPE with 0, which returns CTX->NEXT.
@@ -105,8 +105,8 @@
 }
 
 /* Return a pointer to the private part of the context CTX.  TYPE is
-   the requested context type.  Using an explicit type allows to cross
-   check the type and eventually allows to store several private
+   the requested context type.  Using an explicit type allows cross
+   checking the type and eventually allows storing several private
    contexts in one context object.  In contrast to
    _gcry_ctx_get_pointer, this function returns NULL if no context for
    the given type was found.  If CTX is NULL the function does not
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/src/gcrypt.h.in new/libgcrypt-1.11.2/src/gcrypt.h.in
--- old/libgcrypt-1.11.1/src/gcrypt.h.in        2025-05-07 16:45:07.000000000 
+0200
+++ new/libgcrypt-1.11.2/src/gcrypt.h.in        2025-08-04 11:25:32.000000000 
+0200
@@ -96,6 +96,10 @@
 #define _GCRY_GCC_ATTR_SENTINEL(a) __attribute__ ((sentinel(a)))
 #endif
 
+#if _GCRY_GCC_VERSION >= 80000
+#define _GCRY_GCC_ATTR_NONSTRING __attribute__((__nonstring__))
+#endif
+
 #endif /*__GNUC__*/
 
 #ifndef _GCRY_GCC_ATTR_DEPRECATED
@@ -113,6 +117,9 @@
 #ifndef _GCRY_GCC_ATTR_SENTINEL
 #define _GCRY_GCC_ATTR_SENTINEL(a)
 #endif
+#ifndef _GCRY_GCC_ATTR_NONSTRING
+#define _GCRY_GCC_ATTR_NONSTRING
+#endif
 
 /* Make up an attribute to mark functions and types as deprecated but
    allow internal use by Libgcrypt.  */
@@ -375,7 +382,7 @@
                             const void *buffer, size_t length,
                             int autodetect);
 
- /* Same as gcry_sexp_new but allows to pass a FREEFNC which has the
+ /* Same as gcry_sexp_new but allows passing a FREEFNC which has the
     effect to transfer ownership of BUFFER to the created object.  */
 gcry_error_t gcry_sexp_create (gcry_sexp_t *retsexp,
                                void *buffer, size_t length,
@@ -1717,24 +1724,44 @@
   {
     GCRY_KEM_NONE = 0,
     GCRY_KEM_SNTRUP761  = 1,
+#define GCRY_KEM_SNTRUP761 GCRY_KEM_SNTRUP761
     GCRY_KEM_CM6688128F = 2,    /* Classic McEliece */
+#define GCRY_KEM_CM6688128F GCRY_KEM_CM6688128F
     GCRY_KEM_MLKEM512   = 3,    /* aka Kyber512  */
+#define GCRY_KEM_RAW_MLKEM512 GCRY_KEM_RAW_MLKEM512
     GCRY_KEM_MLKEM768   = 4,    /* aka Kyber768  */
+#define GCRY_KEM_RAW_MLKEM768 GCRY_KEM_RAW_MLKEM768
     GCRY_KEM_MLKEM1024  = 5,    /* aka Kyber1024 */
+#define GCRY_KEM_RAW_MLKEM1024 GCRY_KEM_RAW_MLKEM1024
     /* From here, ECC KEMs */
     GCRY_KEM_RAW_X25519 =31,    /* Using X25519 with Identity KDF */
+#define GCRY_KEM_RAW_X25519 GCRY_KEM_RAW_X25519
     GCRY_KEM_RAW_X448   =32,    /* Using X448 with Identity KDF */
-    GCRY_KEM_RAW_BP256  =33,
-    GCRY_KEM_RAW_BP384  =34,
-    GCRY_KEM_RAW_BP512  =35,
-    GCRY_KEM_RAW_P256R1 =36,
-    GCRY_KEM_RAW_P384R1 =37,
-    GCRY_KEM_RAW_P521R1 =38,
+#define GCRY_KEM_RAW_X448 GCRY_KEM_RAW_X448
+    GCRY_KEM_RAW_BP256  =33,    /* brainpoolP256r1 */
+#define GCRY_KEM_RAW_BP256 GCRY_KEM_RAW_BP256
+    GCRY_KEM_RAW_BP384  =34,    /* brainpoolP384r1 */
+#define GCRY_KEM_RAW_BP384 GCRY_KEM_RAW_BP384
+    GCRY_KEM_RAW_BP512  =35,    /* brainpoolP512r1 */
+#define GCRY_KEM_RAW_BP512 GCRY_KEM_RAW_BP512
+    GCRY_KEM_RAW_P256R1 =36,    /* NIST P-256, aka SECP256R1 */
+#define GCRY_KEM_RAW_P256R1 GCRY_KEM_RAW_P256R1
+    GCRY_KEM_RAW_P384R1 =37,    /* NIST P-384, aka SECP384R1 */
+#define GCRY_KEM_RAW_P384R1 GCRY_KEM_RAW_P384R1
+    GCRY_KEM_RAW_P521R1 =38,    /* NIST P-521, aka SECP521R1 */
+#define GCRY_KEM_RAW_P521R1 GCRY_KEM_RAW_P521R1
+    GCRY_KEM_RAW_P256K1 =39,    /* SECP256K1 */
+#define GCRY_KEM_RAW_P256K1 GCRY_KEM_RAW_P256K1
     GCRY_KEM_DHKEM25519 =41,    /* DHKEM with X25519, HKDF, and SHA256 */
+#define GCRY_KEM_DHKEM25519 GCRY_KEM_DHKEM25519
     GCRY_KEM_DHKEM448 =  42,    /* DHKEM with X448, HKDF, and SHA512 */
+#define GCRY_KEM_DHKEM448 GCRY_KEM_DHKEM448
     GCRY_KEM_DHKEMP256R1=43,
+#define GCRY_KEM_DHKEMP256R1 GCRY_KEM_DHKEMP256R1
     GCRY_KEM_DHKEMP384R1=44,
+#define GCRY_KEM_DHKEMP384R1 GCRY_KEM_DHKEMP384R1
     GCRY_KEM_DHKEMP521R1=45
+#define GCRY_KEM_DHKEMP521R1 GCRY_KEM_DHKEMP521R1
   };
 
 /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/src/libgcrypt.m4 new/libgcrypt-1.11.2/src/libgcrypt.m4
--- old/libgcrypt-1.11.1/src/libgcrypt.m4       2025-03-17 10:55:03.000000000 
+0100
+++ new/libgcrypt-1.11.2/src/libgcrypt.m4       2025-05-12 17:53:32.000000000 
+0200
@@ -105,7 +105,7 @@
 dnl with the API version to also check the API compatibility. Example:
 dnl a MINIMUM-VERSION of 1:1.2.5 won't pass the test unless the installed
 dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1.  Using
-dnl this features allows to prevent build against newer versions of libgcrypt
+dnl this features allows preventing build against newer versions of libgcrypt
 dnl with a changed API.
 dnl
 dnl If a prefix option is not used, the config script is first
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/tests/Makefile.am new/libgcrypt-1.11.2/tests/Makefile.am
--- old/libgcrypt-1.11.1/tests/Makefile.am      2025-03-17 10:55:24.000000000 
+0100
+++ new/libgcrypt-1.11.2/tests/Makefile.am      2025-08-04 11:25:32.000000000 
+0200
@@ -25,7 +25,7 @@
         version t-secmem mpitests t-sexp t-convert \
        t-mpi-bit t-mpi-point t-lock \
        prime basic keygen pubkey hmac hashtest t-kdf keygrip \
-       aeswrap random t-kem t-mlkem t-thread-local t-fips-service-ind
+       aeswrap random t-kem t-thread-local t-fips-service-ind
 
 if USE_RSA
 tests_bin += pkcs1v2 t-rsa-pss t-rsa-15 t-rsa-testparm
@@ -39,6 +39,9 @@
 tests_bin += curves t-ecdsa t-ed25519 t-cv25519 t-x448 t-ed448
 endif
 
+if USE_KYBER
+tests_bin += t-mlkem
+endif
 
 tests_bin_last = benchmark bench-slope
 
@@ -94,6 +97,8 @@
 testapi_LDADD = $(standard_ldadd) @LDADD_FOR_TESTS_KLUDGE@
 t_lock_LDADD = $(standard_ldadd) $(GPG_ERROR_MT_LIBS) @LDADD_FOR_TESTS_KLUDGE@
 t_lock_CFLAGS = $(GPG_ERROR_MT_CFLAGS)
+t_thread_local_LDADD = $(standard_ldadd) $(GPG_ERROR_MT_LIBS) 
@LDADD_FOR_TESTS_KLUDGE@
+t_thread_local_CFLAGS = $(GPG_ERROR_MT_CFLAGS)
 testdrv_LDADD = $(LDADD_FOR_TESTS_KLUDGE)
 
 # Build a version of the test driver for the build platform.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/tests/basic.c new/libgcrypt-1.11.2/tests/basic.c
--- old/libgcrypt-1.11.1/tests/basic.c  2025-03-17 10:55:03.000000000 +0100
+++ new/libgcrypt-1.11.2/tests/basic.c  2025-08-04 11:25:32.000000000 +0200
@@ -589,7 +589,7 @@
 static void
 check_aes128_cbc_cts_cipher (void)
 {
-  static const char key[128 / 8] = "chicken teriyaki";
+  static const char key[128 / 8] _GCRY_GCC_ATTR_NONSTRING = "chicken teriyaki";
   static const unsigned char plaintext[] =
     "I would like the General Gau's Chicken, please, and wonton soup.";
   static const struct tv
@@ -3550,15 +3550,15 @@
   static const struct tv
   {
     int algo;
-    char key[MAX_DATA_LEN];
-    char iv[MAX_DATA_LEN];
+    char key[MAX_DATA_LEN] _GCRY_GCC_ATTR_NONSTRING;
+    char iv[MAX_DATA_LEN] _GCRY_GCC_ATTR_NONSTRING;
     int ivlen;
-    unsigned char aad[MAX_DATA_LEN];
+    unsigned char aad[MAX_DATA_LEN] _GCRY_GCC_ATTR_NONSTRING;
     int aadlen;
-    unsigned char plaintext[MAX_GCM_DATA_LEN];
+    unsigned char plaintext[MAX_GCM_DATA_LEN] _GCRY_GCC_ATTR_NONSTRING;
     int inlen;
-    char out[MAX_GCM_DATA_LEN];
-    char tag[MAX_DATA_LEN];
+    char out[MAX_GCM_DATA_LEN] _GCRY_GCC_ATTR_NONSTRING;
+    char tag[MAX_DATA_LEN] _GCRY_GCC_ATTR_NONSTRING;
     int taglen;
     int should_fail;
   } tv[] =
@@ -5743,14 +5743,14 @@
   {
     int algo;
     int flags;
-    char key[MAX_DATA_LEN];
-    char nonce[12];
-    char ad[MAX_DATA_LEN];
+    char key[MAX_DATA_LEN] _GCRY_GCC_ATTR_NONSTRING;
+    char nonce[12] _GCRY_GCC_ATTR_NONSTRING;
+    char ad[MAX_DATA_LEN] _GCRY_GCC_ATTR_NONSTRING;
     int adlen;
-    unsigned char plaintext[MAX_DATA_LEN * 2];
+    unsigned char plaintext[MAX_DATA_LEN * 2] _GCRY_GCC_ATTR_NONSTRING;
     int inlen;
-    char out[MAX_DATA_LEN * 2];
-    char tag[MAX_DATA_LEN];
+    char out[MAX_DATA_LEN * 2] _GCRY_GCC_ATTR_NONSTRING;
+    char tag[MAX_DATA_LEN] _GCRY_GCC_ATTR_NONSTRING;
   } tv[] =
     {
       /* Test vectors from RFC8452 */
@@ -9059,10 +9059,10 @@
 check_ocb_cipher_largebuf_split (int algo, int keylen, const char *tagexpect,
                                 unsigned int splitpos)
 {
-  static const unsigned char key[32] =
+  static const unsigned char key[32] _GCRY_GCC_ATTR_NONSTRING =
         "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F"
         "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F";
-  static const unsigned char nonce[12] =
+  static const unsigned char nonce[12] _GCRY_GCC_ATTR_NONSTRING =
         "\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x00\x01\x02\x03";
   const size_t buflen = 1024 * 1024 * 2 + 32;
   unsigned char *inbuf;
@@ -9282,10 +9282,10 @@
 static void
 check_ocb_cipher_checksum (int algo, int keylen)
 {
-  static const unsigned char key[32] =
+  static const unsigned char key[32] _GCRY_GCC_ATTR_NONSTRING =
        "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F"
        "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F";
-  static const unsigned char nonce[12] =
+  static const unsigned char nonce[12] _GCRY_GCC_ATTR_NONSTRING =
        "\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x00\x01\x02\x03";
   const size_t buflen = 128 * 16;
   unsigned char *inbuf, *outbuf;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/tests/keygen.c new/libgcrypt-1.11.2/tests/keygen.c
--- old/libgcrypt-1.11.1/tests/keygen.c 2025-03-17 10:55:03.000000000 +0100
+++ new/libgcrypt-1.11.2/tests/keygen.c 2025-08-04 11:25:32.000000000 +0200
@@ -670,9 +670,11 @@
     int flags;
   } tv[] = {
     { "sntrup761", TEST_NOFIPS },
+#if USE_KYBER
     { "kyber512", TEST_NOFIPS },
     { "kyber768", TEST_NOFIPS },
     { "kyber1024", TEST_NOFIPS },
+#endif
   };
 
   int testno;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/tests/keygrip.c new/libgcrypt-1.11.2/tests/keygrip.c
--- old/libgcrypt-1.11.1/tests/keygrip.c        2025-03-17 10:55:03.000000000 
+0100
+++ new/libgcrypt-1.11.2/tests/keygrip.c        2025-08-04 11:25:32.000000000 
+0200
@@ -56,7 +56,7 @@
 {
   int algo;
   const char *key;
-  const unsigned char grip[20];
+  const unsigned char grip[20] _GCRY_GCC_ATTR_NONSTRING;
   int skip_when_fips;
 } key_grips[] =
   {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libgcrypt-1.11.1/tests/t-kem.c new/libgcrypt-1.11.2/tests/t-kem.c
--- old/libgcrypt-1.11.1/tests/t-kem.c  2025-03-17 10:55:03.000000000 +0100
+++ new/libgcrypt-1.11.2/tests/t-kem.c  2025-08-04 11:25:32.000000000 +0200
@@ -149,6 +149,7 @@
 }
 
 
+#ifdef USE_KYBER
 static void
 test_kem_mlkem512 (int testno)
 {
@@ -319,6 +320,7 @@
       putc ('\n', stderr);
     }
 }
+#endif
 
 
 static void
@@ -489,6 +491,7 @@
       ntests += n_loops;
     }
 
+#ifdef USE_KYBER
   if ((selected_algo & SELECTED_ALGO_MLKEM512))
     {
       for (; testno < ntests + n_loops; testno++)
@@ -509,6 +512,7 @@
         test_kem_mlkem1024 (testno);
       ntests += n_loops;
     }
+#endif
 
   if ((selected_algo & SELECTED_ALGO_RAW_X25519))
     {
@@ -561,9 +565,11 @@
                  "  --loops N       specify the loop count\n"
                  "  --sntrup761     select SNTRUP761 algo\n"
                  "  --cm6688128f    select CM6688128F algo\n"
+#ifdef USE_KYBER
                  "  --mlkem512      select MLKEM512 algo\n"
                  "  --mlkem768      select MLKEM768 algo\n"
                  "  --mlkem1024     select MLKEM1024 algo\n"
+#endif
                  "  --dhkem25519    select DHKEM25519 algo\n",
                  stdout);
           exit (0);
@@ -601,6 +607,7 @@
           argc--;
           argv++;
         }
+#ifdef USE_KYBER
       else if (!strcmp (*argv, "--mlkem512"))
         {
           selected_algo = SELECTED_ALGO_MLKEM512;
@@ -619,6 +626,7 @@
           argc--;
           argv++;
         }
+#endif
       else if (!strcmp (*argv, "--raw-x25519"))
         {
           selected_algo = SELECTED_ALGO_RAW_X25519;

++++++ libgcrypt.keyring ++++++
--- /var/tmp/diff_new_pack.c0QLeG/_old  2025-08-13 16:22:47.897163331 +0200
+++ /var/tmp/diff_new_pack.c0QLeG/_new  2025-08-13 16:22:47.901163499 +0200
@@ -1,87 +1,83 @@
 -----BEGIN PGP PUBLIC KEY BLOCK-----
 
-mQGNBFjLuq4BDACnM7zNSIaVMAacTwjXa5TGYe13i6ilHe4VL0NShzrgzjcQg531
-3cRgiiiNA7OSOypMqVs73Jez6ZUctn2GVsHBrS/io9NcuC9pVwf8a61WlcEa+EtB
-a3G7HlBmEWnwaUdAtWKNuAi9Xn+Ir7H2xEdksmmd5a0/QnL+sX705boVPF/tpYtb
-LGpPxa78tNrtxDkSwy8Wmi0IADYLI5yI7/yUGeJd8RSCU/fLRKC9fG7YOZRq0tsO
-MhVNWmtUjbG6e73Lu8LKnCZgs1/fC8hvPyARieSV5mdN8s1oWd7oYctfgL4uBleD
-ItAA8GhjKejutzHN8Ei/APw6AiiSyEjnPg+cTX8OgvLGJWjks0H6mPZeB1v/kGyZ
-hBS9vm540h2/MmlVN2ntiCK5TZGeSWpqddiqusfVXotMRpN4HeLKoZh4RAncaCbZ
-F/S+YLeN+kMXY4k3Fqt1fjTX6veFCbthI9pDdHzU9LfUVNp9D/5ktC/tYMORMegV
-+wSMxi9G2YWKJkMAEQEAAYkBzgQfAQgAOBYhBFuAxXVCmPDLVdjtarzvfilLCS4o
-BQJYy8DdFwyAAZSlyaA8L+XKOwldjh/fcjz0YraxAgcAAAoJELzvfilLCS4oNgoL
-/0+K1xIx8JW7Lk5M6bYCvNA4fdlEcwQIT4UidJFM9m+suxYFWIGfebvHpRlEuJTg
-dBjkEit8uLAoJXU0BRkKTLrzTF+qDUE79Wfx/R+0nOgJ7aMykQOi0AvuwzMYz4dg
-xIVS2Daou4DF7bh/KF8+fqrmq8P8W1ZrkuFDanMWpHeAPx1uj2skYbo7uPqFdvlJ
-hlNHrcxlcCkjf1InAt0Xt5lMvEsCRUPf9xAH4mNEhs0lh9c+200YPRmtnLWAzc1K
-ckLIC8Q+mUR3DjZDqBlDBEPegXkrI0+MlvRA+9AnAm4YPqTMUfpZ6ZOAWeFjC/6Z
-QYxG/AdWGkb4WFindzklQfybEuiekP8vU07ACQwSwH8PYe0UCom1YrlRUjX7QLkn
-ZLWoeZg8BZy9GTM1Ut7Q1Q2uTw6mxxISuef+RFgYOHjWwLpFWZpqC88xERl7o/iz
-iERJRt/593IctbjO9wenWt2peIAwzR4nz7LqM6ZFTdRAETmcdSvYRhg2Qt8hUE47
-CbQkQW5kcmUgSGVpbmVja2UgKFJlbGVhc2UgU2lnbmluZyBLZXkpiQHUBBMBCAA+
-FiEEW4DFdUKY8MtV2O1qvO9+KUsJLigFAljLuq4CGwMFCRLMAwAFCwkIBwIGFQgJ
-CgsCBBYCAwECHgECF4AACgkQvO9+KUsJLihC/QwAhCC+SEvcFLcutgZ8HfcCtoZs
-IoVzZEy7DjqIvGgnTssD8HCLnIAHCDvnP7dJW3uMuLCdSqym3cjlEIiQMsaGywkl
-fzJISAwJrGQdWSKRd535jXpEXQlXDKal/IwMKAUt0PZtlCc9S3gwixQryxdJ28lJ
-6h2T9fVDr8ZswMmTAFG91uctfhjKOMgPt8UhSPGW484WsIsQgkbOvf+Kfswl0eHu
-ywX+pKAB5ZQ/9GVC6Ug4xfrdiJL0azJTPnvjMY5JYp6/L9RURs5hP5AnHR2j/PPo
-sAtsFCjmbRbOMiASzklnUJPbSz5kfLloDWZmrUScjbzmsXehGyt433JGyRhZJl4x
-/jPbzKhaaAHsGd+fRao6vlLOwFywDDVMp6JuyK7UeUb7I8ekTbSkGFA+l2Oa3O6/
-Y7PYhq7hwwAFuZckYI98IpHNCG1fS9W07FyKdvQbK1PbF1JFRKfsUCWYMKqDnbqE
-o5jivPEHZImw6iYhhXcyEYl8fjcb9T6/S+wOP7aviQGzBBABCAAdFiEElKXJoDwv
-5co7CV2OH99yPPRitrEFAljLv5sACgkQH99yPPRitrFw4gv/XFMFN+/LHsn9hJOP
-4rCwl1yUuxXuYmZgc0sRoY3EpeQkJVyKurQuqqKoy2VuoMiF0O1kAQmGoFtVPUk7
-b8hCoutqB5GyeyKcoLP+WINgVhB2gXg7TSp3MPLBKkgqvSDvPitgRxBqFb4LW8LJ
-bDbfwGrzIvXfDV3WvsrHVPbc2fhlWdL8d+3AE6mFiXF3eTpgmV3ApSBQV12MkkCk
-icLIPmp+ZxZON+OP52ZXkRtfMgOy4Oa/41agrViDAZdMOGeGkhPertQheQZgXzmo
-GF5Wz498HPM80Kv35X91l3iGzL+icEtO+tWea2YscsZ6qpRe2lfVPHk3B+anlmCj
-m4kM4cBd39xa4HHSVh/bRHbZNtgVr7slQCKxlHgQOGVI5vCxPCwEsgJ2KBk03Nk/
-IA9EKO+czfh3/bHW6uMbEqrYDCnt+hmzZrpKDSGcwS/KOhvMUIMlb7/8vDKum6mp
-/8xAtVZ6IAxYZNt3qg7Y7aLRtzCTyqm8rJQrZPtRaQcgLoEimDMEX0PliRYJKwYB
-BAHaRw8BAQdAz75Hlekc16JhhfI0MKdEVxLdkxhcMCO0ZG6WMBAmNpe0H1dlcm5l
-ciBLb2NoIChkaXN0IHNpZ25pbmcgMjAyMCmImgQTFgoAQhYhBG2qbmSnbShAVxtJ
-AlKIl7gmQDraBQJfQ+w1AhsDBQkShccRBQsJCAcCAyICAQYVCgkICwIEFgIDAQIe
-BwIXgAAKCRBSiJe4JkA62nmuAP9uL/HOdB0gvwWrH+FpURJLs4bnaZaPIk9ARrU0
-EXRgJgD/YCGfHQXpIPT0ZaXuwJexK04Z+qMFR/bM1q1Leo5CjgaIbQQQEQsAHRYh
-BIBhWHD1utaQMzaG0PKthaweQrNnBQJfQ/HmAAoJEPKthaweQrNnIZkA3jG6LcZv
-V/URn8Y8OJqsyYa4C3NI4nN+OhEvYhgA4PHzMnALeXIpA2gblvjFIPJPAhDBAU37
-c5PA6+6IdQQQFggAHRYhBK6oTtzwGthsRwHIXGMROuhmWH0KBQJfQ/IlAAoJEGMR
-OuhmWH0K1+MA/0uJ5AHcnSfIBEWHNJwwVVLGyrxAWtS2U+zeymp/UvlPAQDErCLZ
-l0dBiPG3vlowFx5TNep7tanBs6ZJn8F1ao1tAIkBMwQQAQgAHRYhBNhpISPEBl3q
-Xg86tSSbOdJPJeO2BQJfQ/OuAAoJECSbOdJPJeO2DVoH/0o9if66ph6FJrgr+A/W
-HNVeHxmM5tUQhpL1wpRS70SKcsJgolf5CxO5iTQf3HlZe544xGbIU/aCTJsWw9zi
-UE8KmhAtKV4eL/7oQ7xx4nxPnABLpudtM8A44nsM1x/XiYrJnnDm29QjYEGd2Hi8
-7npc7VWKzLoj+I/WcXquynJi5O9TUxW9Bknd1pjpxFkf8v+msjBzCD5VKJgr0CR8
-wA6peQBWeGZX2HacosMIZH4TfL0r0TFla6LJIkNBz9DyIm1yL4L8oRH0950hQljP
-C7TM3L7aRpX+4Kph6llFz6g7MALGFP95kyJ6o+XED9ORuuQVZMBMIkNC0tXOu10V
-bdqIdQQQFgoAHRYhBMHTS2khnkruwLocIeP9/yGORbcrBQJfQ/P8AAoJEOP9/yGO
-Rbcr3lQBAMas8Vl3Hdl3g2I283lz1uHiGvlwcnk2TLeB+U4zIwC9AQCy0nnazVNt
-VQPID1ZCMoaOX7AzOjaqQDLf4j+dVTxgBJgzBGCkgocWCSsGAQQB2kcPAQEHQJmd
-fwp8jEN5P3eEjhQiWk6zQi8utvgOvYD57XmE+H8+tCBOaWliZSBZdXRha2EgKEdu
-dVBHIFJlbGVhc2UgS2V5KYiaBBMWCgBCFiEErI4RW/c+LY1H+pkI6Y6bLRnGyL0F
-AmCkgocCGwMFCQsNBpkFCwkIBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJEOmO
-my0Zxsi9/4IA/1rvSr3MU+Sv4jhNDzD+CeC3gmHkPew6pi9VHEsEwdgmAQD2BtiX
-7w1sJL/CBylGWv5jxj4345mP9YfZm0RsgzPjDIh1BBAWCAAdFiEEJJyzdxdQdF1c
-3TI84mewUjZPAo0FAmFAQ54ACgkQ4mewUjZPAo1CiAD+KTT1UVdQTGHMyvHwZocS
-QjU8xhcZrTet+dvvjrE5+4MA/RBdJPZgFevUKu68NEy0Lo+RbkeCtmQJ/c8v5ieF
-vW0AiQEzBBABCAAdFiEEEkEkvTtIYq96CkLxALRevUynur4FAmFAQ7cACgkQALRe
-vUynur4kaAgAolPR8TNWVS0vXMKrr0k0l2M/8QkZTaLZx1GT9Nx1yb4WJKY7ElPM
-YkhGDxetvFBETx0pH/6R3jtj6Crmur+NKHVSRY+rCYpFPDn6ciIOryssRx2G4kCZ
-t+nFB9JyDbBOZAR8DK4pN1mAxG/yLDt4oKcUQsP2xlEFum+phxyR8KyYCpkwKRxY
-eK+6lfilQuveoUwp/Xx5wXPNUy6q4eOOovCW7gS7I7288NGHCa2ul8sD6vA9C4mM
-4Zxaole9P9wwJe1zZFtCIy88zHM9vqv+YM9DxMCaW24+rUztr7eD4bCRdG+QlSh+
-7R/TaqSxY1eAAd1J5tma9CNJO73pTKU+/JhTBGFpSqMTCSskAwMCCAEBBwIDBF6X
-D9NmUQDgiyYNbhs1DMJ14mIw812wY1HVx/4QWYWiBunhrvSFxVbzsjD7/Wv+v3bm
-MPrL+M2DLyFiSewNmcS0JEdudVBHLmNvbSAoUmVsZWFzZSBTaWduaW5nIEtleSAy
-MDIxKYiaBBMTCABCFiEEAvON/3Mf+XywOaHaVJ5pXpBboggFAmFpSqMCGwMFCQ9x
-14oFCwkIBwIDIgIBBhUKCQgLAgQWAgMBAh4HAheAAAoJEFSeaV6QW6IITkoA/RYa
-jaTl1eEBU/Gdm12o3jrI55N5xZK2XTqSx25clVyjAP0XwMW/Og5+ND1ri3bAqADV
-WlBDUswz8wYxsb0C4kYBkoh1BBAWCgAdFiEEbapuZKdtKEBXG0kCUoiXuCZAOtoF
-AmFpTvEACgkQUoiXuCZAOtrJQAEAh7YyykjAy/Qs1yC3ji8iBfIVnPXvblrIx3SR
-RyDwRC8BAKtZbEuKTtPlgkLUgMleTcZJ/vEhJE+GvfQ9o5gWCqEFiHUEEBYKAB0W
-IQTB00tpIZ5K7sC6HCHj/f8hjkW3KwUCYWlPWgAKCRDj/f8hjkW3Kx4eAQDp6aGS
-N/fU4xLl8RSvQUVjVA+aCTrMQR3hRwqw8liF2wEA3O3ECxz6e1+DoItYoJBBLKLw
-eiInsGZ/+h5XYrpXTgA=
-=4+Sn
+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
+IiewZn/6HldiuldOAA==
+=gHNs
 -----END PGP PUBLIC KEY BLOCK-----
 

Reply via email to