From 6a475fffec57cc3b1e51794c0ebed7d169f12349 Mon Sep 17 00:00:00 2001 From: Marco Vanotti Date: Wed, 3 Apr 2019 16:46:38 -0700 Subject: 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 ``` --- pkg/csource/generated.go | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'pkg') 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 @@ -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; -- cgit mrf-deployment