mirror of
https://github.com/golang/go
synced 2024-11-02 08:01:26 +00:00
cmd/link: check mmap error
We already check mmap errors on some code paths, but we missed one. Add error check there. Change-Id: Ic0e9cb0eb03c805de40802cfc5d5500e3e065d99 Reviewed-on: https://go-review.googlesource.com/c/go/+/319290 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>
This commit is contained in:
parent
af0f8c149e
commit
e03383a2e2
3 changed files with 6 additions and 3 deletions
|
@ -167,7 +167,10 @@ func sizeExtRelocs(ctxt *Link, relsize uint32) {
|
|||
}
|
||||
}
|
||||
filesz := ctxt.Out.Offset() + sz
|
||||
ctxt.Out.Mmap(uint64(filesz))
|
||||
err := ctxt.Out.Mmap(uint64(filesz))
|
||||
if err != nil {
|
||||
Exitf("mapping output file failed: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
// relocSectFn wraps the function writing relocations of a section
|
||||
|
|
|
@ -334,7 +334,7 @@ func Main(arch *sys.Arch, theArch Arch) {
|
|||
// Don't mmap if we're building for Wasm. Wasm file
|
||||
// layout is very different so filesize is meaningless.
|
||||
if err := ctxt.Out.Mmap(filesize); err != nil {
|
||||
panic(err)
|
||||
Exitf("mapping output file failed: %v", err)
|
||||
}
|
||||
}
|
||||
// asmb will redirect symbols to the output file mmap, and relocations
|
||||
|
|
|
@ -160,7 +160,7 @@ func (out *OutBuf) copyHeap() bool {
|
|||
total := uint64(bufLen + heapLen)
|
||||
if heapLen != 0 {
|
||||
if err := out.Mmap(total); err != nil { // Mmap will copy out.heap over to out.buf
|
||||
panic(err)
|
||||
Exitf("mapping output file failed: %v", err)
|
||||
}
|
||||
}
|
||||
return true
|
||||
|
|
Loading…
Reference in a new issue