mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/internal/ld: fix R_TLS handling now Xsym is not read from object file
I think this should fix the arm build. A proper fix involves making the handling of tlsg less fragile, I'll try that tomorrow. Update #10557 Change-Id: I9b1b666737fb40aebb6f284748509afa8483cce5 Reviewed-on: https://go-review.googlesource.com/9272 Reviewed-by: Dave Cheney <dave@cheney.net> Run-TryBot: Dave Cheney <dave@cheney.net>
This commit is contained in:
parent
1b4025f4bd
commit
ccc76dba60
1 changed files with 8 additions and 0 deletions
|
|
@ -372,6 +372,14 @@ func relocsym(s *LSym) {
|
|||
}
|
||||
|
||||
case obj.R_TLS:
|
||||
if Linkmode == LinkExternal && Iself && HEADTYPE != obj.Hopenbsd {
|
||||
r.Done = 0
|
||||
r.Sym = Ctxt.Tlsg
|
||||
r.Xsym = Ctxt.Tlsg
|
||||
r.Xadd = r.Add
|
||||
o = r.Add
|
||||
break
|
||||
}
|
||||
if Linkmode == LinkInternal && Iself && Thearch.Thechar == '5' {
|
||||
// On ELF ARM, the thread pointer is 8 bytes before
|
||||
// the start of the thread-local data block, so add 8
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue