mirror of
https://github.com/golang/go.git
synced 2026-02-05 02:15:06 +03:00
cmd/link: sort the pclntab relocations
llvm-mingw's lld produces an invalid windows/arm64 executable when presented with relocations that are out of order (the relocation for each function is emitted for two different locations, so we end up with two sorted streams roughly interlaced, not one sorted stream). Sorting should not break other systems, so sort always. Change-Id: Ic9a95e7145881db5984cbda442f27b0cc24748fb Reviewed-on: https://go-review.googlesource.com/c/go/+/312033 Trust: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
This commit is contained in:
@@ -590,6 +590,7 @@ func (state *pclntab) generateFunctab(ctxt *Link, funcs []loader.Sym, inlSyms ma
|
||||
if !useSymValue {
|
||||
// Generate relocations for funcdata when externally linking.
|
||||
state.writeFuncData(ctxt, sb, funcs, inlSyms, startLocations, setAddr, setUintNOP)
|
||||
sb.SortRelocs()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user