Commit 005ba4db authored by Austin Clements's avatar Austin Clements

cmd/9l: improve R_CALLPOWER error messages

Change-Id: I8670540a2a9647efbd8b072a54272a04c530e54b
Reviewed-on: https://go-review.googlesource.com/2001Reviewed-by: 's avatarMinux Ma <minux@golang.org>
parent 13e16b39
...@@ -165,9 +165,11 @@ archreloc(Reloc *r, LSym *s, vlong *val) ...@@ -165,9 +165,11 @@ archreloc(Reloc *r, LSym *s, vlong *val)
t = symaddr(r->sym) + r->add - (s->value + r->off); t = symaddr(r->sym) + r->add - (s->value + r->off);
if(t & 3) 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) 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); *val = (o1 & 0xfc000003U) | (t & ~0xfc000003U);
return 0; return 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment