The gnupg2 tests are failing on s390x with the new libgcrypt:
> () (- - -) (default default never) (rsa sign auth encr seconds=600) (rsa auth,encr 2) (rsa sign 2038-01-01) (rsa sign 20380101T115500) (rsa sign 2d) (rsa1024 sign 2w) (rsa2048 encr 2m) (rsa4096 sign,auth 2y) ("/builddir/build/BUILD/gnupg-2.2.27/g10/gpg" --no-permission-warning --always-trust --quick-add-key "C0E2945C131F3D65DBCE8B031EC5E7B1A792A6C1" rsa4096 sign,auth "2y") failed: gpg: signing failed: Bad passphrase gpg: make_keysig_packet failed for backsig: Bad passphrase gpg: Key generation failed: Bad passphrase gpg: Key not changed so no update needed. 0: tests.scm:122: (throw (string-append (stringify what) " failed") (:stderr result)) 1: quick-key-manipulation.scm:134: (call-check `(,@gpg --quick-add-key ,fpr ,@args)) 2: #<CLOSURE> 3: tests.scm:78: (apply proc args) 4: #<CLOSURE> 5: init.scm:230: (apply proc cars) FAIL: tests/openpgp/quick-key-manipulation.scm
Disabling the s390x-msa HW acceleration makes everything pass as expected so I suspect the issue will be somewhere down in the new accelerated code. We hit it first time in Fedora rawhide rebuild with new gcc11, but I can reproduce it also on Fedora 32 with older gcc10. The failed build is available here (without the logs now, but I can provide them if needed):
I debugged this issue up to the place where the AES OCB decryption tag is not matching the expected value and I was able to "skip" the tag verification using gdb to verify that the above test case passes (the decoded data are usable) so I assume there is some issue in the tag creation, but that is probably the end of my findings as I am not experienced with s390x asembler. I do not know why it was not caught by the libgcrypt testsuite either.
Let me know if there is some more information I can provide to help with figuring out the issue.