openssl: [3.0.0] Build failures on AIX 7.2 XLC/XLCLANG 16.1 32bit
Hey guys,
Seeing similar linking errors using both xlc and xlclang compiler frontends for 32bit. The undefined symbols differ between them though. I’ve set -bnoquiet to get more info.
64bit builds and tests fine. Both run on the same machines.
Is this another LIBPATH issue? It’s just set to the system default.
If so, what’s changed since 1.1.1 that requires it to be set explicitly?
XLC error:
cc -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -c -o fuzz/client-test-bin-client.o fuzz/client.c
/usr/bin/X11/makedepend -f- -Y -- -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -- fuzz/client.c 2>/dev/null \
> fuzz/client-test-bin-client.d
cc -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -c -o fuzz/client-test-bin-fuzz_rand.o fuzz/fuzz_rand.c
/usr/bin/X11/makedepend -f- -Y -- -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -- fuzz/fuzz_rand.c 2>/dev/null \
> fuzz/client-test-bin-fuzz_rand.d
cc -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -c -o fuzz/client-test-bin-test-corpus.o fuzz/test-corpus.c
/usr/bin/X11/makedepend -f- -Y -- -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -- fuzz/test-corpus.c 2>/dev/null \
> fuzz/client-test-bin-test-corpus.d
rm -f fuzz/client-test
${LDCMD:-cc} -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -L. -Wl,-bsvr4 -bnoquiet \
-o fuzz/client-test \
fuzz/client-test-bin-client.o \
fuzz/client-test-bin-fuzz_rand.o \
fuzz/client-test-bin-test-corpus.o \
-lssl -lcrypto -lpthreads
(ld): halt 4
(ld): setopt noexpall
(ld): setopt rtl
(ld): setopt rtllib
(ld): setopt expfull
(ld): setopt svr4
(ld): setopt symbolic:1
(ld): setfflag 4
(ld): savename fuzz/client-test
(ld): filelist 12 1
(ld): i /lib/crt0.o
(ld): i fuzz/client-test-bin-client.o
(ld): i fuzz/client-test-bin-fuzz_rand.o
(ld): i fuzz/client-test-bin-test-corpus.o
(ld): lib ./libssl.a
(ld): lib ./libcrypto.a
(ld): lib /usr/lib/libpthreads.a
(ld): lib /opt/IBM/xlc/16.1.0/lib/libxlopt.a
(ld): lib /opt/IBM/xlc/16.1.0/lib/libxlipa.a
(ld): lib /opt/IBM/xlc/16.1.0/lib/libxl.a
(ld): lib /usr/lib/libc.a
(ld): lib /usr/lib/librtl.a
LIBRARY: Shared object libssl.a[libssl.so.3]: 517 symbols imported.
LIBRARY: Shared object libcrypto.a[libcrypto.so.3]: 5373 symbols imported.
LIBRARY: Shared object libpthreads.a[shr_comm.o]: 179 symbols imported.
LIBRARY: Shared object libpthreads.a[shr_xpg5.o]: 174 symbols imported.
LIBRARY: Shared object libc.a[shr.o]: 3308 symbols imported.
LIBRARY: Shared object libc.a[meth.o]: 2 symbols imported.
LIBRARY: Shared object libc.a[posix_aio.o]: 20 symbols imported.
LIBRARY: Shared object libc.a[aio.o]: 18 symbols imported.
LIBRARY: Shared object libc.a[pse.o]: 8 symbols imported.
LIBRARY: Shared object libc.a[dl.o]: 4 symbols imported.
LIBRARY: Shared object libc.a[pty.o]: 1 symbols imported.
LIBRARY: Shared object libc.a[cthread.o]: 25 symbols imported.
LIBRARY: Shared object libc.a[uchar.o]: 4 symbols imported.
LIBRARY: Shared object librtl.a[shr.o]: 1 symbols imported.
LIBRARY: Shared object librtl.a[lazy42.o]: 3 symbols imported.
FILELIST: Number of previously inserted files processed: 12
(ld): resolve
RESOLVE: 184 of 14977 symbols were kept.
(ld): addgl /usr/lib/glink.o
ADDGL: Glink code added for 45 symbols.
(ld): er full
ER: There are no unresolved symbols.
(ld): mismatch
MISMATCH: No type mismatches exist.
(ld): comprld
COMPRLD: Kept 291 of 291 relocation entries.
(ld): origin page 0x10000000 0x20000000
(ld): libpath /usr/lib:/lib
LIBPATH: Library path set to /usr/lib:/lib
(ld): save 1L .
SAVE: Section sizes = 6483+973+12 (0x1953+0x3CD+0xC hex)
SAVE: Size of TOC: 276 (0x114 hex)
(ld): rc
RC: Highest return code was 0.
cc -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -c -o fuzz/cmp-test-bin-cmp.o fuzz/cmp.c
/usr/bin/X11/makedepend -f- -Y -- -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -- fuzz/cmp.c 2>/dev/null \
> fuzz/cmp-test-bin-cmp.d
cc -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -c -o fuzz/cmp-test-bin-fuzz_rand.o fuzz/fuzz_rand.c
/usr/bin/X11/makedepend -f- -Y -- -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -- fuzz/fuzz_rand.c 2>/dev/null \
> fuzz/cmp-test-bin-fuzz_rand.d
cc -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -c -o fuzz/cmp-test-bin-test-corpus.o fuzz/test-corpus.c
/usr/bin/X11/makedepend -f- -Y -- -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -- fuzz/test-corpus.c 2>/dev/null \
> fuzz/cmp-test-bin-test-corpus.d
rm -f fuzz/cmp-test
${LDCMD:-cc} -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -Wl,-bsvr4 -bnoquiet \
-o fuzz/cmp-test \
fuzz/cmp-test-bin-cmp.o fuzz/cmp-test-bin-fuzz_rand.o \
fuzz/cmp-test-bin-test-corpus.o \
libcrypto_a.a -lpthreads
(ld): halt 4
(ld): setopt noexpall
(ld): setopt rtl
(ld): setopt rtllib
(ld): setopt expfull
(ld): setopt svr4
(ld): setopt symbolic:1
(ld): setfflag 4
(ld): savename fuzz/cmp-test
(ld): filelist 11 1
(ld): i /lib/crt0.o
(ld): i fuzz/cmp-test-bin-cmp.o
(ld): i fuzz/cmp-test-bin-fuzz_rand.o
(ld): i fuzz/cmp-test-bin-test-corpus.o
(ld): i libcrypto_a.a
(ld): lib /usr/lib/libpthreads.a
(ld): lib /opt/IBM/xlc/16.1.0/lib/libxlopt.a
(ld): lib /opt/IBM/xlc/16.1.0/lib/libxlipa.a
(ld): lib /opt/IBM/xlc/16.1.0/lib/libxl.a
(ld): lib /usr/lib/libc.a
(ld): lib /usr/lib/librtl.a
LIBRARY: Shared object libpthreads.a[shr_comm.o]: 179 symbols imported.
LIBRARY: Shared object libpthreads.a[shr_xpg5.o]: 174 symbols imported.
LIBRARY: Shared object libc.a[shr.o]: 3308 symbols imported.
LIBRARY: Shared object libc.a[meth.o]: 2 symbols imported.
LIBRARY: Shared object libc.a[posix_aio.o]: 20 symbols imported.
LIBRARY: Shared object libc.a[aio.o]: 18 symbols imported.
LIBRARY: Shared object libc.a[pse.o]: 8 symbols imported.
LIBRARY: Shared object libc.a[dl.o]: 4 symbols imported.
LIBRARY: Shared object libc.a[pty.o]: 1 symbols imported.
LIBRARY: Shared object libc.a[cthread.o]: 25 symbols imported.
LIBRARY: Shared object libc.a[uchar.o]: 4 symbols imported.
LIBRARY: Shared object librtl.a[shr.o]: 1 symbols imported.
LIBRARY: Shared object librtl.a[lazy42.o]: 3 symbols imported.
FILELIST: Number of previously inserted files processed: 11
(ld): resolve
RESOLVE: 20842 of 52410 symbols were kept.
(ld): addgl /usr/lib/glink.o
ADDGL: Glink code added for 112 symbols.
(ld): er full
ld: 0711-318 ERROR: Undefined symbols were found.
The following symbols are in error:
Symbol Inpndx TY CL Source-File(Object-File) OR Import-File{Shared-object}
RLD: Address Section Rld-type Referencing Symbol
----------------------------------------------------------------------------------------------
ld: 0711-317 ERROR: Undefined symbol: .bn_mul_mont_fixed_n6
.bn_mul_mont_fixed_n6 [26] ER PR crypto/bn/bn_ppc.c(libcrypto_a.a[libcrypto-lib-bn_ppc.o])
0000006c .text R_RBR [14] <.bn_mul_mont@AF147_2>
ld: 0711-317 ERROR: Undefined symbol: .bn_mul_mont_300_fixed_n6
.bn_mul_mont_300_fixed_n6 [28] ER PR crypto/bn/bn_ppc.c(libcrypto_a.a[libcrypto-lib-bn_ppc.o])
00000084 .text R_RBR [14] <.bn_mul_mont@AF147_2>
ER: The return code is 8.
gmake[1]: *** [Makefile:16213: fuzz/cmp-test] Error 8
gmake[1]: Leaving directory '/bamboo/bamboo-agent-home/xml-data/build-dir/ThirdParty/openssl/3.0.0/_src/openssl-3.0.0-src/openssl-3.0.0'
gmake: *** [Makefile:3373: build_sw] Error 2
XLC build config:
Command line (with current working directory = .):
/usr/bin/perl ./Configure --prefix=/bamboo/aix7_2/xlc16_1/release32 aix-cc shared -qkeyword=inline enable-fips
Perl information:
/usr/bin/perl
5.20.1 for aix-thread-multi
Enabled features:
acvp-tests
aria
asm
async
autoalginit
autoerrinit
autoload-config
bf
blake2
bulk
cached-fetch
camellia
capieng
cast
chacha
cmac
cmp
cms
comp
ct
deprecated
des
dgram
dh
dsa
dso
dtls
dynamic-engine
ec
ec2m
ecdh
ecdsa
engine
err
filenames
fips
fips-securitychecks
gost
idea
legacy
loadereng
makedepend
md4
mdc2
module
multiblock
nextprotoneg
ocb
ocsp
padlockeng
pic
pinshared
poly1305
posix-io
psk
rc2
rc4
rdrand
rfc3779
rmd160
scrypt
secure-memory
seed
shared
siphash
siv
sm2
sm3
sm4
sock
srp
srtp
sse2
ssl
ssl-trace
static-engine
stdio
tests
threads
tls
ts
ui-console
whirlpool
tls1
tls1-method
tls1_1
tls1_1-method
tls1_2
tls1_2-method
tls1_3
dtls1
dtls1-method
dtls1_2
dtls1_2-method
Disabled features:
afalgeng [not-linux] OPENSSL_NO_AFALGENG
asan [default] OPENSSL_NO_ASAN
buildtest-c++ [default]
crypto-mdebug [default] OPENSSL_NO_CRYPTO_MDEBUG
devcryptoeng [default] OPENSSL_NO_DEVCRYPTOENG
ec_nistp_64_gcc_128 [default] OPENSSL_NO_EC_NISTP_64_GCC_128
egd [default] OPENSSL_NO_EGD
external-tests [default] OPENSSL_NO_EXTERNAL_TESTS
fuzz-afl [default] OPENSSL_NO_FUZZ_AFL
fuzz-libfuzzer [default] OPENSSL_NO_FUZZ_LIBFUZZER
ktls [default] OPENSSL_NO_KTLS
md2 [default] OPENSSL_NO_MD2 (skip crypto/md2)
msan [default] OPENSSL_NO_MSAN
rc5 [default] OPENSSL_NO_RC5 (skip crypto/rc5)
sctp [default] OPENSSL_NO_SCTP
trace [default] OPENSSL_NO_TRACE
ubsan [default] OPENSSL_NO_UBSAN
unit-test [default] OPENSSL_NO_UNIT_TEST
uplink [no uplink_arch] OPENSSL_NO_UPLINK
weak-ssl-ciphers [default] OPENSSL_NO_WEAK_SSL_CIPHERS
zlib [default]
zlib-dynamic [default]
ssl3 [default] OPENSSL_NO_SSL3
ssl3-method [default] OPENSSL_NO_SSL3_METHOD
Config target attributes:
AR => "ar -X32",
ARFLAGS => "qc",
CC => "cc",
CFLAGS => "-O",
HASHBANGPERL => "/usr/bin/env perl",
RANLIB => "ranlib -X32",
RC => "windres",
asm_arch => "ppc32",
bn_ops => "BN_LLONG RC4_CHAR",
build_file => "Makefile",
build_scheme => [ "unified", "unix" ],
cflags => "-q32 -qmaxmem=16384 -qro -qroconst -qthreaded",
cppflags => "-D_THREAD_SAFE",
defines => [ "OPENSSL_BUILDING_OPENSSL" ],
disable => [ ],
dso_scheme => "dlfcn",
enable => [ ],
ex_libs => "-lpthreads",
includes => [ ],
lflags => "-Wl,-bsvr4",
lib_cflags => "",
lib_cppflags => "-DB_ENDIAN",
lib_defines => [ ],
module_cflags => "-qpic",
module_cxxflags => undef,
module_ldflags => "-Wl,-G,-bsymbolic,-bnoentry",
perl_platform => "AIX",
perlasm_scheme => "aix32",
shared_cflag => "-qpic",
shared_defflag => "-Wl,-bE:",
shared_defines => [ ],
shared_fipsflag => "-Wl,-binitfini:_init:_cleanup",
shared_ldflag => "-Wl,-G,-bsymbolic,-bnoentry",
shared_rcflag => "",
shared_target => "aix",
sys_id => "AIX",
thread_defines => [ ],
thread_scheme => "pthreads",
unistd => "<unistd.h>",
Recorded environment:
AR =
BUILDFILE =
CC =
CFLAGS =
CPPFLAGS =
CROSS_COMPILE =
CXX =
CXXFLAGS =
HASHBANGPERL =
LDFLAGS = -bnoquiet
LDLIBS =
OPENSSL_LOCAL_CONFIG_DIR =
PERL =
RANLIB =
RC =
RCFLAGS =
WINDRES =
__CNF_CFLAGS =
__CNF_CPPDEFINES =
__CNF_CPPFLAGS =
__CNF_CPPINCLUDES =
__CNF_CXXFLAGS =
__CNF_LDFLAGS =
__CNF_LDLIBS =
Makevars:
AR = ar -X32
ARFLAGS = qc
CC = cc
CFLAGS = -O -qkeyword=inline
CPPDEFINES =
CPPFLAGS =
CPPINCLUDES =
CXXFLAGS = -qkeyword=inline
HASHBANGPERL = /usr/bin/env perl
LDFLAGS = -bnoquiet
LDLIBS =
PERL = /usr/bin/perl
RANLIB = ranlib -X32
RC = windres
RCFLAGS =
NOTE: These variables only represent the configuration view. The build file
template may have processed these variables further, please have a look at the
build file for more exact data:
Makefile
build file:
Makefile
build file templates:
Configurations/common0.tmpl
Configurations/unix-Makefile.tmpl
=========================================================================================
XLCLANG error:
xlclang -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -c -o fuzz/client-test-bin-client.o fuzz/client.c
warning: 1540-5200 The option "-qkeyword=inline" is not supported.
1 warning generated.
/usr/bin/X11/makedepend -f- -Y -- -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -- fuzz/client.c 2>/dev/null \
> fuzz/client-test-bin-client.d
xlclang -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -c -o fuzz/client-test-bin-fuzz_rand.o fuzz/fuzz_rand.c
warning: 1540-5200 The option "-qkeyword=inline" is not supported.
1 warning generated.
/usr/bin/X11/makedepend -f- -Y -- -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -- fuzz/fuzz_rand.c 2>/dev/null \
> fuzz/client-test-bin-fuzz_rand.d
xlclang -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -c -o fuzz/client-test-bin-test-corpus.o fuzz/test-corpus.c
warning: 1540-5200 The option "-qkeyword=inline" is not supported.
1 warning generated.
/usr/bin/X11/makedepend -f- -Y -- -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -- fuzz/test-corpus.c 2>/dev/null \
> fuzz/client-test-bin-test-corpus.d
rm -f fuzz/client-test
${LDCMD:-xlclang} -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -L. -Wl,-bsvr4 -bnoquiet \
-o fuzz/client-test \
fuzz/client-test-bin-client.o \
fuzz/client-test-bin-fuzz_rand.o \
fuzz/client-test-bin-test-corpus.o \
-lssl -lcrypto -lpthreads
(ld): halt 4
(ld): setopt noexpall
(ld): setopt rtl
(ld): setopt rtllib
(ld): setopt expfull
(ld): setopt svr4
(ld): setopt symbolic:1
(ld): setfflag 4
(ld): savename fuzz/client-test
(ld): filelist 13 1
(ld): i /lib/crt0.o
(ld): i fuzz/client-test-bin-client.o
(ld): i fuzz/client-test-bin-fuzz_rand.o
(ld): i fuzz/client-test-bin-test-corpus.o
(ld): lib ./libssl.a
(ld): lib ./libcrypto.a
(ld): lib /usr/lib/libpthreads.a
(ld): lib /opt/IBM/xlc/16.1.0/lib/libxlopt.a
(ld): lib /opt/IBM/xlc/16.1.0/lib/libxlipa.a
(ld): lib /opt/IBM/xlc/16.1.0/lib/libxl.a
(ld): lib /usr/lib/libatomic.a
(ld): lib /usr/lib/libc.a
(ld): lib /usr/lib/librtl.a
LIBRARY: Shared object libssl.a[libssl.so.3]: 517 symbols imported.
LIBRARY: Shared object libcrypto.a[libcrypto.so.3]: 5373 symbols imported.
LIBRARY: Shared object libpthreads.a[shr_comm.o]: 179 symbols imported.
LIBRARY: Shared object libpthreads.a[shr_xpg5.o]: 174 symbols imported.
LIBRARY: Shared object libatomic.a[libatomic.so.1]: 40 symbols imported.
LIBRARY: Shared object libc.a[shr.o]: 3308 symbols imported.
LIBRARY: Shared object libc.a[meth.o]: 2 symbols imported.
LIBRARY: Shared object libc.a[posix_aio.o]: 20 symbols imported.
LIBRARY: Shared object libc.a[aio.o]: 18 symbols imported.
LIBRARY: Shared object libc.a[pse.o]: 8 symbols imported.
LIBRARY: Shared object libc.a[dl.o]: 4 symbols imported.
LIBRARY: Shared object libc.a[pty.o]: 1 symbols imported.
LIBRARY: Shared object libc.a[cthread.o]: 25 symbols imported.
LIBRARY: Shared object libc.a[uchar.o]: 4 symbols imported.
LIBRARY: Shared object librtl.a[shr.o]: 1 symbols imported.
LIBRARY: Shared object librtl.a[lazy42.o]: 3 symbols imported.
FILELIST: Number of previously inserted files processed: 13
(ld): resolve
RESOLVE: 184 of 15017 symbols were kept.
(ld): addgl /usr/lib/glink.o
ADDGL: Glink code added for 45 symbols.
(ld): er full
ER: There are no unresolved symbols.
(ld): mismatch
MISMATCH: No type mismatches exist.
(ld): comprld
COMPRLD: Kept 278 of 278 relocation entries.
(ld): origin page 0x10000000 0x20000000
(ld): libpath /usr/lib:/lib
LIBPATH: Library path set to /usr/lib:/lib
(ld): save 1L .
SAVE: Section sizes = 6099+973+12 (0x17D3+0x3CD+0xC hex)
SAVE: Size of TOC: 276 (0x114 hex)
(ld): rc
RC: Highest return code was 0.
xlclang -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -c -o fuzz/cmp-test-bin-cmp.o fuzz/cmp.c
warning: 1540-5200 The option "-qkeyword=inline" is not supported.
1 warning generated.
/usr/bin/X11/makedepend -f- -Y -- -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -- fuzz/cmp.c 2>/dev/null \
> fuzz/cmp-test-bin-cmp.d
xlclang -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -c -o fuzz/cmp-test-bin-fuzz_rand.o fuzz/fuzz_rand.c
warning: 1540-5200 The option "-qkeyword=inline" is not supported.
1 warning generated.
/usr/bin/X11/makedepend -f- -Y -- -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -- fuzz/fuzz_rand.c 2>/dev/null \
> fuzz/cmp-test-bin-fuzz_rand.d
xlclang -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -c -o fuzz/cmp-test-bin-test-corpus.o fuzz/test-corpus.c
warning: 1540-5200 The option "-qkeyword=inline" is not supported.
1 warning generated.
/usr/bin/X11/makedepend -f- -Y -- -Iinclude -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -D_THREAD_SAFE -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -- fuzz/test-corpus.c 2>/dev/null \
> fuzz/cmp-test-bin-test-corpus.d
rm -f fuzz/cmp-test
${LDCMD:-xlclang} -q32 -qmaxmem=16384 -qro -qroconst -qthreaded -O -qkeyword=inline -Wl,-bsvr4 -bnoquiet \
-o fuzz/cmp-test \
fuzz/cmp-test-bin-cmp.o fuzz/cmp-test-bin-fuzz_rand.o \
fuzz/cmp-test-bin-test-corpus.o \
libcrypto_a.a -lpthreads
(ld): halt 4
(ld): setopt noexpall
(ld): setopt rtl
(ld): setopt rtllib
(ld): setopt expfull
(ld): setopt svr4
(ld): setopt symbolic:1
(ld): setfflag 4
(ld): savename fuzz/cmp-test
(ld): filelist 12 1
(ld): i /lib/crt0.o
(ld): i fuzz/cmp-test-bin-cmp.o
(ld): i fuzz/cmp-test-bin-fuzz_rand.o
(ld): i fuzz/cmp-test-bin-test-corpus.o
(ld): i libcrypto_a.a
(ld): lib /usr/lib/libpthreads.a
(ld): lib /opt/IBM/xlc/16.1.0/lib/libxlopt.a
(ld): lib /opt/IBM/xlc/16.1.0/lib/libxlipa.a
(ld): lib /opt/IBM/xlc/16.1.0/lib/libxl.a
(ld): lib /usr/lib/libatomic.a
(ld): lib /usr/lib/libc.a
(ld): lib /usr/lib/librtl.a
LIBRARY: Shared object libpthreads.a[shr_comm.o]: 179 symbols imported.
LIBRARY: Shared object libpthreads.a[shr_xpg5.o]: 174 symbols imported.
LIBRARY: Shared object libatomic.a[libatomic.so.1]: 40 symbols imported.
LIBRARY: Shared object libc.a[shr.o]: 3308 symbols imported.
LIBRARY: Shared object libc.a[meth.o]: 2 symbols imported.
LIBRARY: Shared object libc.a[posix_aio.o]: 20 symbols imported.
LIBRARY: Shared object libc.a[aio.o]: 18 symbols imported.
LIBRARY: Shared object libc.a[pse.o]: 8 symbols imported.
LIBRARY: Shared object libc.a[dl.o]: 4 symbols imported.
LIBRARY: Shared object libc.a[pty.o]: 1 symbols imported.
LIBRARY: Shared object libc.a[cthread.o]: 25 symbols imported.
LIBRARY: Shared object libc.a[uchar.o]: 4 symbols imported.
LIBRARY: Shared object librtl.a[shr.o]: 1 symbols imported.
LIBRARY: Shared object librtl.a[lazy42.o]: 3 symbols imported.
FILELIST: Number of previously inserted files processed: 12
(ld): resolve
RESOLVE: 20809 of 52219 symbols were kept.
(ld): addgl /usr/lib/glink.o
ADDGL: Glink code added for 111 symbols.
(ld): er full
ld: 0711-318 ERROR: Undefined symbols were found.
The following symbols are in error:
Symbol Inpndx TY CL Source-File(Object-File) OR Import-File{Shared-object}
RLD: Address Section Rld-type Referencing Symbol
----------------------------------------------------------------------------------------------
ld: 0711-317 ERROR: Undefined symbol: .__atomic_is_lock_free
.__atomic_is_lock_free [168] ER PR crypto/threads_pthread.c(libcrypto_a.a[libcrypto-lib-threads_pthread.o])
000003bc .text R_RBR [38] .CRYPTO_atomic_or
0000052c .text R_RBR [40] .CRYPTO_atomic_load
ER: The return code is 8.
gmake[1]: *** [Makefile:16218: fuzz/cmp-test] Error 8
gmake[1]: Leaving directory '/bamboo/bamboo-agent-home/xml-data/build-dir/ThirdParty/openssl/3.0.0/_src/openssl-3.0.0-src/openssl-3.0.0'
gmake: *** [Makefile:3378: build_sw] Error 2
XLCLANG build config:
Command line (with current working directory = .):
/usr/bin/perl ./Configure --prefix=/bamboo/aix7_2/xlclang16_1/release32 aix-cc shared -qkeyword=inline enable-fips
Perl information:
/usr/bin/perl
5.20.1 for aix-thread-multi
Enabled features:
acvp-tests
aria
asm
async
autoalginit
autoerrinit
autoload-config
bf
blake2
bulk
cached-fetch
camellia
capieng
cast
chacha
cmac
cmp
cms
comp
ct
deprecated
des
dgram
dh
dsa
dso
dtls
dynamic-engine
ec
ec2m
ecdh
ecdsa
engine
err
filenames
fips
fips-securitychecks
gost
idea
legacy
loadereng
makedepend
md4
mdc2
module
multiblock
nextprotoneg
ocb
ocsp
padlockeng
pic
pinshared
poly1305
posix-io
psk
rc2
rc4
rdrand
rfc3779
rmd160
scrypt
secure-memory
seed
shared
siphash
siv
sm2
sm3
sm4
sock
srp
srtp
sse2
ssl
ssl-trace
static-engine
stdio
tests
threads
tls
ts
ui-console
whirlpool
tls1
tls1-method
tls1_1
tls1_1-method
tls1_2
tls1_2-method
tls1_3
dtls1
dtls1-method
dtls1_2
dtls1_2-method
Disabled features:
afalgeng [not-linux] OPENSSL_NO_AFALGENG
asan [default] OPENSSL_NO_ASAN
buildtest-c++ [default]
crypto-mdebug [default] OPENSSL_NO_CRYPTO_MDEBUG
devcryptoeng [default] OPENSSL_NO_DEVCRYPTOENG
ec_nistp_64_gcc_128 [default] OPENSSL_NO_EC_NISTP_64_GCC_128
egd [default] OPENSSL_NO_EGD
external-tests [default] OPENSSL_NO_EXTERNAL_TESTS
fuzz-afl [default] OPENSSL_NO_FUZZ_AFL
fuzz-libfuzzer [default] OPENSSL_NO_FUZZ_LIBFUZZER
ktls [default] OPENSSL_NO_KTLS
md2 [default] OPENSSL_NO_MD2 (skip crypto/md2)
msan [default] OPENSSL_NO_MSAN
rc5 [default] OPENSSL_NO_RC5 (skip crypto/rc5)
sctp [default] OPENSSL_NO_SCTP
trace [default] OPENSSL_NO_TRACE
ubsan [default] OPENSSL_NO_UBSAN
unit-test [default] OPENSSL_NO_UNIT_TEST
uplink [no uplink_arch] OPENSSL_NO_UPLINK
weak-ssl-ciphers [default] OPENSSL_NO_WEAK_SSL_CIPHERS
zlib [default]
zlib-dynamic [default]
ssl3 [default] OPENSSL_NO_SSL3
ssl3-method [default] OPENSSL_NO_SSL3_METHOD
Config target attributes:
AR => "ar -X32",
ARFLAGS => "qc",
CC => "cc",
CFLAGS => "-O",
HASHBANGPERL => "/usr/bin/env perl",
RANLIB => "ranlib -X32",
RC => "windres",
asm_arch => "ppc32",
bn_ops => "BN_LLONG RC4_CHAR",
build_file => "Makefile",
build_scheme => [ "unified", "unix" ],
cflags => "-q32 -qmaxmem=16384 -qro -qroconst -qthreaded",
cppflags => "-D_THREAD_SAFE",
defines => [ "OPENSSL_BUILDING_OPENSSL" ],
disable => [ ],
dso_scheme => "dlfcn",
enable => [ ],
ex_libs => "-lpthreads",
includes => [ ],
lflags => "-Wl,-bsvr4",
lib_cflags => "",
lib_cppflags => "-DB_ENDIAN",
lib_defines => [ ],
module_cflags => "-qpic",
module_cxxflags => undef,
module_ldflags => "-Wl,-G,-bsymbolic,-bnoentry",
perl_platform => "AIX",
perlasm_scheme => "aix32",
shared_cflag => "-qpic",
shared_defflag => "-Wl,-bE:",
shared_defines => [ ],
shared_fipsflag => "-Wl,-binitfini:_init:_cleanup",
shared_ldflag => "-Wl,-G,-bsymbolic,-bnoentry",
shared_rcflag => "",
shared_target => "aix",
sys_id => "AIX",
thread_defines => [ ],
thread_scheme => "pthreads",
unistd => "<unistd.h>",
Recorded environment:
AR =
BUILDFILE =
CC = xlclang
CFLAGS =
CPPFLAGS =
CROSS_COMPILE =
CXX = xlclang++
CXXFLAGS =
HASHBANGPERL =
LDFLAGS = -bnoquiet
LDLIBS =
OPENSSL_LOCAL_CONFIG_DIR =
PERL =
RANLIB =
RC =
RCFLAGS =
WINDRES =
__CNF_CFLAGS =
__CNF_CPPDEFINES =
__CNF_CPPFLAGS =
__CNF_CPPINCLUDES =
__CNF_CXXFLAGS =
__CNF_LDFLAGS =
__CNF_LDLIBS =
Makevars:
AR = ar -X32
ARFLAGS = qc
CC = xlclang
CFLAGS = -O -qkeyword=inline
CPPDEFINES =
CPPFLAGS =
CPPINCLUDES =
CXX = xlclang++
CXXFLAGS = -qkeyword=inline
HASHBANGPERL = /usr/bin/env perl
LDFLAGS = -bnoquiet
LDLIBS =
PERL = /usr/bin/perl
RANLIB = ranlib -X32
RC = windres
RCFLAGS =
NOTE: These variables only represent the configuration view. The build file
template may have processed these variables further, please have a look at the
build file for more exact data:
Makefile
build file:
Makefile
build file templates:
Configurations/common0.tmpl
Configurations/unix-Makefile.tmpl
As always, any help is appreciated. 😃
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 20 (16 by maintainers)
Commits related to this issue
- bn_ppc: Move the extern functions to global scope and add ifdef It seems some AIX compilers do not cope with them correctly otherwise. Fixes #17087 — committed to t8m/openssl by t8m 3 years ago
- bn_ppc.c: Fix build failure on AIX with XLC/XLCLANG These compilers define _ARCH_PPC64 for 32 bit builds so we cannot depend solely on this define to identify 32 bit build. Fixes #17087 — committed to t8m/openssl by t8m 2 years ago
- bn_ppc.c: Fix build failure on AIX with XLC/XLCLANG These compilers define _ARCH_PPC64 for 32 bit builds so we cannot depend solely on this define to identify 32 bit build. Fixes #17087 Reviewed-by... — committed to openssl/openssl by t8m 2 years ago
OK, then I’ll merge the patch as is as it is least invasive IMO.
This is causing issue for us as well with XL C/C++ 13.1 32-bit compilation.
Both 32-bit and 64-bit have _ARCH_PPC64 defined.
On AIX I think the macro to key off of is ILP32 or LP64 for 32-bit / 64-bit compilation.
– edit –
This is my proposed patch for the 32-bit AIX XL C/C++ classic compilation failure for OpenSSL 3.0.1