qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] fuzz: avoid building twice, when running on gitlab


From: Darren Kenny
Subject: Re: [PATCH] fuzz: avoid building twice, when running on gitlab
Date: Mon, 09 Aug 2021 15:38:28 +0100

On Monday, 2021-08-09 at 07:16:21 -04, Alexander Bulekov wrote:
> On oss-fuzz, we build twice, to put together a build that is portable to
> the runner containers. On gitlab ci, this is wasteful and contributes to
> timeouts on the build-oss-fuzz job. Avoid building twice on gitlab, at
> the remote cost of potentially missing some cases that break oss-fuzz
> builds.
>
> Signed-off-by: Alexander Bulekov <alxndr@bu.edu>

Reviewed-by: Darren Kenny <darren.kenny@oracle.com>

> ---
>
> From a couple test runs it looks like this can shave off 15-20 minutes.
>
>  scripts/oss-fuzz/build.sh | 24 +++++++++++++-----------
>  1 file changed, 13 insertions(+), 11 deletions(-)
>
> diff --git a/scripts/oss-fuzz/build.sh b/scripts/oss-fuzz/build.sh
> index c1af43fded..98b56e0521 100755
> --- a/scripts/oss-fuzz/build.sh
> +++ b/scripts/oss-fuzz/build.sh
> @@ -73,17 +73,19 @@ if ! make "-j$(nproc)" qemu-fuzz-i386; then
>            "\nFor example: CC=clang CXX=clang++ $0"
>  fi
>  
> -for i in $(ldd ./qemu-fuzz-i386 | cut -f3 -d' '); do
> -    cp "$i" "$DEST_DIR/lib/"
> -done
> -rm qemu-fuzz-i386
> -
> -# Build a second time to build the final binary with correct rpath
> -../configure --disable-werror --cc="$CC" --cxx="$CXX" --enable-fuzzing \
> -    --prefix="$DEST_DIR" --bindir="$DEST_DIR" --datadir="$DEST_DIR/data/" \
> -    --extra-cflags="$EXTRA_CFLAGS" --extra-ldflags="-Wl,-rpath,\$ORIGIN/lib" 
> \
> -    --target-list="i386-softmmu"
> -make "-j$(nproc)" qemu-fuzz-i386 V=1
> +if [ "$GITLAB_CI" != "true" ]; then
> +    for i in $(ldd ./qemu-fuzz-i386 | cut -f3 -d' '); do
> +        cp "$i" "$DEST_DIR/lib/"
> +    done
> +    rm qemu-fuzz-i386
> +
> +    # Build a second time to build the final binary with correct rpath
> +    ../configure --disable-werror --cc="$CC" --cxx="$CXX" --enable-fuzzing \
> +        --prefix="$DEST_DIR" --bindir="$DEST_DIR" 
> --datadir="$DEST_DIR/data/" \
> +        --extra-cflags="$EXTRA_CFLAGS" 
> --extra-ldflags="-Wl,-rpath,\$ORIGIN/lib" \
> +        --target-list="i386-softmmu"
> +    make "-j$(nproc)" qemu-fuzz-i386 V=1
> +fi
>  
>  # Copy over the datadir
>  cp  -r ../pc-bios/ "$DEST_DIR/pc-bios"
> -- 
> 2.30.2



reply via email to

[Prev in Thread] Current Thread [Next in Thread]