|
|
1.1 root 1: /*
2: * machine-dependent code for controlling a process
3: * this for cray
4: */
5:
6: #include "defs.h"
7: #include "bkpt.h"
8: #include "regs.h"
9: #include "space.h"
10:
11: /*
12: * install (f != 0) or remove (f == 0) a breakpoint
13: */
14:
15: #define BPT 0 /* err */
16:
17: extern ADDR txtsize;
18: bkput(bk, f)
19: register BKPT *bk;
20: {
21: register int sp;
22:
23: if (bk->loc < txtsize)
24: sp = CORF | INSTSP;
25: else
26: sp = CORF | DATASP;
27: if (f == 0)
28: sput(bk->loc, sp, wtos(bk->ins));
29: else {
30: bk->ins = stow(sget(bk->loc, sp));
31: sput(bk->loc, sp, wtos(BPT));
32: if (errflg) {
33: printf("cannot set breakpoint: ");
34: /* stuff */
35: prints(errflg);
36: }
37: }
38: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.