[libFuzzer] Don't prefix absolute paths in fuchsia.
authorJake Ehrlich <jakehehrlich@google.com>
Fri, 11 Oct 2019 23:35:13 +0000 (23:35 +0000)
committerJake Ehrlich <jakehehrlich@google.com>
Fri, 11 Oct 2019 23:35:13 +0000 (23:35 +0000)
commitcde860a1c996b0badff5f8f10baf48df3c19d921
treedaf51b9ea0752ccf0aa4e028fecafd8729fc0e53
parent1b82fb61c18474473ea21123b9a150e1a88dddbf
[libFuzzer] Don't prefix absolute paths in fuchsia.

The ExecuteCommand function in fuchsia used to prefix the
getOutputFile for each command run with the artifact_prefix flag if
it was available, because fuchsia components don't have a writable working
directory. However, if a file with a global path is provided, fuchsia
should honor that.

An example of this is using the global /tmp directory to store stuff.
In fuchsia it ended up being translated to data///tmp, whereas we want
to make sure it is using /tmp (which is available to components using the
isolated-temp feature).

To test this I made the change, compiled fuchsia with this toolchain and
ran a fuzzer with the -fork=1 flag (that mode makes use of the /tmp
directory). I also tested that normal fuzzing workflow was not affected
by this.

Author: charco (Marco Vanotti)
Differential Revision: https://reviews.llvm.org/D68774

llvm-svn: 374612
compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp