diff options
author | Rob Pike <r@golang.org> | 2009-01-15 15:21:12 -0800 |
---|---|---|
committer | Rob Pike <r@golang.org> | 2009-01-15 15:21:12 -0800 |
commit | c03055efdfd447e155efe07dacd22dc588351170 (patch) | |
tree | 5b6b2ee19ff1be5c690eeaa65c26a6c11127535b | |
parent | df164bef8bfff612f309bc06c47d1dcf9a33ae32 (diff) | |
download | golang-c03055efdfd447e155efe07dacd22dc588351170.tar.gz |
diagnose missing symbols instead of
silently miscompiling.
R=rsc
OCL=22872
CL=22872
-rw-r--r-- | src/cmd/6l/asm.c | 2 | ||||
-rw-r--r-- | src/cmd/6l/go.c | 2 | ||||
-rw-r--r-- | src/cmd/6l/l.h | 1 |
3 files changed, 4 insertions, 1 deletions
diff --git a/src/cmd/6l/asm.c b/src/cmd/6l/asm.c index fec8fd0e1..68e7ec54c 100644 --- a/src/cmd/6l/asm.c +++ b/src/cmd/6l/asm.c @@ -708,6 +708,8 @@ datblk(int32 s, int32 n) if(p->to.sym) { if(p->to.sym->type == SUNDEF) ckoff(p->to.sym, o); + if(p->to.sym->type == Sxxx) + diag("missing symbol %s", p->to.sym->name); o += p->to.sym->value; if(p->to.sym->type != STEXT && p->to.sym->type != SUNDEF) o += INITDAT; diff --git a/src/cmd/6l/go.c b/src/cmd/6l/go.c index 5128c51fa..06eea3407 100644 --- a/src/cmd/6l/go.c +++ b/src/cmd/6l/go.c @@ -487,6 +487,6 @@ definetypesigs(void) prog->to.offset = n; if(debug['v']) - Bprint(&bso, "%5.2f typestrings %d\n", cputime(), n); + Bprint(&bso, "%5.2f typesigs %d\n", cputime(), n); } diff --git a/src/cmd/6l/l.h b/src/cmd/6l/l.h index 7367bfec2..e6ce0e7b2 100644 --- a/src/cmd/6l/l.h +++ b/src/cmd/6l/l.h @@ -137,6 +137,7 @@ struct Movtab enum { + Sxxx, STEXT = 1, SDATA, SBSS, |