From aff16b9f49bb5cbb49e483c09ea375759974491e Mon Sep 17 00:00:00 2001 From: Paulo Gomes Date: Fri, 25 Nov 2022 17:07:34 +0000 Subject: [PATCH] build: Link libgit2 via LIB_FUZZING_ENGINE Signed-off-by: Paulo Gomes --- tests/fuzz/oss_fuzz_postbuild.sh | 6 +++++- tests/fuzz/oss_fuzz_prebuild.sh | 13 ++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/tests/fuzz/oss_fuzz_postbuild.sh b/tests/fuzz/oss_fuzz_postbuild.sh index 36818fed5..2b155772e 100755 --- a/tests/fuzz/oss_fuzz_postbuild.sh +++ b/tests/fuzz/oss_fuzz_postbuild.sh @@ -20,10 +20,14 @@ set -euxo pipefail # Use it for unsetting any environment variables that may impact other building # processes. +if [[ -n "${PRE_LIB_FUZZING_ENGINE}" ]]; then + export LIB_FUZZING_ENGINE="${PRE_LIB_FUZZING_ENGINE}" +fi + unset TARGET_DIR unset CGO_ENABLED unset LIBRARY_PATH unset PKG_CONFIG_PATH unset CGO_CFLAGS unset CGO_LDFLAGS -unset ADDITIONAL_LIBS +unset PRE_LIB_FUZZING_ENGINE diff --git a/tests/fuzz/oss_fuzz_prebuild.sh b/tests/fuzz/oss_fuzz_prebuild.sh index 29cd7d615..ac6314f55 100755 --- a/tests/fuzz/oss_fuzz_prebuild.sh +++ b/tests/fuzz/oss_fuzz_prebuild.sh @@ -62,4 +62,15 @@ export PKG_CONFIG_PATH="${TARGET_DIR}/lib/pkgconfig" export CGO_CFLAGS="-I${TARGET_DIR}/include" export CGO_LDFLAGS="$(pkg-config --libs --static --cflags libgit2)" -export ADDITIONAL_LIBS="${TARGET_DIR}/lib/libgit2.a" +# Temporary hack whilst libgit2 is still in use. +# Enables the fuzzing compilation to link libgit2. +# +# After building the fuzzers, the value of +# LIB_FUZZING_ENGINE is reset to what it was before +# it to avoid side effects onto other repositories. +# +# For context refer to: +# https://github.com/google/oss-fuzz/pull/9063 +export PRE_LIB_FUZZING_ENGINE="${LIB_FUZZING_ENGINE}" + +export LIB_FUZZING_ENGINE="${LIB_FUZZING_ENGINE} -Wl,--start-group ${TARGET_DIR}/lib/libgit2.a"