From 3199a6ca8d06ef608080f1ef6c0523ebbbeb0025 Mon Sep 17 00:00:00 2001 From: Wei Guangjing Date: Fri, 11 Nov 2011 14:40:24 -0500 Subject: [PATCH] ld: fix .bss for ldpe. Fixes #2409. R=mattn.jp, rsc, alex.brainman CC=golang-dev https://golang.org/cl/5334046 --- src/cmd/ld/ldpe.c | 4 ++-- 1 file 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; -- 2.50.0