Commit graph

19 commits

Author SHA1 Message Date
pkubaj cdbd72e79c
Fix build on powerpc64le (#5947)
After cryptopp update, build again fails.
2022-02-08 22:07:21 +05:30
Jan Beich 4b04175c5d cryptopp: enable SIMD flags on i386
externals/cryptopp/cryptopp/rijndael_simd.cpp:460:20: error: always_inline function '_mm_loadu_si128' requires target feature 'sse2', but would be inlined into function 'Rijndael_UncheckedSetKey_SSE4_AESNI' that is compiled without support for 'sse2'
    __m128i temp = _mm_loadu_si128(M128_CAST(userKey+keyLen-16));
                   ^
externals/cryptopp/cryptopp/rijndael_simd.cpp:469:50: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
        rk[keyLen/4] = rk[0] ^ _mm_extract_epi32(_mm_aeskeygenassist_si128(temp, 0), 3) ^ *(rc++);
                                                 ^
externals/cryptopp/cryptopp/rijndael_simd.cpp:481:20: error: '__builtin_ia32_vec_set_v4si' needs target feature sse4.1
            temp = _mm_insert_epi32(temp, rk[11], 3);
                   ^
[...]
2022-01-06 23:57:05 +00:00
Vitor K 60d1def6f8
Update cryptopp to 8.5.0 (#5669)
* Update cryptopp to 8.3.0

Modified the CMakeLists.txt based on the noloader/cryptopp-cmake
8.3.0 CMakeLists.txt.

* Update cryptopp to version 8.5.0
2022-01-05 20:05:07 +05:30
pkubaj 219eaabbcf
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.
2021-10-31 14:47:20 -05:00
SachinVin cee7c0baa5 Externals: Find and build cpu-features for cryptopp on android 2018-11-20 14:24:19 -05:00
NarcolepticK 648cecf1aa service/cecd: Utilize CryptoPP::Base64Encoder for message id 2018-09-07 23:09:14 -04:00
Jan Beich 23ef36a1cf externals: update cryptopp to CRYPTOPP_7_0_0-23-gf320e7d9 2018-06-08 11:15:44 +00:00
Jan Beich 2772362f05 cryptopp: add missing bits used by SIMD on aarch64
externals/cryptopp/cryptopp/crc-simd.cpp:97:13: error: use of undeclared identifier '__crc32w'
        w = __crc32w(w,x);
            ^
externals/cryptopp/cryptopp/rijndael-simd.cpp:126:25: error: use of undeclared identifier 'vaeseq_u8'
        uint8x16_t r1 = vaeseq_u8(data, key);
                        ^
externals/cryptopp/cryptopp/sha-simd.cpp:109:25: error: use of undeclared identifier 'vsha1cq_u32'
        uint32x4_t r1 = vsha1cq_u32 (data1, 0, data2);
                        ^

/usr/bin/ld: error: externals/cryptopp/cryptopp/cpu.cpp:(function CryptoPP::DetectArmFeatures()): undefined symbol 'CryptoPP::CPU_ProbeNEON()'
/usr/bin/ld: error: externals/cryptopp/cryptopp/cpu.cpp:(function CryptoPP::DetectArmFeatures()): undefined symbol 'CryptoPP::CPU_ProbeCRC32()'
/usr/bin/ld: error: externals/cryptopp/cryptopp/cpu.cpp:(function CryptoPP::DetectArmFeatures()): undefined symbol 'CryptoPP::CPU_ProbePMULL()'
2018-05-28 23:03:55 +00:00
Cameron Cawley 46f43bc4f7 cryptopp: Fix compilation on non-x86/x86_64 systems 2018-05-13 11:34:32 +01:00
Jan Beich 0b27fcfde2 externals: Update cryptopp to 6.1.0 to fix #3435 2018-03-05 10:49:59 +00:00
MerryMage 1f04e2e4a1 externals: Update cryptopp to 6.0.0
MSVC C++17 support
2018-02-07 22:19:27 +00:00
Yuri Kunde Schlesner e472858bc8 cryptopp: Move some source files to beginning of list
This is recommended by the Crypto++ readme:
2d4614084a/Readme.txt (L188-L193)
2017-12-09 21:35:02 -08:00
Yuri Kunde Schlesner 87ff37fa95 cryptopp: Add two extra files to source list
For some reason these are required too in MSVC Debug.
2017-12-09 21:34:52 -08:00
Yuri Kunde Schlesner 7b2d7c5d9b cryptopp: Build only required files
Instead of globbing all .cpp files that ship with CryptoPP, use an
explicit list of files to compile. This cuts out compilation of a lot of
stuff we don't use (reducing build times) and also works around
https://github.com/weidai11/cryptopp/issues/527
2017-12-09 17:42:53 -08:00
James 1a44949ef7 Update cryptopp 2017-08-08 17:50:09 +10:00
Klöen Lansfiel d1e414d813 externals: silence warning C4390 on MSVC for cryptopp (#2805) 2017-06-24 17:38:52 -07:00
Yuri Kunde Schlesner 4f84372bc2 CMake: Add cryptopp include path to target property 2017-05-27 22:16:57 -07:00
wwylele 261250e3d9 externals: remove -march=native for crypto++ 2017-02-21 23:57:31 +02:00
Weiyi Wang dbc94efdb5 Core: add cryptopp library (#2412) 2017-02-13 12:03:55 -08:00