*.usedby
*.uses
.xify
+bin/adb/adb
+bin/adb/instrs.adb
bin/ar
bin/cat
bin/cc
#
DESTDIR=
DFLAGS = -DADB
-CFLAGS= -O -w ${DFLAGS}
+#CFLAGS= -O -w ${DFLAGS}
+CFLAGS= -O ${DFLAGS}
CFILES= access.c command.c expr.c format.c input.c main.c message.c \
opset.c optab.c output.c pcs.c print.c runpcs.c setup.c sym.c
OFILES= access.o command.o expr.o format.o input.o main.o message.o \
sym.o: defs.h sym.c
opset.o: defs.h opset.c
- ${CC} ${CFLAGS} -c -I. -I$(AS) opset.c
+# ${CC} ${CFLAGS} -c -I. -I$(AS) opset.c
optab.o: defs.h optab.c instrs.adb
- ${CC} ${CFLAGS} -c -R -I. -I$(AS) optab.c
+# ${CC} ${CFLAGS} -c -R -I. -I$(AS) optab.c
+ ${CC} ${CFLAGS} -c -R optab.c
instrs.adb: $(AS)/instrs
(echo FLAVOR ADB; cat $(AS)/instrs) | awk -f $(AS)/instrs > instrs.adb
* 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.
*/
-int put(addr, space, value) off_t addr; int space; int value; { (void) _access(WT, addr, space, value); }
+void put(addr, space, value) off_t addr; int space; int value; { (void) _access(WT, addr, space, value); }
u_int get(addr, space) off_t addr; int space; { return (_access(RD, addr, space, 0)); };
return (ptob(pte.pg_pfnum) + (oldaddr & PGOFSET));
}
-int rwerr(space) int space; {
+void rwerr(space) int space; {
if (space & DSP)
errflg = "data address not found";
echo "j=$j"
k=`echo $j |sed -e "s:^$INCLUDE/::"`
echo "k=$k"
- echo "conflictpattern=\":$h:.*:$k:\\|:$k:.*:$h:\""
if ! grep -q ":$h:.*:$k:\\|:$k:.*:$h:" conflicts.temp
then
echo $i >>$j.uses
- else
- echo "found"
fi
done
fi
echo "j=$j"
k=`echo $j |sed -e "s:^$INCLUDE/::"`
echo "k=$k"
- echo "conflictpattern=\":$h:.*:$k:\\|:$k:.*:$h:\""
if ! grep -q ":$h:.*:$k:\\|:$k:.*:$h:" conflicts.temp
then
echo $i >>$j.uses
- else
- echo "found"
fi
done
fi
int item(a) int a; { /* name [ . local ] | number | . | ^ | <var | <register | 'x | | */
short base, d;
char savc;
- bool hex;
long frame;
register struct nlist *symp;
int regptr;
- hex=0;
-
readchar();
if (symchar(0)) {
readsym();
}
}
-int readsym() {
+void readsym() {
register char *p;
p = isymbol;
return(-1);
}
-int chkloc(frame) long frame; {
+void chkloc(frame) long frame; {
readsym();
do {
/* Nick added ",frame" below */
extern short mkfault;
extern char *lp;
extern long maxoff;
-intptr_t sigint;
-intptr_t sigqit;
+extern void (*sigint) __P((int sig));
+extern void (*sigqit) __P((int sig));
extern char *errflg;
extern char lastc,peekc;
extern long dot;
return(lastc= *fphack++);
}
-int scanform(icount, ifp, itype, ptype) long icount; char *ifp; int itype; int ptype; {
+void scanform(icount, ifp, itype, ptype) long icount; char *ifp; int itype; int ptype; {
char *fp;
char modifier;
short fcount, init=1;
long savdot;
bool exact;
- bool doit = 1;
while (icount) {
fp=ifp;
return(fp);
}
-int shell() {
+void shell() {
#ifndef EDDT
- short rc, status, unixpid;
+ /*short*/int rc, status, unixpid;
char *argp = lp;
char *getenv(), *shell = getenv("SHELL");
#ifdef VFORK
error(NOFORK);
}
else {
- signal(SIGINT,1);
+ signal(SIGINT,SIG_IGN);
while ((rc = wait(&status)) != unixpid && rc != -1);
signal(SIGINT,sigint);
prints("!"); lp--;
#endif
}
-int printesc(c) int c; {
+void printesc(c) int c; {
c &= 0x7f;
if (c==0177) {
_printf("^?");
#endif
/* access.c */
-int put __P((off_t addr, int space, int value));
+void put __P((off_t addr, int space, int value));
u_int get __P((off_t addr, int space));
u_int chkget __P((off_t addr, int space));
u_int bchkget __P((off_t addr, int space));
int _access __P((int mode, off_t addr, int space, int value));
int vtophys __P((off_t addr));
-int rwerr __P((int space));
+void rwerr __P((int space));
int physrw __P((int file, off_t addr, int *aw, int rd));
int chkmap __P((register long *addr, int space));
int within __P((u_int addr, u_int lbd, u_int ubd));
int term __P((int a));
int item __P((int a));
int getnum __P((int (*rdf)(void)));
-int readsym __P((void));
+void readsym __P((void));
int convdig __P((int c));
int symchar __P((int dig));
int varchk __P((int name));
-int chkloc __P((long frame));
+void chkloc __P((long frame));
int eqsym __P((register char *s1, register char *s2, int c));
/* format.c */
int rdfp __P((void));
-int scanform __P((long icount, char *ifp, int itype, int ptype));
+void scanform __P((long icount, char *ifp, int itype, int ptype));
char *exform __P((int fcount, char *ifp, int itype, int ptype));
-int shell __P((void));
-int printesc __P((int c));
+void shell __P((void));
+void printesc __P((int c));
long inkdot __P((int incr));
int digit __P((int c));
int readchar __P((void));
int nextchar __P((void));
int quotchar __P((void));
-int getformat __P((char *deformat));
+void getformat __P((char *deformat));
/* main.c */
int main __P((int argc, register char **argv));
int done __P((void));
long round __P((register long a, register long b));
-int chkerr __P((void));
-int error __P((char *n));
-int fault __P((int a));
+void chkerr __P((void));
+void error __P((char *n));
+void fault __P((int a));
/* opset.c */
int mapescbyte __P((int byte));
-int mkioptab __P((void));
-int printins __P((int fmt, int Idsp, int ins));
-int casebody __P((long base, long limit));
+void mkioptab __P((void));
+void printins __P((int fmt, int Idsp, int ins));
+void casebody __P((long base, long limit));
long inkdot __P((int incr));
-int printc __P((int c));
-int psymoff __P((long v, int regnumber, char *fmt));
+void printc __P((int c));
+void psymoff __P((long v, int regnumber, char *fmt));
int prdiff __P((int diff));
/* output.c */
int eqstr __P((register char *s1, register char *s2));
int length __P((register char *s));
-int printc __P((int c));
+void printc __P((int c));
int charpos __P((void));
-int flushbuf __P((void));
-int _printf __P((char *fmat, ...));
-int printdate __P((long tvec));
-int prints __P((char *s));
-int newline __P((void));
+void flushbuf __P((void));
+void _printf __P((char *fmat, ...));
+void printdate __P((long tvec));
+void prints __P((char *s));
+void newline __P((void));
int convert __P((register char **cp));
-int printnum __P((int n, int fmat, int base));
-int printoct __P((long o, int s));
-int iclose __P((int stack, int err));
-int oclose __P((void));
-int endline __P((void));
+void printnum __P((int n, int fmat, int base));
+void printoct __P((long o, int s));
+#ifndef vax
+void printdbl __P((short lx, short ly, char fmat, int base));
+#else
+void printdbl __P((long lxy, char fmat, int base));
+#endif
+void iclose __P((int stack, int err));
+void oclose __P((void));
+void endline __P((void));
/* pcs.c */
-int subpcs __P((int modif));
+void subpcs __P((int modif));
/* print.c */
-int printtrace __P((int modif));
-int printmap __P((char *s, struct map *amap));
-int printregs __P((void));
+void printtrace __P((int modif));
+void printmap __P((char *s, struct map *amap));
+void printregs __P((void));
int getreg __P((int regnam));
-int printpc __P((void));
-int sigprint __P((void));
+void printpc __P((void));
+void sigprint __P((void));
/* runpcs.c */
int getsig __P((int sig));
int runpcs __P((int runmode, int execsig));
-int endpcs __P((void));
+void endpcs __P((void));
int nullsig __P((void));
-int setup __P((void));
-int execbkpt __P((struct bkpt *bkptr, int execsig));
-int doexec __P((void));
+void setup __P((void));
+void execbkpt __P((struct bkpt *bkptr, int execsig));
+void doexec __P((void));
struct bkpt *scanbkpt __P((intptr_t adr));
-int delbp __P((void));
-int setbp __P((void));
-int bpwait __P((void));
-int readregs __P((void));
+void delbp __P((void));
+void setbp __P((void));
+void bpwait __P((void));
+void readregs __P((void));
/* setup.c */
-int setsym __P((void));
-int setcor __P((void));
-int getpcb __P((void));
-int findstackframe __P((void));
+void setsym __P((void));
+void setcor __P((void));
+void getpcb __P((void));
+void findstackframe __P((void));
struct frame *checkintstack __P((int fcor));
struct frame *getframe __P((int fcor, caddr_t fp));
int checkframe __P((register struct frame *fp));
int kstackaddr __P((caddr_t addr));
int create __P((char *f));
int getfile __P((char *filnam, int cnt));
-int setvar __P((void));
+void setvar __P((void));
/* sym.c */
struct nlist *lookup __P((char *symstr));
int findsym __P((long val, int type));
int localsym __P((intptr_t cframe, intptr_t cargp));
-int psymoff __P((long v, int type, char *s));
-int valpr __P((long v, int idsp));
+void psymoff __P((long v, int type, char *s));
+void valpr __P((long v, int idsp));
#endif
}
}
-int getformat(deformat) char *deformat; {
+void getformat(deformat) char *deformat; {
register char *fptr;
register bool quote;
fptr=deformat; quote=0;
extern char *lp;
extern long maxoff;
extern long maxpos;
-extern intptr_t sigint;
-extern intptr_t sigqit;
+void (*sigint) __P((int sig));
+void (*sigqit) __P((int sig));
extern short wtflag;
extern long maxfile;
extern char *errflg;
/*
* If there has been an error or a fault, take the error.
*/
-int chkerr() {
+void chkerr() {
if (errflg || mkfault)
error(errflg);
}
* An error occurred; save the message for later printing,
* close open files, and reset to main command loop.
*/
-int error(n) char *n; {
+void error(n) char *n; {
errflg = n;
iclose(0, 1); oclose();
/*reset();*/ longjmp(reset_buf, 1);
* catch, seek to the end of the current file
* and remember that there was a fault.
*/
-int fault(a) int a; {
+void fault(a) int a; {
signal(a, fault);
lseek(infile, 0L, 2);
mkfault++;
extern long var[36];
#endif
-#undef INSTTAB
-#include "instrs.h"
+/*#undef INSTTAB*/
+/*#include "instrs.h"*/
extern char *regname[];
extern char *fltimm[];
/*
* Definitions for large numbers
*/
-#include "asnumber.h"
+/*#include "asnumber.h"*/
/*static struct as_number *snarf();*/
/*static struct as_number *snarfreloc();*/
/*
short ioptab[3][256]; /* two level 1-based index by opcode into insttab */
-static savevar __P((long val));
+static void savevar __P((long val));
static struct as_number *snarfreloc __P((int nbytes));
static struct as_number *snarf __P((int nbytes));
static u_char snarfuchar __P((void));
static char *operandout __P((int mode, int optype));
-static dispaddress __P((struct as_number *valuep, int mode));
+static void dispaddress __P((struct as_number *valuep, int mode));
static char *insregname __P((int regnumber));
-static shortliteral __P((int mode, int optype));
-static pcimmediate __P((int mode, int optype));
-static bignumprint __P((int nbytes, int optype));
+static void shortliteral __P((int mode, int optype));
+static void pcimmediate __P((int mode, int optype));
+static void bignumprint __P((int nbytes, int optype));
int mapescbyte(byte) int byte; {
switch(byte){
}
}
-int mkioptab() {
+void mkioptab() {
register struct insttab *p;
int mapchar;
static struct proct *procp;
#endif
-static savevar(val) long val; {
+static void savevar(val) long val; {
var[argno] = val;
insoutvar[argno] = val;
}
-int printins(fmt, Idsp, ins) int fmt; int Idsp; int ins; {
+void printins(fmt, Idsp, ins) int fmt; int Idsp; int ins; {
u_char mode; /* mode */
u_char ins2;
char *indexreg; /* print of which register indexes */
#endif
}
-int casebody(base, limit) long base; long limit; {
+void casebody(base, limit) long base; long limit; {
int i;
unsigned baseincp;
unsigned advincp;
return(0);
}
-static dispaddress(valuep, mode) struct as_number *valuep; int mode; {
+static void dispaddress(valuep, mode) struct as_number *valuep; int mode; {
int regnumber = OC_REGEXT(mode);
switch(OC_AMEXT(mode)){
/*
* print out a short literal
*/
-static shortliteral(mode, optype) int mode; int optype; {
+static void shortliteral(mode, optype) int mode; int optype; {
savevar((long)mode);
switch(A_TYPEXT(optype)){
case TYPF:
}
}
-static pcimmediate(mode, optype) int mode; int optype; {
+static void pcimmediate(mode, optype) int mode; int optype; {
int nbytes;
printc('$');
bignumprint(nbytes, optype);
}
-static bignumprint(nbytes, optype) int nbytes; int optype; {
+static void bignumprint(nbytes, optype) int nbytes; int optype; {
struct as_number *valuep;
int leading_zero = 1;
register int bindex;
/*#include "defs.h"*/
#endif
-#undef INSTTAB
+/*#undef INSTTAB*/
-#include "instrs.h"
+/*#include "instrs.h"*/
struct insttab insttab[] = {
#include "instrs.adb"
0};
-#include "assizetab.c"
+#include "../as/assizetab.c"
#undef ADB
-#define SYSTAB struct systab
-SYSTAB {
+struct systab {
int argc;
char *sname;
} systab[] = {
return(n);
}
-int printc(c) int c; {
+void printc(c) int c; {
char d;
char *q;
short posn, tabs, p;
int charpos() { return(printptr-printbuf);
}
-int flushbuf() { if (printptr!=printbuf) {
+void flushbuf() { if (printptr!=printbuf) {
printc('\n');
}
}
#ifdef __STDC__
-int _printf(char *fmat, ...)
+void _printf(char *fmat, ...)
#else
-int _printf(fmat, va_alist) char *fmat; va_dcl
+void _printf(fmat, va_alist) char *fmat; va_dcl
#endif
{
char *fptr, *s;
long lx;
char digits[64];
- fptr = fmat; _va_start(argp, fmt);
+ fptr = fmat; _va_start(argp, fmat);
while (c = *fptr++) {
if (c!='%') {
}
}
-int printdate(tvec) long tvec; {
+void printdate(tvec) long tvec; {
register short i;
register char *timeptr;
#ifndef EDDT
for (i=3; i<19; i++) { *digitptr++ = *(timeptr+i); }
} /*printdate*/
-int prints(s) char *s; { _printf("%s",s);
+void prints(s) char *s; { _printf("%s",s);
}
-int newline() {
+void newline() {
printc('\n');
}
return(n);
}
-int printnum(n, fmat, base) int n; int fmat; int base; {
+void printnum(n, fmat, base) int n; int fmat; int base; {
register char k;
register short *dptr;
short digs[15];
}
}
-int printoct(o, s) long o; int s; {
+void printoct(o, s) long o; int s; {
short i;
long po = o;
char digs[12];
}
#ifndef vax
-printdbl(lx,ly,fmat,base)
-short lx, ly; char fmat; int base;
+void printdbl(lx, ly, fmat, base) short lx, ly; char fmat; int base;
#else
-printdbl(lxy,fmat,base)
-long lxy; char fmat; int base;
+void printdbl(lxy, fmat, base) long lxy; char fmat; int base;
#endif
-{ int digs[20]; int *dptr; char k;
+{
+ int digs[20]; int *dptr; char k;
#ifndef MULD2
register char *cp1;
cp1=digs; if ((lxy&0xFFFF0000L)==0xFFFF0000L) {*cp1++='-'; lxy= -lxy;}
} istack[MAXIFD];
int ifiledepth;
-int iclose(stack, err) int stack; int err; {
+void iclose(stack, err) int stack; int err; {
if (err) {
if (infile) {
close(infile); infile=0;
}
}
-int oclose() {
+void oclose() {
if (outfile!=1) {
flushbuf(); close(outfile); outfile=1;
}
}
-int endline() {
+void endline() {
if (maxpos <= charpos())
_printf("\n");
/* sub process control */
-int subpcs(modif) int modif; {
+void subpcs(modif) int modif; {
register short check;
short execsig,runmode;
register struct bkpt *bkptr;
/* general printing routines ($) */
-int printtrace(modif) int modif; {
+void printtrace(modif) int modif; {
short narg, i, stat, name, limit;
unsigned dynam;
register struct bkpt *bkptr;
}
-int printmap(s, amap) char *s; struct map *amap; {
+void printmap(s, amap) char *s; struct map *amap; {
int file;
file=amap->ufd;
_printf("%s%12t`%s'\n", s,
printc('\n');
}
-int printregs() {
+void printregs() {
register struct reglist *p;
long v;
return(0);
}
-int printpc() {
+void printpc() {
dot= *(intptr_t *)(((intptr_t)&u)+_PC);
psymoff(dot,ISYM,":%16t"); printins(0,_ISP,chkget(dot,_ISP));
printc('\n');
"floating undeflow fault"
};
-int sigprint() {
+void sigprint() {
if ((signo>=0) && (signo<sizeof signals/sizeof signals[0])) { prints(signals[signo]); }
switch (signo) {
extern char BADWAIT[];
extern char *lp;
-extern intptr_t sigint;
-extern intptr_t sigqit;
+extern void (*sigint) __P((int sig));
+extern void (*sigqit) __P((int sig));
/* breakpoints */
extern struct bkpt *bkpthead;
#define BPIN 1
short bpstate = BPOUT;
-int endpcs() {
+void endpcs() {
register struct bkpt *bkptr;
if (pid) {
ptrace(PT_KILL,pid,0,0); pid=0; userpc=1;
}
#ifdef VFORK
-int nullsig() {
+void nullsig() {
}
#endif
-int setup() {
+void setup() {
close(fsym); fsym = -1;
#ifndef VFORK
if ((pid = fork()) == 0)
{
ptrace(PT_TRACE_ME,0,0,0);
#ifdef VFORK
- signal(SIGTRAP,nullsig);
+ signal(SIGTRAP,(int (*) __P((int sig)))nullsig);
#endif
signal(SIGINT,sigint); signal(SIGQUIT,sigqit);
doexec(); exit(0);
bpstate=BPOUT;
}
-int execbkpt(bkptr, execsig) struct bkpt *bkptr; int execsig; {
+void execbkpt(bkptr, execsig) struct bkpt *bkptr; int execsig; {
#ifdef DEBUG
_printf("exbkpt: %d\n",bkptr->count);
#endif
bpwait(); chkerr(); readregs();
}
-int doexec() {
+void doexec() {
char *argl[MAXARG];
char args[LINSIZ];
char *p, **ap, *filnam;
return(bkptr);
}
-int delbp() {
+void delbp() {
register intptr_t a;
register struct bkpt *bkptr;
if (bpstate!=BPOUT) {
#define SETBP(ins) (BPT | ((ins) &~ 0xFF))
#endif
-int setbp() {
+void setbp() {
register intptr_t a;
register struct bkpt *bkptr;
}
}
-int bpwait() {
+void bpwait() {
register intptr_t w;
intptr_t stat;
- signal(SIGINT, 1);
+ signal(SIGINT, SIG_IGN);
while ((w = wait(&stat))!=pid && w != -1);
signal(SIGINT,sigint);
if (w == -1) {
}
}
-int readregs() {
+void readregs() {
/*get register values from pcs*/
register i;
for (i=24; --i>=0;) {
/*#include <vax/pcb.h> sys/user.h*/
/*#include <vax/pte.h> gen.h*/
#include <vax/rpb.h>
+#include "defs.h"
#include "head.h"
#include "machine.h"
char *symfil = "a.out";
char *corfil = "core";
-int setsym() {
+void setsym() {
off_t loc;
struct exec hdr;
register struct nlist *sp;
exit(1);
}
-int setcor() {
+void setcor() {
fcor = datmap.ufd = getfile(corfil,2);
if (kernel && fcor != -1 && INKERNEL(filhdr.a_entry)) {
datmap.e2 = MAXSTOR;
}
-int getpcb() {
+void getpcb() {
lseek(fcor, KVTOPH(masterpcbb), L_SET);
read(fcor, &pcb, sizeof (struct pcb));
* crash, then we must search the interrupt stack carefully
* looking for a valid frame.
*/
-int findstackframe() {
+void findstackframe() {
char *panicstr, buf[256];
register struct frame *fp;
caddr_t addr;
return (fsym);
}
-int setvar() {
+void setvar() {
var[varchk('b')] = datbas;
var[varchk('d')] = filhdr.a_data;
* Return 0 at end of file.
*/
int localsym(cframe, cargp) intptr_t cframe; intptr_t cargp; {
- register int type;
register struct nlist *sp;
if (cursym)
for (sp = cursym; ++sp < esymtab; ) {
if (sp->n_un.n_name[0] =='_' || sp->n_type == N_FN)
return (0);
- type = sp->n_type;
switch (sp->n_type) {
case N_TEXT:
* that they match exactly or that they be more than maxoff
* bytes into kernel space.
*/
-int psymoff(v, type, s) long v; int type; char *s; {
+void psymoff(v, type, s) long v; int type; char *s; {
long w;
if (v)
* interpretation as name+offset. If not, print nothing.
* Used in printing out registers $r.
*/
-int valpr(v, idsp) long v; int idsp; {
+void valpr(v, idsp) long v; int idsp; {
off_t d;
d = findsym(v, idsp);
--- /dev/null
+#!/bin/sh
+
+ROOT=../..
+ROOT=`cd $ROOT && pwd`
+SCRIPTS=$ROOT/scripts
+
+if test $# -lt 1
+then
+ set *.c
+fi
+
+while test $# -ge 1
+do
+ o=`basename $1 .c`.o
+
+ rm -f $o
+ $SCRIPTS/make.sh $o 2>x
+ $SCRIPTS/nonvoid.sh <x >y
+ sed -f y -i $1 *.h
+
+ rm -f $o
+ $SCRIPTS/make.sh $o 2>x
+ $SCRIPTS/isvoid.sh <x >y
+ sed -f y -i $1 *.h
+
+ shift
+done
#!/bin/sh
ROOT=`dirname $0`/..
-$ROOT/scripts/errfunc.sh |grep "‘return’ with a value, in function returning void" |sed -e 's/:.*//' |sort |uniq |sed -e 's/.*/s\/^void &\\( __P(\\)\\?(\/int &\\1(\//'
+$ROOT/scripts/errfunc.sh |grep "‘return’ with a value, in function returning void" |sed -e 's/:.*//' |sort |uniq |sed -e 's/.*/s\/^\\(static \\)\\?void &\\( __P(\\)\\?(\/\\1int &\\2(\//'
#!/bin/sh
ROOT=`dirname $0`/..
-$ROOT/scripts/errfunc.sh |grep "control reaches end of non-void function\|‘return’ with no value, in function returning non-void" |sed -e 's/:.*//' |sort |uniq |sed -e 's/.*/s\/^int &\\( __P(\\)\\?(\/void &\\1(\//'
+$ROOT/scripts/errfunc.sh |grep "control reaches end of non-void function\|‘return’ with no value, in function returning non-void\|no return statement in function returning non-void" |sed -e 's/:.*//' |sort |uniq |sed -e 's/.*/s\/^\\(static \\)\\?\\(int \\)\\?&\\( __P(\\)\\?(\/\\1void &\\3(\//'