Skip to content

Commit 3891a50

Browse files
committed
boringssl: fix broken build
1 parent a09cb73 commit 3891a50

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

projects/boringssl/build.sh

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@
1818
mkdir -p $WORK/boringssl
1919
cd $WORK/boringssl
2020

21+
CXXFLAGS_LIBSTDCXX=$(echo "$CXXFLAGS" | sed 's/-stdlib=libc++//g')
22+
CXXFLAGS_LIBSTDCXX="$CXXFLAGS_LIBSTDCXX -stdlib=libstdc++ -DBORINGSSL_UNSAFE_FUZZER_MODE"
23+
CXXFLAGS_LIBCXX="$CXXFLAGS -stdlib=libc++ -DBORINGSSL_UNSAFE_FUZZER_MODE"
2124
CFLAGS="$CFLAGS -DBORINGSSL_UNSAFE_FUZZER_MODE"
22-
CXXFLAGS="$CXXFLAGS -DBORINGSSL_UNSAFE_FUZZER_MODE"
2325

2426
CMAKE_DEFINES="-DBORINGSSL_ALLOW_CXX_RUNTIME=1"
2527
if [[ $CFLAGS = *sanitize=memory* ]]
@@ -28,7 +30,7 @@ then
2830
fi
2931

3032
cmake -GNinja -DCMAKE_C_COMPILER=$CC -DCMAKE_CXX_COMPILER=$CXX \
31-
-DCMAKE_C_FLAGS="$CFLAGS" -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
33+
-DCMAKE_C_FLAGS="$CFLAGS" -DCMAKE_CXX_FLAGS="$CXXFLAGS_LIBSTDCXX" \
3234
$CMAKE_DEFINES $SRC/boringssl/
3335
ninja
3436

@@ -39,10 +41,10 @@ find . -name "*.a"
3941
for F in $fuzzerFiles; do
4042
fuzzerName=$(basename $F .cc)
4143
echo "Building fuzzer $fuzzerName"
42-
$CXX $CXXFLAGS \
44+
$CXX $CXXFLAGS_LIBSTDCXX \
4345
-D_BORINGSSL_LIBPKI_ -std=c++1z \
4446
-o $OUT/${fuzzerName} $LIB_FUZZING_ENGINE $F \
45-
-I $SRC/boringssl/include ./libpki.a ./libssl.a ./libcrypto.a
47+
-I $SRC/boringssl/include ./libpki.a ./libssl.a ./libcrypto.a -lstdc++
4648

4749
if [ -d "$SRC/boringssl/fuzz/${fuzzerName}_corpus" ]; then
4850
zip -j $OUT/${fuzzerName}_seed_corpus.zip $SRC/boringssl/fuzz/${fuzzerName}_corpus/*
@@ -61,14 +63,15 @@ if [[ $CFLAGS != *sanitize=memory* ]]; then
6163
fuzzerName=$(echo ${F#*_})
6264
fuzzerName=$(basename $fuzzerName .cc)
6365
echo "Building fuzzer $fuzzerName"
64-
$CXX $CXXFLAGS -I genfiles -I . -I $SRC/libprotobuf-mutator/ -I $SRC/LPM/external.protobuf/include -I include $LIB_FUZZING_ENGINE \
66+
$CXX $CXXFLAGS_LIBCXX -I genfiles -I . -I $SRC/libprotobuf-mutator/ -I $SRC/LPM/external.protobuf/include -I include $LIB_FUZZING_ENGINE \
6567
-DNDEBUG \
6668
-I $SRC/boringssl/include \
6769
$F genfiles/asn1_pdu.pb.cc $SRC/asn1_pdu_to_der.cc $SRC/common.cc \
6870
./libssl.a ./libcrypto.a \
6971
$SRC/LPM/src/libfuzzer/libprotobuf-mutator-libfuzzer.a \
7072
$SRC/LPM/src/libprotobuf-mutator.a \
7173
-Wl,--start-group $SRC/LPM/external.protobuf/lib/lib*.a -Wl,--end-group \
74+
-lc++ \
7275
-o $OUT/"${fuzzerName}_lpm"
7376
done
7477
fi

0 commit comments

Comments
 (0)