libgcrypt-1.9.0: 32 bit cross build fails on asm code

balducci at units.it balducci at units.it
Wed Jan 20 10:33:46 CET 2021


hello

(my specs are enclosed below)

just tried to cross-build  32 bit libgcrypt-1.9.0 on a 64 bit machine
and getting:

    ----8<----
    libtool: compile:  gcc -m32 -DHAVE_CONFIG_H -I. -I.. -I../src -I../src -I../mpi -I../mpi -I/usr/include -I/usr/Xorg/include -fvisibility=hidden -fno-delete-null-pointer-checks -Wall -c rijndael-aesni.c  -fPIC -DPIC -o .libs/rijndael-aesni.o
    rijndael-aesni.c: In function 'aesni_ocb_enc':
    rijndael-aesni.c:2815:7: error: 'asm' operand has impossible constraints
     2815 |       asm volatile ("pxor   %[tmpbuf0],%%xmm1\n\t"
          |       ^~~
    make[3]: *** [Makefile:1355: rijndael-aesni.lo] Error 1
    make[3]: Leaving directory '/home/balducci/tmp/install-us-d/libgcrypt-1.9.0.d/libgcrypt-1.9.0/cipher'
    ---->8----

No problem whatsoever building for native 64 bit.

I get the same error (always for the 32 bit cross build) on two
machines with different cpu's (both AMD, though)

32 bit build succeeds if I run with --disable-asm, but since it has worked
flawlessly for ages (without --disable-asm), I'm just wondering if asm is
not supported any longer for this cross build, or if 1.9.0 needs some
fix (or if I am missing something obvious, of course)

I haven't changed anything in my installation script (since 1.4.6).

thanks in advance for any hint/help
ciao
-gabriele


Configuring with:
================

--build=x86_64-unknown-linux-gnu
--host=i686-pc-linux-gnu

          ----8<----
          Libgcrypt v1.9.0 has been configured as follows:

          Platform:                  GNU/Linux (i686-pc-linux-gnu)
          Hardware detection module: libgcrypt_la-hwf-x86
          Enabled cipher algorithms: arcfour blowfish cast5 des aes twofish
                                     serpent rfc2268 seed camellia idea salsa20
                                     gost28147 chacha20 sm4
          Enabled digest algorithms: crc gostr3411-94 md4 md5 rmd160 sha1
                                     sha256 sha512 sha3 tiger whirlpool stribog
                                     blake2 sm3
          Enabled kdf algorithms:    s2k pkdf2 scrypt
          Enabled pubkey algorithms: dsa elgamal rsa ecc
          Random number generator:   default
          Try using jitter entropy:  yes
          Using linux capabilities:  no
          Try using Padlock crypto:  yes
          Try using AES-NI crypto:   yes
          Try using Intel SHAEXT:    yes
          Try using Intel PCLMUL:    yes
          Try using Intel SSE4.1:    yes
          Try using DRNG (RDRAND):   yes
          Try using Intel AVX:       yes
          Try using Intel AVX2:      yes
          Try using ARM NEON:        n/a
          Try using ARMv8 crypto:    n/a
          Try using PPC crypto:      n/a
          ---->8----

gcc -v:
======

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/stow.d/versions/gcc-10.2.0/usr/lib64/gcc/x86_64-pc-linux-gnu/10.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /home/balducci/tmp/install-us-d/gcc-10.2.0.d/gcc-10.2.0/configure --prefix=/opt/stow.d/versions/gcc-10.2.0/usr --libdir=/opt/stow.d/versions/gcc-10.2.0/usr/lib64 --libexecdir=/opt/stow.d/versions/gcc-10.2.0/usr/lib64 --enable-shared --disable-bootstrap --enable-languages=c,c++,objc,fortran --enable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.2.0 (GCC) 

uname -srvmo:
============

Linux 5.9.8 #1 SMP Wed Nov 11 08:36:17 CET 2020 x86_64 GNU/Linux

cat /proc/cpuinfo (machine 1):
=============================

processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 113
model name	: AMD Ryzen 5 3600 6-Core Processor
stepping	: 0
microcode	: 0x8701021
cpu MHz		: 4155.077
cache size	: 512 KB
physical id	: 0
siblings	: 6
core id		: 0
cpu cores	: 6
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 16
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate sme ssbd mba sev ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif umip rdpid overflow_recov succor smca
bugs		: sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
bogomips	: 7200.27
TLB size	: 3072 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 43 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]

cat /proc/cpuinfo (machine 2):
=============================

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 21
model           : 16
model name      : AMD Athlon(tm) X4 740 Quad Core Processor
stepping        : 1
microcode       : 0x6001116
cpu MHz         : 2622.409
cache size      : 2048 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 2
apicid          : 16
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb cpb hw_pstate ssbd vmmcall bmi1 arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
bugs            : fxsave_leak sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass
bogomips        : 6400.21
TLB size        : 1536 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb eff_freq_ro



More information about the Gnupg-users mailing list