aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/ld
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2013-12-09 07:42:55 -0800
committerRuss Cox <rsc@golang.org>2013-12-09 07:42:55 -0800
commit0c0589ec42447e09a35bc0891a59402ee2d1c4fd (patch)
treef5bd20645a7f8d48a471df4585b15335ed410a67 /src/cmd/ld
parent79479ac486c15ed5919773f1f28c1eecea19b8b9 (diff)
downloadgo-0c0589ec42447e09a35bc0891a59402ee2d1c4fd.tar.xz
cmd/ld: fix linux/386 build
TBR=iant CC=golang-dev https://golang.org/cl/39400044
Diffstat (limited to 'src/cmd/ld')
-rw-r--r--src/cmd/ld/data.c2
-rw-r--r--src/cmd/ld/ldelf.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/src/cmd/ld/data.c b/src/cmd/ld/data.c
index ac28041fbb..9b799fe0b2 100644
--- a/src/cmd/ld/data.c
+++ b/src/cmd/ld/data.c
@@ -246,7 +246,7 @@ relocsym(LSym *s)
o = r->sym->size + r->add;
break;
}
-//print("relocate %s %p %s => %p %p %p %p [%p]\n", s->name, s->value+off, r->sym ? r->sym->name : "<nil>", (void*)symaddr(r->sym), (void*)s->value, (void*)r->off, (void*)r->siz, (void*)o);
+//print("relocate %s %#llux (%#llux+%#llux, size %d) => %s %#llux +%#llx [%llx]\n", s->name, (uvlong)(s->value+off), (uvlong)s->value, (uvlong)r->off, r->siz, r->sym ? r->sym->name : "<nil>", (uvlong)symaddr(r->sym), (vlong)r->add, (vlong)o);
switch(siz) {
default:
ctxt->cursym = s;
diff --git a/src/cmd/ld/ldelf.c b/src/cmd/ld/ldelf.c
index 4bc830ef32..f1091d57c3 100644
--- a/src/cmd/ld/ldelf.c
+++ b/src/cmd/ld/ldelf.c
@@ -712,6 +712,9 @@ ldelf(Biobuf *f, char *pkg, int64 len, char *pn)
else
diag("invalid rela size %d", rp->siz);
}
+ if(rp->siz == 4)
+ rp->add = (int32)rp->add;
+ //print("rel %s %d %d %s %#llx\n", sect->sym->name, rp->type, rp->siz, rp->sym->name, rp->add);
}
qsort(r, n, sizeof r[0], rbyoff); // just in case