From 0d0124daa0a1edc6cf65a3c8a5529d110a0a88ea Mon Sep 17 00:00:00 2001 From: Minux Ma Date: Sun, 8 Mar 2015 23:23:33 +0000 Subject: [PATCH] Revert "cmd/internal/obj/x86: implement -shared computation of TLS base" Fix the build. This reverts commit e73981512fdc5e1128a9b17c4b9788c600db23ea. Change-Id: I979e138991c06b3295be08212d3ce80b30c2381b Reviewed-on: https://go-review.googlesource.com/7160 Reviewed-by: Dave Cheney Reviewed-by: Minux Ma --- src/cmd/internal/obj/x86/asm6.go | 33 -------------------------------- 1 file changed, 33 deletions(-) diff --git a/src/cmd/internal/obj/x86/asm6.go b/src/cmd/internal/obj/x86/asm6.go index 096c37a29f3..ae478012495 100644 --- a/src/cmd/internal/obj/x86/asm6.go +++ b/src/cmd/internal/obj/x86/asm6.go @@ -3765,39 +3765,6 @@ func doasm(ctxt *obj.Link, p *obj.Prog) { ctxt.Andptr = ctxt.Andptr[1:] asmand(ctxt, p, &pp.From, &p.To) - case obj.Hlinux: - if ctxt.Flag_shared == 0 { - log.Fatalf("unknown TLS base location for linux without -shared") - } - // Note that this is not generating the same insn as the other cases. - // MOV TLS, R_to - // becomes - // movq g@gottpoff(%rip), R_to - // which is encoded as - // movq 0(%rip), R_to - // and a R_TLS_IE reloc. This all assumes the only tls variable we access - // is g, which we can't check here, but will when we assemble the second - // instruction. - ctxt.Rexflag = Pw | (regrex[p.To.Reg] & Rxr) - - ctxt.Andptr[0] = 0x8B - ctxt.Andptr = ctxt.Andptr[1:] - ctxt.Andptr[0] = byte(0x05 | (reg[p.To.Reg] << 3)) - ctxt.Andptr = ctxt.Andptr[1:] - r = obj.Addrel(ctxt.Cursym) - r.Off = int32(p.Pc + int64(-cap(ctxt.Andptr)+cap(ctxt.And[:]))) - r.Type = obj.R_TLS_IE - r.Siz = 4 - r.Add = -4 - ctxt.Andptr[0] = 0x00 - ctxt.Andptr = ctxt.Andptr[1:] - ctxt.Andptr[0] = 0x00 - ctxt.Andptr = ctxt.Andptr[1:] - ctxt.Andptr[0] = 0x00 - ctxt.Andptr = ctxt.Andptr[1:] - ctxt.Andptr[0] = 0x00 - ctxt.Andptr = ctxt.Andptr[1:] - case obj.Hplan9: if ctxt.Plan9privates == nil { ctxt.Plan9privates = obj.Linklookup(ctxt, "_privates", 0)