summaryrefslogtreecommitdiff
path: root/src/cmd/gc/obj.c
diff options
context:
space:
mode:
authorMichael Stapelberg <stapelberg@debian.org>2013-03-04 21:27:43 +0100
committerMichael Stapelberg <michael@stapelberg.de>2013-03-04 21:27:43 +0100
commitad47422646a18ffcb47cec916ef7393c923f2e76 (patch)
tree7c7861fb3d9539d61c1dcfd5b8dadee974c25760 /src/cmd/gc/obj.c
parent2c8d5d584a79781ca41bb6f4b396893fbbac5b97 (diff)
parent04b08da9af0c450d645ab7389d1467308cfc2db8 (diff)
downloadgolang-ad47422646a18ffcb47cec916ef7393c923f2e76.tar.gz
Merge tag 'upstream/1.1_hg20130304' into debian-sid
Upstream version 1.1~hg20130304
Diffstat (limited to 'src/cmd/gc/obj.c')
-rw-r--r--src/cmd/gc/obj.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/cmd/gc/obj.c b/src/cmd/gc/obj.c
index e45b4e0d4..b87d35b7b 100644
--- a/src/cmd/gc/obj.c
+++ b/src/cmd/gc/obj.c
@@ -59,7 +59,13 @@ dumpglobls(void)
continue;
dowidth(n->type);
- ggloblnod(n, n->type->width);
+ ggloblnod(n);
+ }
+
+ for(l=funcsyms; l; l=l->next) {
+ n = l->n;
+ dsymptr(n->sym, 0, n->sym->def->shortname->sym, 0);
+ ggloblsym(n->sym, widthptr, 1, 1);
}
}
@@ -302,8 +308,8 @@ stringsym(char *s, int len)
off = 0;
// string header
- off = dsymptr(sym, off, sym, widthptr+4);
- off = duint32(sym, off, len);
+ off = dsymptr(sym, off, sym, widthptr+widthint);
+ off = duintxx(sym, off, len, widthint);
// string data
for(n=0; n<len; n+=m) {
@@ -314,7 +320,7 @@ stringsym(char *s, int len)
}
off = duint8(sym, off, 0); // terminating NUL for runtime
off = (off+widthptr-1)&~(widthptr-1); // round to pointer alignment
- ggloblsym(sym, off, 1);
+ ggloblsym(sym, off, 1, 1);
return sym;
}