aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/ld
diff options
context:
space:
mode:
authorWei Guangjing <vcc.163@gmail.com>2011-11-11 14:40:24 -0500
committerRuss Cox <rsc@golang.org>2011-11-11 14:40:24 -0500
commit3199a6ca8d06ef608080f1ef6c0523ebbbeb0025 (patch)
tree6f888de3d2620995597f48a12e5ddccb29081392 /src/cmd/ld
parent252ef18d04a2560e66aef7b560bd02db92bed912 (diff)
downloadgo-3199a6ca8d06ef608080f1ef6c0523ebbbeb0025.tar.xz
ld: fix .bss for ldpe.
Fixes #2409. R=mattn.jp, rsc, alex.brainman CC=golang-dev https://golang.org/cl/5334046
Diffstat (limited to 'src/cmd/ld')
-rw-r--r--src/cmd/ld/ldpe.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cmd/ld/ldpe.c b/src/cmd/ld/ldpe.c
index c112cb5394..8d175b1156 100644
--- a/src/cmd/ld/ldpe.c
+++ b/src/cmd/ld/ldpe.c
@@ -283,7 +283,7 @@ ldpe(Biobuf *f, char *pkg, int64 len, char *pn)
case IMAGE_REL_I386_REL32:
case IMAGE_REL_AMD64_REL32:
rp->type = D_PCREL;
- rp->add = 0;
+ rp->add = le32(rsect->base+rp->off);
break;
case IMAGE_REL_I386_DIR32NB:
case IMAGE_REL_I386_DIR32:
@@ -408,7 +408,7 @@ readsym(PeObj *obj, int i, PeSym **y)
sym = &obj->pesym[i];
*y = sym;
- if(sym->sclass == IMAGE_SYM_CLASS_STATIC && sym->value == 0 && sym->type == 0) // section
+ if(sym->name[0] == '.') // .section
name = obj->sect[sym->sectnum-1].sym->name;
else {
name = sym->name;