From 219eaabbcf9fbad968a15bb3873eda721a0e9298 Mon Sep 17 00:00:00 2001 From: pkubaj Date: Sun, 31 Oct 2021 19:47:20 +0000 Subject: [PATCH] Fix build on powerpc64le (#5884) Without compiling ppc-simd.cpp, linking fails with: : && /usr/bin/c++ -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -Wl,--as-needed -fstack-protector-strong -L/usr/local/lib src/tests/CMakeFiles/tests.dir/common/bit_field.cpp.o src/tests/CMakeFiles/tests.dir/common/param_package.cpp.o src/tests/CMakeFiles/tests.dir/core/arm/arm_test_common.cpp.o src/tests/CMakeFiles/tests.dir/core/arm/dyncom/arm_dyncom_vfp_tests.cpp.o src/tests/CMakeFiles/tests.dir/core/core_timing.cpp.o src/tests/CMakeFiles/tests.dir/core/file_sys/path_parser.cpp.o src/tests/CMakeFiles/tests.dir/core/hle/kernel/hle_ipc.cpp.o src/tests/CMakeFiles/tests.dir/core/memory/memory.cpp.o src/tests/CMakeFiles/tests.dir/core/memory/vm_manager.cpp.o src/tests/CMakeFiles/tests.dir/audio_core/decoder_tests.cpp.o src/tests/CMakeFiles/tests.dir/tests.cpp.o -o bin/Release/tests src/common/libcommon.a src/core/libcore.a src/video_core/libvideo_core.a src/audio_core/libaudio_core.a src/core/libcore.a src/video_core/libvideo_core.a src/audio_core/libaudio_core.a externals/soundtouch/libSoundTouch.a externals/teakra/src/libteakra.a /usr/local/lib/libSDL2main.a /usr/local/lib/libSDL2.so externals/cubeb/libcubeb.a -lpthread externals/cryptopp/libcryptopp.a src/web_service/libweb_service.a src/network/libnetwork.a externals/enet/libenet.a externals/libressl/tls/libtls.a externals/libressl/ssl/libssl.a externals/libressl/crypto/libcrypto.a externals/lurlparser/liblurlparser.a /usr/local/lib/libavformat.so /usr/local/lib/libavcodec.so /usr/local/lib/libswscale.so /usr/local/lib/libswresample.so /usr/local/lib/libavutil.so src/common/libcommon.a externals/fmt/libfmt.a externals/zstd/build/cmake/lib/libzstd.a -pthread /usr/local/lib/libboost_serialization.a externals/glad/libglad.a && : ld: error: undefined symbol: CryptoPP::CPU_ProbeAltivec() >>> referenced by cpu.cpp >>> cpu.cpp.o:(CryptoPP::DetectPowerpcFeatures()) in archive externals/cryptopp/libcryptopp.a >>> referenced by cpu.cpp >>> cpu.cpp.o:(_GLOBAL__I_000260) in archive externals/cryptopp/libcryptopp.a ld: error: undefined symbol: CryptoPP::CPU_ProbePower7() >>> referenced by cpu.cpp >>> cpu.cpp.o:(CryptoPP::DetectPowerpcFeatures()) in archive externals/cryptopp/libcryptopp.a >>> referenced by cpu.cpp >>> cpu.cpp.o:(_GLOBAL__I_000260) in archive externals/cryptopp/libcryptopp.a ld: error: undefined symbol: CryptoPP::CPU_ProbePower8() >>> referenced by cpu.cpp >>> cpu.cpp.o:(CryptoPP::DetectPowerpcFeatures()) in archive externals/cryptopp/libcryptopp.a >>> referenced by cpu.cpp >>> cpu.cpp.o:(_GLOBAL__I_000260) in archive externals/cryptopp/libcryptopp.a ld: error: undefined symbol: CryptoPP::CPU_ProbeAES() >>> referenced by cpu.cpp >>> cpu.cpp.o:(CryptoPP::DetectPowerpcFeatures()) in archive externals/cryptopp/libcryptopp.a >>> referenced by cpu.cpp >>> cpu.cpp.o:(_GLOBAL__I_000260) in archive externals/cryptopp/libcryptopp.a ld: error: undefined symbol: CryptoPP::CPU_ProbeSHA256() >>> referenced by cpu.cpp >>> cpu.cpp.o:(CryptoPP::DetectPowerpcFeatures()) in archive externals/cryptopp/libcryptopp.a >>> referenced by cpu.cpp >>> cpu.cpp.o:(_GLOBAL__I_000260) in archive externals/cryptopp/libcryptopp.a ld: error: undefined symbol: CryptoPP::CPU_ProbeSHA512() >>> referenced by cpu.cpp >>> cpu.cpp.o:(CryptoPP::DetectPowerpcFeatures()) in archive externals/cryptopp/libcryptopp.a >>> referenced by cpu.cpp >>> cpu.cpp.o:(_GLOBAL__I_000260) in archive externals/cryptopp/libcryptopp.a c++: error: linker command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed. --- externals/cryptopp/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/externals/cryptopp/CMakeLists.txt b/externals/cryptopp/CMakeLists.txt index 940b5c6b1..c86bc3541 100644 --- a/externals/cryptopp/CMakeLists.txt +++ b/externals/cryptopp/CMakeLists.txt @@ -157,6 +157,7 @@ set(cryptopp_SOURCES cryptopp/neon-simd.cpp cryptopp/oaep.cpp cryptopp/osrng.cpp + cryptopp/ppc-simd.cpp cryptopp/pubkey.cpp cryptopp/queue.cpp cryptopp/randpool.cpp