Commit 9d1efba2 authored by Cherry Zhang's avatar Cherry Zhang

cmd/link: put text at address 0x1000000 on darwin/amd64

Apparently on macOS Sierra LLDB thinks /usr/lib/dyld is mapped
at address 0, even if Go code starts at 0x1000, and it looks up
addresses from dyld which shadows Go symbols. Move Go binary at
a higher address to avoid clash.

Fixes #17463. Re-enable TestLldbPython.

Change-Id: I89ca6f3ee48aa6da9862bfa0c2da91477cc93255
Reviewed-on: https://go-review.googlesource.com/32185
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: 's avatarQuentin Smith <quentin@golang.org>
parent c39918a0
......@@ -101,7 +101,7 @@ func archinit(ctxt *ld.Link) {
*ld.FlagRound = 4096
}
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 4096 + int64(ld.HEADR)
*ld.FlagTextAddr = 0x1000000 + int64(ld.HEADR)
}
if *ld.FlagDataAddr == -1 {
*ld.FlagDataAddr = 0
......
......@@ -139,7 +139,6 @@ intvar = 42
`
func TestLldbPython(t *testing.T) {
t.Skip("issue 17463")
testenv.MustHaveGoBuild(t)
if final := os.Getenv("GOROOT_FINAL"); final != "" && runtime.GOROOT() != final {
t.Skip("gdb test can fail with GOROOT_FINAL pending")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment