Dmitry Vyukov
f78642861b
pkg/csource: support akaros
2017-10-16 14:21:54 +02:00
Dmitry Vyukov
2647772874
sys/akaros: add akaros support
2017-10-16 14:21:54 +02:00
Dmitry Vyukov
4a4739bd45
sys/linux: fix fcntl signature
2017-10-16 14:21:54 +02:00
Dmitry Vyukov
7553c19941
sys/syz-extract: support akaros
2017-10-16 14:21:54 +02:00
Dmitry Vyukov
81e199f719
sys/syz-extract: support freebsd
2017-10-12 18:16:25 +02:00
Dmitry Vyukov
02a7a54019
sys/syz-extract: factor out compilation function
...
Each arch duplicates significant portion of logic
to compile the extract source file.
Factor this logic into a separate function and reuse
it across all OSes.
2017-10-12 18:16:25 +02:00
Dmitry Vyukov
179a860885
all: basic freebsd support
...
For now we just make Go part build for freebsd.
2017-10-02 14:17:32 +02:00
Dmitry Vyukov
eb97aa0610
executor: support fragmentation in syz_emit_ethernet
...
A recent linux commit "tun: enable napi_gro_frags() for TUN/TAP driver"
added support for fragmentation when emitting packets via tun.
Support this feature in syz_emit_ethernet.
2017-10-02 13:56:36 +02:00
Dmitry Vyukov
1b68e030d8
sys/fuchsia: add more descriptions
2017-10-02 10:53:28 +02:00
Billy Lau
d335103a64
sys/linux: include additional header to ion.txt
...
This helps with resolving missing AT_FDCWD const.
2017-09-29 08:51:34 +02:00
Dmitry Vyukov
64b6c0724d
sys/windows: add more descriptions
2017-09-27 20:17:09 +02:00
Dmitry Vyukov
646d96d95a
Makefile, sys/syz-extract: fix android
2017-09-27 08:46:03 +02:00
Dmitry Vyukov
af442a22d9
executor, sys/windows: initial windows support
2017-09-25 15:19:06 +02:00
Dmitry Vyukov
dd56309863
sys/fuchsia: describe more syscalls
2017-09-25 08:47:48 +02:00
Dmitry Vyukov
e9c477a5b3
sys/syz-extract: support fuchsia
2017-09-25 08:47:48 +02:00
Dmitry Vyukov
913d592f97
all: more assorted fuchsia support
2017-09-22 13:10:55 +02:00
Dmitry Vyukov
653022e6a9
sys/fuchsia: fix build
2017-09-21 10:31:53 +02:00
Dmitry Vyukov
8cb7d3dcfc
all: initial support for fuchsia
...
Nothing works, but builds.
Update #191
2017-09-20 21:19:29 +02:00
Dmitry Vyukov
4e341009db
sys/linux: improve user_desc description
2017-09-20 14:01:19 +02:00
Dmitry Vyukov
da1873aadd
sys/targets: move targets from sys package
...
This breaks circular dependency between:
sysgen -> sys/linux -> sys -> sysgen
With this circular dependency it is very difficult to
update format of generated descriptions because sysgen does not build.
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
66393d1884
pkg/compiler: don't genererate missing syscalls
...
We used to generate them only because manager had no idea
what arch it is testing. So syscalls numbers had to match
between all arches.
This is not needed anymore.
Also don't generate unreferenced structs/resources.
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
539e603206
syz-manager, syz-fuzzer, executor: ensure that binaries are consistent
...
Check that manager/fuzzer/executor are build on the same git revision,
use the same syscall descriptions and the same target arch.
Update #336
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
19f9bc13d3
pkg/csource: support archs other than x86_64
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
4503776d2b
sys/syz-extract: generate build files out of tree
...
This does not pollute user kernel dir (we do make mrproper, though)
and enables parallel generation.
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
7296cf374d
sys/syz-extract: generate multiple arches at once
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
f7eb58493b
sys/syz-extract: use consolidated target info
...
Move knowledge about targets from extract.sh to syz-extract,
and make it use target into from sys.
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
75ddf7ab90
sys/syz-extract: switch to consolidated target info in sys package
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
487aa0d537
sys: consolidate info about various targets
...
Info about targets (like C arch/CFLAGS) is required in multiple places:
extract.sh
syz-extract
syz-sysgen
csource
vm/qemu
...
Consolidate it in one place and use that in syz-sysgen.
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
91def5c506
prog: remove special knowledge about "mmap" syscall
...
Abstract "mmap" away as it can be called differently on another OS.
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
f7b1163afb
syz-manager/mgrconfig: explicitly specify target in config
...
Add target config parameter (e.g. linux/amd64) which controls target OS/arch.
No more explicit assumptions about target.
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
34bc139642
sys: compile all supported targets into the package
...
Currently we compile in only GOOS/GOARCH target.
Compile in all targets so that they can be selected at runtime.
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
b16ba6390d
sys/syz-extract: parallelize over files
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
2119c28968
sys: move extract.sh to sys/linux
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
bd13474175
sys/linux: rename package from sys to linux
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
18e96021ed
sys: move linux descriptions to sys/linux
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
4a7f7fab1e
prog: allow more than 1 target
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
96b8e39972
sys: regenerate consts with tip linux
2017-09-13 15:39:34 +02:00
Dmitry Vyukov
5060392c49
sys: use correct pointer size
2017-09-05 19:02:12 +02:00
Dmitry Vyukov
19cc67af5b
sys: add new perf attribute flag
2017-09-05 19:02:12 +02:00
Dmitry Vyukov
eb45aa4244
prog, sys: move dictionary of special strings to sys
...
It is target-specific.
2017-09-05 19:02:12 +02:00
Dmitry Vyukov
58efb7c6a5
sys: improve timespec/timeval generation
2017-09-05 19:02:12 +02:00
Dmitry Vyukov
ffe7e17368
prog, sys: move types to prog
...
Large overhaul moves syscalls and arg types from sys to prog.
Sys package now depends on prog and contains only generated
descriptions of syscalls.
Introduce prog.Target type that encapsulates all targer properties,
like syscall list, ptr/page size, etc. Also moves OS-dependent pieces
like mmap call generation from prog to sys.
Update #191
2017-09-05 15:52:42 +02:00
Dmitry Vyukov
5db39ab953
sys: rename Call to Syscall
...
In preparation for moving sys types to prog
to avoid confusion between sys.Call and prog.Call.
2017-09-05 10:38:22 +02:00
Dmitry Vyukov
c34180fca0
pkg/compiler: assign Call.ID statically
2017-09-04 21:06:59 +02:00
Dmitry Vyukov
a27fcb3079
sys: use ptr64 type instead of ptr where necessary
2017-09-04 21:03:23 +02:00
Dmitry Vyukov
1c0d4caf7c
sys: change BitfieldLast to BitfieldMiddle
...
That's the condition we always want.
Currently we always check:
t.BitfieldOffset() == 0 || t.BitfieldLast()
now can check just:
!t.BitfieldMiddle()
2017-09-04 20:51:56 +02:00
Dmitry Vyukov
b6e402dd48
sys: remove IntSignalno
2017-09-04 20:25:23 +02:00
Dmitry Vyukov
399addc875
sys, pkg/compiler: move padding computation to compiler
...
This makes types constant during execution, everything is precomputed.
2017-09-04 20:25:23 +02:00
Dmitry Vyukov
d878c4ff43
sys: minor fixes for statx and sigevent
2017-09-04 20:25:22 +02:00
Dmitry Vyukov
e707c97f9a
pkg/compiler: move bitfield marking from sys
2017-09-04 20:25:22 +02:00