aboutsummaryrefslogtreecommitdiff
path: root/projects/cryptofuzz
diff options
context:
space:
mode:
authorGuido Vranken <guidovranken@users.noreply.github.com>2020-04-19 04:36:46 +0200
committerGitHub <noreply@github.com>2020-04-18 19:36:46 -0700
commitde4f24f702612b8d87233081d5d95ff31e97ed4b (patch)
tree17e49683ef81484a058202b98bb347b31f7ca1b4 /projects/cryptofuzz
parente94eb003672cff7fb30b41d26fdd40fabd439309 (diff)
downloadoss-fuzz-de4f24f702612b8d87233081d5d95ff31e97ed4b.tar.gz
[cryptofuzz] Include libgcrypt, libsodium, Crypto++ in MemorySanitizer build (#3668)
Diffstat (limited to 'projects/cryptofuzz')
-rwxr-xr-xprojects/cryptofuzz/build.sh114
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