Mailing List Archive

libgcrypt-1.9.0: 32 bit cross build fails on asm code
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

_______________________________________________
Gnupg-users mailing list
Gnupg-users@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-users
Re: libgcrypt-1.9.0: 32 bit cross build fails on asm code [ In reply to ]
Hi!

thanks for the report. I opened a ticket for this:
https://dev.gnupg.org/T5257
Please check over there for status updates.

(I accidently mentioned gnupg-users in the annoucement mail and not
gcryypt-devel which would been the right one).


Shalom-Salam,

Werner

--
Die Gedanken sind frei. Ausnahmen regelt ein Bundesgesetz.