commit 1369edef9f26a5a127b60b1163564c2570d9a7d9 from: rsc date: Tue Dec 28 17:35:10 2004 UTC move linux ureg code to portable file commit - e2f52703c2387a34f7edc86845a0b15f04830bb8 commit + 1369edef9f26a5a127b60b1163564c2570d9a7d9 blob - 8ebe03744e10597c62416a480943723755fe956e blob + 53d1af99e49643bc1192684b64acedd445efdbbf --- src/libmach/mkfile +++ src/libmach/mkfile @@ -41,6 +41,7 @@ OFILES=\ symelf.$O\ symmacho.$O\ symstabs.$O\ + ureg386.$O\ HFILES=mach.h blob - /dev/null blob + 09ef095db2596e94e60cb9a99823761810e4d6bd (mode 644) --- /dev/null +++ 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; +}