|
|
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.