mirror of
https://github.com/golang/go
synced 2024-11-18 07:04:52 -07:00
cmd/link: write combined dwarf file to same directory as output file
Fixes #11681. Change-Id: I679d71ed25ac585af7d43611be01c1a0c4807871 Reviewed-on: https://go-review.googlesource.com/12554 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
3bab4ef68d
commit
5659964d67
@ -1083,16 +1083,16 @@ func hostlink() {
|
||||
Ctxt.Cursym = nil
|
||||
Exitf("%s: running dsymutil failed: %v\n%s", os.Args[0], err, out)
|
||||
}
|
||||
combinedOutput := fmt.Sprintf("%s/go.combined", tmpdir)
|
||||
// For os.Rename to work reliably, must be in same directory as outfile.
|
||||
combinedOutput := outfile + "~"
|
||||
if err := machoCombineDwarf(outfile, dsym, combinedOutput); err != nil {
|
||||
Ctxt.Cursym = nil
|
||||
Exitf("%s: combining dwarf failed: %v", os.Args[0], err)
|
||||
}
|
||||
origOutput := fmt.Sprintf("%s/go.orig", tmpdir)
|
||||
os.Rename(outfile, origOutput)
|
||||
os.Remove(outfile)
|
||||
if err := os.Rename(combinedOutput, outfile); err != nil {
|
||||
Ctxt.Cursym = nil
|
||||
Exitf("%s: rename(%s, %s) failed: %v", os.Args[0], combinedOutput, outfile, err)
|
||||
Exitf("%s: %v", os.Args[0], err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user