From: Nick Downing Date: Wed, 25 Jan 2017 10:17:06 +0000 (+1100) Subject: Demacify and uniqify bin/adb X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=d3cd7644d735f340e681a7f4034273c2351211cf;p=43bsd.git Demacify and uniqify bin/adb --- diff --git a/bin/adb/access.c b/bin/adb/access.c index 2ac4865..03b91bf 100644 --- a/bin/adb/access.c +++ b/bin/adb/access.c @@ -1,11 +1,11 @@ #ifndef lint -static char sccsid[] = "@(#)access.c 4.8 10/13/84"; +static char sccsid[] = "@(#)_access.c 4.8 10/13/84"; #endif /* - * Adb: access data in file/process address space. + * Adb: _access data in file/process address space. * - * The routines in this file access referenced data using - * the maps to access files, ptrace to access subprocesses, + * The routines in this file _access referenced data using + * the maps to _access files, ptrace to _access subprocesses, * or the system page tables when debugging the kernel, * to translate virtual to physical addresses. */ @@ -13,24 +13,24 @@ static char sccsid[] = "@(#)access.c 4.8 10/13/84"; #include "defs.h" -MAP txtmap; -MAP datmap; -INT wtflag; -STRING errflg; -INT errno; +struct map txtmap; +struct map datmap; +short wtflag; +char *errflg; +short errno; -INT pid; +short pid; /* * Primitives: put a value in a space, get a value from a space * and get a word or byte not returning if an error occurred. */ put(addr, space, value) - off_t addr; { (void) access(WT, addr, space, value); } + off_t addr; { (void) _access(WT, addr, space, value); } u_int get(addr, space) - off_t addr; { return (access(RD, addr, space, 0)); }; + off_t addr; { return (_access(RD, addr, space, 0)); }; u_int chkget(addr, space) @@ -38,7 +38,7 @@ chkget(addr, space) u_int bchkget(addr, space) - off_t addr; { return(chkget(addr, space) & LOBYTE); } + off_t addr; { return(chkget(addr, space) & 0377); } /* * Read/write according to mode at address addr in i/d space. @@ -53,7 +53,7 @@ bchkget(addr, space) * relative to the ``current'' process (as specified by its p_addr in * b1,amap->e1) - THEN IF within(*addr,amap->b2,amap->e2) - THEN *addr += (amap->f2)-(amap->b2); - ELSE rwerr(space); return(0); - FI - ELSE *addr += (amap->f1)-(amap->b1); - FI + if (space&STAR || !within(*addr,amap->b1,amap->e1)) { + if (within(*addr,amap->b2,amap->e2)) { + *addr += (amap->f2)-(amap->b2); + } + else { + rwerr(space); return(0); + } + } + else { + *addr += (amap->f1)-(amap->b1); + } return(1); } diff --git a/bin/adb/command.c b/bin/adb/command.c index 5d695d7..9e31e24 100644 --- a/bin/adb/command.c +++ b/bin/adb/command.c @@ -9,37 +9,37 @@ static char sccsid[] = "@(#)command.c 4.6 10/13/84"; #include "defs.h" -MSG BADEQ; -MSG NOMATCH; -MSG BADVAR; -MSG BADCOM; - -MAP txtmap; -MAP datmap; -INT executing; -CHAR *lp; -INT fcor; -INT fsym; -INT mkfault; -STRING errflg; - -CHAR lastc; -CHAR eqformat[512] = "z"; -CHAR stformat[512] = "X\"= \"^i"; - -L_INT dot; -L_INT ditto; -INT dotinc; -INT lastcom = '='; -L_INT var[]; -L_INT locval; -L_INT locmsk; -INT pid; -L_INT expv; -L_INT adrval; -INT adrflg; -L_INT cntval; -INT cntflg; +char BADEQ[]; +char NOMATCH[]; +char BADVAR[]; +char BADCOM[]; + +struct map txtmap; +struct map datmap; +short executing; +char *lp; +short fcor; +short fsym; +short mkfault; +char *errflg; + +char lastc; +char eqformat[512] = "z"; +char stformat[512] = "X\"= \"^i"; + +long dot; +long ditto; +short dotinc; +short lastcom = '='; +long var[]; +long locval; +long locmsk; +short pid; +long expv; +long adrval; +short adrflg; +long cntval; +short cntflg; @@ -47,39 +47,46 @@ INT cntflg; /* command decoding */ command(buf,defcom) -STRING buf; -CHAR defcom; +char *buf; +char defcom; { - INT itype, ptype, modifier, regptr; - BOOL longpr, eqcom; - CHAR wformat[1]; - CHAR savc; - L_INT w, savdot; - STRING savlp=lp; - IF buf - THEN IF *buf==EOR - THEN return(FALSE); - ELSE lp=buf; - FI - FI - - REP - IF adrflg=expr(0) - THEN dot=expv; ditto=dot; - FI + short itype, ptype, modifier, regptr; + bool longpr, eqcom; + char wformat[1]; + char savc; + long w, savdot; + char*CHECKME savlp=lp; + if (buf) { + if (*buf=='\n') { + return(0); + } + else { + lp=buf; + } + } + + do { + + if (adrflg=expr(0)) { + dot=expv; ditto=dot; + } adrval=dot; - IF rdc()==',' ANDF expr(0) - THEN cntflg=TRUE; cntval=expv; - ELSE cntflg=FALSE; cntval=1; lp--; - FI - - IF !eol(rdc()) - THEN lastcom=lastc; - ELSE IF adrflg==0 THEN dot=inkdot(dotinc); FI + if (rdc()==',' && expr(0)) { + cntflg=-1; cntval=expv; + } + else { + cntflg=0; cntval=1; lp--; + } + + if (!eol(rdc())) { + lastcom=lastc; + } + else { + if (adrflg==0) { dot=inkdot(dotinc); } lp--; lastcom=defcom; - FI + } - switch(lastcom&STRIP) { + switch(lastcom&0177) { case '/': itype=DSP; ptype=DSYM; @@ -90,74 +97,82 @@ CHAR defcom; goto trypr; case '?': - itype=ISP; ptype=ISYM; + itype=_ISP; ptype=ISYM; goto trystar; trystar: - IF rdc()=='*' THEN lastcom |= QUOTE; ELSE lp--; FI - IF lastcom"E - THEN itype |= STAR; ptype = (DSYM+ISYM)-ptype; - FI + if (rdc()=='*') { lastcom |= 0200; }NEWLINEelse { lp--; } + if (lastcom&0200) { + itype |= STAR; ptype = (DSYM+ISYM)-ptype; + } trypr: - longpr=FALSE; eqcom=lastcom=='='; + longpr=0; eqcom=lastcom=='='; switch (rdc()) { case 'm': {/*reset map data*/ - INT fcount; - MAP *smap; - UNION{MAP *m; L_INT *mp;}amap; + short fcount; + struct map *smap; + union{struct map *m; long *mp;}amap; - IF eqcom THEN error(BADEQ); FI + if (eqcom) { error(BADEQ); } smap=(itype&DSP?&datmap:&txtmap); amap.m=smap; fcount=3; - IF itype&STAR - THEN amap.mp += 3; - FI - WHILE fcount-- ANDF expr(0) - DO *(amap.mp)++ = expv; OD - IF rdc()=='?' THEN smap->ufd=fsym; - ELIF lastc == '/' THEN smap->ufd=fcor; - ELSE lp--; - FI + if (itype&STAR) { + amap.mp += 3; + } + while (fcount-- && expr(0)) { *(amap.mp)++ = expv; } + if (rdc()=='?') { + smap->ufd=fsym; + } + else if (lastc == '/') { + smap->ufd=fcor; + } + else { + lp--; + } } break; case 'L': - longpr=TRUE; + longpr=-1; case 'l': /*search for exp*/ - IF eqcom THEN error(BADEQ); FI + if (eqcom) { error(BADEQ); } dotinc=(longpr?4:2); savdot=dot; expr(1); locval=expv; - IF expr(0) THEN locmsk=expv; ELSE locmsk = -1L; FI - IF !longpr THEN locmsk &= 0xFFFF; locval &= 0xFFFF; FI - LOOP w=get(dot,itype); - IF errflg ORF mkfault ORF (w&locmsk)==locval THEN break; FI + if (expr(0)) { locmsk=expv; }NEWLINEelse { locmsk = -1L; } + if (!longpr) { locmsk &= 0xFFFF; locval &= 0xFFFF; } + for(;;) { + w=get(dot,itype); + if (errflg || mkfault || (w&locmsk)==locval) { break; } dot=inkdot(dotinc); - POOL - IF errflg - THEN dot=savdot; errflg=NOMATCH; - FI + } + if (errflg) { + dot=savdot; errflg=NOMATCH; + } psymoff(dot,ptype,""); break; case 'W': - longpr=TRUE; + longpr=-1; case 'w': - IF eqcom THEN error(BADEQ); FI + if (eqcom) { error(BADEQ); } wformat[0]=lastc; expr(1); - REP savdot=dot; psymoff(dot,ptype,":%16t"); exform(1,wformat,itype,ptype); + do { + savdot=dot; psymoff(dot,ptype,":%16t"); exform(1,wformat,itype,ptype); errflg=0; dot=savdot; - IF longpr - THEN put(dot,itype,expv); - ELSE put(dot,itype,itol(get(dot+2,itype),expv)); - FI + if (longpr) { + put(dot,itype,expv); + } + else { + put(dot,itype,itol(get(dot+2,itype),expv)); + } savdot=dot; - printf("=%8t"); exform(1,wformat,itype,ptype); + _printf("=%8t"); exform(1,wformat,itype,ptype); newline(); - PER expr(0) ANDF errflg==0 DONE + } while (expr(0) && errflg==0); dot=savdot; chkerr(); break; @@ -165,27 +180,33 @@ CHAR defcom; default: lp--; getformat(eqcom ? eqformat : stformat); - IF !eqcom - THEN psymoff(dot,ptype,":%16t"); - FI + if (!eqcom) { + psymoff(dot,ptype,":%16t"); + } scanform(cntval,(eqcom?eqformat:stformat),itype,ptype); } break; case '>': lastcom=0; savc=rdc(); - IF regptr=getreg(savc) - THEN IF kcore THEN + if (regptr=getreg(savc)) { + if (kcore) { + *(int *)regptr = dot; - ELSE - *(ADDR *)(((ADDR)&u)+regptr) = dot; - ptrace(PT_WRITE_U, pid, regptr, - *(ADDR *)(((ADDR)&u)+regptr)); - FI - ELIF (modifier=varchk(savc)) != -1 - THEN var[modifier]=dot; - ELSE error(BADVAR); - FI + } + else { + + *(intptr_t *)(((intptr_t)&u)+regptr) = dot; + ptrace(PT_WRITE_U, pid, regptr, + *(intptr_t *)(((intptr_t)&u)+regptr)); + } + } + else if ((modifier=varchk(savc)) != -1) { + var[modifier]=dot; + } + else { + error(BADVAR); + } break; case '!': @@ -197,12 +218,12 @@ CHAR defcom; printtrace(nextchar()); break; case ':': - IF !executing - THEN executing=TRUE; + if (!executing) { + executing=-1; subpcs(nextchar()); - executing=FALSE; + executing=0; lastcom=0; - FI + } break; case 0: @@ -213,8 +234,8 @@ CHAR defcom; } flushbuf(); - PER rdc()==';' DONE - IF buf THEN lp=savlp; ELSE lp--; FI - return(adrflg ANDF dot!=0); + } while (rdc()==';'); + if (buf) { lp=savlp; }NEWLINEelse { lp--; } + return(adrflg && dot!=0); } diff --git a/bin/adb/defs.h b/bin/adb/defs.h index 4c6b92c..d99b544 100644 --- a/bin/adb/defs.h +++ b/bin/adb/defs.h @@ -18,12 +18,12 @@ #include "mode.h" #include "head.h" -/* access modes */ +/* _access modes */ #define RD 0 #define WT 1 #define NSP 0 -#define ISP 1 +#define _ISP 1 #define DSP 2 #define STAR 4 #define STARCOM 0200 @@ -40,8 +40,8 @@ #define BKPTSET 1 #define BKPTEXEC 2 -#define USERPS PSL -#define USERPC PC +#define USERPS _PSL +#define USERPC _PC #define BPT 03 #define TBIT 020 #define FD 0200 @@ -52,30 +52,30 @@ /* the quantities involving ctob() are located in the kernel stack. */ /* the others are in the pcb. */ -#define KSP 0 -#define ESP 4 -#define SSP 8 -#define USP (ctob(UPAGES)-5*sizeof(int)) -#define R0 (ctob(UPAGES)-18*sizeof(int)) -#define R1 (ctob(UPAGES)-17*sizeof(int)) -#define R2 (ctob(UPAGES)-16*sizeof(int)) -#define R3 (ctob(UPAGES)-15*sizeof(int)) -#define R4 (ctob(UPAGES)-14*sizeof(int)) -#define R5 (ctob(UPAGES)-13*sizeof(int)) -#define R6 (ctob(UPAGES)-12*sizeof(int)) -#define R7 (ctob(UPAGES)-11*sizeof(int)) -#define R8 (ctob(UPAGES)-10*sizeof(int)) -#define R9 (ctob(UPAGES)-9*sizeof(int)) -#define R10 (ctob(UPAGES)-8*sizeof(int)) -#define R11 (ctob(UPAGES)-7*sizeof(int)) -#define AP (ctob(UPAGES)-21*sizeof(int)) -#define FP (ctob(UPAGES)-20*sizeof(int)) -#define PC (ctob(UPAGES)-2*sizeof(int)) -#define PSL (ctob(UPAGES)-1*sizeof(int)) -#define P0BR 80 -#define P0LR 84 -#define P1BR 88 -#define P1LR 92 +#define _KSP 0 +#define _ESP 4 +#define _SSP 8 +#define _USP (ctob(UPAGES)-5*sizeof(int)) +#define _R0 (ctob(UPAGES)-18*sizeof(int)) +#define _R1 (ctob(UPAGES)-17*sizeof(int)) +#define _R2 (ctob(UPAGES)-16*sizeof(int)) +#define _R3 (ctob(UPAGES)-15*sizeof(int)) +#define _R4 (ctob(UPAGES)-14*sizeof(int)) +#define _R5 (ctob(UPAGES)-13*sizeof(int)) +#define _R6 (ctob(UPAGES)-12*sizeof(int)) +#define _R7 (ctob(UPAGES)-11*sizeof(int)) +#define _R8 (ctob(UPAGES)-10*sizeof(int)) +#define _R9 (ctob(UPAGES)-9*sizeof(int)) +#define _R10 (ctob(UPAGES)-8*sizeof(int)) +#define _R11 (ctob(UPAGES)-7*sizeof(int)) +#define _AP (ctob(UPAGES)-21*sizeof(int)) +#define _FP (ctob(UPAGES)-20*sizeof(int)) +#define _PC (ctob(UPAGES)-2*sizeof(int)) +#define _PSL (ctob(UPAGES)-1*sizeof(int)) +#define _P0BR 80 +#define _P0LR 84 +#define _P1BR 88 +#define _P1LR 92 #define MAXOFF 255 #define MAXPOS 80 @@ -83,8 +83,8 @@ /* long to ints and back (puns) */ union { - INT I[2]; - L_INT L; + short I[2]; + long L; } itolws; #ifndef vax @@ -98,13 +98,13 @@ union { #endif /* result type declarations */ -L_INT inkdot(); -POS get(); -POS chkget(); -STRING exform(); -L_INT round(); -BKPTR scanbkpt(); -VOID fault(); +long inkdot(); +unsigned get(); +unsigned chkget(); +char*CHECKME exform(); +long round(); +struct bkpt*CHECKME scanbkpt(); +void fault(); struct pcb pcb; int kernel; diff --git a/bin/adb/expr.c b/bin/adb/expr.c index 2336fd7..cc976b7 100644 --- a/bin/adb/expr.c +++ b/bin/adb/expr.c @@ -9,48 +9,48 @@ static char sccsid[] = "@(#)expr.c 4.8 8/11/83"; #include "defs.h" -MSG BADSYM; -MSG BADVAR; -MSG BADKET; -MSG BADSYN; -MSG NOCFN; -MSG NOADR; -MSG BADLOC; +char BADSYM[]; +char BADVAR[]; +char BADKET[]; +char BADSYN[]; +char NOCFN[]; +char NOADR[]; +char BADLOC[]; -ADDR lastframe; -ADDR savlastf; -ADDR savframe; -ADDR savpc; -ADDR callpc; +intptr_t lastframe; +intptr_t savlastf; +intptr_t savframe; +intptr_t savpc; +intptr_t callpc; -CHAR *lp; -INT radix; -STRING errflg; -L_INT localval; -CHAR isymbol[1024]; +char *lp; +short radix; +char *errflg; +long localval; +char isymbol[1024]; -CHAR lastc,peekc; +char lastc,peekc; -L_INT dot; -L_INT ditto; -INT dotinc; -L_INT var[]; -L_INT expv; +long dot; +long ditto; +short dotinc; +long var[]; +long expv; expr(a) { /* term | term dyadic expr | */ - INT rc; - L_INT lhs; + short rc; + long lhs; rdc(); lp--; rc=term(a); - WHILE rc - DO lhs = expv; + while (rc) { + lhs = expv; switch ((int)readchar()) { @@ -76,13 +76,13 @@ expr(a) term(a|1); expv |= lhs; break; case ')': - IF (a&2)==0 THEN error(BADKET); FI + if ((a&2)==0) { error(BADKET); } default: lp--; return(rc); } - OD + } return(rc); } @@ -95,7 +95,7 @@ term(a) term(a|1); expv=chkget(expv,DSP); return(1); case '@': - term(a|1); expv=chkget(expv,ISP); return(1); + term(a|1); expv=chkget(expv,_ISP); return(1); case '-': term(a|1); expv = -expv; return(1); @@ -108,10 +108,12 @@ term(a) case '(': expr(2); - IF *lp!=')' - THEN error(BADSYN); - ELSE lp++; return(1); - FI + if (*lp!=')') { + error(BADSYN); + } + else { + lp++; return(1); + } default: lp--; @@ -121,174 +123,205 @@ term(a) item(a) { /* name [ . local ] | number | . | ^ | n_un.n_name,isymbol,'~') - THEN break; - FI + if (eqsym(cursym->n_un.n_name,isymbol,'~')) { + break; + } callpc=get(frame+16, DSP); lastframe=frame; - frame=get(frame+12,DSP)&EVEN; - IF frame==0 - THEN error(NOCFN); - FI - OD + frame=get(frame+12,DSP)&-2; + if (frame==0) { + error(NOCFN); + } + } savlastf=lastframe; savframe=frame; readchar(); - IF symchar(0) - THEN chkloc(expv=frame); - FI - ELIF (symp=lookup(isymbol))==0 THEN error(BADSYM); - ELSE expv = symp->n_value; - FI + if (symchar(0)) { + chkloc(expv=frame); + } + } + else if ((symp=lookup(isymbol))==0) { + error(BADSYM); + } + else { + expv = symp->n_value; + } lp--; - ELIF getnum(readchar) - THEN ; - ELIF lastc=='.' - THEN readchar(); - IF symchar(0) - THEN lastframe=savlastf; callpc=savpc; + } + else if (getnum(readchar)) { + ; + } + else if (lastc=='.') { + readchar(); + if (symchar(0)) { + lastframe=savlastf; callpc=savpc; chkloc(savframe); - ELSE expv=dot; - FI + } + else { + expv=dot; + } lp--; - ELIF lastc=='"' - THEN expv=ditto; - - ELIF lastc=='+' - THEN expv=inkdot(dotinc); - - ELIF lastc=='^' - THEN expv=inkdot(-dotinc); - - ELIF lastc=='<' - THEN savc=rdc(); - IF regptr=getreg(savc) - THEN IF kcore THEN expv = *(int *)regptr; - ELSE expv= * (ADDR *)(((ADDR)&u)+regptr); FI - ELIF (base=varchk(savc)) != -1 - THEN expv=var[base]; - ELSE error(BADVAR); - FI - - ELIF lastc=='\'' - THEN d=4; expv=0; - WHILE quotchar() - DO IF d-- - THEN expv = (expv << 8) | lastc; - ELSE error(BADSYN); - FI - OD - - ELIF a - THEN error(NOADR); - ELSE lp--; return(0); - FI + } + else if (lastc=='"') { + expv=ditto; + + } + else if (lastc=='+') { + expv=inkdot(dotinc); + + } + else if (lastc=='^') { + expv=inkdot(-dotinc); + + } + else if (lastc=='<') { + savc=rdc(); + if (regptr=getreg(savc)) { + if (kcore) { + expv = *(int *)regptr; + } + else { expv= * (intptr_t *)(((intptr_t)&u)+regptr); } + } + else if ((base=varchk(savc)) != -1) { + expv=var[base]; + } + else { + error(BADVAR); + } + + } + else if (lastc=='\'') { + d=4; expv=0; + while (quotchar()) { + if (d--) { + expv = (expv << 8) | lastc; + } + else { + error(BADSYN); + } + } + + } + else if (a) { + error(NOADR); + } + else { + lp--; return(0); + } return(1); } /* service routines for expression reading */ getnum(rdf) int (*rdf)(); { - INT base,d,frpt; - BOOL hex; - UNION{REAL r; L_INT i;} real; - IF isdigit(lastc) ORF (hex=TRUE, lastc=='#' ANDF isxdigit((*rdf)())) - THEN expv = 0; + short base,d,frpt; + bool hex; + union{float r; long i;} real; + if (isdigit(lastc) || (hex=-1, lastc=='#' && isxdigit((*rdf)()))) { + expv = 0; base = (hex ? 16 : radix); - WHILE (base>10 ? isxdigit(lastc) : isdigit(lastc)) - DO expv = (base==16 ? expv<<4 : expv*base); - IF (d=convdig(lastc))>=base THEN error(BADSYN); FI + while ((base>10 ? isxdigit(lastc) : isdigit(lastc))) { + expv = (base==16 ? expv<<4 : expv*base); + if ((d=convdig(lastc))>=base) { error(BADSYN); } expv += d; (*rdf)(); - IF expv==0 - THEN IF (lastc=='x' ORF lastc=='X') - THEN hex=TRUE; base=16; (*rdf)(); - ELIF (lastc=='t' ORF lastc=='T') - THEN hex=FALSE; base=10; (*rdf)(); - ELIF (lastc=='o' ORF lastc=='O') - THEN hex=FALSE; base=8; (*rdf)(); - FI - FI - OD - IF lastc=='.' ANDF (base==10 ORF expv==0) ANDF !hex - THEN real.r=expv; frpt=0; base=10; - WHILE isdigit((*rdf)()) - DO real.r *= base; frpt++; + if (expv==0) { + if ((lastc=='x' || lastc=='X')) { + hex=-1; base=16; (*rdf)(); + } + else if ((lastc=='t' || lastc=='T')) { + hex=0; base=10; (*rdf)(); + } + else if ((lastc=='o' || lastc=='O')) { + hex=0; base=8; (*rdf)(); + } + } + } + if (lastc=='.' && (base==10 || expv==0) && !hex) { + real.r=expv; frpt=0; base=10; + while (isdigit((*rdf)())) { + real.r *= base; frpt++; real.r += lastc-'0'; - OD - WHILE frpt-- - DO real.r /= base; OD + } + while (frpt--) { real.r /= base; } expv = real.i; - FI + } peekc=lastc; /* lp--; */ return(1); - ELSE return(0); - FI + } + else { + return(0); + } } readsym() { - REG char *p; + register char *p; p = isymbol; - REP IF p < &isymbol[sizeof(isymbol)-1] - THEN *p++ = lastc; - FI + do { + if (p < &isymbol[sizeof(isymbol)-1]) { + *p++ = lastc; + } readchar(); - PER symchar(1) DONE + } while (symchar(1)); *p++ = 0; } convdig(c) -CHAR c; +char c; { - IF isdigit(c) - THEN return(c-'0'); - ELIF isxdigit(c) - THEN return(c-'a'+10); - ELSE return(17); - FI + if (isdigit(c)) { + return(c-'0'); + } + else if (isxdigit(c)) { + return(c-'a'+10); + } + else { + return(17); + } } symchar(dig) { - IF lastc=='\\' THEN readchar(); return(TRUE); FI - return( isalpha(lastc) ORF lastc=='_' ORF dig ANDF isdigit(lastc) ); + if (lastc=='\\') { readchar(); return(-1); } + return( isalpha(lastc) || lastc=='_' || dig && isdigit(lastc) ); } varchk(name) { - IF isdigit(name) THEN return(name-'0'); FI - IF isalpha(name) THEN return((name&037)-1+10); FI + if (isdigit(name)) { return(name-'0'); } + if (isalpha(name)) { return((name&037)-1+10); } return(-1); } chkloc(frame) -L_INT frame; +long frame; { readsym(); - REP IF localsym(frame)==0 THEN error(BADLOC); FI + do { + if (localsym(frame)==0) { error(BADLOC); } expv=localval; - PER !eqsym(cursym->n_un.n_name,isymbol,'~') DONE + } while (!eqsym(cursym->n_un.n_name,isymbol,'~')); } eqsym(s1, s2, c) diff --git a/bin/adb/format.c b/bin/adb/format.c index 0eb522a..7157b33 100644 --- a/bin/adb/format.c +++ b/bin/adb/format.c @@ -9,135 +9,145 @@ static char sccsid[] = "@(#)format.c 4.3 2/27/86"; #include "defs.h" -MSG BADMOD; -MSG NOFORK; -MSG ADWRAP; - -INT mkfault; -CHAR *lp; -L_INT maxoff; -ADDR sigint; -ADDR sigqit; -STRING errflg; -CHAR lastc,peekc; -L_INT dot; -INT dotinc; -L_INT expv; -L_INT var[]; - - -STRING fphack; +char BADMOD[]; +char NOFORK[]; +char ADWRAP[]; + +short mkfault; +char *lp; +long maxoff; +intptr_t sigint; +intptr_t sigqit; +char *errflg; +char lastc,peekc; +long dot; +short dotinc; +long expv; +long var[]; + + +char *fphack; rdfp() { return(lastc= *fphack++); } scanform(icount,ifp,itype,ptype) -L_INT icount; -STRING ifp; +long icount; +char *ifp; { - STRING fp; - CHAR modifier; - INT fcount, init=1; - L_INT savdot; - BOOL exact; - BOOL doit = 1; - - WHILE icount - DO fp=ifp; + char *fp; + char modifier; + short fcount, init=1; + long savdot; + bool exact; + bool doit = 1; + + while (icount) { + fp=ifp; savdot=dot; init=0; - IF init==0 ANDF (exact=(findsym(dot,ptype)==0)) ANDF maxoff - THEN printf("\n%s:%16t",cursym->n_un.n_name); - FI + if (init==0 && (exact=(findsym(dot,ptype)==0)) && maxoff) { + _printf("\n%s:%16t",cursym->n_un.n_name); + } /*now loop over format*/ - WHILE *fp ANDF errflg==0 - DO IF digit(modifier = *fp) - THEN fcount = 0; - WHILE digit(modifier = *fp++) - DO fcount *= 10; + while (*fp && errflg==0) { + if (digit(modifier = *fp)) { + fcount = 0; + while (digit(modifier = *fp++)) { + fcount *= 10; fcount += modifier-'0'; - OD + } fp--; - IF fcount==0 THEN fcount = 1; FI - ELSE fcount = 1; - FI - - IF *fp==0 THEN break; FI - IF exact ANDF dot==savdot ANDF itype==ISP ANDF cursym->n_un.n_name[0]=='_' ANDF *fp=='i' - THEN exform(1,"x",itype,ptype); fp++; printc(EOR); /* entry mask */ - ELSE fp=exform(fcount,fp,itype,ptype); - FI - OD + if (fcount==0) { fcount = 1; } + } + else { + fcount = 1; + } + + if (*fp==0) { break; } + if (exact && dot==savdot && itype==_ISP && cursym->n_un.n_name[0]=='_' && *fp=='i') { + exform(1,"x",itype,ptype); fp++; printc('\n'); /* entry mask */ + } + else { + fp=exform(fcount,fp,itype,ptype); + } + } dotinc=dot-savdot; dot=savdot; - IF errflg - THEN IF icount<0 - THEN errflg=0; break; - ELSE error(errflg); - FI - FI - IF --icount - THEN dot=inkdot(dotinc); - FI - IF mkfault THEN error(0); FI - OD + if (errflg) { + if (icount<0) { + errflg=0; break; + } + else { + error(errflg); + } + } + if (--icount) { + dot=inkdot(dotinc); + } + if (mkfault) { error(0); } + } } -STRING +char*CHECKME exform(fcount,ifp,itype,ptype) -INT fcount; -STRING ifp; +short fcount; +char *ifp; { /* execute single format item `fcount' times * sets `dotinc' and moves `dot' * returns address of next format item */ - POS w; - L_INT savdot, wx; - STRING fp; - CHAR c, modifier, longpr; - L_REAL fw; + unsigned w; + long savdot, wx; + char *fp; + char c, modifier, longpr; + double fw; struct{ - L_INT sa; - INT sb,sc; + long sa; + short sb,sc; }; - WHILE fcount>0 - DO fp = ifp; c = *fp; + while (fcount>0) { + fp = ifp; c = *fp; longpr=(c>='A')&(c<='Z')|(c=='f')|(c=='4')|(c=='p'); - IF itype==NSP ORF *fp=='a' - THEN wx=dot; w=dot; - ELSE w=get(dot,itype); - IF longpr - THEN wx=itol(get(inkdot(2),itype),w); - ELSE wx=w; - FI - FI - IF c=='F' - THEN fw.sb=get(inkdot(4),itype); + if (itype==NSP || *fp=='a') { + wx=dot; w=dot; + } + else { + w=get(dot,itype); + if (longpr) { + wx=itol(get(inkdot(2),itype),w); + } + else { + wx=w; + } + } + if (c=='F') { + fw.sb=get(inkdot(4),itype); fw.sc=get(inkdot(6),itype); - FI - IF errflg THEN return(fp); FI - IF mkfault THEN error(0); FI + } + if (errflg) { return(fp); } + if (mkfault) { error(0); } var[0]=wx; modifier = *fp++; dotinc=(longpr?4:2);; - IF charpos()==0 ANDF modifier!='a' THEN printf("%16m"); FI + if (charpos()==0 && modifier!='a') { _printf("%16m"); } switch(modifier) { - case SP: case TB: + case ' ': case '\t': break; case 't': case 'T': - printf("%T",fcount); return(fp); + _printf("%T",fcount); return(fp); case 'r': case 'R': - printf("%M",fcount); return(fp); + _printf("%M",fcount); return(fp); case 'a': psymoff(dot,ptype,":%16t"); dotinc=0; break; @@ -146,89 +156,97 @@ STRING ifp; psymoff(var[0],ptype,"%16t"); break; case 'u': - printf("%-8u",w); break; + _printf("%-8u",w); break; case 'U': - printf("%-16U",wx); break; + _printf("%-16U",wx); break; case 'c': case 'C': - IF modifier=='C' - THEN printesc(w&LOBYTE); - ELSE printc(w&LOBYTE); - FI + if (modifier=='C') { + printesc(w&0377); + } + else { + printc(w&0377); + } dotinc=1; break; case 'b': case 'B': - printf("%-8o", w&LOBYTE); dotinc=1; break; + _printf("%-8o", w&0377); dotinc=1; break; case '1': - printf("%-8r", w&LOBYTE); dotinc=1; break; + _printf("%-8r", w&0377); dotinc=1; break; case '2': case 'w': - printf("%-8r", w); break; + _printf("%-8r", w); break; case '4': case 'W': - printf("%-16R", wx); break; + _printf("%-16R", wx); break; case 's': case 'S': savdot=dot; dotinc=1; - WHILE (c=get(dot,itype)&LOBYTE) ANDF errflg==0 - DO dot=inkdot(1); - IF modifier == 'S' - THEN printesc(c); - ELSE printc(c); - FI + while ((c=get(dot,itype)&0377) && errflg==0) { + dot=inkdot(1); + if (modifier == 'S') { + printesc(c); + } + else { + printc(c); + } endline(); - OD + } dotinc=dot-savdot+1; dot=savdot; break; case 'x': - printf("%-8x",w); break; + _printf("%-8x",w); break; case 'X': - printf("%-16X", wx); break; + _printf("%-16X", wx); break; case 'Y': - printf("%-24Y", wx); break; + _printf("%-24Y", wx); break; case 'q': - printf("%-8q", w); break; + _printf("%-8q", w); break; case 'Q': - printf("%-16Q", wx); break; + _printf("%-16Q", wx); break; case 'o': - printf("%-8o", w); break; + _printf("%-8o", w); break; case 'O': - printf("%-16O", wx); break; + _printf("%-16O", wx); break; case 'i': - printins(0,itype,w); printc(EOR); break; + printins(0,itype,w); printc('\n'); break; case 'd': - printf("%-8d", w); break; + _printf("%-8d", w); break; case 'D': - printf("%-16D", wx); break; + _printf("%-16D", wx); break; case 'f': fw = 0; fw.sa = wx; - IF (wx & ~0xFFFF00FF) == 0x8000 - THEN printf("(reserved oprnd)"); - ELSE printf("%-16.9f", fw); - FI + if ((wx & ~0xFFFF00FF) == 0x8000) { + _printf("(reserved oprnd)"); + } + else { + _printf("%-16.9f", fw); + } dotinc=4; break; case 'F': fw.sa = wx; - IF (wx & ~0xFFFF00FF) == 0x8000 - THEN printf("%-32s", "(reserved oprnd)"); - ELSE printf("%-32.18F", fw); - FI + if ((wx & ~0xFFFF00FF) == 0x8000) { + _printf("%-32s", "(reserved oprnd)"); + } + else { + _printf("%-32.18F", fw); + } dotinc=8; break; case 'n': case 'N': @@ -236,9 +254,8 @@ STRING ifp; case '"': dotinc=0; - WHILE *fp != '"' ANDF *fp - DO printc(*fp++); OD - IF *fp THEN fp++; FI + while (*fp != '"' && *fp) { printc(*fp++); } + if (*fp) { fp++; } break; case '^': @@ -252,11 +269,11 @@ STRING ifp; default: error(BADMOD); } - IF itype!=NSP - THEN dot=inkdot(dotinc); - FI + if (itype!=NSP) { + dot=inkdot(dotinc); + } fcount--; endline(); - OD + } return(fp); } @@ -264,56 +281,64 @@ STRING ifp; shell() { #ifndef EDDT - INT rc, status, unixpid; - STRING argp = lp; - STRING getenv(), shell = getenv("SHELL"); + short rc, status, unixpid; + char*CHECKME argp = lp; + char*CHECKME getenv(), shell = getenv("SHELL"); #ifdef VFORK char oldstlp; #endif if (shell == 0) shell = "/bin/sh"; - WHILE lastc!=EOR DO rdc(); OD + while (lastc!='\n') { rdc(); } #ifndef VFORK - IF (unixpid=fork())==0 + if ((unixpid=fork())==0 #else oldstlp = *lp; - IF (unixpid=vfork())==0 -#endif - THEN signal(SIGINT,sigint); signal(SIGQUIT,sigqit); + if ((unixpid=vfork())==0 +#endif) { + signal(SIGINT,sigint); signal(SIGQUIT,sigqit); *lp=0; execl(shell, "sh", "-c", argp, 0); _exit(16); #ifndef VFORK - ELIF unixpid == -1 + } + else if (unixpid == -1 #else - ELIF *lp = oldstlp, unixpid == -1 -#endif - THEN error(NOFORK); - ELSE signal(SIGINT,1); - WHILE (rc = wait(&status)) != unixpid ANDF rc != -1 DONE + } + else if (*lp = oldstlp, unixpid == -1 +#endif) { + error(NOFORK); + } + else { + signal(SIGINT,1); + while ((rc = wait(&status)) != unixpid && rc != -1); signal(SIGINT,sigint); prints("!"); lp--; - FI + } #endif } printesc(c) { - c &= STRIP; - IF c==0177 THEN printf("^?"); - ELIF c> 24 THEN error(ADWRAP); FI + if ((dot ^ newdot) >> 24) { error(ADWRAP); } return(newdot); } diff --git a/bin/adb/head.h b/bin/adb/head.h index 6a2db38..a01a8d4 100644 --- a/bin/adb/head.h +++ b/bin/adb/head.h @@ -1,7 +1,7 @@ /* head.h 4.1 81/05/14 */ -ADDR maxoff; -ADDR localval; +intptr_t maxoff; +intptr_t localval; struct nlist *symtab, *esymtab; struct nlist *cursym; @@ -13,14 +13,14 @@ long var[36]; int xargc; -MAP txtmap; -MAP datmap; -INT wtflag; -INT fcor; -INT fsym; -L_INT maxfile; -L_INT maxstor; -INT signo; +struct map txtmap; +struct map datmap; +short wtflag; +short fcor; +short fsym; +long maxfile; +long maxstor; +short signo; union { struct user U; diff --git a/bin/adb/input.c b/bin/adb/input.c index 99dcba5..60c96a1 100644 --- a/bin/adb/input.c +++ b/bin/adb/input.c @@ -9,75 +9,85 @@ static char sccsid[] = "@(#)input.c 4.2 8/11/83"; #include "defs.h" -INT mkfault; -CHAR line[LINSIZ]; -INT infile; -CHAR *lp; -CHAR peekc,lastc = EOR; -INT eof; +short mkfault; +char line[LINSIZ]; +short infile; +char *lp; +char peekc,lastc = '\n'; +short eof; /* input routines */ eol(c) -CHAR c; +char c; { - return(c==EOR ORF c==';'); + return(c=='\n' || c==';'); } rdc() -{ REP readchar(); - PER lastc==SP ORF lastc==TB - DONE +{ do {NEWLINE readchar(); + } while (lastc==' ' || lastc=='\t'); return(lastc); } readchar() { - IF eof - THEN lastc=0; - ELSE IF lp==0 - THEN lp=line; - REP eof = read(infile,lp,1)==0; - IF mkfault THEN error(0); FI - PER eof==0 ANDF *lp++!=EOR DONE + if (eof) { + lastc=0; + } + else { + if (lp==0) { + lp=line; + do { + eof = read(infile,lp,1)==0; + if (mkfault) { error(0); } + } while (eof==0 && *lp++!='\n'); *lp=0; lp=line; - FI - IF lastc = peekc THEN peekc=0; - ELIF lastc = *lp THEN lp++; - FI - FI + } + if (lastc = peekc) { + peekc=0; + } + else if (lastc = *lp) { + lp++; + } + } return(lastc); } nextchar() { - IF eol(rdc()) - THEN lp--; return(0); - ELSE return(lastc); - FI + if (eol(rdc())) { + lp--; return(0); + } + else { + return(lastc); + } } quotchar() { - IF readchar()=='\\' - THEN return(readchar()); - ELIF lastc=='\'' - THEN return(0); - ELSE return(lastc); - FI + if (readchar()=='\\') { + return(readchar()); + } + else if (lastc=='\'') { + return(0); + } + else { + return(lastc); + } } getformat(deformat) -STRING deformat; +char *deformat; { - REG STRING fptr; - REG BOOL quote; - fptr=deformat; quote=FALSE; - WHILE (quote ? readchar()!=EOR : !eol(readchar())) - DO IF (*fptr++ = lastc)=='"' - THEN quote = ~quote; - FI - OD + register char *fptr; + register bool quote; + fptr=deformat; quote=0; + while ((quote ? readchar()!='\n' : !eol(readchar()))) { + if ((*fptr++ = lastc)=='"') { + quote = ~quote; + } + } lp--; - IF fptr!=deformat THEN *fptr++ = '\0'; FI + if (fptr!=deformat) { *fptr++ = '\0'; } } diff --git a/bin/adb/main.c b/bin/adb/main.c index 0bf3c6f..711741d 100644 --- a/bin/adb/main.c +++ b/bin/adb/main.c @@ -4,25 +4,25 @@ static char sccsid[] = "@(#)main.c 4.3 4/1/82"; */ #include "defs.h" -MSG NOEOR; +char NOEOR[]; -INT mkfault; -INT executing; -INT infile; -CHAR *lp; -L_INT maxoff; -L_INT maxpos; -ADDR sigint; -ADDR sigqit; -INT wtflag; -L_INT maxfile; -STRING errflg; -L_INT exitflg; +short mkfault; +short executing; +short infile; +char *lp; +long maxoff; +long maxpos; +intptr_t sigint; +intptr_t sigqit; +short wtflag; +long maxfile; +char *errflg; +long exitflg; -CHAR lastc; -INT eof; +char lastc; +short eof; -INT lastcom; +short lastcom; long maxoff = MAXOFF; long maxpos = MAXPOS; @@ -70,7 +70,7 @@ another: for (;;) { flushbuf(); if (errflg) { - printf("%s\n", errflg); + _printf("%s\n", errflg); exitflg = errflg; errflg = 0; } @@ -99,13 +99,13 @@ done() exit(exitflg); } -L_INT +long round(a,b) -REG L_INT a, b; +register long a, b; { - REG L_INT w; + register long w; w = (a/b)*b; - IF a!=w THEN w += b; FI + if (a!=w) { w += b; } return(w); } diff --git a/bin/adb/message.c b/bin/adb/message.c index 1099d7c..c892fd6 100644 --- a/bin/adb/message.c +++ b/bin/adb/message.c @@ -10,33 +10,33 @@ static char sccsid[] = "@(#)message.c 4.3 8/11/83"; #include "mac.h" #include "mode.h" -MSG VERSION = "\nVERSION VM/VAX4.3 DATE 8/11/83\n"; +char[]CHECKME VERSION = "\nVERSION VM/VAX4.3 DATE 8/11/83\n"; -MSG BADMOD = "bad modifier"; -MSG BADCOM = "bad command"; -MSG BADSYM = "symbol not found"; -MSG BADLOC = "automatic variable not found"; -MSG NOCFN = "c routine not found"; -MSG NOMATCH = "cannot locate value"; -MSG NOBKPT = "no breakpoint set"; -MSG BADKET = "unexpected ')'"; -MSG NOADR = "address expected"; -MSG NOPCS = "no process"; -MSG BADVAR = "bad variable"; -MSG EXBKPT = "too many breakpoints"; -MSG A68BAD = "bad a68 frame"; -MSG A68LNK = "bad a68 link"; -MSG ADWRAP = "address wrap around"; -MSG BADEQ = "unexpected `='"; -MSG BADWAIT = "wait error: process disappeared!"; -MSG ENDPCS = "process terminated"; -MSG NOFORK = "try again"; -MSG BADSYN = "syntax error"; -MSG NOEOR = "newline expected"; -MSG SZBKPT = "bkpt: command too long"; -MSG BADFIL = "bad file format"; -MSG BADNAM = "not enough space for symbols"; -MSG LONGFIL = "filename too long"; -MSG NOTOPEN = "cannot open"; -MSG BADMAG = "bad core magic number"; -MSG TOODEEP = "$<< nesting too deep"; +char[]CHECKME BADMOD = "bad modifier"; +char[]CHECKME BADCOM = "bad command"; +char[]CHECKME BADSYM = "symbol not found"; +char[]CHECKME BADLOC = "automatic variable not found"; +char[]CHECKME NOCFN = "c routine not found"; +char[]CHECKME NOMATCH = "cannot locate value"; +char[]CHECKME NOBKPT = "no breakpoint set"; +char[]CHECKME BADKET = "unexpected ')'"; +char[]CHECKME NOADR = "address expected"; +char[]CHECKME NOPCS = "no process"; +char[]CHECKME BADVAR = "bad variable"; +char[]CHECKME EXBKPT = "too many breakpoints"; +char[]CHECKME A68BAD = "bad a68 frame"; +char[]CHECKME A68LNK = "bad a68 link"; +char[]CHECKME ADWRAP = "address wrap around"; +char[]CHECKME BADEQ = "unexpected `='"; +char[]CHECKME BADWAIT = "wait error: process disappeared!"; +char[]CHECKME ENDPCS = "process terminated"; +char[]CHECKME NOFORK = "try again"; +char[]CHECKME BADSYN = "syntax error"; +char[]CHECKME NOEOR = "newline expected"; +char[]CHECKME SZBKPT = "bkpt: command too long"; +char[]CHECKME BADFIL = "bad file format"; +char[]CHECKME BADNAM = "not enough space for symbols"; +char[]CHECKME LONGFIL = "filename too long"; +char[]CHECKME NOTOPEN = "cannot open"; +char[]CHECKME BADMAG = "bad core magic number"; +char[]CHECKME TOODEEP = "$<< nesting too deep"; diff --git a/bin/adb/mode.h b/bin/adb/mode.h index 6c27b64..eb83cda 100644 --- a/bin/adb/mode.h +++ b/bin/adb/mode.h @@ -18,27 +18,27 @@ typedef char bool; /* file address maps */ struct map { - L_INT b1; - L_INT e1; - L_INT f1; - L_INT b2; - L_INT e2; - L_INT f2; - INT ufd; + long b1; + long e1; + long f1; + long b2; + long e2; + long f2; + short ufd; }; struct bkpt { - ADDR loc; - ADDR ins; - INT count; - INT initcnt; - INT flag; - CHAR comm[MAXCOM]; - BKPT *nxtbkpt; + intptr_t loc; + intptr_t ins; + short count; + short initcnt; + short flag; + char comm[MAXCOM]; + struct bkpt *nxtbkpt; }; struct reglist { - STRING rname; - INT roffs; + char *rname; + short roffs; int *rkern; }; diff --git a/bin/adb/opset.c b/bin/adb/opset.c index ac08f20..dc6e969 100644 --- a/bin/adb/opset.c +++ b/bin/adb/opset.c @@ -14,19 +14,19 @@ static char sccsid[] = "@(#)opset.c 4.5 5/27/85"; #include "head.h" #endif SDB -L_INT dot; -INT dotinc; -L_INT insoutvar[36]; +long dot; +short dotinc; +long insoutvar[36]; #ifdef ADB -L_INT var[36]; +long var[36]; #endif ADB #undef INSTTAB #include "instrs.h" -STRING regname[]; -STRING fltimm[]; -POS type, space, incp; +char*CHECKME regname[]; +char*CHECKME fltimm[]; +unsigned type, space, incp; /* * Definitions for registers and for operand classes */ @@ -94,7 +94,7 @@ int mapescbyte(byte) mkioptab() { - REG struct insttab *p; + register struct insttab *p; int mapchar; for(p = insttab; p->iname; p++){ @@ -137,8 +137,8 @@ printins(fmt, Idsp, ins) char *indexreg; /* print of which register indexes */ char *indexed; /* we indexed */ char *operandout(); - REG u_char *ap; - REG struct insttab *ip; + register u_char *ap; + register struct insttab *ip; u_char optype; int mapchar; @@ -148,7 +148,7 @@ printins(fmt, Idsp, ins) #ifdef SDB procp = adrtoprocp(dot); if (procp->paddr == dot){ - printf("0x%04.4x", ins); + _printf("0x%04.4x", ins); incp = 2; goto ret; } @@ -176,11 +176,11 @@ printins(fmt, Idsp, ins) } } if (ioptab[mapchar][ins] == 0){ - printf(": %x", ins); + _printf(": %x", ins); goto ret; } ip = &insttab[ioptab[mapchar][ins] - 1]; - printf("%s\t", ip->iname); + _printf("%s\t", ip->iname); for (ap = ip->argtype, argno = 0; argno < ip->nargs; argno++, ap++) { savevar(0x80000000); /* an illegal symbol */ @@ -204,7 +204,7 @@ printins(fmt, Idsp, ins) } indexreg = operandout(mode, optype); if (indexed) - printf("[%s]", indexed); + _printf("[%s]", indexed); indexed = indexreg; } while(indexed); } @@ -234,19 +234,19 @@ casebody(base, limit) long limit; { int i; - POS baseincp; - POS advincp; + unsigned baseincp; + unsigned advincp; struct as_number *valuep; #define OSIZE (sizeof(short)) argno = 0; baseincp = incp; for (i = 0; i <= limit; i++) { - printc(EOR); + printc('\n'); #ifdef SDB - printf(" %d: ", i + base); + _printf(" %d: ", i + base); #endif SDB #ifdef ADB - printf(" %R: ", i + base); + _printf(" %R: ", i + base); #endif ADB valuep = snarfreloc(OSIZE, 0); advincp = incp; @@ -282,7 +282,7 @@ numberp snarfreloc(nbytes) numberp snarf(nbytes) int nbytes; { - REG int i; + register int i; static struct as_number backnumber; static struct as_number znumber; /* init'ed to 0 */ @@ -329,13 +329,13 @@ char *operandout(mode, optype) case OC_INDEX: return(r); /* will be printed later */ case OC_REG: - printf("%s", r); + _printf("%s", r); return(0); case OC_DREG: - printf("(%s)", r); + _printf("(%s)", r); return(0); case OC_ADREG: - printf("-(%s)", r); + _printf("-(%s)", r); return(0); case OC_DAIREG: printc('*'); @@ -343,7 +343,7 @@ char *operandout(mode, optype) if (regnumber == R_PC){ pcimmediate(mode, optype); } else { - printf("(%s)+", r); + _printf("(%s)+", r); } return(0); case OC_DBDISP: @@ -380,7 +380,7 @@ dispaddress(valuep, mode) case OC_LDISP: case OC_DLDISP: if (regnumber == R_PC){ - /* PC offset addressing */ + /* _PC offset addressing */ valuep->num_ulong[0] += inkdot(incp); } } @@ -388,14 +388,14 @@ dispaddress(valuep, mode) if (regnumber == R_PC) psymoff(valuep->num_ulong[0], type, &insoutfmt[0]); else { /* } */ - printf(LPRMODE, valuep->num_ulong[0]); - printf(insoutfmt); + _printf(LPRMODE, valuep->num_ulong[0]); + _printf(insoutfmt); #endif ADB #ifdef SDB if(psymoff(valuep->num_ulong[0], regnumber, &insoutfmt[0]) && (regnumber != R_PC)){ #endif SDB - printf("(%s)", insregname(regnumber)); + _printf("(%s)", insregname(regnumber)); } savevar((long)valuep->num_ulong[0]); } @@ -430,14 +430,14 @@ shortliteral(mode, optype) case TYPD: case TYPG: case TYPH: - printf("$%s", fltimm[mode]); + _printf("$%s", fltimm[mode]); break; default: #ifdef ADB - printf("$%r", mode); + _printf("$%r", mode); #endif ADB #ifdef SDB - printf("$%d", mode); + _printf("$%d", mode); #endif SDB break; } @@ -450,7 +450,7 @@ pcimmediate(mode, optype) int nbytes; printc('$'); - if (mode == OC_CONS(OC_DAIREG, R_PC)){ /* PC absolute, always 4 bytes*/ + if (mode == OC_CONS(OC_DAIREG, R_PC)){ /* _PC absolute, always 4 bytes*/ dispaddress(snarfreloc(4), mode); return; } @@ -468,22 +468,22 @@ bignumprint(nbytes, optype) { numberp valuep; int leading_zero = 1; - REG int bindex; - REG int nindex; - REG int ch; + register int bindex; + register int nindex; + register int ch; valuep = snarf(nbytes); switch(A_TYPEXT(optype)){ case TYPF: - printf("0f%f", valuep->num_num.numFf_float.Ff_value); + _printf("0f%f", valuep->num_num.numFf_float.Ff_value); break; case TYPD: - printf("0d%f", valuep->num_num.numFd_float.Fd_value); + _printf("0d%f", valuep->num_num.numFd_float.Fd_value); break; case TYPG: - printf("0g::"); goto qprint; + _printf("0g::"); goto qprint; case TYPH: - printf("0h::"); goto qprint; + _printf("0h::"); goto qprint; case TYPQ: case TYPO: qprint: @@ -504,10 +504,10 @@ bignumprint(nbytes, optype) } #ifdef SDB -L_INT inkdot(incr) +long inkdot(incr) int incr; { - L_INT newdot; + long newdot; newdot = dot + incr; return(newdot); @@ -516,29 +516,29 @@ L_INT inkdot(incr) printc(c) char c; { - printf("%c", c); + _printf("%c", c); } psymoff(v, regnumber, fmt) - L_INT v; + long v; char *fmt; { struct proct *procp; - REG int diff; + register int diff; if (fmt[0] == 'i') { switch(regnumber){ case 12: /* parameter */ - if ((diff = adrtoparam((ADDR) v, adrtoprocp(dot))) + if ((diff = adrtoparam((intptr_t) v, adrtoprocp(dot))) != -1) { - printf("%s", sl_name); + _printf("%s", sl_name); prdiff(diff); return(0); } break; case 13: /* local */ - if ((diff = adrtolocal((ADDR) -v, adrtoprocp(dot)) + if ((diff = adrtolocal((intptr_t) -v, adrtoprocp(dot)) ) != -1) { - printf("%s", sl_name); + _printf("%s", sl_name); prdiff(diff); return(0); } @@ -547,13 +547,13 @@ psymoff(v, regnumber, fmt) break; } if (v < firstdata) { - if ((procp = adrtoprocp((ADDR) v)) != badproc) { + if ((procp = adrtoprocp((intptr_t) v)) != badproc) { prlnoff(procp, v); return(0); } } else { - if ((diff = adrtoext((ADDR) v)) != -1) { - printf("%s", sl_name); + if ((diff = adrtoext((intptr_t) v)) != -1) { + _printf("%s", sl_name); prdiff(diff); return(0); } @@ -566,7 +566,7 @@ psymoff(v, regnumber, fmt) prdiff(diff) { if (diff) { - printf("+"); + _printf("+"); prhex(diff); } } diff --git a/bin/adb/optab.c b/bin/adb/optab.c index 437afe2..75ad1de 100644 --- a/bin/adb/optab.c +++ b/bin/adb/optab.c @@ -56,7 +56,7 @@ SYSTAB { 1, "30", 1, "stty", 1, "gtty", - 0, "access", + 0, "_access", 0, "nice", 0, "sleep", 0, "sync", @@ -89,9 +89,9 @@ SYSTAB { 0, "63", }; -STRING regname[] = { "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", +char*CHECKME regname[] = { "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10","r11","ap", "fp", "sp", "pc"}; -STRING fltimm[] = { +char*CHECKME fltimm[] = { "0.5", "0.5625", "0.625", "0.6875", "0.75", "0.8125", "0.875", "0.9375", "1.0", "1.125", "1.25", "1.375", "1.5", "1.625", "1.75", "1.875", "2.0", "2.25", "2.5", "2.75", "3.0", "3.25", "3.5", "3.75", @@ -103,30 +103,30 @@ STRING fltimm[] = { }; #ifdef SDB -REGLIST reglist [] = { - "p1lr", P1LR, - "p1br",P1BR, - "p0lr", P0LR, - "p0br",P0BR, - "ksp",KSP, - "esp",ESP, - "ssp",SSP, - "psl", PSL, - "pc", PC, - "usp",USP, - "fp", FP, - "ap", AP, - "r11", R11, - "r10", R10, - "r9", R9, - "r8", R8, - "r7", R7, - "r6", R6, - "r5", R5, - "r4", R4, - "r3", R3, - "r2", R2, - "r1", R1, - "r0", R0, +struct reglist reglist [] = { + "p1lr", _P1LR, + "p1br",_P1BR, + "p0lr", _P0LR, + "p0br",_P0BR, + "ksp",_KSP, + "esp",_ESP, + "ssp",_SSP, + "psl", _PSL, + "pc", _PC, + "usp",_USP, + "fp", _FP, + "ap", _AP, + "r11", _R11, + "r10", _R10, + "r9", _R9, + "r8", _R8, + "r7", _R7, + "r6", _R6, + "r5", _R5, + "r4", _R4, + "r3", _R3, + "r2", _R2, + "r1", _R1, + "r0", _R0, }; #endif SDB diff --git a/bin/adb/output.c b/bin/adb/output.c index ead0105..5338774 100644 --- a/bin/adb/output.c +++ b/bin/adb/output.c @@ -11,79 +11,85 @@ static char sccsid[] = "@(#)output.c 4.4 4/26/85"; #include -INT mkfault; -INT infile; -INT outfile = 1; -L_INT maxpos; -L_INT maxoff; -INT radix = 16; +short mkfault; +short infile; +short outfile = 1; +long maxpos; +long maxoff; +short radix = 16; -CHAR printbuf[MAXLIN]; -CHAR *printptr = printbuf; -CHAR *digitptr; -MSG TOODEEP; +char printbuf[MAXLIN]; +char *printptr = printbuf; +char *digitptr; +char TOODEEP[]; eqstr(s1, s2) - REG STRING s1, s2; + register char*CHECKME s1, s2; { - REG STRING es1; - WHILE *s1++ == *s2 - DO IF *s2++ == 0 - THEN return(1); - FI - OD + register char *es1; + while (*s1++ == *s2) { + if (*s2++ == 0) { + return(1); + } + } return(0); } length(s) - REG STRING s; + register char *s; { - INT n = 0; - WHILE *s++ DO n++; OD + short n = 0; + while (*s++) { n++; } return(n); } printc(c) - CHAR c; + char c; { - CHAR d; - STRING q; - INT posn, tabs, p; + char d; + char *q; + short posn, tabs, p; - IF mkfault - THEN return; - ELIF (*printptr=c)==EOR - THEN tabs=0; posn=0; q=printbuf; - FOR p=0; p0 DO *q++=TB; tabs--; OD - WHILE posn>0 DO *q++=SP; posn--; OD + if (mkfault) { + return; + } + else if ((*printptr=c)=='\n') { + tabs=0; posn=0; q=printbuf; + for (p=0; p0) { *q++='\t'; tabs--; } + while (posn>0) { *q++=' '; posn--; } *q++=d; - FI - OD - *q++=EOR; + } + } + *q++='\n'; #ifdef EDDT printptr=printbuf; do putchar(*printptr++); while (printptr= &printbuf[MAXLIN-9] THEN + } + else if (c=='\t') { + *printptr++=' '; + while ((printptr-printbuf)&7) { *printptr++=' '; } + } + else if (c) { + printptr++; + } + if (printptr >= &printbuf[MAXLIN-9]) { + write(outfile, printbuf, printptr - printbuf); printptr = printbuf; - FI + } } charpos() @@ -91,33 +97,35 @@ charpos() } flushbuf() -{ IF printptr!=printbuf - THEN printc(EOR); - FI +{ if (printptr!=printbuf) { + printc('\n'); + } } -printf(fmat,a1) - STRING fmat; - STRING *a1; +_printf(fmat,a1) + char *fmat; + char*CHECKME *a1; { - STRING fptr, s; - INT *vptr; - L_INT *dptr; - L_REAL *rptr; - INT width, prec; - CHAR c, adj; - INT x, decpt, n; - L_INT lx; - CHAR digits[64]; + char*CHECKME fptr, s; + short *vptr; + long *dptr; + double *rptr; + short width, prec; + char c, adj; + short x, decpt, n; + long lx; + char digits[64]; fptr = fmat; dptr = vptr = &a1; - WHILE c = *fptr++ - DO IF c!='%' - THEN printc(c); - ELSE IF *fptr=='-' THEN adj='l'; fptr++; ELSE adj='r'; FI + while (c = *fptr++) { + if (c!='%') { + printc(c); + } + else { + if (*fptr=='-') { adj='l'; fptr++; }NEWLINEelse { adj='r'; } width=convert(&fptr); - IF *fptr=='.' THEN fptr++; prec=convert(&fptr); ELSE prec = -1; FI + if (*fptr=='.') { fptr++; prec=convert(&fptr); }NEWLINEelse { prec = -1; } digitptr=digits; #ifndef vax dptr=rptr=vptr; lx = *dptr; x = *vptr++; @@ -178,14 +186,14 @@ printf(fmat,a1) s=ecvt(*rptr, prec, &decpt, &n); *digitptr++=(n?'-':'+'); *digitptr++ = (decpt<=0 ? '0' : *s++); - IF decpt>0 THEN decpt--; FI + if (decpt>0) { decpt--; } *digitptr++ = '.'; - WHILE *s ANDF prec-- DO *digitptr++ = *s++; OD - WHILE *--digitptr=='0' DONE + while (*s && prec--) { *digitptr++ = *s++; } + while (*--digitptr=='0'); digitptr += (digitptr-digits>=3 ? 1 : 2); - IF decpt - THEN *digitptr++ = 'e'; printnum(decpt,'d',10); - FI + if (decpt) { + *digitptr++ = 'e'; printnum(decpt,'d',10); + } s=0; prec = -1; break; #endif #endif @@ -195,17 +203,21 @@ printf(fmat,a1) width=x; break; case 'T': case 't': - IF c=='T' - THEN width=x; + if (c=='T') { + width=x; #ifndef vax - ELSE vptr--; + } + else { + vptr--; #else - ELSE dptr--; + } + else { + dptr--; #endif - FI - IF width - THEN width -= charpos()%width; - FI + } + if (width) { + width -= charpos()%width; + } break; default: #ifndef vax @@ -215,107 +227,106 @@ printf(fmat,a1) #endif } - IF s==0 - THEN *digitptr=0; s=digits; - FI + if (s==0) { + *digitptr=0; s=digits; + } n=length(s); - n=(prec=0 ? prec : n); + n=(prec=0 ? prec : n); width -= n; - IF adj=='r' - THEN WHILE width-- > 0 - DO printc(SP); OD - FI - WHILE n-- DO printc(*s++); OD - WHILE width-- > 0 DO printc(SP); OD + if (adj=='r') { + while (width-- > 0) { printc(' '); } + } + while (n--) { printc(*s++); } + while (width-- > 0) { printc(' '); } digitptr=digits; - FI - OD + } + } } printdate(tvec) - L_INT tvec; + long tvec; { - REG INT i; - REG STRING timeptr; + register short i; + register char *timeptr; #ifndef EDDT timeptr = ctime(&tvec); #else timeptr="????????????????????????"; #endif - FOR i=20; i<24; i++ DO *digitptr++ = *(timeptr+i); OD - FOR i=3; i<19; i++ DO *digitptr++ = *(timeptr+i); OD + for (i=20; i<24; i++) { *digitptr++ = *(timeptr+i); } + for (i=3; i<19; i++) { *digitptr++ = *(timeptr+i); } } /*printdate*/ prints(s) char *s; -{ printf("%s",s); +{ _printf("%s",s); } newline() { - printc(EOR); + printc('\n'); } convert(cp) -REG STRING *cp; +register char*CHECKME *cp; { - REG CHAR c; - INT n; + register char c; + short n; n=0; - WHILE ((c = *(*cp)++)>='0') ANDF (c<='9') DO n=n*10+c-'0'; OD + while (((c = *(*cp)++)>='0') && (c<='9')) { n=n*10+c-'0'; } (*cp)--; return(n); } printnum(n,fmat,base) - REG INT n; + register short n; { - REG CHAR k; - REG INT *dptr; - INT digs[15]; + register char k; + register short *dptr; + short digs[15]; dptr=digs; - IF n<0 ANDF fmat=='d' THEN n = -n; *digitptr++ = '-'; FI + if (n<0 && fmat=='d') { n = -n; *digitptr++ = '-'; } n &= 0xffff; - WHILE n - DO *dptr++ = ((POS)(n&0xffff))%base; - n=((POS)(n&0xffff))/base; - OD - IF dptr==digs THEN *dptr++=0; FI - WHILE dptr!=digs - DO k = *--dptr; + while (n) { + *dptr++ = ((unsigned)(n&0xffff))%base; + n=((unsigned)(n&0xffff))/base; + } + if (dptr==digs) { *dptr++=0; } + while (dptr!=digs) { + k = *--dptr; *digitptr++ = (k+(k<=9 ? '0' : 'a'-10)); - OD + } } printoct(o,s) - L_INT o; - INT s; + long o; + short s; { - INT i; - L_INT po = o; - CHAR digs[12]; + short i; + long po = o; + char digs[12]; - IF s - THEN IF po<0 - THEN po = -po; *digitptr++='-'; - ELSE IF s>0 THEN *digitptr++='+'; FI - FI - FI - FOR i=0;i<=11;i++ - DO digs[i] = po&7; po >>= 3; OD + if (s) { + if (po<0) { + po = -po; *digitptr++='-'; + } + else { + if (s>0) { *digitptr++='+'; } + } + } + for (i=0;i<=11;i++) { digs[i] = po&7; po >>= 3; } digs[10] &= 03; digs[11]=0; - FOR i=11;i>=0;i-- - DO IF digs[i] THEN break; FI OD - FOR i++;i>=0;i-- - DO *digitptr++=digs[i]+'0'; OD + for (i=11;i>=0;i--) { + if (digs[i]) { break; } } + for (i++;i>=0;i--) { *digitptr++=digs[i]+'0'; } } #ifndef vax printdbl(lx,ly,fmat,base) -INT lx, ly; char fmat; int base; +short lx, ly; char fmat; int base; #else printdbl(lxy,fmat,base) -L_INT lxy; char fmat; int base; +long lxy; char fmat; int base; #endif { int digs[20]; int *dptr; char k; #ifndef MULD2 @@ -324,32 +335,36 @@ L_INT lxy; char fmat; int base; sprintf(cp1,base==16 ? "%x" : "%D",lxy); cp1=digs; while (*digitptr++= *cp1++); --digitptr; #else - L_REAL f ,g; long q; + double f ,g; long q; #ifdef vax - INT lx,ly; + short lx,ly; ly=lxy; lx=(lxy>>16)&0xFFFF; #endif dptr=digs; - IF fmat=='D' ORF fmat=='r' - THEN f=itol(lx,ly); - IF f<0 THEN *digitptr++='-'; f = -f; FI - ELSE - IF lx==-1 - THEN *digitptr++='-'; f=leng(-ly); - ELSE f=leng(lx); f *= itol(1,0); f += leng(ly); - FI - IF fmat=='x' THEN *digitptr++='#'; FI - FI - WHILE f - DO q=f/base; g=q; + if (fmat=='D' || fmat=='r') { + f=itol(lx,ly); + if (f<0) { *digitptr++='-'; f = -f; } + } + else { + + if (lx==-1) { + *digitptr++='-'; f=leng(-ly); + } + else { + f=leng(lx); f *= itol(1,0); f += leng(ly); + } + if (fmat=='x') { *digitptr++='#'; } + } + while (f) { + q=f/base; g=q; *dptr++ = f-g*base; f=q; - OD - IF dptr==digs ORF dptr[-1]>9 THEN *dptr++=0; FI - WHILE dptr!=digs - DO k = *--dptr; + } + if (dptr==digs || dptr[-1]>9) { *dptr++=0; } + while (dptr!=digs) { + k = *--dptr; *digitptr++ = (k+(k<=9 ? '0' : 'a'-10)); - OD + } #endif } @@ -362,48 +377,52 @@ int ifiledepth; iclose(stack, err) { - IF err - THEN IF infile - THEN close(infile); infile=0; - FI - WHILE --ifiledepth >= 0 - DO IF istack[ifiledepth].fd - THEN close(istack[ifiledepth].fd); - FI - OD + if (err) { + if (infile) { + close(infile); infile=0; + } + while (--ifiledepth >= 0) { + if (istack[ifiledepth].fd) { + close(istack[ifiledepth].fd); + } + } ifiledepth = 0; - ELIF stack == 0 - THEN IF infile - THEN close(infile); infile=0; - FI - ELIF stack > 0 - THEN IF ifiledepth >= MAXIFD - THEN error(TOODEEP); - FI + } + else if (stack == 0) { + if (infile) { + close(infile); infile=0; + } + } + else if (stack > 0) { + if (ifiledepth >= MAXIFD) { + error(TOODEEP); + } istack[ifiledepth].fd = infile; istack[ifiledepth].r9 = var[9]; ifiledepth++; infile = 0; - ELSE IF infile - THEN close(infile); infile=0; - FI - IF ifiledepth > 0 - THEN infile = istack[--ifiledepth].fd; + } + else { + if (infile) { + close(infile); infile=0; + } + if (ifiledepth > 0) { + infile = istack[--ifiledepth].fd; var[9] = istack[ifiledepth].r9; - FI - FI + } + } } oclose() { - IF outfile!=1 - THEN flushbuf(); close(outfile); outfile=1; - FI + if (outfile!=1) { + flushbuf(); close(outfile); outfile=1; + } } endline() { if (maxpos <= charpos()) - printf("\n"); + _printf("\n"); } diff --git a/bin/adb/pcs.c b/bin/adb/pcs.c index 04f85b0..8f87a55 100644 --- a/bin/adb/pcs.c +++ b/bin/adb/pcs.c @@ -10,26 +10,26 @@ static char sccsid[] = "@(#)pcs.c 4.2 8/11/83"; #include "defs.h" -MSG NOBKPT; -MSG SZBKPT; -MSG EXBKPT; -MSG NOPCS; -MSG BADMOD; +char NOBKPT[]; +char SZBKPT[]; +char EXBKPT[]; +char NOPCS[]; +char BADMOD[]; /* breakpoints */ -BKPTR bkpthead; +struct bkpt *bkpthead; -CHAR *lp; -CHAR lastc; +char *lp; +char lastc; -INT signo; -L_INT dot; -INT pid; -L_INT cntval; -L_INT loopcnt; +short signo; +long dot; +short pid; +long cntval; +long loopcnt; -L_INT entrypt; -INT adrflg; +long entrypt; +short adrflg; @@ -37,89 +37,102 @@ INT adrflg; subpcs(modif) { - REG INT check; - INT execsig,runmode; - REG BKPTR bkptr; - STRING comptr; + register short check; + short execsig,runmode; + register struct bkpt *bkptr; + char *comptr; execsig=0; loopcnt=cntval; switch (modif) { /* delete breakpoint */ case 'd': case 'D': - IF (bkptr=scanbkpt(dot)) - THEN bkptr->flag=0; return; - ELSE error(NOBKPT); - FI + if ((bkptr=scanbkpt(dot))) { + bkptr->flag=0; return; + } + else { + error(NOBKPT); + } /* set breakpoint */ case 'b': case 'B': - IF (bkptr=scanbkpt(dot)) - THEN bkptr->flag=0; - FI - FOR bkptr=bkpthead; bkptr; bkptr=bkptr->nxtbkpt - DO IF bkptr->flag == 0 - THEN break; - FI - OD - IF bkptr==0 - THEN IF (bkptr=sbrk(sizeof *bkptr)) == -1 - THEN error(SZBKPT); - ELSE bkptr->nxtbkpt=bkpthead; + if ((bkptr=scanbkpt(dot))) { + bkptr->flag=0; + } + for (bkptr=bkpthead; bkptr; bkptr=bkptr->nxtbkpt) { + if (bkptr->flag == 0) { + break; + } + } + if (bkptr==0) { + if ((bkptr=sbrk(sizeof *bkptr)) == -1) { + error(SZBKPT); + } + else { + bkptr->nxtbkpt=bkpthead; bkpthead=bkptr; - FI - FI + } + } bkptr->loc = dot; bkptr->initcnt = bkptr->count = cntval; bkptr->flag = BKPTSET; check=MAXCOM-1; comptr=bkptr->comm; rdc(); lp--; - REP *comptr++ = readchar(); - PER check-- ANDF lastc!=EOR DONE + do { + *comptr++ = readchar(); + } while (check-- && lastc!='\n'); *comptr=0; lp--; - IF check - THEN return; - ELSE error(EXBKPT); - FI + if (check) { + return; + } + else { + error(EXBKPT); + } /* exit */ case 'k' :case 'K': - IF pid - THEN printf("%d: killed", pid); endpcs(); return; - FI + if (pid) { + _printf("%d: killed", pid); endpcs(); return; + } error(NOPCS); /* run program */ case 'r': case 'R': endpcs(); setup(); runmode=CONTIN; - IF adrflg - THEN IF !scanbkpt(dot) THEN loopcnt++; FI - ELSE IF !scanbkpt(entrypt+2) THEN loopcnt++; FI - FI + if (adrflg) { + if (!scanbkpt(dot)) { loopcnt++; } + } + else { + if (!scanbkpt(entrypt+2)) { loopcnt++; } + } break; /* single step */ case 's': case 'S': - IF pid - THEN + if (pid) { + runmode=SINGLE; execsig=getsig(signo); - ELSE setup(); loopcnt--; - FI + } + else { + setup(); loopcnt--; + } break; /* continue with optional signal */ case 'c': case 'C': case 0: - IF pid==0 THEN error(NOPCS); FI + if (pid==0) { error(NOPCS); } runmode=CONTIN; execsig=getsig(signo); break; default: error(BADMOD); } - IF loopcnt>0 ANDF runpcs(runmode,execsig) - THEN printf("breakpoint%16t"); - ELSE printf("stopped at%16t"); - FI + if (loopcnt>0 && runpcs(runmode,execsig)) { + _printf("breakpoint%16t"); + } + else { + _printf("stopped at%16t"); + } delbp(); printpc(); } diff --git a/bin/adb/print.c b/bin/adb/print.c index bcb915d..b6827bd 100644 --- a/bin/adb/print.c +++ b/bin/adb/print.c @@ -6,77 +6,77 @@ static char sccsid[] = "@(#)print.c 4.11 5/2/85"; */ #include "defs.h" -MSG LONGFIL; -MSG NOTOPEN; -MSG A68BAD; -MSG A68LNK; -MSG BADMOD; +char LONGFIL[]; +char NOTOPEN[]; +char A68BAD[]; +char A68LNK[]; +char BADMOD[]; -MAP txtmap; -MAP datmap; +struct map txtmap; +struct map datmap; -ADDR lastframe; -ADDR callpc; +intptr_t lastframe; +intptr_t callpc; -INT infile; -INT outfile; -CHAR *lp; -L_INT maxoff; -L_INT maxpos; -INT radix; +short infile; +short outfile; +char *lp; +long maxoff; +long maxpos; +short radix; /* symbol management */ -L_INT localval; +long localval; /* breakpoints */ -BKPTR bkpthead; - -REGLIST reglist [] = { - "p1lr", P1LR, &pcb.pcb_p1lr, - "p1br", P1BR, &pcb.pcb_p1br, - "p0lr", P0LR, &pcb.pcb_p0lr, - "p0br", P0BR, &pcb.pcb_p0br, - "ksp", KSP, &pcb.pcb_ksp, - "esp", ESP, &pcb.pcb_esp, - "ssp", SSP, &pcb.pcb_ssp, - "psl", PSL, &pcb.pcb_psl, - "pc", PC, &pcb.pcb_pc, - "usp", USP, &pcb.pcb_usp, - "fp", FP, &pcb.pcb_fp, - "ap", AP, &pcb.pcb_ap, - "r11", R11, &pcb.pcb_r11, - "r10", R10, &pcb.pcb_r10, - "r9", R9, &pcb.pcb_r9, - "r8", R8, &pcb.pcb_r8, - "r7", R7, &pcb.pcb_r7, - "r6", R6, &pcb.pcb_r6, - "r5", R5, &pcb.pcb_r5, - "r4", R4, &pcb.pcb_r4, - "r3", R3, &pcb.pcb_r3, - "r2", R2, &pcb.pcb_r2, - "r1", R1, &pcb.pcb_r1, - "r0", R0, &pcb.pcb_r0, +struct bkpt *bkpthead; + +struct reglist reglist [] = { + "p1lr", _P1LR, &pcb.pcb_p1lr, + "p1br", _P1BR, &pcb.pcb_p1br, + "p0lr", _P0LR, &pcb.pcb_p0lr, + "p0br", _P0BR, &pcb.pcb_p0br, + "ksp", _KSP, &pcb.pcb_ksp, + "esp", _ESP, &pcb.pcb_esp, + "ssp", _SSP, &pcb.pcb_ssp, + "psl", _PSL, &pcb.pcb_psl, + "pc", _PC, &pcb.pcb_pc, + "usp", _USP, &pcb.pcb_usp, + "fp", _FP, &pcb.pcb_fp, + "ap", _AP, &pcb.pcb_ap, + "r11", _R11, &pcb.pcb_r11, + "r10", _R10, &pcb.pcb_r10, + "r9", _R9, &pcb.pcb_r9, + "r8", _R8, &pcb.pcb_r8, + "r7", _R7, &pcb.pcb_r7, + "r6", _R6, &pcb.pcb_r6, + "r5", _R5, &pcb.pcb_r5, + "r4", _R4, &pcb.pcb_r4, + "r3", _R3, &pcb.pcb_r3, + "r2", _R2, &pcb.pcb_r2, + "r1", _R1, &pcb.pcb_r1, + "r0", _R0, &pcb.pcb_r0, }; char lastc; -INT fcor; -STRING errflg; -INT signo; -INT sigcode; +short fcor; +char *errflg; +short signo; +short sigcode; -L_INT dot; -L_INT var[]; -STRING symfil; -STRING corfil; -INT pid; -L_INT adrval; -INT adrflg; -L_INT cntval; -INT cntflg; +long dot; +long var[]; +char *symfil; +char *corfil; +short pid; +long adrval; +short adrflg; +long cntval; +short cntflg; -STRING signals[] = { +char*CHECKME signals[] = { "", "hangup", "interrupt", @@ -115,105 +115,124 @@ STRING signals[] = { printtrace(modif) { - INT narg, i, stat, name, limit; - POS dynam; - REG BKPTR bkptr; - CHAR hi, lo; - ADDR word; - STRING comptr; - ADDR argp, frame, link; + short narg, i, stat, name, limit; + unsigned dynam; + register struct bkpt *bkptr; + char hi, lo; + intptr_t word; + char *comptr; + intptr_t argp, frame, link; register struct nlist *sp; - INT stack; - INT ntramp; + short stack; + short ntramp; - IF cntflg==0 THEN cntval = -1; FI + if (cntflg==0) { cntval = -1; } switch (modif) { case '<': - IF cntval == 0 - THEN WHILE readchar() != EOR - DO OD + if (cntval == 0) { + while (readchar() != '\n') { } lp--; break; - FI - IF rdc() == '<' - THEN stack = 1; - ELSE stack = 0; lp--; - FI + } + if (rdc() == '<') { + stack = 1; + } + else { + stack = 0; lp--; + } /* fall thru... */ case '>': - {CHAR file[64]; - CHAR Ifile[128]; - extern CHAR *Ipath; - INT index; + {char file[64]; + char Ifile[128]; + extern char *Ipath; + short index; index=0; - IF rdc()!=EOR - THEN REP file[index++]=lastc; - IF index>=63 THEN error(LONGFIL); FI - PER readchar()!=EOR DONE + if (rdc()!='\n') { + do { + file[index++]=lastc; + if (index>=63) { error(LONGFIL); } + } while (readchar()!='\n'); file[index]=0; - IF modif=='<' - THEN IF Ipath THEN + if (modif=='<') { + if (Ipath) { + strcpy(Ifile, Ipath); strcat(Ifile, "/"); strcat(Ifile, file); - FI - IF strcmp(file, "-")!=0 - THEN iclose(stack, 0); + } + if (strcmp(file, "-")!=0) { + iclose(stack, 0); infile=open(file,0); - IF infile<0 - THEN infile=open(Ifile,0); - FI - ELSE lseek(infile, 0L, 0); - FI - IF infile<0 - THEN infile=0; error(NOTOPEN); - ELSE IF cntflg - THEN var[9] = cntval; - ELSE var[9] = 1; - FI - FI - ELSE oclose(); + if (infile<0) { + infile=open(Ifile,0); + } + } + else { + lseek(infile, 0L, 0); + } + if (infile<0) { + infile=0; error(NOTOPEN); + } + else { + if (cntflg) { + var[9] = cntval; + } + else { + var[9] = 1; + } + } + } + else { + oclose(); outfile=open(file,1); - IF outfile<0 - THEN outfile=creat(file,0644); + if (outfile<0) { + outfile=creat(file,0644); #ifndef EDDT - ELSE lseek(outfile,0L,2); + } + else { + lseek(outfile,0L,2); #endif - FI - FI - - ELSE IF modif == '<' - THEN iclose(-1, 0); - ELSE oclose(); - FI - FI + } + } + + } + else { + if (modif == '<') { + iclose(-1, 0); + } + else { + oclose(); + } + } lp--; } break; case 'p': - IF kernel == 0 - THEN printf("not debugging kernel\n"); - ELSE IF adrflg - THEN int pte = access(RD, dot, DSP, 0); + if (kernel == 0) { + _printf("not debugging kernel\n"); + } + else { + if (adrflg) { + int pte = _access(RD, dot, DSP, 0); masterpcbb = (pte&PG_PFNUM)*512; - FI + } getpcb(); - FI + } break; case 'd': - IF adrflg - THEN IF adrval < 2 ORF adrval > 16 - THEN printf("must have 2 <= radix <= 16"); + if (adrflg) { + if (adrval < 2 || adrval > 16) { + _printf("must have 2 <= radix <= 16"); break; - FI - printf("radix=%d base ten",radix=adrval); - FI + } + _printf("radix=%d base ten",radix=adrval); + } break; case 'q': case 'Q': case '%': @@ -229,12 +248,12 @@ printtrace(modif) case 'v': case 'V': prints("variables\n"); - FOR i=0;i<=35;i++ - DO IF var[i] - THEN printc((i<=9 ? '0' : 'a'-10) + i); - printf(" = %x\n",var[i]); - FI - OD + for (i=0;i<=35;i++) { + if (var[i]) { + printc((i<=9 ? '0' : 'a'-10) + i); + _printf(" = %x\n",var[i]); + } + } break; case 'm': case 'M': @@ -243,10 +262,12 @@ printtrace(modif) break; case 0: case '?': - IF pid - THEN printf("pcs id = %d\n",pid); - ELSE prints("no process\n"); - FI + if (pid) { + _printf("pcs id = %d\n",pid); + } + else { + prints("no process\n"); + } sigprint(); flushbuf(); case 'r': case 'R': @@ -254,100 +275,116 @@ printtrace(modif) return; case 'c': case 'C': - IF adrflg - THEN frame=adrval; + if (adrflg) { + frame=adrval; word=get(adrval+6,DSP)&0xFFFF; - IF word&0x2000 - THEN /* 'calls', can figure out argp */ + if (word&0x2000) { + /* 'calls', can figure out argp */ argp=adrval+20+((word>>14)&3); word &= 0xFFF; - WHILE word - DO IF word&1 - THEN argp+=4; - FI + while (word) { + if (word&1) { + argp+=4; + } word>>=1; - OD - ELSE /* 'callg', can't tell where argp is */ + } + } + else { + /* 'callg', can't tell where argp is */ argp=frame; - FI + } callpc=get(frame+16,DSP); - ELIF kcore - THEN argp = pcb.pcb_ap; + } + else if (kcore) { + argp = pcb.pcb_ap; frame = pcb.pcb_fp; callpc = pcb.pcb_pc; - ELSE argp= *(ADDR *)(((ADDR)&u)+AP); - frame= *(ADDR *)(((ADDR)&u)+FP); - callpc= *(ADDR *)(((ADDR)&u)+PC); - FI + } + else { + argp= *(intptr_t *)(((intptr_t)&u)+_AP); + frame= *(intptr_t *)(((intptr_t)&u)+_FP); + callpc= *(intptr_t *)(((intptr_t)&u)+_PC); + } lastframe=0; ntramp = 0; - WHILE cntval-- - DO char *name; + while (cntval--) { + char *name; chkerr(); /* if in extended pcb must be signal trampoline code */ - IF KERNOFF - ctob(UPAGES) < callpc ANDF - (unsigned)callpc < KERNOFF - THEN name = "sigtramp"; + if (KERNOFF - ctob(UPAGES) < callpc && + (unsigned)callpc < KERNOFF) { + name = "sigtramp"; ntramp++; - ELSE ntramp = 0; + } + else { + ntramp = 0; findsym(callpc,ISYM); - IF cursym ANDF - !strcmp(cursym->n_un.n_name, "start") - THEN break; - FI - IF cursym - THEN name = cursym->n_un.n_name; - ELSE name = "?"; - FI - FI - printf("%s(", name); - narg = get(argp,DSP); IF narg&~0xFF THEN narg=0; FI - LOOP IF narg==0 THEN break; FI - printf("%R", get(argp += 4, DSP)); - IF --narg!=0 THEN printc(','); FI - POOL - IF ntramp == 1 - THEN callpc=get(frame+92, DSP); - ELSE callpc=get(frame+16, DSP); - FI - IF callpc != 0 - THEN prints(") from "); + if (cursym && + !strcmp(cursym->n_un.n_name, "start")) { + break; + } + if (cursym) { + name = cursym->n_un.n_name; + } + else { + name = "?"; + } + } + _printf("%s(", name); + narg = get(argp,DSP); if (narg&~0xFF) { narg=0; } + for(;;) { + if (narg==0) { break; } + _printf("%R", get(argp += 4, DSP)); + if (--narg!=0) { printc(','); } + } + if (ntramp == 1) { + callpc=get(frame+92, DSP); + } + else { + callpc=get(frame+16, DSP); + } + if (callpc != 0) { + prints(") from "); psymoff(callpc, ISYM, "\n"); - ELSE prints(")\n"); - FI - - IF modif=='C' - THEN WHILE localsym(frame,argp) - DO word=get(localval,DSP); - printf("%8t%s:%10t", + } + else { + prints(")\n"); + } + + if (modif=='C') { + while (localsym(frame,argp)) { + word=get(localval,DSP); + _printf("%8t%s:%10t", cursym->n_un.n_name); - IF errflg - THEN prints("?\n"); errflg=0; - ELSE printf("%R\n",word); - FI - OD - FI + if (errflg) { + prints("?\n"); errflg=0; + } + else { + _printf("%R\n",word); + } + } + } argp=get(frame+8, DSP); lastframe=frame; - frame=get(frame+12, DSP)&EVEN; - IF frame==0 THEN break; FI - IF !adrflg ANDF !INSTACK(frame) - THEN IF !kcore ORF !kstackaddr(frame) - THEN break; - FI - FI - OD + frame=get(frame+12, DSP)&-2; + if (frame==0) { break; } + if (!adrflg && !INSTACK(frame)) { + if (!kcore || !kstackaddr(frame)) { + break; + } + } + } break; /*print externals*/ case 'e': case 'E': - FOR sp = symtab; sp < esymtab; sp++ - DO IF sp->n_type == (N_DATA|N_EXT) ORF - sp->n_type == (N_BSS|N_EXT) - THEN printf("%s:%12t%R\n", sp->n_un.n_name, + for (sp = symtab; sp < esymtab; sp++) { + if (sp->n_type == (N_DATA|N_EXT) || + sp->n_type == (N_BSS|N_EXT)) { + _printf("%s:%12t%R\n", sp->n_un.n_name, get(sp->n_value,DSP)); - FI - OD + } + } break; case 'a': case 'A': @@ -356,15 +393,15 @@ printtrace(modif) /*print breakpoints*/ case 'b': case 'B': - printf("breakpoints\ncount%8tbkpt%24tcommand\n"); - FOR bkptr=bkpthead; bkptr; bkptr=bkptr->nxtbkpt - DO IF bkptr->flag - THEN printf("%-8.8d",bkptr->count); + _printf("breakpoints\ncount%8tbkpt%24tcommand\n"); + for (bkptr=bkpthead; bkptr; bkptr=bkptr->nxtbkpt) { + if (bkptr->flag) { + _printf("%-8.8d",bkptr->count); psymoff(leng(bkptr->loc),ISYM,"%24t"); comptr=bkptr->comm; - WHILE *comptr DO printc(*comptr++); OD - FI - OD + while (*comptr) { printc(*comptr++); } + } + } break; default: @@ -374,68 +411,70 @@ printtrace(modif) } printmap(s,amap) -STRING s; MAP *amap; +char *s; struct map *amap; { int file; file=amap->ufd; - printf("%s%12t`%s'\n", s, + _printf("%s%12t`%s'\n", s, (file<0 ? "-" : (file==fcor ? corfil : symfil))); - printf("b1 = %-16R",amap->b1); - printf("e1 = %-16R",amap->e1); - printf("f1 = %-16R",amap->f1); - printf("\nb2 = %-16R",amap->b2); - printf("e2 = %-16R",amap->e2); - printf("f2 = %-16R",amap->f2); - printc(EOR); + _printf("b1 = %-16R",amap->b1); + _printf("e1 = %-16R",amap->e1); + _printf("f1 = %-16R",amap->f1); + _printf("\nb2 = %-16R",amap->b2); + _printf("e2 = %-16R",amap->e2); + _printf("f2 = %-16R",amap->f2); + printc('\n'); } printregs() { - REG REGPTR p; - L_INT v; - - FOR p=reglist; p < ®list[24]; p++ - DO v = kcore ? *p->rkern : *(ADDR *)(((ADDR)&u)+p->roffs); - printf("%s%6t%R %16t", p->rname, v); - valpr(v,(p->roffs==PC?ISYM:DSYM)); - printc(EOR); - OD + register struct reglist *p; + long v; + + for (p=reglist; p < ®list[24]; p++) { + v = kcore ? *p->rkern : *(intptr_t *)(((intptr_t)&u)+p->roffs); + _printf("%s%6t%R %16t", p->rname, v); + valpr(v,(p->roffs==_PC?ISYM:DSYM)); + printc('\n'); + } printpc(); } getreg(regnam) { - REG REGPTR p; - REG STRING regptr; - CHAR *olp; - CHAR regnxt; + register struct reglist *p; + register char *regptr; + char *olp; + char regnxt; olp=lp; - FOR p=reglist; p < ®list[24]; p++ - DO regptr=p->rname; - IF (regnam == *regptr++) - THEN - WHILE *regptr - DO IF (regnxt=readchar()) != *regptr++ - THEN --regptr; break; - FI - OD - IF *regptr - THEN lp=olp; - ELSE + for (p=reglist; p < ®list[24]; p++) { + regptr=p->rname; + if ((regnam == *regptr++)) { + + while (*regptr) { + if ((regnxt=readchar()) != *regptr++) { + --regptr; break; + } + } + if (*regptr) { + lp=olp; + } + else { + int i = kcore ? (int)p->rkern : p->roffs; return (i); - FI - FI - OD + } + } + } lp=olp; return(0); } printpc() { - dot= *(ADDR *)(((ADDR)&u)+PC); - psymoff(dot,ISYM,":%16t"); printins(0,ISP,chkget(dot,ISP)); - printc(EOR); + dot= *(intptr_t *)(((intptr_t)&u)+_PC); + psymoff(dot,ISYM,":%16t"); printins(0,_ISP,chkget(dot,_ISP)); + printc('\n'); } char *illinames[] = { @@ -459,22 +498,23 @@ char *fpenames[] = { sigprint() { - IF (signo>=0) ANDF (signo=0) && (signo 0 && - sigcode < sizeof fpenames / sizeof fpenames[0]) THEN + if ((sigcode > 0 && + sigcode < sizeof fpenames / sizeof fpenames[0])) { + prints(" ("); prints(fpenames[sigcode]); prints(")"); - FI + } break; case SIGILL: - IF (sigcode >= 0 && - sigcode < sizeof illinames / sizeof illinames[0]) THEN + if ((sigcode >= 0 && + sigcode < sizeof illinames / sizeof illinames[0])) { + prints(" ("); prints(illinames[sigcode]); prints(")"); - FI + } break; } } diff --git a/bin/adb/runpcs.c b/bin/adb/runpcs.c index e755ae3..232a02b 100644 --- a/bin/adb/runpcs.c +++ b/bin/adb/runpcs.c @@ -9,37 +9,37 @@ static char sccsid[] = "@(#)runpcs.c 4.6 4/25/85"; #include "defs.h" -extern MAP txtmap; +extern struct map txtmap; -MSG NOFORK; -MSG ENDPCS; -MSG BADWAIT; +char NOFORK[]; +char ENDPCS[]; +char BADWAIT[]; -CHAR *lp; -ADDR sigint; -ADDR sigqit; +char *lp; +intptr_t sigint; +intptr_t sigqit; /* breakpoints */ -BKPTR bkpthead; +struct bkpt *bkpthead; -REGLIST reglist[]; +struct reglist reglist[]; -CHAR lastc; +char lastc; -INT fcor; -INT fsym; -STRING errflg; -INT errno; -INT signo; -INT sigcode; +short fcor; +short fsym; +char *errflg; +short errno; +short signo; +short sigcode; -L_INT dot; -STRING symfil; -INT wtflag; -L_INT pid; -L_INT expv; -INT adrflg; -L_INT loopcnt; +long dot; +char *symfil; +short wtflag; +long pid; +long expv; +short adrflg; +long loopcnt; @@ -51,67 +51,73 @@ getsig(sig) { return(expr(0) ? expv : sig); } -ADDR userpc = 1; +intptr_t userpc = 1; runpcs(runmode,execsig) { - INT rc; - REG BKPTR bkpt; - IF adrflg THEN userpc=dot; FI - printf("%s: running\n", symfil); + short rc; + register struct bkpt *bkpt; + if (adrflg) { userpc=dot; } + _printf("%s: running\n", symfil); - WHILE --loopcnt>=0 - DO + while (--loopcnt>=0) { + #ifdef DEBUG - printf("\ncontinue %x %d\n",userpc,execsig); + _printf("\ncontinue %x %d\n",userpc,execsig); #endif - IF runmode==SINGLE - THEN delbp(); /* hardware handles single-stepping */ - ELSE /* continuing from a breakpoint is hard */ - IF bkpt=scanbkpt(userpc) - THEN execbkpt(bkpt,execsig); execsig=0; - FI + if (runmode==SINGLE) { + delbp(); /* hardware handles single-stepping */ + } + else { + /* continuing from a breakpoint is hard */ + if (bkpt=scanbkpt(userpc)) { + execbkpt(bkpt,execsig); execsig=0; + } setbp(); - FI + } ptrace(runmode,pid,userpc,execsig); bpwait(); chkerr(); execsig=0; delbp(); readregs(); - IF (signo==0) ANDF (bkpt=scanbkpt(userpc)) - THEN /* stopped by BPT instruction */ + if ((signo==0) && (bkpt=scanbkpt(userpc))) { + /* stopped by BPT instruction */ #ifdef DEBUG - printf("\n BPT code; '%s'%o'%o'%d", - bkpt->comm,bkpt->comm[0],EOR,bkpt->flag); + _printf("\n BPT code; '%s'%o'%o'%d", + bkpt->comm,bkpt->comm[0],'\n',bkpt->flag); #endif dot=bkpt->loc; - IF bkpt->flag==BKPTEXEC - ORF ((bkpt->flag=BKPTEXEC) - ANDF bkpt->comm[0]!=EOR - ANDF command(bkpt->comm,':') - ANDF --bkpt->count) - THEN execbkpt(bkpt,execsig); execsig=0; loopcnt++; - ELSE bkpt->count=bkpt->initcnt; rc=1; - FI - ELSE execsig=signo; rc=0; - FI - OD + if (bkpt->flag==BKPTEXEC + || ((bkpt->flag=BKPTEXEC) + && bkpt->comm[0]!='\n' + && command(bkpt->comm,':') + && --bkpt->count)) { + execbkpt(bkpt,execsig); execsig=0; loopcnt++; + } + else { + bkpt->count=bkpt->initcnt; rc=1; + } + } + else { + execsig=signo; rc=0; + } + } return(rc); } #define BPOUT 0 #define BPIN 1 -INT bpstate = BPOUT; +short bpstate = BPOUT; endpcs() { - REG BKPTR bkptr; - IF pid - THEN ptrace(PT_KILL,pid,0,0); pid=0; userpc=1; - FOR bkptr=bkpthead; bkptr; bkptr=bkptr->nxtbkpt - DO IF bkptr->flag - THEN bkptr->flag=BKPTSET; - FI - OD - FI + register struct bkpt *bkptr; + if (pid) { + ptrace(PT_KILL,pid,0,0); pid=0; userpc=1; + for (bkptr=bkpthead; bkptr; bkptr=bkptr->nxtbkpt) { + if (bkptr->flag) { + bkptr->flag=BKPTSET; + } + } + } bpstate=BPOUT; } @@ -126,33 +132,36 @@ setup() { close(fsym); fsym = -1; #ifndef VFORK - IF (pid = fork()) == 0 + if ((pid = fork()) == 0 #else - IF (pid = vfork()) == 0 -#endif - THEN ptrace(PT_TRACE_ME,0,0,0); + if ((pid = vfork()) == 0 +#endif) { + ptrace(PT_TRACE_ME,0,0,0); #ifdef VFORK signal(SIGTRAP,nullsig); #endif signal(SIGINT,sigint); signal(SIGQUIT,sigqit); doexec(); exit(0); - ELIF pid == -1 - THEN error(NOFORK); - ELSE bpwait(); readregs(); lp[0]=EOR; lp[1]=0; + } + else if (pid == -1) { + error(NOFORK); + } + else { + bpwait(); readregs(); lp[0]='\n'; lp[1]=0; fsym=open(symfil,wtflag); - IF errflg - THEN printf("%s: cannot execute\n",symfil); + if (errflg) { + _printf("%s: cannot execute\n",symfil); endpcs(); error(0); - FI - FI + } + } bpstate=BPOUT; } execbkpt(bkptr,execsig) -BKPTR bkptr; +struct bkpt *bkptr; { #ifdef DEBUG - printf("exbkpt: %d\n",bkptr->count); + _printf("exbkpt: %d\n",bkptr->count); #endif delbp(); ptrace(PT_STEP,pid,bkptr->loc,execsig); @@ -163,83 +172,87 @@ BKPTR bkptr; doexec() { - STRING argl[MAXARG]; - CHAR args[LINSIZ]; - STRING p, *ap, filnam; - extern STRING environ; + char*CHECKME argl[MAXARG]; + char args[LINSIZ]; + char*CHECKME p, *ap, filnam; + extern char *environ; ap=argl; p=args; *ap++=symfil; - REP IF rdc()==EOR THEN break; FI + do { + if (rdc()=='\n') { break; } *ap = p; /* * First thing is to look for direction characters * and get filename. Do not use up the args for filenames. * Then get rid of spaces before next args. */ - IF lastc=='<' - THEN REP readchar(); PER lastc==SP ORF lastc==TB DONE + if (lastc=='<') { + do { readchar(); } while (lastc==' ' || lastc=='\t'); filnam = p; - WHILE lastc!=EOR ANDF lastc!=SP ANDF lastc!=TB ANDF lastc!='>' - DO *p++=lastc; readchar(); OD + while (lastc!='\n' && lastc!=' ' && lastc!='\t' && lastc!='>') { *p++=lastc; readchar(); } *p = 0; close(0); - IF open(filnam,0)<0 - THEN printf("%s: cannot open\n",filnam); _exit(0); - FI + if (open(filnam,0)<0) { + _printf("%s: cannot open\n",filnam); _exit(0); + } p = *ap; - ELIF lastc=='>' - THEN REP readchar(); PER lastc==SP ORF lastc==TB DONE + } + else if (lastc=='>') { + do { readchar(); } while (lastc==' ' || lastc=='\t'); filnam = p; - WHILE lastc!=EOR ANDF lastc!=SP ANDF lastc!=TB ANDF lastc!='<' - DO *p++=lastc; readchar(); OD + while (lastc!='\n' && lastc!=' ' && lastc!='\t' && lastc!='<') { *p++=lastc; readchar(); } *p = '\0'; close(1); - IF creat(filnam,0666)<0 - THEN printf("%s: cannot create\n",filnam); _exit(0); - FI + if (creat(filnam,0666)<0) { + _printf("%s: cannot create\n",filnam); _exit(0); + } p = *ap; - ELSE - WHILE lastc!=EOR ANDF lastc!=SP ANDF lastc!=TB ANDF lastc!='>' ANDF lastc!='<' - DO *p++=lastc; readchar(); OD + } + else { + + while (lastc!='\n' && lastc!=' ' && lastc!='\t' && lastc!='>' && lastc!='<') { *p++=lastc; readchar(); } *p++ = '\0'; - ap++; - FI - PER lastc!=EOR DONE + ap++; + } + } while (lastc!='\n'); *ap++=0; exect(symfil, argl, environ); perror(symfil); } -BKPTR scanbkpt(adr) -ADDR adr; +struct bkpt*CHECKME scanbkpt(adr) +intptr_t adr; { - REG BKPTR bkptr; - FOR bkptr=bkpthead; bkptr; bkptr=bkptr->nxtbkpt - DO IF bkptr->flag ANDF bkptr->loc==adr - THEN break; - FI - OD + register struct bkpt *bkptr; + for (bkptr=bkpthead; bkptr; bkptr=bkptr->nxtbkpt) { + if (bkptr->flag && bkptr->loc==adr) { + break; + } + } return(bkptr); } delbp() { - REG ADDR a; - REG BKPTR bkptr; - IF bpstate!=BPOUT - THEN - FOR bkptr=bkpthead; bkptr; bkptr=bkptr->nxtbkpt - DO IF bkptr->flag - THEN a=bkptr->loc; - IF a < txtmap.e1 THEN + register intptr_t a; + register struct bkpt *bkptr; + if (bpstate!=BPOUT) { + + for (bkptr=bkpthead; bkptr; bkptr=bkptr->nxtbkpt) { + if (bkptr->flag) { + a=bkptr->loc; + if (a < txtmap.e1) { + ptrace(PT_WRITE_I,pid,a,bkptr->ins); - ELSE + } + else { + ptrace(PT_WRITE_D,pid,a,bkptr->ins); - FI - FI - OD + } + } + } bpstate=BPOUT; - FI + } } #ifdef vax @@ -248,73 +261,81 @@ delbp() setbp() { - REG ADDR a; - REG BKPTR bkptr; - - IF bpstate!=BPIN - THEN - FOR bkptr=bkpthead; bkptr; bkptr=bkptr->nxtbkpt - DO IF bkptr->flag - THEN a = bkptr->loc; - IF a < txtmap.e1 THEN + register intptr_t a; + register struct bkpt *bkptr; + + if (bpstate!=BPIN) { + + for (bkptr=bkpthead; bkptr; bkptr=bkptr->nxtbkpt) { + if (bkptr->flag) { + a = bkptr->loc; + if (a < txtmap.e1) { + bkptr->ins = ptrace(PT_READ_I, pid, a, 0); ptrace(PT_WRITE_I, pid, a, SETBP(bkptr->ins)); - ELSE + } + else { + bkptr->ins = ptrace(PT_READ_D, pid, a, 0); ptrace(PT_WRITE_D, pid, a, SETBP(bkptr->ins)); - FI - IF errno - THEN prints("cannot set breakpoint: "); + } + if (errno) { + prints("cannot set breakpoint: "); psymoff(bkptr->loc,ISYM,"\n"); - FI - FI - OD + } + } + } bpstate=BPIN; - FI + } } bpwait() { - REG ADDR w; - ADDR stat; + register intptr_t w; + intptr_t stat; signal(SIGINT, 1); - WHILE (w = wait(&stat))!=pid ANDF w != -1 DONE + while ((w = wait(&stat))!=pid && w != -1); signal(SIGINT,sigint); - IF w == -1 - THEN pid=0; + if (w == -1) { + pid=0; errflg=BADWAIT; - ELIF (stat & 0177) != 0177 - THEN sigcode = 0; - IF signo = stat&0177 - THEN sigprint(); - FI - IF stat&0200 - THEN prints(" - core dumped"); + } + else if ((stat & 0177) != 0177) { + sigcode = 0; + if (signo = stat&0177) { + sigprint(); + } + if (stat&0200) { + prints(" - core dumped"); close(fcor); setcor(); - FI + } pid=0; errflg=ENDPCS; - ELSE signo = stat>>8; + } + else { + signo = stat>>8; sigcode = ptrace(PT_READ_U, pid, &((struct user *)0)->u_code, 0); - IF signo!=SIGTRAP - THEN sigprint(); - ELSE signo=0; - FI + if (signo!=SIGTRAP) { + sigprint(); + } + else { + signo=0; + } flushbuf(); - FI + } } readregs() { - /*get REG values from pcs*/ - REG i; - FOR i=24; --i>=0; - DO *(ADDR *)(((ADDR)&u)+reglist[i].roffs) = + /*get register values from pcs*/ + register i; + for (i=24; --i>=0;) { + *(intptr_t *)(((intptr_t)&u)+reglist[i].roffs) = ptrace(PT_READ_U, pid, reglist[i].roffs, 0); - OD - userpc= *(ADDR *)(((ADDR)&u)+PC); + } + userpc= *(intptr_t *)(((intptr_t)&u)+_PC); } diff --git a/bin/adb/setup.c b/bin/adb/setup.c index 51f4aff..56dd273 100644 --- a/bin/adb/setup.c +++ b/bin/adb/setup.c @@ -11,7 +11,7 @@ static char sccsid[] = "@(#)setup.c 4.10 (Berkeley) 85/05/09"; off_t datbas; /* offset of the base of the data segment */ off_t stksiz; /* stack size in the core image */ -INT sigcode; /* belongs in head.h */ +short sigcode; /* belongs in head.h */ char *symfil = "a.out"; char *corfil = "core"; @@ -83,13 +83,13 @@ nosymt: } return; readerr: - printf("Error reading symbol|string table\n"); + _printf("Error reading symbol|string table\n"); exit(1); nospac: - printf("Not enough space for symbol|string table\n"); + _printf("Not enough space for symbol|string table\n"); exit(1); oldfmt: - printf("Old format a.out - no string table\n"); + _printf("Old format a.out - no string table\n"); exit(1); } @@ -110,7 +110,7 @@ setcor() sbr = cursym->n_value; lookup("_Syssize"); slr = cursym->n_value; - printf("sbr %x slr %x\n", sbr, slr); + _printf("sbr %x slr %x\n", sbr, slr); lookup("_masterpaddr"); physrw(fcor, KVTOPH(cursym->n_value), &masterpcbb, 1); masterpcbb = (masterpcbb&PG_PFNUM)*NBPG; @@ -155,7 +155,7 @@ getpcb() lseek(fcor, KVTOPH(masterpcbb), L_SET); read(fcor, &pcb, sizeof (struct pcb)); pcb.pcb_p0lr &= ~AST_CLR; - printf("p0br %x p0lr %x p1br %x p1lr %x\n", + _printf("p0br %x p0lr %x p1br %x p1lr %x\n", pcb.pcb_p0br, pcb.pcb_p0lr, pcb.pcb_p1br, pcb.pcb_p1lr); } @@ -192,7 +192,7 @@ findstackframe() *cp = '?'; if (*cp) *cp = '\0'; - printf("panic: %s\n", buf); + _printf("panic: %s\n", buf); /* * After a panic, look at the top of the rpb stack to * find a stack frame. If this was a clean crash, @@ -216,7 +216,7 @@ findstackframe() fp = checkintstack(); /* search kernel stack? */ if (fp == 0) { - printf("can't locate stack frame\n"); + _printf("can't locate stack frame\n"); return; } /* probably shouldn't clobber pcb, but for now this is easy */ @@ -326,7 +326,7 @@ getfile(filnam, cnt) if (wtflag) fsym = create(filnam); if (fsym < 0) - printf("cannot open `%s'\n", filnam); + _printf("cannot open `%s'\n", filnam); } return (fsym); } diff --git a/bin/adb/sym.c b/bin/adb/sym.c index 6e64243..6d92869 100644 --- a/bin/adb/sym.c +++ b/bin/adb/sym.c @@ -17,7 +17,8 @@ lookup(symstr) cursym = 0; if (symtab) for (sp = symtab; sp < esymtab; sp++) - /* SHOULD DO SOME OF EQSYM INLINE TO SAVE TIME */ + /* SHOULD) { + SOME OF EQSYM INLINE TO SAVE TIME */ if ((sp->n_type&N_STAB)==0 && eqsym(sp->n_un.n_name, symstr, '_')) return(cursym = sp); return (0); @@ -58,7 +59,7 @@ findsym(val, type) * Return 0 at end of file. */ localsym(cframe, cargp) - ADDR cframe, cargp; + intptr_t cframe, cargp; { register int type; register struct nlist *sp; @@ -120,13 +121,13 @@ psymoff(v, type, s) if (v) w = findsym(v, type); if (v==0 || w >= maxoff || (INKERNEL(v) && KVTOPH(v) < maxoff && w)) - printf(LPRMODE, v); + _printf(LPRMODE, v); else { - printf("%s", cursym->n_un.n_name); + _printf("%s", cursym->n_un.n_name); if (w) - printf(OFFMODE, w); + _printf(OFFMODE, w); } - printf(s); + _printf(s); } /* @@ -142,7 +143,7 @@ valpr(v, idsp) d = findsym(v, idsp); if (d >= maxoff) return; - printf("%s", cursym->n_un.n_name); + _printf("%s", cursym->n_un.n_name); if (d) - printf(OFFMODE, d); + _printf(OFFMODE, d); }