summaryrefslogtreecommitdiff
path: root/sys/src/libmach/8.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2014-03-09 02:04:08 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2014-03-09 02:04:08 +0100
commit62ffb9c16e0e0490404f3b0a7c2c7c560fd56ec4 (patch)
treeafc8dd1b6952b00a0570335559cacebbc8b36ebc /sys/src/libmach/8.c
parentbeb7827425bc2412fc70b3c43a11564d68867d45 (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/8.c')
-rw-r--r--sys/src/libmach/8.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/src/libmach/8.c b/sys/src/libmach/8.c
index 82df2b7d4..21a94ba65 100644
--- a/sys/src/libmach/8.c
+++ b/sys/src/libmach/8.c
@@ -4,10 +4,13 @@
#include <u.h>
#include <libc.h>
#include <bio.h>
-#include "/386/include/ureg.h"
#include <mach.h>
-#define REGOFF(x) (ulong)(&((struct Ureg *) 0)->x)
+#pragma pack on
+#include "/386/include/ureg.h"
+#pragma pack off
+
+#define REGOFF(x) (uintptr)(&((struct Ureg *) 0)->x)
#define PC REGOFF(pc)
#define SP REGOFF(sp)