On 2011-07-14 Matthias Klose <d...@debian.org> wrote: > On 07/14/2011 08:17 PM, Andreas Metzler wrote: > > (sid)ametzler@abel:~/GNUTLS/GCR/libgcrypt11-1.4.6$ > > ~/GNUTLS/2.10.5-2/usr/bin/gnutls-cli db.debian.org > > Resolving 'db.debian.org'... > > Connecting to '82.195.75.106:443'... > > *** Fatal error: Decryption has failed. > > *** Handshake has failed > > GnuTLS error: Decryption has failed. > > ------------------------------- > > > > ~/GNUTLS/2.10.5-2/ is not a local build, I just extracted (dpkg -x) the > > official deb since abel does not have gnutls-bin installed.
> strange. this does work for me on a local machine (Ubuntu 11.04 kernel, armv7 > processor, Genesi Efika MX), sid chroot I have no idea why that is the case. It is 100% reproducible on abel. Anyway, I have just uploaded libgcrypt11 1.4.6-8 including the attached workaround. cu andreas -- `What a good friend you are to him, Dr. Maturin. His other friends are so grateful to you.' `I sew his ears on from time to time, sure'
Description: Disable inlining on do_decrypt_aligned() on ARM. This works around gcc issue #633458, which had broken gnutls on ARM. Author: Andreas Metzler <ametz...@debian.org> Bug-Debian: http://bugs.debian.org/633458 --- libgcrypt11-1.4.6.orig/cipher/rijndael.c +++ libgcrypt11-1.4.6/cipher/rijndael.c @@ -569,6 +569,9 @@ _gcry_aes_cbc_enc (void *context, unsign /* Decrypt one block. A and B need to be aligned on a 4 byte boundary and the decryption must have been prepared. A and B may be the same. */ +#ifdef ARMWORKAROUND633458 +__attribute__((noinline)) +#endif static void do_decrypt_aligned (RIJNDAEL_context *ctx, unsigned char *b, const unsigned char *a)