From 4f0073fec23f47ede29845f05ff5eab502be93f9 Mon Sep 17 00:00:00 2001 From: rsc Date: Fri, 11 Jun 2004 12:52:08 +0000 Subject: back to 32 bit for now --- src/libmach/Linux.c | 15 +++++---------- src/libmach/frame.c | 4 ++-- src/libmach/loc.c | 12 ++++++------ src/libmach/map.c | 44 ++++++++++++++++++++++---------------------- src/libmach/mkfile | 2 +- src/libmach/regs.c | 8 ++++---- src/libmach/symdwarf.c | 6 +++--- 7 files changed, 43 insertions(+), 48 deletions(-) diff --git a/src/libmach/Linux.c b/src/libmach/Linux.c index 7128bdc4..12b0f9b8 100644 --- a/src/libmach/Linux.c +++ b/src/libmach/Linux.c @@ -34,8 +34,8 @@ struct PtraceRegs int pid; }; -static int ptracerw(Map*, Seg*, uvlong, void*, uint, int); -static int ptraceregrw(Regs*, char*, uvlong*, int); +static int ptracerw(Map*, Seg*, ulong, void*, uint, int); +static int ptraceregrw(Regs*, char*, ulong*, int); static int attachedpids[1000]; static int nattached; @@ -126,17 +126,12 @@ detachproc(int pid) } static int -ptracerw(Map *map, Seg *seg, uvlong addr, void *v, uint n, int isr) +ptracerw(Map *map, Seg *seg, ulong addr, void *v, uint n, int isr) { int i; u32int u; uchar buf[4]; - if(addr>>32){ - werrstr("address out of range"); - return -1; - } - addr += seg->base; for(i=0; i #include -static int fdrw(Map*, Seg*, uvlong, void*, uint, int); -static int zerorw(Map*, Seg*, uvlong, void*, uint, int); -static int mrw(Map*, uvlong, void*, uint, int); -static int datarw(Map*, Seg*, uvlong, void*, uint, int); +static int fdrw(Map*, Seg*, ulong, void*, uint, int); +static int zerorw(Map*, Seg*, ulong, void*, uint, int); +static int mrw(Map*, ulong, void*, uint, int); +static int datarw(Map*, Seg*, ulong, void*, uint, int); Map* allocmap(void) @@ -71,7 +71,7 @@ findseg(Map *map, char *name, char *file) } int -addrtoseg(Map *map, uvlong addr, Seg *sp) +addrtoseg(Map *map, ulong addr, Seg *sp) { int i; Seg *s; @@ -93,7 +93,7 @@ addrtoseg(Map *map, uvlong addr, Seg *sp) } int -addrtosegafter(Map *map, uvlong addr, Seg *sp) +addrtosegafter(Map *map, ulong addr, Seg *sp) { int i; Seg *s, *best; @@ -142,13 +142,13 @@ removeseg(Map *map, int i) } int -get1(Map *map, uvlong addr, uchar *a, uint n) +get1(Map *map, ulong addr, uchar *a, uint n) { return mrw(map, addr, a, n, 1); } int -get2(Map *map, uvlong addr, u16int *u) +get2(Map *map, ulong addr, u16int *u) { u16int v; @@ -159,7 +159,7 @@ get2(Map *map, uvlong addr, u16int *u) } int -get4(Map *map, uvlong addr, u32int *u) +get4(Map *map, ulong addr, u32int *u) { u32int v; @@ -170,7 +170,7 @@ get4(Map *map, uvlong addr, u32int *u) } int -get8(Map *map, uvlong addr, u64int *u) +get8(Map *map, ulong addr, u64int *u) { u64int v; @@ -181,37 +181,37 @@ get8(Map *map, uvlong addr, u64int *u) } int -put1(Map *map, uvlong addr, uchar *a, uint n) +put1(Map *map, ulong addr, uchar *a, uint n) { return mrw(map, addr, a, n, 0); } int -put2(Map *map, uvlong addr, u16int u) +put2(Map *map, ulong addr, u16int u) { u = mach->swap2(u); return mrw(map, addr, &u, 2, 0); } int -put4(Map *map, uvlong addr, u32int u) +put4(Map *map, ulong addr, u32int u) { u = mach->swap4(u); return mrw(map, addr, &u, 4, 0); } int -put8(Map *map, uvlong addr, u64int u) +put8(Map *map, ulong addr, u64int u) { u = mach->swap8(u); return mrw(map, addr, &u, 8, 0); } static Seg* -reloc(Map *map, uvlong addr, uint n, uvlong *off, uint *nn) +reloc(Map *map, ulong addr, uint n, ulong *off, uint *nn) { int i; - uvlong o; + ulong o; if(map == nil){ werrstr("invalid map"); @@ -236,12 +236,12 @@ reloc(Map *map, uvlong addr, uint n, uvlong *off, uint *nn) } static int -mrw(Map *map, uvlong addr, void *a, uint n, int r) +mrw(Map *map, ulong addr, void *a, uint n, int r) { uint nn; uint tot; Seg *s; - uvlong off; + ulong off; for(tot=0; totoffset + addr; @@ -279,7 +279,7 @@ fdrw(Map *map, Seg *seg, uvlong addr, void *a, uint n, int r) } static int -zerorw(Map *map, Seg *seg, uvlong addr, void *a, uint n, int r) +zerorw(Map *map, Seg *seg, ulong addr, void *a, uint n, int r) { USED(map); USED(seg); @@ -294,7 +294,7 @@ zerorw(Map *map, Seg *seg, uvlong addr, void *a, uint n, int r) } static int -datarw(Map *map, Seg *seg, uvlong addr, void *a, uint n, int r) +datarw(Map *map, Seg *seg, ulong addr, void *a, uint n, int r) { USED(map); diff --git a/src/libmach/mkfile b/src/libmach/mkfile index 3ad5384d..77426436 100644 --- a/src/libmach/mkfile +++ b/src/libmach/mkfile @@ -40,7 +40,7 @@ OFILES=\ symmacho.$O\ symstabs.$O\ -HFILES=$PLAN9/include/mach.h +HFILES=mach.h <$PLAN9/src/mksyslib CFLAGS=$CFLAGS -I. diff --git a/src/libmach/regs.c b/src/libmach/regs.c index 2ead7a33..43c04786 100644 --- a/src/libmach/regs.c +++ b/src/libmach/regs.c @@ -3,7 +3,7 @@ #include int -rput(Regs *regs, char *name, uvlong u) +rput(Regs *regs, char *name, ulong u) { if(regs == nil){ werrstr("registers not mapped"); @@ -13,7 +13,7 @@ rput(Regs *regs, char *name, uvlong u) } int -rget(Regs *regs, char *name, uvlong *u) +rget(Regs *regs, char *name, ulong *u) { if(regs == nil){ *u = ~(ulong)0; @@ -24,7 +24,7 @@ rget(Regs *regs, char *name, uvlong *u) } int -_uregrw(Regs *regs, char *name, uvlong *u, int isr) +_uregrw(Regs *regs, char *name, ulong *u, int isr) { Regdesc *r; uchar *ureg; @@ -41,7 +41,7 @@ _uregrw(Regs *regs, char *name, uvlong *u, int isr) switch(r->format){ default: case 'X': - *u = mach->swap4(*(ulong*)ureg); + *u = mach->swap4(*(u32int*)ureg); return 0; } } diff --git a/src/libmach/symdwarf.c b/src/libmach/symdwarf.c index c29f287f..eeafa8dc 100644 --- a/src/libmach/symdwarf.c +++ b/src/libmach/symdwarf.c @@ -323,11 +323,11 @@ dwarftosym(Fhdr *fp, Dwarf *d, DwarfSym *ds, Symbol *s, int infn) } static int -dwarfeval(Dwarf *d, Map *map, Regs *regs, ulong cfa, int rno, DwarfExpr e, uvlong *u) +dwarfeval(Dwarf *d, Map *map, Regs *regs, ulong cfa, int rno, DwarfExpr e, ulong *u) { int i; u32int u4; - uvlong uu; + ulong uu; switch(e.type){ case RuleUndef: @@ -400,7 +400,7 @@ _dwarfunwind(Fhdr *fhdr, Map *map, Regs *regs, ulong *next) { char *name; int i, j; - uvlong cfa, pc, u; + ulong cfa, pc, u; Dwarf *d; DwarfExpr *e, epc, ecfa; -- cgit v1.2.3