Start working through proper handling of pthreads when
debugging Linux core dumps.  Pthreads for active processes
is still not supported, nor are other systems.
diff --git a/src/libmach/ureg386.c b/src/libmach/ureg386.c
index 09ef095..7694503 100644
--- a/src/libmach/ureg386.c
+++ b/src/libmach/ureg386.c
@@ -1,18 +1,11 @@
 #include <u.h>
 #include <libc.h>
 #include <mach.h>
-#include <elf.h>
 #include "ureg386.h"
 
-
-Ureg*
-_linux2ureg386(UregLinux386 *l)
+void
+linux2ureg386(UregLinux386 *l, Ureg *u)
 {
-	Ureg *u;
-
-	u = malloc(sizeof(Ureg));
-	if(u == nil)
-		return nil;
 	u->di = l->edi;
 	u->si = l->esi;
 	u->bp = l->ebp;
@@ -32,5 +25,27 @@
 	u->flags = l->eflags;
 	u->sp = l->esp;
 	u->ss = l->xss;
-	return u;
 }
+
+void
+ureg2linux386(Ureg *u, UregLinux386 *l)
+{
+	l->edi = u->di;
+	l->esi = u->si;
+	l->ebp = u->bp;
+	l->esp = u->nsp;
+	l->ebx = u->bx;
+	l->edx = u->dx;
+	l->ecx = u->cx;
+	l->eax = u->ax;
+	l->xgs = u->gs;
+	l->xfs = u->fs;
+	l->xes = u->es;
+	l->xds = u->ds;
+	l->eip = u->pc;
+	l->xcs = u->cs;
+	l->eflags = u->flags;
+	l->esp = u->sp;
+	l->xss = u->ss;
+}
+