| /* | |
| #notarget: cris*-*-elf | |
| */ | |
| #include <unistd.h> | |
| #include <sys/syscall.h> | |
| #include <stdio.h> | |
| #include <stdlib.h> | |
| #include <errno.h> | |
| /* I can't seem to include the right things, so we do it brute force. */ | |
| int main (void) | |
| { | |
| static int sysctl_args[] = { 1, 4 }; | |
| size_t x = 8; | |
| struct __sysctl_args { | |
| int *name; | |
| int nlen; | |
| void *oldval; | |
| size_t *oldlenp; | |
| void *newval; | |
| size_t newlen; | |
| unsigned long __unused[4]; | |
| } scargs | |
| = | |
| { | |
| sysctl_args, | |
| sizeof (sysctl_args) / sizeof (sysctl_args[0]), | |
| (void *) -1, &x, NULL, 0 | |
| }; | |
| if (syscall (SYS__sysctl, &scargs) != -1 | |
| || errno != EFAULT) | |
| abort (); | |
| printf ("pass\n"); | |
| exit (0); | |
| } |