Hi Alex,

On Wednesday, 2020-10-21 at 17:09:22 -04, Alexander Bulekov wrote:
> generic-fuzz is not a standalone fuzzer - it requires some env variables
> to be set. On oss-fuzz, we set these with some predefined
> generic-fuzz-{...} targets, that are thin wrappers around generic-fuzz.
> Remove generic-fuzz from the oss-fuzz build, so oss-fuzz does not treat
> it as a standalone fuzzer.
>
> Signed-off-by: Alexander Bulekov <alx...@bu.edu>
> ---
>  scripts/oss-fuzz/build.sh | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/scripts/oss-fuzz/build.sh b/scripts/oss-fuzz/build.sh
> index 0c3ca9e06f..37cd7f9e25 100755
> --- a/scripts/oss-fuzz/build.sh
> +++ b/scripts/oss-fuzz/build.sh
> @@ -97,5 +97,11 @@ do

I'm presuming that the target that you're removing is being created by
this line, maybe we should just specifically skip it here instead?

The comment below on the removal probably would still apply though.

>      cp qemu-fuzz-i386 "$DEST_DIR/qemu-fuzz-i386-target-$target"

Also, did you look into using hard-links, or even sym-links - they would
require less duplication of the binaries, which may be important, or may
not, and quicker creation too, e.g.

      ln qemu-fuzz-i386 "$DEST_DIR/qemu-fuzz-i386-target-$target"

It's something that has been done for years, for example if you do:

      ls -il /sbin/{e2fsck,fsck.ext*}

you will see they share the same inode. Similarly for vi and ex, they
use symlinks (hardlinks on some OSes, but seems not Linux):

      ls -il /bin/{vi,ex}

The main point is that argv[0] will be the name of link itself, not the
thing pointed to.

Thanks,

Darren.

>  done
>  
> +# Remove the generic-fuzz target, as it requires some environment variables 
> to
> +# be configured. We have some generic-fuzz-{pc-q35, floppy, ...} targets that
> +# are thin wrappers around this target that set the required environment
> +# variables according to predefined configs.
> +rm "$DEST_DIR/qemu-fuzz-i386-target-generic-fuzz"
> +
>  echo "Done. The fuzzers are located in $DEST_DIR"
>  exit 0
> -- 
> 2.28.0

Reply via email to