| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
Signed-off-by: Andrei Vagin <avagin@google.com>
|
| |
|
|
|
|
| |
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.
|
| |
|
|
| |
sync.gateCommit() is also a go:norace function called during runtime.gopark().
|
| |
|
|
| |
Now we need to use the race config to compile gVisor with the race
detector.
|
| |
|
|
|
| |
This enforces that the configuration string passed to gVisor is only made up of known flags.
Prior to this change, it was possible to pass any arbitrary flags as configuration, which
would be silently ignored.
|
| |
|
|
|
|
| |
We've got a timeout of "bazel aquery". It's currently set to 1 minute.
On an overloaded machine it can fire falsely, I guess bazel can start
only for 1 minute. Increase to 10 minutes.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
It was a part of the pkg/sentry/platform, but recently it was moved out.
Signed-off-by: Andrei Vagin <avagin@google.com>
|
| |
|
|
|
|
| |
Build options can affect a path where runsc will be saved.
Signed-off-by: Andrei Vagin <avagin@google.com>
|
| |
|
|
|
|
| |
$ bazel build --features=race //runsc:runsc-race
...
WARNING: --features=race is no longer supported. Use
--@io_bazel_rules_go//go/config:race instead.
|
| | |
|
| |
|
|
|
|
|
| |
Instrumenting this package is too slow--every time the Sentry switches
to the application, task work will iterate through all of the coverage
counters. Instrumenting this code path will add many atomic operations
on race builds, drastically degrading performance.
|
| |
|
|
|
|
| |
The instrumentation filter has to match all sub-packges of
//pkg/sentry/platform.
Signed-off-by: Andrei Vagin <avagin@google.com>
|
| |
|
|
|
|
|
|
| |
When running under syz-ci gvisor image is called 'image',
but it's not in objDir. pkg/build/gvisor.go doesn't copy
anything into obj/.
Copy runsc into obj/vmlinux (as expected for linux target)
and open it in pkg/cover.
|
| | |
|
| |
|
|
|
|
|
| |
These cannot be instrumented with regular atomic operations (e.g.,
sync/atomic.AddInt32), which will happen if -race is enabled. We may be
able to re-enable coverage on them when https://golang.org/issue/43007 is
resolved.
|
| |
|
|
|
| |
In the previous method, string comparisons did not work properly for the
last flag because it is followed by a newline character.
|
| |
|
|
|
|
|
| |
Right now, we use a hard-coded path, but Dmirty found that it is wrong
for the current versions of bazel and gvisor.
Signed-off-by: Andrei Vagin <avagin@google.com>
|
| |
|
|
|
|
| |
Collecting coverage in platform/ring0 code causes the kvm platform to
crash, possibly due torestrictions on the address space that coverage
data is violating.
|
| | |
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
The 1 hour timeout is quite high. But we've seen false positives with 20 mins
on the first build after bazel/deps update. Also other gvisor instances running
on the same machine contribute to longer build times.
|
| | |
|
| |
|
|
|
|
|
| |
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).
|
| |
|
|
| |
Use separate target as this is something that can be upstreamed.
|
| | |
|
| |
|
|
|
| |
Explicitly pass --features=race.
Expect linux_amd64_static_stripped as a potential output.
|
| | |
|
| |
|
|
|
| |
gvisor does not use it, but save it verbatim.
This can be useful to keep some additional description of the build.
|
| | |
|
|
|
Unify kernel and image build, that distinction is really uninteresting.
Define interface that each OS needs to implement.
Add gvisor stub.
|