| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
|
| |
This unifies the build() and clean() interfaces such that if a custom
compiler or make binary is provided in the manager or bisection config,
they can be taken into account by the clean() interface.
|
| |
|
|
| |
It contributes to #4317 unblocking.
|
| | |
|
| |
|
|
|
| |
Fuchsia's //bundles:tools target was renamed to
//bundles/tools.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Modify the `builder` interface in such a way that build method also
returns a struct containing extra information about the build process.
This allows to fetch compiler ID from individual builders. Also, this
makes the `signer` interface obsolete, as this information can also go
into that structure.
|
| |
|
|
|
|
|
|
|
|
| |
The struct pkg.build.Params is currently primarily passed on as a
pointer, which leads make it hard to see the places, where it can
(and should) actually be modified.
Make it all more explicit by only passing pointer references to objects
of this type when the object is expected to be modified by the function.
In fact, at this moment there are no such situations.
|
| |
|
|
|
| |
We no longer build fuchsia with goma. We might add support for it later
on.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We use strings to identify OS/Arch.
These strings are duplicated throughout the code base massively.
golangci-lint points to possiblity of typos and duplication.
We already had to define these names in pkg/csource
and disable checking for prog package. A future change triggers
such warnings in another package.
Add OS/Arch name consts to sys/targets so that they can be used
to refer to OS/Arch. Use the consts everywhere.
|
| |
|
|
|
|
| |
The fvm partition used was the default from the build. This commit
expands it to 2GB. Without this change, recent versions of fuchsia will
not boot.
|
| |
|
|
|
|
| |
Fuchsia moved the location of the ssh keys and they are now referenced
by the `.fx-ssh-path` file. Instead of following that file, we are
creating new ssh keys on each image build.
|
| |
|
|
|
| |
Recently some files in fuchsia moved around. This commit makes them use
the right path.
|
| |
|
|
|
|
|
|
|
|
| |
This commit makes syzkaller build the kasan variant of fuchsia by
default.
Support for kernel address sanitizer has landed in fuchsia since commit
`54c5edfc37afe7294256552cefefca64c6ce7e94`[0].
[0]: https://fxrev.dev/383323
|
| |
|
|
|
| |
Also, build using source from our own copy of syz-executor instead of
what's currently rolled into Fuchsia.
|
| |
|
|
|
|
|
| |
Image takes too many arguments, so we need to do lots of forwarding,
adding new argumnets is painful and most OSes are not interested
in lots of arguments.
Combine all arguments into a params struct.
|
| |
|
|
|
|
|
|
|
| |
We have noticed that the build process was being invoked as root. This
change modifies the calls to use osutil.Sandbox before invoking cmds to
build fuchsia.
This is required for the process to use goma, as goma is running under
the syzkaller user.
|
| | |
|
| |
|
|
|
| |
Recently fuchsia changed the default compiler from GCC to clang. This
change updates the paths in the build package.
|
| |
|
|
|
|
|
| |
This change modifies the way fuchsia is built to add the ssh keys to the
zbi image after building it. Previously that was done via the
"extra_ssh_keys" argument to the build system, but that was removed
recently.
|
| |
|
|
| |
Recently, fuchsia changed the build directory for zircon, now instead of
build-zircon, we have arch.zircon, where arch is x64 or arm64.
|
| |
|
|
|
|
|
|
| |
This commit adds the "//bundles:tools" packages to the fuchsia build
used for syzkaller. This includes ssh tools, which includes scp.
TEST=I have tested this on syz-ci. Fuchsia is now able to pass the image
test.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL changes the invocation of the `fx set` command to match the new
format[0].
This change involves removing "board" and "product" flags. Instead, now one has to use
`fx set product.board` to get the same result. In the case of syzkaller,
this would be "core.${ARCH}" where arch could be x64 or arm64.
Also, the default build directory now is `out/default`, and for now, it
is still not possible to have multiple archs built altogether. I set the
build directory manually to `out/${ARCH}` (as was before). This would
allow syzkaller to also build the kernel for arm if required.
[0]: https://fuchsia.googlesource.com/fuchsia/+/b814211ab33eeb4e8f02962d5c81d042b2464ac7
TEST=Tested this in syz-ci. It worked.
|
| |
|
|
|
|
|
|
| |
Differences in code formatting between Go versions cause constant
problems for us (https://github.com/golang/go/issues/25161).
Currently we support 1.9 and 1.10. Switch to newer 1.11 and 1.12.
Fixes #1013
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL splits the fx commands into two: one that runs `fx set` setting
the same arguments as before, and another one right after, running `fx
clean-build` to build fuchsia.
Recently[0], fuchsia made it impossible to run `fx clean-build`
specifying the arguments. Instead, one should run `fx set` before.
The benefit is that `clean-build` now preserves the build arguments
across runs. For syzkaller, it doesn't change anything though.
[0]: https://fuchsia-review.googlesource.com/c/fuchsia/+/262674
|
| |
|
|
| |
We've once again changed the way you define a build via fx; update it in
Syzkaller too.
|
| |
|
| |
Fuchsia and its repos now live in a new spot!
|
| |
|
|
|
|
|
| |
1. Implement clean since we do incremental build we actually need no-op clean.
2. Don't copy netbsd to output dir, we don't need it there (we create full-fledged image).
3. Copy netbsd.gdb to obj/ dir, that's where it is expected.
4. Fix boot disk name for gce (it's sd0 instead of wd0).
|
| | |
|
| |
|
|
| |
Add the basic NDISC (RFC 4861) packet formats to sys/linux/vnet.txt.
|
| |
|
|
| |
We've lost is somewhere along the way.
|
| |
|
|
|
|
|
|
|
| |
SSH keys are now included at the fx clean-build config.
A proper escape sequence looked weird so use a string literal to pass
that config.
Fixed some typos I found while debugging.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Hey--so I *don't* know a particularly efficient way to test syz-ci right
now.
There's no good config I can find for just running it locally, and I
couldn't find any good unit tests for this function in particular, and
running it manually on a ci server isn't super-appealing since I'd have
to clobber the configuration there to point to my repo instead of the
canonical repo, pull from there, etc.
Do you have any good ideas for testing this before it rolls out? In
particular I want the invocation to look exactly like:
./scripts/fx set x64 --packages garnet/packages/products/sshd --args 'extra_authorized_keys_file="//.ssh/authorized_keys"'
I thought I'd escaped it properly last time, but, since I couldn't test
it, clearly I goofed. I *think* this does the right thing but I'd love
a sanity check. Thanks!
|
| |
|
|
|
|
|
|
|
|
| |
* Needed to clean out the build on the main host. We switched to a
"petal" layout which required a complete rebuild.
* Update SSH interface. SSH keys have to be set at buildtime via
--args.
* Update fvm.blk location.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we build fuchsia with asan, syz-executor binary fails to run with:
$ /tmp/syz-executor
[00041.656] 01128.01275> dlsvc: could not open 'libc++.so.2'
[00041.656] 06074.06088> Error loading shared library libc++.so.2: ZX_ERR_NOT_FOUND (needed by
[00041.656] 06074.06088> /tmp/syz-executor
[00041.656] 06074.06088> )
[00041.656] 01128.01275> dlsvc: could not open 'libc++abi.so.1'
[00041.656] 06074.06088> Error loading shared library libc++abi.so.1: ZX_ERR_NOT_FOUND (needed by
[00041.656] 06074.06088> /tmp/syz-executor
[00041.656] 06074.06088> )
[00041.663] 01128.01275> dlsvc: could not open 'libunwind.so.1'
[00041.663] 06074.06088> Error loading shared library libunwind.so.1: ZX_ERR_NOT_FOUND (needed by
[00041.663] 06074.06088> /tmp/syz-executor
[00041.663] 06074.06088> )
Disable asan until we figure out how to fix this.
|
| | |
|
| |
|
|
| |
Building with asan is useful to detect any bugs in C/C++ services.
|
| |
|
|
| |
Seems to have been renamed.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We frequently see boot errors like:
[00010.201] 02991.03067> pkgsvr: 2018/06/30 23:39:41 system: failed to set system root from blob "ccbadb3901372b1e0fc5275f627f708bf3e5f3acfb0d4268638db0ff75fc7fd4": file does not exist
or:
[00003.691] 01126.01153> devmgr: launchpad /fs/blob/e66739acdd3d8efa3b7c9021e2107cf8431765c0b8eb0a1ec7f7dc7fd305f2f7 (pkgfs) failed: launchpad_vmo_from_file failure: -40
Presumably clean build may help.
|
| |
|