diff options
Diffstat (limited to 'sys/i386/linux/linux_genassym.c')
-rw-r--r-- | sys/i386/linux/linux_genassym.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/sys/i386/linux/linux_genassym.c b/sys/i386/linux/linux_genassym.c index 7c69d1b..76b8ced 100644 --- a/sys/i386/linux/linux_genassym.c +++ b/sys/i386/linux/linux_genassym.c @@ -1,23 +1,25 @@ -/* $Id: linux_genassym.c,v 1.6 1997/08/25 23:36:23 bde Exp $ */ +/* $Id: linux_genassym.c,v 1.7 1998/02/01 18:47:56 bde Exp $ */ #include <sys/param.h> #include <i386/linux/linux.h> +#define offsetof(type, member) ((size_t)(&((type *)0)->member)) +#define OS(s, m) ((u_int)offsetof(struct s, m)) + int main __P((void)); int printf __P((const char *, ...)); int main() { - struct linux_sigframe *linux_sigf = (struct linux_sigframe *)0; - struct linux_sigcontext *linux_sc = (struct linux_sigcontext *)0; - - printf("#define\tLINUX_SIGF_HANDLER %d\n", &linux_sigf->sf_handler); - printf("#define\tLINUX_SIGF_SC %d\n", &linux_sigf->sf_sc); - printf("#define\tLINUX_SC_FS %d\n", &linux_sc->sc_fs); - printf("#define\tLINUX_SC_GS %d\n", &linux_sc->sc_gs); - printf("#define\tLINUX_SC_EFLAGS %d\n", &linux_sc->sc_eflags); + printf("#define\tLINUX_SIGF_HANDLER %u\n", + OS(linux_sigframe, sf_handler)); + printf("#define\tLINUX_SIGF_SC %u\n", OS(linux_sigframe, sf_sc)); + printf("#define\tLINUX_SC_FS %u\n", OS(linux_sigcontext, sc_fs)); + printf("#define\tLINUX_SC_GS %u\n", OS(linux_sigcontext, sc_gs)); + printf("#define\tLINUX_SC_EFLAGS %u\n", + OS(linux_sigcontext, sc_eflags)); return (0); } |