mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/link: address comments from CL 28540
Change-Id: I11899096c71ee0e24e902c87914601fcd7ffd7a9 Reviewed-on: https://go-review.googlesource.com/28967 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
429eb3c696
commit
567aefd99d
2 changed files with 6 additions and 0 deletions
|
|
@ -798,6 +798,9 @@ func tlsIEtoLE(s *ld.Symbol, off, size int) {
|
||||||
//
|
//
|
||||||
// To determine the instruction and register, we study the op codes.
|
// To determine the instruction and register, we study the op codes.
|
||||||
// Consult an AMD64 instruction encoding guide to decipher this.
|
// 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]
|
op := s.P[off-3 : off]
|
||||||
reg := op[2] >> 3
|
reg := op[2] >> 3
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -456,6 +456,9 @@ func relocsym(ctxt *Link, s *Symbol) {
|
||||||
}
|
}
|
||||||
Thearch.TLSIEtoLE(s, int(off), int(r.Siz))
|
Thearch.TLSIEtoLE(s, int(off), int(r.Siz))
|
||||||
o = int64(ctxt.Tlsoffset)
|
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 {
|
} else {
|
||||||
log.Fatalf("cannot handle R_TLS_IE (sym %s) when linking internally", s.Name)
|
log.Fatalf("cannot handle R_TLS_IE (sym %s) when linking internally", s.Name)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue