aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlex Brainman <alex.brainman@gmail.com>2017-02-08 11:44:09 +1100
committerAlex Brainman <alex.brainman@gmail.com>2017-02-21 06:11:17 +0000
commitd0a978f5b503028bb9c34944edb59e52c4070f6f (patch)
treebfdf386aae7bb0bf8355d0c37c4c72e9320b725f /src
parent6db4d92e4c01c854e15391d18100c8d99cbbd7bc (diff)
downloadgo-d0a978f5b503028bb9c34944edb59e52c4070f6f.tar.xz
cmd/link: reorder pe sections
dwarf writing code assumes that dwarf sections follow .data and .bss, not .ctors. Make pe section writing code match that assumption. For #10776. Change-Id: I128c3ad125f7d0db19e922f165704a054b2af7ba Reviewed-on: https://go-review.googlesource.com/36980 Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/link/internal/ld/pe.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cmd/link/internal/ld/pe.go b/src/cmd/link/internal/ld/pe.go
index 3a99388381..6c8d39a43e 100644
--- a/src/cmd/link/internal/ld/pe.go
+++ b/src/cmd/link/internal/ld/pe.go
@@ -1196,14 +1196,16 @@ func Asmbpe(ctxt *Link) {
b.Characteristics = IMAGE_SCN_CNT_UNINITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE | IMAGE_SCN_ALIGN_32BYTES
b.PointerToRawData = 0
bsssect = pensect
-
- c = addinitarray(ctxt)
}
if !*FlagS {
dwarfaddpeheaders(ctxt)
}
+ if Linkmode == LinkExternal {
+ c = addinitarray(ctxt)
+ }
+
Cseek(int64(nextfileoff))
if Linkmode != LinkExternal {
addimports(ctxt, d)