Browse Source

modifications for debugger

ceriel 34 years ago
parent
commit
8cd417eeab
3 changed files with 27 additions and 2 deletions
  1. 1 1
      h/em_mes.h
  2. 5 1
      h/out.h
  3. 21 0
      h/stb.h

+ 1 - 1
h/em_mes.h

@@ -20,7 +20,7 @@
 #define ms_ego	10	/* Hint from EM Global Optimizer                     */
 #define ms_gto	11	/* Dangerous procedure, uses nonlocal goto	     */
 #define ms_stb	12	/* symbol table entry (for debugger)		     */
-#define ms_lin	13	/* line number indication (for debugger symbol table)*/
+#define ms_std	13	/* symbol table entry (for debugger) referring to dot */
 #define ms_sth  14      /* Height of the stack at a certain label	     */
 
 /*

+ 5 - 1
h/out.h

@@ -79,7 +79,8 @@ struct outname {
 #define S_UND	0x0000		/* undefined item */
 #define S_ABS	0x0001		/* absolute item */
 #define S_MIN	0x0002		/* first user section */
-#define S_MAX	S_TYP		/* last user section */
+#define S_MAX	(S_TYP-1)	/* last user section */
+#define S_CRS	S_TYP		/* on_valu is symbol index which contains value */
 
 /*
  * S_ETC field values
@@ -89,6 +90,9 @@ struct outname {
 #define S_FIL	0x0300		/* hll source file item */
 #define S_MOD	0x0400		/* ass source file item */
 #define S_COM	0x1000		/* Common name. */
+#define S_STB	0xe000		/* entries with any of these bits set are
+				   reserved for debuggers
+				*/
 
 /*
  * structure format strings

+ 21 - 0
h/stb.h

@@ -0,0 +1,21 @@
+/* $Header$ */
+
+/* debugger symbol table types, as in DBX */
+
+#define	N_GSYM	0x20	/* global symbol: name,,???,address */
+#define	N_FUN	0x24	/* routine: name,,???,address */
+#define	N_STSYM	0x26	/* static data symbol: name,,???,address */
+#define	N_LCSYM	0x28	/* static bss symbol: name,,???,address */
+#define N_MAIN  0x2a	/* name of main routine: name,,0,0 */
+#define	N_RSYM	0x40	/* register symbol: name,,???,register */
+#define	N_SLINE	0x44	/* source line: 0,linenumber,address */
+#define	N_SSYM	0x60	/* structure element: name,,???,offset */
+#define	N_SO	0x64	/* source file name: name,,0,address */
+#define	N_LSYM	0x80	/* local symbol: name,,???,offset from LB */
+#define	N_BINCL 0x82	/* header file: name,,0,0 */
+#define	N_SOL	0x84	/* #included file name: name,,0,??? */
+#define	N_PSYM	0xa0	/* parameter: name,,???,offset from AB */
+#define N_EINCL 0xa2	/* end of include file: name,,0,0 */
+#define	N_LBRAC	0xc0	/* left bracket: 0,nesting level,address */
+#define	N_RBRAC	0xe0	/* right bracket: 0,nesting level,address */
+#define N_SCOPE	0xc4	/* scope information */