It's in master (to be 1.12), then, it's backported to 1.11.2, which is confirmed build well.
So, closing.
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Aug 15 2025
Aug 12 2025
Aug 11 2025
Aug 10 2025
Thanks for testing.
Aug 9 2025
Hello,
thank you all. I can confirm that 1.11.2 builds successfully on ppc64el with gcc-15 (Debian sid + experimental). Lacking access I have not be able to check alpha. I would suggest closing this report as fixed.
cu Andreas
Aug 5 2025
Aug 4 2025
1.11.2 has been release see T7642
Release done.
Jul 31 2025
In T7642#203189, @gniibe wrote:I wonder about GCC 15 preparation for the release. If it's good to have, three patches are needed to apply:
Jul 30 2025
Ok, thanks. I pushed the powerpc patches to master.
I pushed the longlong patch: rCb61a7661d017: mpi: Provide the function prototype of __udiv_qrnnd.
Jul 23 2025
IIUC, it's actually binutils version dependency (instead of GCC 15), perhaps.
Jul 21 2025
I tested Ubuntu's version of GCC-15 (powerpc64le cross-compiler) and did not see this build failure:
Jul 18 2025
In T7721#203182, @gniibe wrote:For PowerISA 3.00 Instructions issue, following patch may help:
diff --git a/configure.ac b/configure.ac index 6cc1e189..70d632af 100644 --- a/configure.ac +++ b/configure.ac @@ -2448,10 +2448,11 @@ AC_CACHE_CHECK([whether GCC inline assembler supports PowerISA 3.00 instructions 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" + ".text\n\t" ".globl testfn;\n" "testfn:\n" - "stxvb16x %r1,%v12,%v30;\n" + "stxvb16x 47,0,9;\n" ); void testfn(void); ]], [ testfn(); ])],I figured out that .machine "any" is needed with GCC 15.
I wonder about GCC 15 preparation for the release. If it's good to have, three patches are needed to apply:
- Cherry-picking rCd5fb7cd9b351: Mark nonstring use cases with __nonstring__ attribute.
- strictly speaking, this adds a macro, which is considered an API change
- Cherry-picking rCf06e90f4137a: cipher:ecc: Silence GCC 15 warning.
- Apply changes of T7721: libgcrypt build-error with gcc-15 on powerpc and alpha
I figured out that .machine "any" is needed with GCC 15.
For Alpha (hppa, and sparc), IIUC, following patch may help:
For PowerISA 3.00 Instructions issue, following patch may help:
Jul 17 2025
Jul 15 2025
The powerpc64le issue (undefined reference to `gcry_poly1305_p10le_4blocks') also applies to GIT master.
Jul 14 2025
In T7721#202963, @werner wrote:Sure that this is about 1.11.0 ? We released 1.11.1 with at least one fix for gcc regression (T7166). In master we had some more fixes for gcc 15 bugs (or what ever you will call such regression in a compiler)
Jun 17 2025
Done in 1.11.1.
Done in 1.11.1.
Done in 1.11.1.
Jun 13 2025
Reading https://openssl-library.org/files/blog/Request_to_Extend_IETF_WGLC_for_PQ_Key_Specifications.pdf ,
seed (with "S") is included in the private-key.
The commit rC23543b6c1497: Add mldsa_compute_keygrip and let private-key include "p". works well for me.
To support Dilithium, we need to extend data handling of libgcrypt.
I propose following changes:
- internal flag of PUBKEY_FLAG_BYTE_STRING to ask opaque MPI for data to be signed/verified.
- The format of data as: (data(raw)[(flags no-prefix)](value ...)[(label ...)][(random-override ...)]): message, context, and random. Optional no-prefix flag to ask specific way of signing, controlling the internal, for Known Answer Tests (siggen).
May 27 2025
May 19 2025
Problem noted in T7166
Noet that one file is missing in the released tarball; when building for RISC-V please see T7647#201164
Patch applied.
Looking the FIPS 204 document, using the following functions (API) is good:
May 17 2025
I can confirm this. Here is the build error:
make[2]: Entering directory '/home/collinfunk/libgcrypt-1.11.1/cipher' `echo /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../src -I../src -I../mpi -I../mpi -I/home/collinfunk/tmp/include -g -O2 -fvisibility=hidden -fno-delete-null-pointer-checks -Wall -O2 -march=rv64imafdcv -mstrict-align -c rijndael-vp-riscv.c | sed -e 's/-fsanitize[=,\-][=,a-z,A-Z,0-9,\,,\-]*//g' -e 's/-fprofile[=,\-][=,a-z,A-Z,0-9,\,,\-]*//g' -e 's/-fcoverage[=,\-][=,a-z,A-Z,0-9,\,,\-]*//g' ` libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I../src -I../src -I../mpi -I../mpi -I/home/collinfunk/tmp/include -g -O2 -fvisibility=hidden -fno-delete-null-pointer-checks -Wall -O2 -march=rv64imafdcv -mstrict-align -c rijndael-vp-riscv.c -fPIC -DPIC -o .libs/rijndael-vp-riscv.o rijndael-vp-riscv.c:58:10: fatal error: simd-common-riscv.h: No such file or directory 58 | #include "simd-common-riscv.h" | ^~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [Makefile:1730: rijndael-vp-riscv.lo] Error 1
Patch here: https://lists.gnupg.org/pipermail/gcrypt-devel/2025-May/005854.html
May 15 2025
Also pushed to 1.11
May 13 2025
May 11 2025
It's in 1.11.1.
Included in 1.11.1.
May 9 2025
That is quite possible because we do not have a test system for RISC-V and the make release tarbegt is not abale to verify this.
May 8 2025
May 7 2025
In libgcrypt/cipher/ecc-ecdsa.c, we have:
mpi_mulm (s, k_1, sum, ec->n); /* s = k^(-1)*(hash+(d*r)) mod n */
May 5 2025
May 2 2025
Apr 30 2025
I think you are correct.
Apr 23 2025
Apr 18 2025
IIUC, it's GCC 8 which starts the support of __nonstring__ attribute.
Mar 31 2025
Pushed all changes to master.
Mar 21 2025
I applied some to master (generic improvement parts).
Mar 20 2025
I think that this may be the last update.
Don't use mpi_powm to avoid normalizing (and to be faster).
Mar 18 2025
Here is another update (replacing ecc-no-normalize-2025-03-13.patch).
Further, ec_addm is modified to be less leaky.
Mar 17 2025
There are three (or more) remaining things:
(1) ec_addm can be improved by adding U and V with mpih_add_lli , subtracting P with mpih_sub_n, and adding back P with mpih_add_n_cond
(2) Places with mpi_const for the argument when calling ec_mulm, ec_add or ec_subm should be fixed (it may modify the const MPI)
(3) make sure mpi_resize within ec_addm, ec_mulm, or ec_subm if needed
Mar 13 2025
Here is update (replacing ecc-no-normalize-2025-03-07.patch).
ec_subm and ec_mulm are modified to be less leaky.
Mar 7 2025
I think that major signal sources for K have been killed so far.
Mar 6 2025
We should only enable least leak implementation for 64-bit, as it's not as fast on 32-bit architecture.
We should only enable least leak implementation for 64-bit, as it's not as fast on 32-bit architecture.
Feb 25 2025
One more change for _gcry_dsa_gen_k in rC54caef02afa9: cipher:(EC)DSA: Simply use mpi_clear_highbit in _gcry_dsa_gen_k.
One more change for mpi_invm in rCc1da86e45a6e: mpi: Avoid normalizing MPI in _gcry_mpi_invm.
Feb 19 2025
All changes are pushed to master.
Pushed the changes by the commit rC2039d93289db: mpi: Add MPI helper modular exponentiation, Least Leak Intended.
Feb 14 2025
Use of mpi_cmp is now being fixed, by providing _gcry_mpih_cmp_lli function.
Along with that, we need to fix use of mpi_cmp_ui, since it's skips earlier depending its limbs.
diff --git a/cipher/dsa-common.c b/cipher/dsa-common.c index 170dce12..e010e182 100644 --- a/cipher/dsa-common.c +++ b/cipher/dsa-common.c @@ -25,6 +25,7 @@
Feb 10 2025
And then, we need to use less leaky version of mpi_cmp (because mpi_cmp calls mpi_normalize, it's not good).
And this is for less leak for _gcry_dsa_modify_k:
This is needed before we remove leaks by mpi_add in _gcry_dsa_modify_k :
Commit rC35a6a6feb9dc: Fix _gcry_dsa_modify_k. is related, but it doesn't matter for usual compilers (it's an issue for MSVC).
Feb 7 2025
This is needed for RFC6979 flag support.
Jan 31 2025
The commit rC58c11aa8 is the improved version by k-ary exponentiation (while rC6dffd105e2e2 is 1-bit at a time) and using heap.
Jan 25 2025
I created https://dev.gnupg.org/source/libgcrypt/history/gniibe%252Ft7490/
The commit rC6dffd105e2e2 works for me.
It is a bit of exponent at time Montgomery exponentiation.
I don't put an optimization for the reduction as I don't know if it's OK for patent-wise (looks like expired, though).