Page MenuHome GnuPG

rijndael error during make
Closed, InvalidPublic

Description

Attached error results during make.

Details

Version
1.7.0

Event Timeline

ann set Version to 1.7.0.
ann added a subscriber: ann.

System is Linux 3.2.0-23-generic.

Please provide more information. A kernel version is not sufficient. What
distro are you using, which compiler, etc. Sending the file config.log or a
transscript of the configure run would be helpful.

werner lowered the priority of this task from High to Normal.Apr 19 2016, 10:36 AM

I've attached the config.log file.

Here is the gist of the info:

i686-pc-linux-gnu
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3

libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. \

-I../src -I../src -I/usr/local/include -g -O2 \
-fvisibility=hidden -Wall -MT rijndael-aesni.lo \
-MD -MP -MF .deps/rijndael-aesni.Tpo -c rijndael-aesni.c \
-fPIC -DPIC -o .libsrijndael-aesni.o

rijndael-aesni.c: In function '_gcry_aes_aesni_ctr_enc':
rijndael-aesni.c:817:3: error: can't find a register in class \

'GENERAL_REGS' while reloading 'asm'

rijndael-aesni.c:1117:3: error: 'asm' operand has impossible constraints
rijndael-aesni.c:817:3: error: 'asm' operand has impossible constraints

Fwiw we're tracking this downstream as "dev-libs/libgcrypt-1.7.0: impossible
constraints on 'asm' operand" - https://bugs.gentoo.org/show_bug.cgi?id=580270

The downstream issue does not persist in gcc 4.9.3 but triggers for 4.8.5

marcus added a subscriber: marcus.

Compiler bug. Probably misdetection of aesni support in old AMD processors?

Likely fixed by commit a4d1595a2638db63ac4c73e722c8ba95fdd85ff7 (rijndael-aesni: split assembly block to ease register pressure) in 1.7 branch (and included in 1.7.3+).