When external linking, we are creating an object file, instead of
a executable. The absolute address is irrelevant. The external
linker will set it up. Start at address 0.
Change-Id: I3a2e0b8087b328d5c3144f29ca8ba6311aa39cba
Reviewed-on: https://go-review.googlesource.com/c/go/+/319830
Trust: Cherry Mui <cherryyz@google.com>
Run-TryBot: Cherry Mui <cherryyz@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
Peinit(ctxt)
}
- if ctxt.HeadType == objabi.Hdarwin && ctxt.LinkMode == LinkExternal {
+ if ctxt.LinkMode == LinkExternal {
+ // When external linking, we are creating an object file. The
+ // absolute address is irrelevant.
*FlagTextAddr = 0
}
// linker will honour that requirement.
PESECTALIGN = 32
PEFILEALIGN = 0
+ // We are creating an object file. The absolute address is irrelevant.
+ PEBASE = 0
}
var sh [16]pe.SectionHeader32