1 /* This testcase originally provoked an unaligned access fault on Alpha.
3 Since Digital Unix and Linux (and probably others) by default fix
4 these up in the kernel, the failure was not visible unless one
5 is sitting at the console examining logs.
7 So: If we know how, ask the kernel to deliver SIGBUS instead so
8 that the test case visibly fails. */
10 #if defined(__alpha__) && defined(__linux__)
11 #include <asm/sysinfo.h>
12 #include <asm/unistd.h>
15 setsysinfo(unsigned long op
, void *buffer
, unsigned long size
,
16 int *start
, void *arg
, unsigned long flag
)
18 syscall(__NR_osf_setsysinfo
, op
, buffer
, size
, start
, arg
, flag
);
21 static void __attribute__((constructor
))
25 buf
[0] = SSIN_UACPROC
;
26 buf
[1] = UAC_SIGBUS
| UAC_NOPRINT
;
27 setsysinfo(SSI_NVPAIRS
, buf
, 1, 0, 0, 0);
31 void foo(char *a
, char *b
) { }
35 char uname
[33] = "", tty
[38] = "/dev/";