From 1369edef9f26a5a127b60b1163564c2570d9a7d9 Mon Sep 17 00:00:00 2001 From: rsc Date: Tue, 28 Dec 2004 17:35:10 +0000 Subject: move linux ureg code to portable file --- src/libmach/mkfile | 1 + src/libmach/ureg386.c | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 src/libmach/ureg386.c (limited to 'src') diff --git a/src/libmach/mkfile b/src/libmach/mkfile index 8ebe0374..53d1af99 100644 --- a/src/libmach/mkfile +++ b/src/libmach/mkfile @@ -41,6 +41,7 @@ OFILES=\ symelf.$O\ symmacho.$O\ symstabs.$O\ + ureg386.$O\ HFILES=mach.h diff --git a/src/libmach/ureg386.c b/src/libmach/ureg386.c new file mode 100644 index 00000000..09ef095d --- /dev/null +++ b/src/libmach/ureg386.c @@ -0,0 +1,36 @@ +#include +#include +#include +#include +#include "ureg386.h" + + +Ureg* +_linux2ureg386(UregLinux386 *l) +{ + Ureg *u; + + u = malloc(sizeof(Ureg)); + if(u == nil) + return nil; + u->di = l->edi; + u->si = l->esi; + u->bp = l->ebp; + u->nsp = l->esp; + u->bx = l->ebx; + u->dx = l->edx; + u->cx = l->ecx; + u->ax = l->eax; + u->gs = l->xgs; + u->fs = l->xfs; + u->es = l->xes; + u->ds = l->xds; + u->trap = ~0; // l->trapno; + u->ecode = ~0; // l->err; + u->pc = l->eip; + u->cs = l->xcs; + u->flags = l->eflags; + u->sp = l->esp; + u->ss = l->xss; + return u; +} -- cgit v1.2.3