diff options
| author | Marco Vanotti <mvanotti@users.noreply.github.com> | 2019-04-03 16:46:38 -0700 |
|---|---|---|
| committer | Julia Hansbrough <flowerhack@google.com> | 2019-04-03 16:46:38 -0700 |
| commit | 6a475fffec57cc3b1e51794c0ebed7d169f12349 (patch) | |
| tree | 408608a9ca3593d5d30250f41309023f0bd4e260 /pkg/csource | |
| parent | 8658c256227fee97c9b5d2d2ab9a2e469759993d (diff) | |
executor: move syz_execute_func after os imports. (#1107)
This commit moves the definition of the `syz_execute_func` after the
block of code that imports all the OS specific common headers.
This is required because after commit
dfd3394d42ddd333c68cf355273b312da8c65a51 `syz_execute_func` started
using the `NONFAILING` macro, which is defined in those header files for
each OS.
I also ran `make generate`.
TEST=I only tested that the executor works for Fuchsia with:
```shell
$ make executor TARGETOS=fuchsia TARGETARCH=amd64 SOURCEDIR=~/fuchsia
```
Diffstat (limited to 'pkg/csource')
| -rw-r--r-- | pkg/csource/generated.go | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/pkg/csource/generated.go b/pkg/csource/generated.go index 0eab6956a..7d07a418e 100644 --- a/pkg/csource/generated.go +++ b/pkg/csource/generated.go @@ -361,20 +361,6 @@ static uint16 csum_inet_digest(struct csum_inet* csum) } #endif -#if SYZ_EXECUTOR || __NR_syz_execute_func -static long syz_execute_func(volatile long text) -{ - volatile long p[8] = {0}; - (void)p; -#if GOARCH_amd64 - asm volatile("" ::"r"(0l), "r"(1l), "r"(2l), "r"(3l), "r"(4l), "r"(5l), "r"(6l), - "r"(7l), "r"(8l), "r"(9l), "r"(10l), "r"(11l), "r"(12l), "r"(13l)); -#endif - NONFAILING(((void (*)(void))(text))()); - return 0; -} -#endif - #if GOOS_akaros #include <ros/syscall.h> @@ -4547,6 +4533,20 @@ static int do_sandbox_none(void) #error "unknown OS" #endif +#if SYZ_EXECUTOR || __NR_syz_execute_func +static long syz_execute_func(volatile long text) +{ + volatile long p[8] = {0}; + (void)p; +#if GOARCH_amd64 + asm volatile("" ::"r"(0l), "r"(1l), "r"(2l), "r"(3l), "r"(4l), "r"(5l), "r"(6l), + "r"(7l), "r"(8l), "r"(9l), "r"(10l), "r"(11l), "r"(12l), "r"(13l)); +#endif + NONFAILING(((void (*)(void))(text))()); + return 0; +} +#endif + #if SYZ_THREADED struct thread_t { int created, call; |
