aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShenghou Ma <minux@golang.org>2014-12-21 02:48:01 -0500
committerRuss Cox <rsc@golang.org>2015-01-14 05:42:14 +0000
commitff2ab2991490879a8ec13e85503104dff0484234 (patch)
treee411aa7b45b4e989c57e112cc2b6ec3e4f6854b9
parent6609baf2f7ab0500275789440df9550a2725fc7e (diff)
downloadgo-ff2ab2991490879a8ec13e85503104dff0484234.tar.gz
go-ff2ab2991490879a8ec13e85503104dff0484234.zip
[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 <minux@golang.org> Reviewed-on: https://go-review.googlesource.com/1889 Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> (cherry picked from commit 1c0c611fc2a7e1ce7eb39626ca7b120b62aac557) Reviewed-on: https://go-review.googlesource.com/2802 Reviewed-by: Andrew Gerrand <adg@golang.org>
-rw-r--r--src/cmd/ld/ldelf.c5
1 files changed, 4 insertions, 1 deletions
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;