1 #define _XOPEN_SOURCE 600
9 #include "tests/sys_mman.h"
10 #include <sys/syscall.h>
16 #define STACK_SIZE 8192
19 #define CLONE_THREAD 0x00010000 /* Same thread group? */
22 static int thread_main(void *arg)
26 memset( buffer, 1, sizeof( buffer ) );
28 sleep(2); /* ppc64-linux hack */
29 return memchr( buffer, 1, sizeof( buffer ) ) == NULL;
32 int main(int argc, char **argv)
35 int stackid __attribute__((unused));
38 /* "2*" is a ppc64-linux hack */
39 if ( ( stack = mmap( NULL, 2* STACK_SIZE, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0 ) ) == MAP_FAILED )
45 stackid = VALGRIND_STACK_REGISTER( stack, stack + STACK_SIZE );
47 if ( ( pid = clone( thread_main, stack + STACK_SIZE, CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|SIGCHLD, NULL ) ) == -1 )