|
|
1.1 root 1: /* Copyright (c) 1982 Regents of the University of California */
2:
3: static char sccsid[] = "@(#)remake.c 1.2 3/8/82";
4:
5: /*
6: * Remake the object file from the source.
7: */
8:
9: #include "defs.h"
10: #include "command.h"
11: #include "object.h"
12:
13: /*
14: * Invoke "pi" on the dotpfile, then reread the symbol table information.
15: *
16: * We have to save tracing info before, and read it in after, because
17: * it might contain symbol table pointers.
18: *
19: * We also have to restart the process so that px dependent information
20: * is recomputed.
21: */
22:
23: remake()
24: {
25: char *tmpfile;
26:
27: if (call("pi", stdin, stdout, dotpfile, NIL) == 0) {
28: if (strcmp(objname, "obj") != 0) {
29: call("mv", stdin, stdout, "obj", objname, NIL);
30: }
31: tmpfile = mktemp("/tmp/pdxXXXX");
32: setout(tmpfile);
33: status();
34: unsetout();
35: bpfree();
36: objfree();
37: initstart();
38: readobj(objname);
39: setinput(tmpfile);
40: unlink(tmpfile);
41: } else {
42: puts("pi unsuccessful");
43: }
44: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.