diff options
author | Guido Vranken <guidovranken@users.noreply.github.com> | 2020-04-19 04:36:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-18 19:36:46 -0700 |
commit | de4f24f702612b8d87233081d5d95ff31e97ed4b (patch) | |
tree | 17e49683ef81484a058202b98bb347b31f7ca1b4 /projects/cryptofuzz | |
parent | e94eb003672cff7fb30b41d26fdd40fabd439309 (diff) | |
download | oss-fuzz-de4f24f702612b8d87233081d5d95ff31e97ed4b.tar.gz |
[cryptofuzz] Include libgcrypt, libsodium, Crypto++ in MemorySanitizer build (#3668)
Diffstat (limited to 'projects/cryptofuzz')
-rwxr-xr-x | projects/cryptofuzz/build.sh | 114 |
1 files changed, 59 insertions, 55 deletions
diff --git a/projects/cryptofuzz/build.sh b/projects/cryptofuzz/build.sh index b669305bd..71dc2fbd4 100755 --- a/projects/cryptofuzz/build.sh +++ b/projects/cryptofuzz/build.sh @@ -93,20 +93,22 @@ export CXXFLAGS="$CXXFLAGS -I$SRC/cityhash/src" export CRYPTOFUZZ_REFERENCE_CITY_O_PATH="$SRC/cityhash/src/city.o" ############################################################################## +# Compile cryptopp +cd $SRC/cryptopp if [[ $CFLAGS != *sanitize=memory* ]] then - # Compile cryptopp (with assembly) - cd $SRC/cryptopp make -j$(nproc) >/dev/null 2>&1 +else + CXXFLAGS="$CXXFLAGS -DCRYPTOPP_DISABLE_ASM=1" make -j$(nproc) >/dev/null 2>&1 +fi - export CXXFLAGS="$CXXFLAGS -DCRYPTOFUZZ_CRYPTOPP" - export LIBCRYPTOPP_A_PATH="$SRC/cryptopp/libcryptopp.a" - export CRYPTOPP_INCLUDE_PATH="$SRC/cryptopp" +export CXXFLAGS="$CXXFLAGS -DCRYPTOFUZZ_CRYPTOPP" +export LIBCRYPTOPP_A_PATH="$SRC/cryptopp/libcryptopp.a" +export CRYPTOPP_INCLUDE_PATH="$SRC/cryptopp" - # Compile Cryptofuzz cryptopp (with assembly) module - cd $SRC/cryptofuzz/modules/cryptopp - make -B -fi +# Compile Cryptofuzz cryptopp module +cd $SRC/cryptofuzz/modules/cryptopp +make -B ############################################################################## # Compile mbed crypto @@ -149,58 +151,60 @@ cd $SRC/cryptofuzz/modules/botan make -B ############################################################################## -if [[ $CFLAGS != *sanitize=memory* ]] +# Compile libgpg-error (dependency of libgcrypt) +cd $SRC/ +tar jxvf libgpg-error-1.36.tar.bz2 +cd libgpg-error-1.36/ +if [[ $CFLAGS != *-m32* ]] then - # Compile libgpg-error (dependency of libgcrypt) - cd $SRC/ - tar jxvf libgpg-error-1.36.tar.bz2 - cd libgpg-error-1.36/ - if [[ $CFLAGS != *-m32* ]] - then - ./configure --enable-static - else - ./configure --enable-static --host=i386 - fi - make -j$(nproc) >/dev/null 2>&1 - make install - export LINK_FLAGS="$LINK_FLAGS $SRC/libgpg-error-1.36/src/.libs/libgpg-error.a" + ./configure --enable-static +else + ./configure --enable-static --host=i386 +fi +make -j$(nproc) >/dev/null 2>&1 +make install +export LINK_FLAGS="$LINK_FLAGS $SRC/libgpg-error-1.36/src/.libs/libgpg-error.a" - # Compile libgcrypt (with assembly) - cd $SRC/libgcrypt - autoreconf -ivf - if [[ $CFLAGS != *-m32* ]] - then - ./configure --enable-static --disable-doc - else - ./configure --enable-static --disable-doc --host=i386 - fi - make -j$(nproc) >/dev/null 2>&1 +# Compile libgcrypt +cd $SRC/libgcrypt +autoreconf -ivf +if [[ $CFLAGS = *-m32* ]] +then + ./configure --enable-static --disable-doc --host=i386 +elif [[ $CFLAGS = *sanitize=memory* ]] +then + ./configure --enable-static --disable-doc --disable-asm +else + ./configure --enable-static --disable-doc +fi +make -j$(nproc) >/dev/null 2>&1 - export CXXFLAGS="$CXXFLAGS -DCRYPTOFUZZ_LIBGCRYPT" - export LIBGCRYPT_A_PATH="$SRC/libgcrypt/src/.libs/libgcrypt.a" - export LIBGCRYPT_INCLUDE_PATH="$SRC/libgcrypt/src" +export CXXFLAGS="$CXXFLAGS -DCRYPTOFUZZ_LIBGCRYPT" +export LIBGCRYPT_A_PATH="$SRC/libgcrypt/src/.libs/libgcrypt.a" +export LIBGCRYPT_INCLUDE_PATH="$SRC/libgcrypt/src" - # Compile Cryptofuzz libgcrypt (with assembly) module - cd $SRC/cryptofuzz/modules/libgcrypt - make -B -fi +# Compile Cryptofuzz libgcrypt module +cd $SRC/cryptofuzz/modules/libgcrypt +make -B +# Compile libsodium +cd $SRC/libsodium +autoreconf -ivf if [[ $CFLAGS != *sanitize=memory* ]] then - # Compile libsodium (with assembly) - cd $SRC/libsodium - autoreconf -ivf ./configure - make -j$(nproc) >/dev/null 2>&1 +else + ./configure --disable-asm +fi +make -j$(nproc) >/dev/null 2>&1 - export CXXFLAGS="$CXXFLAGS -DCRYPTOFUZZ_LIBSODIUM" - export LIBSODIUM_A_PATH="$SRC/libsodium/src/libsodium/.libs/libsodium.a" - export LIBSODIUM_INCLUDE_PATH="$SRC/libsodium/src/libsodium/include" +export CXXFLAGS="$CXXFLAGS -DCRYPTOFUZZ_LIBSODIUM" +export LIBSODIUM_A_PATH="$SRC/libsodium/src/libsodium/.libs/libsodium.a" +export LIBSODIUM_INCLUDE_PATH="$SRC/libsodium/src/libsodium/include" - # Compile Cryptofuzz libsodium (with assembly) module - cd $SRC/cryptofuzz/modules/libsodium - make -B -fi +# Compile Cryptofuzz libsodium module +cd $SRC/cryptofuzz/modules/libsodium +make -B if [[ $CFLAGS != *sanitize=memory* && $CFLAGS != *-m32* ]] then @@ -437,11 +441,11 @@ then else cmake -DCMAKE_CXX_FLAGS="$CXXFLAGS" -DCMAKE_C_FLAGS="$CFLAGS" -DBORINGSSL_ALLOW_CXX_RUNTIME=1 .. fi - make -j$(nproc) crypto decrepit >/dev/null 2>&1 + make -j$(nproc) crypto >/dev/null 2>&1 # Compile Cryptofuzz BoringSSL (with assembly) module cd $SRC/cryptofuzz/modules/openssl - OPENSSL_INCLUDE_PATH="$SRC/boringssl/include" OPENSSL_LIBCRYPTO_A_PATH="$SRC/boringssl/build/crypto/libcrypto.a" CXXFLAGS="$CXXFLAGS -DCRYPTOFUZZ_BORINGSSL" BORINGSSL_LIBDECREPIT_A_PATH="$SRC/boringssl/build/decrepit/libdecrepit.a" make -B + OPENSSL_INCLUDE_PATH="$SRC/boringssl/include" OPENSSL_LIBCRYPTO_A_PATH="$SRC/boringssl/build/crypto/libcrypto.a" CXXFLAGS="$CXXFLAGS -DCRYPTOFUZZ_BORINGSSL" make -B # Compile Cryptofuzz cd $SRC/cryptofuzz @@ -464,11 +468,11 @@ cd $SRC/boringssl rm -rf build ; mkdir build cd build cmake -DCMAKE_CXX_FLAGS="$CXXFLAGS" -DCMAKE_C_FLAGS="$CFLAGS" -DBORINGSSL_ALLOW_CXX_RUNTIME=1 -DOPENSSL_NO_ASM=1 .. -make -j$(nproc) crypto decrepit >/dev/null 2>&1 +make -j$(nproc) crypto >/dev/null 2>&1 # Compile Cryptofuzz BoringSSL (with assembly) module cd $SRC/cryptofuzz/modules/openssl -OPENSSL_INCLUDE_PATH="$SRC/boringssl/include" OPENSSL_LIBCRYPTO_A_PATH="$SRC/boringssl/build/crypto/libcrypto.a" CXXFLAGS="$CXXFLAGS -DCRYPTOFUZZ_BORINGSSL" BORINGSSL_LIBDECREPIT_A_PATH="$SRC/boringssl/build/decrepit/libdecrepit.a" make -B +OPENSSL_INCLUDE_PATH="$SRC/boringssl/include" OPENSSL_LIBCRYPTO_A_PATH="$SRC/boringssl/build/crypto/libcrypto.a" CXXFLAGS="$CXXFLAGS -DCRYPTOFUZZ_BORINGSSL" make -B # Compile Cryptofuzz cd $SRC/cryptofuzz |