diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-03-09 02:04:08 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2014-03-09 02:04:08 +0100 |
commit | 62ffb9c16e0e0490404f3b0a7c2c7c560fd56ec4 (patch) | |
tree | afc8dd1b6952b00a0570335559cacebbc8b36ebc /sys/src/libmach/v.c | |
parent | beb7827425bc2412fc70b3c43a11564d68867d45 (diff) |
libmach: pragma pack 32bit Ureg structs for amd64
when libmach is compiled with 6c, unions in the 32bit Uregs
cause fields to be wronly aligned. use #pragma pack arround
the #include "/$objtype/include/ureg.h" statement.
Diffstat (limited to 'sys/src/libmach/v.c')
-rw-r--r-- | sys/src/libmach/v.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/src/libmach/v.c b/sys/src/libmach/v.c index f059c2598..a03799aac 100644 --- a/sys/src/libmach/v.c +++ b/sys/src/libmach/v.c @@ -4,10 +4,13 @@ #include <u.h> #include <libc.h> #include <bio.h> -#include "/mips/include/ureg.h" #include <mach.h> -#define REGOFF(x) (ulong)(&((struct Ureg *) 0)->x) +#pragma pack on +#include "/mips/include/ureg.h" +#pragma pack off + +#define REGOFF(x) (uintptr)(&((struct Ureg *) 0)->x) #define SP REGOFF(sp) #define PC REGOFF(pc) |