From: Austin Clements Date: Tue, 16 Dec 2014 19:08:39 +0000 (-0500) Subject: cmd/9l: improve R_CALLPOWER error messages X-Git-Tag: go1.5beta1~2548 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=005ba4db82c93298dbfdf0866c613f86df713b87;p=gostls13.git cmd/9l: improve R_CALLPOWER error messages Change-Id: I8670540a2a9647efbd8b072a54272a04c530e54b Reviewed-on: https://go-review.googlesource.com/2001 Reviewed-by: Minux Ma --- diff --git a/src/cmd/9l/asm.c b/src/cmd/9l/asm.c index 7814edd525..936cf8723e 100644 --- a/src/cmd/9l/asm.c +++ b/src/cmd/9l/asm.c @@ -165,9 +165,11 @@ archreloc(Reloc *r, LSym *s, vlong *val) t = symaddr(r->sym) + r->add - (s->value + r->off); if(t & 3) - ctxt->diag("relocation for %s is not aligned: %lld", s->name, t); + ctxt->diag("relocation for %s+%d is not aligned: %lld", r->sym->name, r->off, t); if(t << 6 >> 6 != t) - ctxt->diag("relocation for %s is too big: %lld", s->name, t); + // TODO(austin) This can happen if text > 32M. + // Add a call trampoline to .text in that case. + ctxt->diag("relocation for %s+%d is too big: %lld", r->sym->name, r->off, t); *val = (o1 & 0xfc000003U) | (t & ~0xfc000003U); return 0;