]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/9l: improve R_CALLPOWER error messages
authorAustin Clements <austin@google.com>
Tue, 16 Dec 2014 19:08:39 +0000 (14:08 -0500)
committerAustin Clements <austin@google.com>
Mon, 22 Dec 2014 23:57:39 +0000 (23:57 +0000)
Change-Id: I8670540a2a9647efbd8b072a54272a04c530e54b
Reviewed-on: https://go-review.googlesource.com/2001
Reviewed-by: Minux Ma <minux@golang.org>
src/cmd/9l/asm.c

index 7814edd525e2f0c5c737694bc267aa3c0da1c3a0..936cf8723ea869781a7dee2490fda3c28c0c6ac6 100644 (file)
@@ -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;