aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2015-07-22 18:02:52 -0400
committerRuss Cox <rsc@golang.org>2015-07-23 03:52:20 +0000
commit5659964d67c9e0b74d8335ea7288fe6facb0d00b (patch)
treeecf5a68d905991647b5482269580b173ba789570 /src
parent3bab4ef68da5334a1aac558ec7bee53f6bf15cfc (diff)
downloadgo-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.go8
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)
}
}
}