Commit 567aefd9 authored by David Crawshaw's avatar David Crawshaw

cmd/link: address comments from CL 28540

Change-Id: I11899096c71ee0e24e902c87914601fcd7ffd7a9
Reviewed-on: https://go-review.googlesource.com/28967Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
parent 429eb3c6
......@@ -798,6 +798,9 @@ func tlsIEtoLE(s *ld.Symbol, off, size int) {
//
// To determine the instruction and register, we study the op codes.
// Consult an AMD64 instruction encoding guide to decipher this.
if off < 3 {
log.Fatal("R_X86_64_GOTTPOFF reloc not preceded by MOVQ or ADDQ instruction")
}
op := s.P[off-3 : off]
reg := op[2] >> 3
......
......@@ -456,6 +456,9 @@ func relocsym(ctxt *Link, s *Symbol) {
}
Thearch.TLSIEtoLE(s, int(off), int(r.Siz))
o = int64(ctxt.Tlsoffset)
// TODO: o += r.Add when SysArch.Family != sys.AMD64?
// Why do we treat r.Add differently on AMD64?
// Is the external linker using Xadd at all?
} else {
log.Fatalf("cannot handle R_TLS_IE (sym %s) when linking internally", s.Name)
}
......
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