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/5.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/5.c')
-rw-r--r-- | sys/src/libmach/5.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/src/libmach/5.c b/sys/src/libmach/5.c index 6e8490ccd..9c3fde25f 100644 --- a/sys/src/libmach/5.c +++ b/sys/src/libmach/5.c @@ -4,11 +4,13 @@ #include <u.h> #include <libc.h> #include <bio.h> -#include "/arm/include/ureg.h" #include <mach.h> +#pragma pack on +#include "/arm/include/ureg.h" +#pragma pack off -#define REGOFF(x) (ulong) (&((struct Ureg *) 0)->x) +#define REGOFF(x) (uintptr)(&((struct Ureg *) 0)->x) #define SP REGOFF(r13) #define PC REGOFF(pc) |