From: Shenghou Ma Date: Sun, 21 Dec 2014 07:48:01 +0000 (-0500) Subject: [release-branch.go1.4] cmd/ld: put .bss from external objects into real .bss section X-Git-Tag: go1.4.1~9 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=ff2ab2991490879a8ec13e85503104dff0484234;p=gostls13.git [release-branch.go1.4] cmd/ld: put .bss from external objects into real .bss section Fixes #9359. Change-Id: Iba62935b5a14de23d914f433a09a40417d7e88ed Signed-off-by: Shenghou Ma Reviewed-on: https://go-review.googlesource.com/1889 Reviewed-by: Russ Cox Reviewed-by: Ian Lance Taylor (cherry picked from commit 1c0c611fc2a7e1ce7eb39626ca7b120b62aac557) Reviewed-on: https://go-review.googlesource.com/2802 Reviewed-by: Andrew Gerrand --- diff --git a/src/cmd/ld/ldelf.c b/src/cmd/ld/ldelf.c index b5d0819493..dd5fa0d2a8 100644 --- a/src/cmd/ld/ldelf.c +++ b/src/cmd/ld/ldelf.c @@ -539,7 +539,10 @@ ldelf(Biobuf *f, char *pkg, int64 len, char *pn) s->type = SRODATA; break; case ElfSectFlagAlloc + ElfSectFlagWrite: - s->type = SNOPTRDATA; + if(sect->type == ElfSectNobits) + s->type = SNOPTRBSS; + else + s->type = SNOPTRDATA; break; case ElfSectFlagAlloc + ElfSectFlagExec: s->type = STEXT;