alien type improvement: handle offsets in unparse-alien-record-type
[sbcl.git] / tools-for-build / openbsd-sigcontext.sh
1 cd ./tools-for-build
2
3 base=openbsd-sigcontext
4
5 # check for sf_fpstate in struct sigframe (ie: pre July 2010)
6 rm -f "${base}.c"
7 cat > "${base}.c" <<EOF
8 #include <stddef.h>
9 #include <stdio.h>
10 #include <machine/frame.h>
11 int
12 main()
13 {
14     printf("it works: %d\n", offsetof(struct sigframe, sf_fpstate));
15     return (0);
16 }
17 EOF
18 if $GNUMAKE "${base}" > /dev/null 2>&1 && "./${base}" > /dev/null 2>&1
19 then
20     echo '#define OS_OPENBSD_FPSTATE_IN_SIGFRAME'
21 fi
22
23 # check for sc_fpstate in struct sigcontext (ie: July 2010 and later)
24 rm -f "${base}.c"
25 cat > "${base}.c" <<EOF
26 #include <stddef.h>
27 #include <stdio.h>
28 #include <signal.h>
29 int
30 main()
31 {
32     printf("it works: %d\n", offsetof(struct sigcontext, sc_fpstate));
33     return (0);
34 }
35 EOF
36 if $GNUMAKE "${base}" > /dev/null 2>&1 && "./${base}" > /dev/null 2>&1
37 then
38     echo '#define OS_OPENBSD_FPSTATE_IN_SIGCONTEXT'
39 fi
40
41 rm -f "${base}.c" "${base}"