mirror of https://github.com/google/oss-fuzz.git
[cryptofuzz] Include libgcrypt, libsodium, Crypto++ in MemorySanitizer build (#3668)
This commit is contained in:
parent
e94eb00367
commit
de4f24f702
|
@ -93,21 +93,23 @@ export CXXFLAGS="$CXXFLAGS -I$SRC/cityhash/src"
|
||||||
export CRYPTOFUZZ_REFERENCE_CITY_O_PATH="$SRC/cityhash/src/city.o"
|
export CRYPTOFUZZ_REFERENCE_CITY_O_PATH="$SRC/cityhash/src/city.o"
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
# Compile cryptopp
|
||||||
|
cd $SRC/cryptopp
|
||||||
if [[ $CFLAGS != *sanitize=memory* ]]
|
if [[ $CFLAGS != *sanitize=memory* ]]
|
||||||
then
|
then
|
||||||
# Compile cryptopp (with assembly)
|
|
||||||
cd $SRC/cryptopp
|
|
||||||
make -j$(nproc) >/dev/null 2>&1
|
make -j$(nproc) >/dev/null 2>&1
|
||||||
|
else
|
||||||
export CXXFLAGS="$CXXFLAGS -DCRYPTOFUZZ_CRYPTOPP"
|
CXXFLAGS="$CXXFLAGS -DCRYPTOPP_DISABLE_ASM=1" make -j$(nproc) >/dev/null 2>&1
|
||||||
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
|
fi
|
||||||
|
|
||||||
|
export CXXFLAGS="$CXXFLAGS -DCRYPTOFUZZ_CRYPTOPP"
|
||||||
|
export LIBCRYPTOPP_A_PATH="$SRC/cryptopp/libcryptopp.a"
|
||||||
|
export CRYPTOPP_INCLUDE_PATH="$SRC/cryptopp"
|
||||||
|
|
||||||
|
# Compile Cryptofuzz cryptopp module
|
||||||
|
cd $SRC/cryptofuzz/modules/cryptopp
|
||||||
|
make -B
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# Compile mbed crypto
|
# Compile mbed crypto
|
||||||
cd $SRC/mbed-crypto/
|
cd $SRC/mbed-crypto/
|
||||||
|
@ -149,58 +151,60 @@ cd $SRC/cryptofuzz/modules/botan
|
||||||
make -B
|
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
|
then
|
||||||
# Compile libgpg-error (dependency of libgcrypt)
|
./configure --enable-static
|
||||||
cd $SRC/
|
else
|
||||||
tar jxvf libgpg-error-1.36.tar.bz2
|
./configure --enable-static --host=i386
|
||||||
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"
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
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
|
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
|
||||||
|
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"
|
||||||
|
|
||||||
|
# Compile Cryptofuzz libgcrypt module
|
||||||
|
cd $SRC/cryptofuzz/modules/libgcrypt
|
||||||
|
make -B
|
||||||
|
|
||||||
|
# Compile libsodium
|
||||||
|
cd $SRC/libsodium
|
||||||
|
autoreconf -ivf
|
||||||
if [[ $CFLAGS != *sanitize=memory* ]]
|
if [[ $CFLAGS != *sanitize=memory* ]]
|
||||||
then
|
then
|
||||||
# Compile libsodium (with assembly)
|
|
||||||
cd $SRC/libsodium
|
|
||||||
autoreconf -ivf
|
|
||||||
./configure
|
./configure
|
||||||
make -j$(nproc) >/dev/null 2>&1
|
else
|
||||||
|
./configure --disable-asm
|
||||||
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
|
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"
|
||||||
|
|
||||||
|
# Compile Cryptofuzz libsodium module
|
||||||
|
cd $SRC/cryptofuzz/modules/libsodium
|
||||||
|
make -B
|
||||||
|
|
||||||
if [[ $CFLAGS != *sanitize=memory* && $CFLAGS != *-m32* ]]
|
if [[ $CFLAGS != *sanitize=memory* && $CFLAGS != *-m32* ]]
|
||||||
then
|
then
|
||||||
|
@ -437,11 +441,11 @@ then
|
||||||
else
|
else
|
||||||
cmake -DCMAKE_CXX_FLAGS="$CXXFLAGS" -DCMAKE_C_FLAGS="$CFLAGS" -DBORINGSSL_ALLOW_CXX_RUNTIME=1 ..
|
cmake -DCMAKE_CXX_FLAGS="$CXXFLAGS" -DCMAKE_C_FLAGS="$CFLAGS" -DBORINGSSL_ALLOW_CXX_RUNTIME=1 ..
|
||||||
fi
|
fi
|
||||||
make -j$(nproc) crypto decrepit >/dev/null 2>&1
|
make -j$(nproc) crypto >/dev/null 2>&1
|
||||||
|
|
||||||
# Compile Cryptofuzz BoringSSL (with assembly) module
|
# Compile Cryptofuzz BoringSSL (with assembly) module
|
||||||
cd $SRC/cryptofuzz/modules/openssl
|
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
|
# Compile Cryptofuzz
|
||||||
cd $SRC/cryptofuzz
|
cd $SRC/cryptofuzz
|
||||||
|
@ -464,11 +468,11 @@ cd $SRC/boringssl
|
||||||
rm -rf build ; mkdir build
|
rm -rf build ; mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake -DCMAKE_CXX_FLAGS="$CXXFLAGS" -DCMAKE_C_FLAGS="$CFLAGS" -DBORINGSSL_ALLOW_CXX_RUNTIME=1 -DOPENSSL_NO_ASM=1 ..
|
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
|
# Compile Cryptofuzz BoringSSL (with assembly) module
|
||||||
cd $SRC/cryptofuzz/modules/openssl
|
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
|
# Compile Cryptofuzz
|
||||||
cd $SRC/cryptofuzz
|
cd $SRC/cryptofuzz
|
||||||
|
|
Loading…
Reference in New Issue