BSD 3 development
authorHoward Katseff <hpk@ucbvax.Berkeley.EDU>
Wed, 26 Dec 1979 18:03:15 +0000 (10:03 -0800)
committerHoward Katseff <hpk@ucbvax.Berkeley.EDU>
Wed, 26 Dec 1979 18:03:15 +0000 (10:03 -0800)
Work on file usr/src/cmd/sdb/defs.h
Work on file usr/src/cmd/sdb/machine.h

Synthesized-from: 3bsd

usr/src/cmd/sdb/defs.h [new file with mode: 0644]
usr/src/cmd/sdb/machine.h [new file with mode: 0644]

diff --git a/usr/src/cmd/sdb/defs.h b/usr/src/cmd/sdb/defs.h
new file mode 100644 (file)
index 0000000..f3b55b3
--- /dev/null
@@ -0,0 +1,197 @@
+/*
+ *
+ *     UNIX debugger - common definitions
+ *
+ */
+
+
+
+/*     Layout of a.out file (fsym):
+ *
+ *     header of 8 longwords
+ *                             magic number 410
+ *                             text size       )
+ *                             data size       ) padded with 0 to multiple of 4 bytes
+ *                             bss size        )
+ *                             symbol table size
+ *                             entry address
+ *                             size of text relocation info
+ *                             size of data relocation info
+ *
+ *
+ *     header:         0
+ *     text:           32
+ *     data:           32+textsize
+ *     text reloc:     32+textsize+datasize
+ *     data reloc:     32+textsize+datasize+textreloc
+ *     symbol table:   32+textsize+datasize+textreloc+datareloc
+ *
+ */
+
+#include <sys/param.h>
+#include <sys/dir.h>
+#include <sys/psl.h>
+#include <sys/user.h>
+#include "mac.h"
+#include "mode.h"
+
+
+#define VARB   11
+#define VARD   13
+#define VARE   14
+#define VARM   22
+#define VARS   28
+#define VART   29
+
+#define COREMAGIC 0140000
+
+/* access modes */
+#define RD     0
+#define WT     1
+
+/* access spaces */
+#define NSP    0
+#define        ISP     1
+#define        DSP     2
+
+#define STAR   4
+#define STARCOM 0200
+#define DSYM   4
+#define ISYM   4
+#define ASYM   2
+#define NSYM   0
+#define ESYM   (-1)
+#define BKPTSET        1
+#define BKPTEXEC 2
+#define        SYMSIZ  100
+#define MAXSIG 20
+
+#define USERPS PSL
+#define USERPC PC
+#define BPT    03
+#define TBIT   020
+#define FD     0200
+
+/* ptracew modes */
+#define        SETTRC  0
+#define        RDUSER  2
+#define        RIUSER  1
+#define        WDUSER  5
+#define WIUSER 4
+#define        RUREGS  3
+#define        WUREGS  6
+#define        CONTIN  7
+#define        EXIT    8
+#define SINGLE 9
+
+#define FROFF  (&(0->fpsr))
+#define FRLEN  25
+#define FRMAX  6
+
+/* 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
+#ifdef VAX135
+#define USP (ctob(UPAGES)-5*4)
+#define R0 (ctob(UPAGES)-18*4)
+#define R1 (ctob(UPAGES)-17*4)
+#define R2 (ctob(UPAGES)-16*4)
+#define R3 (ctob(UPAGES)-15*4)
+#define R4 (ctob(UPAGES)-14*4)
+#define R5 (ctob(UPAGES)-13*4)
+#define R6 (ctob(UPAGES)-12*4)
+#define R7 (ctob(UPAGES)-11*4)
+#define R8 (ctob(UPAGES)-10*4)
+#define R9 (ctob(UPAGES)-9*4)
+#define R10 (ctob(UPAGES)-8*4)
+#define R11 (ctob(UPAGES)-7*4)
+#define AP (ctob(UPAGES)-21*4)
+#define FP (ctob(UPAGES)-20*4)
+#define PC (ctob(UPAGES)-2*4)
+#define PSL (ctob(UPAGES)-1*4)
+#else
+#define USP (ctob(UPAGES)-5*4)
+#define R0 (ctob(UPAGES)-19*4)
+#define R1 (ctob(UPAGES)-18*4)
+#define R2 (ctob(UPAGES)-17*4)
+#define R3 (ctob(UPAGES)-16*4)
+#define R4 (ctob(UPAGES)-15*4)
+#define R5 (ctob(UPAGES)-14*4)
+#define R6 (ctob(UPAGES)-13*4)
+#define R7 (ctob(UPAGES)-12*4)
+#define R8 (ctob(UPAGES)-11*4)
+#define R9 (ctob(UPAGES)-10*4)
+#define R10 (ctob(UPAGES)-9*4)
+#define R11 (ctob(UPAGES)-8*4)
+#define AP (ctob(UPAGES)-7*4)
+#define FP (ctob(UPAGES)-6*4)
+#define PC (ctob(UPAGES)-2*4)
+#define PSL (ctob(UPAGES)-1*4)
+#endif
+#define P0BR 80
+#define P0LR 84
+#define P1BR 88
+#define P1LR 92
+
+#define MAXOFF 255
+#define MAXPOS 80
+#define MAXLIN 128
+#define EOR    '\n'
+#define SP     ' '
+#define TB     '\t'
+#define QUOTE  0200
+#define STRIP  0177
+#define LOBYTE 0377
+#define EVEN   -2
+
+
+#ifndef vax
+#define leng(a)                ((long)((unsigned)(a)))
+#define shorten(a)     ((int)(a))
+#define itol(a,b)      (itolws.I[0]=(a), itolws.I[1]=(b), itolws.L)
+#else
+#define leng(a)                itol(0,a)
+#define shorten(a)     ((short)(a))
+#define itol(a,b)      (itolws.I[0]=(b), itolws.I[1]=(a), itolws.L)
+#endif
+
+
+
+/* result type declarations */
+L_INT          inkdot();
+SYMPTR         lookupsym();
+SYMPTR         symget();
+POS            get();
+POS            chkget();
+STRING         exform();
+L_INT          round();
+BKPTR          scanbkpt();
+VOID           fault();
+
+
+INT            mkfault;
+INT            executing;
+L_INT          maxoff;
+L_INT          maxpos;
+ADDR           sigint;
+ADDR           sigqit;
+INT            wtflag;
+L_INT          maxfile;
+L_INT          maxstor;
+L_INT          txtsiz;
+L_INT          datsiz;
+L_INT          datbas;
+L_INT          stksiz;
+STRING         errflg;
+INT            magic;
+L_INT          entrypt;
+
+CHAR           lastc;
+
+STRING         symfil;
+STRING         corfil;
+MAP            txtmap;
+MAP            datmap;
diff --git a/usr/src/cmd/sdb/machine.h b/usr/src/cmd/sdb/machine.h
new file mode 100644 (file)
index 0000000..5738ec2
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ *     UNIX/vax debugger
+ */
+
+/* unix parameters */
+#define DBNAME "adb\n"
+#define LPRMODE "%R"
+#define OFFMODE "+%R"
+#define TXTRNDSIZ PAGSIZ
+
+TYPE   long TXTHDR[8];
+TYPE   long SYMV;
+
+#ifndef vax
+struct {short hiword; short loword;}; /* stupid fp-11 */
+#endif
+
+/* symbol table in a.out file */
+struct symtab {
+       char    symc[8];
+       char    symf;
+       char    sympad[3];
+       SYMV    symv;
+};
+#define SYMTABSIZ (sizeof (struct symtab))
+
+#define SYMCHK 057
+#define SYMTYPE(symflg) (symflg&41 ? DSYM : NSYM)