diff options
| author | Russ Cox <rsc@golang.org> | 2015-07-22 18:02:52 -0400 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2015-07-23 03:52:20 +0000 |
| commit | 5659964d67c9e0b74d8335ea7288fe6facb0d00b (patch) | |
| tree | ecf5a68d905991647b5482269580b173ba789570 /src | |
| parent | 3bab4ef68da5334a1aac558ec7bee53f6bf15cfc (diff) | |
| download | go-5659964d67c9e0b74d8335ea7288fe6facb0d00b.tar.xz | |
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>
Diffstat (limited to 'src')
| -rw-r--r-- | src/cmd/link/internal/ld/lib.go | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go index 74e4445b86..bd0fbc567d 100644 --- a/src/cmd/link/internal/ld/lib.go +++ b/src/cmd/link/internal/ld/lib.go @@ -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) } } } |
