openssl: OpenSSL-3.0.0-beta1: Failed to build to powerpc, powerpc64

beta1 failed to build on powerpc and powerpc64: Powerpc: buildlog

${LDCMD:-gcc} -pthread -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -L.  -Wl,-z,relro -Wl,-z,now \
	-o test/bad_dtls_test \
	test/bad_dtls_test-bin-bad_dtls_test.o \
	-lssl test/libtestutil.a -lcrypto -ldl -pthread -latomic 
/usr/bin/ld: ./libcrypto.a(libcrypto-lib-ppccap.o): in function `bn_mul_mont':
./build_static/../crypto/ppccap.c:73: undefined reference to `bn_mul_mont_300_fixed_n6'
/usr/bin/ld: ./build_static/../crypto/ppccap.c:75: undefined reference to `bn_mul_mont_fixed_n6'
/usr/bin/ld: ./libcrypto.a(libcrypto-lib-ppccap.o): in function `bn_mul_mont':
./build_static/../crypto/ppccap.c:73: undefined reference to `bn_mul_mont_300_fixed_n6'
/usr/bin/ld: ./build_static/../crypto/ppccap.c:75: undefined reference to `bn_mul_mont_fixed_n6'
/usr/bin/ld: ./libcrypto.a(libcrypto-lib-ppccap.o): in function `bn_mul_mont':

Powerpc64: buildlog

gcc -fPIC -pthread -Wa,--noexecstack -Wall -DB_ENDIAN -Wa,--noexecstack -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/lib/ssl\"" -DENGINESDIR="\"/usr/lib/powerpc64-linux-gnu/engines-3\"" -DMODULESDIR="\"/usr/lib/powerpc64-linux-gnu/ossl-modules\"" -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2 -c -o crypto/bn/liblegacy-lib-ppc64-mont-fixed.o crypto/bn/ppc64-mont-fixed.s
crypto/bn/ppc64-mont-fixed.s: Assembler messages:
crypto/bn/ppc64-mont-fixed.s: Error: .size expression for bn_mul_mont_fixed_n6 does not evaluate to a constant
crypto/bn/ppc64-mont-fixed.s: Error: .size expression for bn_mul_mont_300_fixed_n6 does not evaluate to a constant
gcc  -I. -Icrypto -Iinclude -Iproviders/implementations/include -Iproviders/common/include -I.. -I../crypto -I../include -I../providers/implementations/include -I../providers/common/include  -DOPENSSL_BN_ASM_MONT -fPIC -pthread -Wa,--noexecstack -Wall -DB_ENDIAN -Wa,--noexecstack -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSLDIR="\"/usr/lib/ssl\"" -DENGINESDIR="\"/usr/lib/powerpc64-linux-gnu/engines-3\"" -DMODULESDIR="\"/usr/lib/powerpc64-linux-gnu/ossl-modules\"" -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -MF crypto/des/liblegacy-lib-des_enc.d.tmp -MT crypto/des/liblegacy-lib-des_enc.o -c -o crypto/des/liblegacy-lib-des_enc.o ../crypto/des/des_enc.c
make[3]: *** [Makefile:12209: crypto/bn/liblegacy-lib-ppc64-mont-fixed.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/<<PKGBUILDDIR>>/build_static'

The last succcessfull build I have is alpha16. The build on powerpc64le passed so it seems to affect only BE.

It still happens on HEAD as of today (now). According to git bisect, the ppc64 issue was introduced in commit 0d40ca47bd86e74a95c3a2f5fb6c67cdbee93c79. This is “gcc version 10.2.1 20210110 (Debian 10.2.1-6)” in both cases.

Sebastian

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 29 (20 by maintainers)

Commits related to this issue

Most upvoted comments

There is no way to get 3.0 in bullseye. We’re current frozen. If we wanted to get it in bullseye, 3.0 really had to be released in January or earlier.

I was pretty sure that was the case, just making sure I’m not blocking something urgent… thanks!

There is no way to get 3.0 in bullseye. We’re current frozen. If we wanted to get it in bullseye, 3.0 really had to be released in January or earlier.