Skip to content

openssl 3.4.1 fails to build on s390x, assembler error Unrecognized opcode: `cijne' #27323

@akhuettel

Description

@akhuettel

Build on Gentoo s390x fails with

s390x-ibm-linux-gnu-gcc  -I. -Iinclude -Iproviders/common/include -Iproviders/implementations/include -I../openssl-3.4.1 -I../openssl-3.4.1/include -I../openssl-3.4.1/providers/common/include -I.
./openssl-3.4.1/providers/implementations/include  -DAES_ASM -DAES_CTR_ASM -DAES_XTS_ASM -DGHASH_ASM -DKECCAK1600_ASM -DOPENSSL_BN_ASM_GF2m -DOPENSSL_BN_ASM_MONT -DOPENSSL_CPUID_OBJ -DOPENSSL_HMA
C_S390X -DPOLY1305_ASM -DRC4_ASM -DS390X_EC_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -fPIC -pthread -m64 -Wa,--noexecstack -O2 -pipe -fno-strict-aliasing -Wa,--noexecstack -DOPENSSL_USE_NODELETE 
-DB_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/etc/ssl\"" -DENGINESDIR="\"/usr/lib64/engines-3\"" -DMODULESDIR="\"/usr/lib64/ossl-modules\"" -DOPENSSL_BUILDING_OPENSSL -DNDEBUG  -c -o crypto/sha/libcr
ypto-shlib-keccak1600-s390x.o crypto/sha/keccak1600-s390x.S
s390x-ibm-linux-gnu-gcc  -Icrypto -I../openssl-3.4.1/crypto -I. -Iinclude -Iproviders/common/include -Iproviders/implementations/include -I../openssl-3.4.1 -I../openssl-3.4.1/include -I../openssl
-3.4.1/providers/common/include -I../openssl-3.4.1/providers/implementations/include  -DAES_ASM -DAES_CTR_ASM -DAES_XTS_ASM -DGHASH_ASM -DKECCAK1600_ASM -DOPENSSL_BN_ASM_GF2m -DOPENSSL_BN_ASM_MON
T -DOPENSSL_CPUID_OBJ -DOPENSSL_HMAC_S390X -DPOLY1305_ASM -DRC4_ASM -DS390X_EC_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -fPIC -pthread -m64 -Wa,--noexecstack -O2 -pipe -fno-strict-aliasing -Wa,--
noexecstack -DOPENSSL_USE_NODELETE -DB_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/etc/ssl\"" -DENGINESDIR="\"/usr/lib64/engines-3\"" -DMODULESDIR="\"/usr/lib64/ossl-modules\"" -DOPENSSL_BUILDING_OPENS
SL -DNDEBUG  -c -o crypto/sha/libcrypto-shlib-sha1-s390x.o crypto/sha/sha1-s390x.S
s390x-ibm-linux-gnu-gcc  -I. -Iinclude -Iproviders/common/include -Iproviders/implementations/include -I../openssl-3.4.1 -I../openssl-3.4.1/include -I../openssl-3.4.1/providers/common/include -I.
./openssl-3.4.1/providers/implementations/include  -DAES_ASM -DAES_CTR_ASM -DAES_XTS_ASM -DGHASH_ASM -DKECCAK1600_ASM -DOPENSSL_BN_ASM_GF2m -DOPENSSL_BN_ASM_MONT -DOPENSSL_CPUID_OBJ -DOPENSSL_HMA
C_S390X -DPOLY1305_ASM -DRC4_ASM -DS390X_EC_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -fPIC -pthread -m64 -Wa,--noexecstack -O2 -pipe -fno-strict-aliasing -Wa,--noexecstack -DOPENSSL_USE_NODELETE 
-DB_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/etc/ssl\"" -DENGINESDIR="\"/usr/lib64/engines-3\"" -DMODULESDIR="\"/usr/lib64/ossl-modules\"" -DOPENSSL_BUILDING_OPENSSL -DNDEBUG  -MMD -MF crypto/sha/li
bcrypto-shlib-sha1_one.d.tmp -c -o crypto/sha/libcrypto-shlib-sha1_one.o ../openssl-3.4.1/crypto/sha/sha1_one.c
crypto/sha/keccak1600-s390x.S: Assembler messages:
crypto/sha/keccak1600-s390x.S:399: Error: Unrecognized opcode: `cijne'
make[1]: *** [Makefile:11979: crypto/sha/libcrypto-shlib-keccak1600-s390x.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/var/tmp/portage/dev-libs/openssl-3.4.1/work/openssl-3.4.1-abi_s390_64.s390x'
make: *** [Makefile:2950: build_sw] Error 2

I suspect this is an ISA extension that is not enabled by default?

Metadata

Metadata

Assignees

No one assigned

    Labels

    triaged: bugThe issue/pr is/fixes a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions