The build process has changed somewhat since switching to host fuzzing
mode. Also, rearrange the fx build steps earlier, since they're a
prerequisite for building syzkaller.
Enables the syntax intN[start:end, alignment] for integer ranges. For
instance, int32[0:10, 2] represents even 32-bit numbers between 0 and 10
included. With this change, two NEED tags in syscall descriptions can be
addressed.
Signed-off-by: Paul Chaignon <paul.chaignon@orange.com>
This commit removes a dependency on fuchsia's tools/devshell/contrib/go,
which was removed recently[0].
Now to build go binaries for fuchsia we are not relying on the
fuchsia.git repo at all. The code just needs a copy of the fuchsia
//third_party/go repository, the fuchsia sdk and a copy of clang.
Users should download the sdk and clang beforehand (see documentation
for links), and then run (with the correct environment variables):
```
$ make TARGETOS=fuchsia TARGETARCH=amd64 \
SOURCEDIR=$HOME/fuchsia \
FX_SDK_PATH=${HOME}/sdk/fuchsia-sdk \
CLANG_PATH=${HOME}/sdk/clang \
fuchsia_go
```
After that, they will be able to build the syzkaller go binaries by
doing:
```
$ make TARGETOS=fuchsia TARGETARCH=amd64 \
SOURCEDIR=$HOME/fuchsia \
FX_SDK_PATH=${HOME}/sdk/fuchsia-sdk \
CLANG_PATH=${HOME}/sdk/clang
```
This commits adds two scripts to tools/fuchsia, one for building go in
fuchsia (just calls the ./make.all script in fuchsia's go repo), and one
that replaces the devshell/contrib/go script.
Given that go is unsupported in fuchsia, this change might break at any
point.
[0]: https://fuchsia-review.googlesource.com/c/fuchsia/+/291631
In the various linux build instructions, add pointers to the main
doc with instructions for building syzkaller.
These instructions were present before commit d23e90a7b44b ("all:
switch to Go 1.12"). They were duplicated across files. Since the
commit the instructions are in one place. Make it easier to find
them from the platform-specific setup guides.
Also clarify in the x86_64 guide that using a precompiled compiler
from the supplied list is optional if the distribution provided
compiler is recent enough. Before commit d28f4ce ("Update
setup_ubuntu-host_qemu-vm_x86-64-kernel.md") the file had explicit
build instructions. Those are no longer needed.
The sneaky '“' character causes errors when copy-pasting snapshots of
the documentation.
Solved with s/“/"/g.
Signed-off-by: Alessio Balsini <balsini@android.com>