From: Paul E. Murphy Date: Fri, 20 Jan 2023 23:20:07 +0000 (-0600) Subject: cmd/link: support R_ADDRPOWER_GOT_PCREL34 on ppc64le X-Git-Tag: go1.21rc1~1812 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=27500d88f082d2789f90a644962684b4118c4d44;p=gostls13.git cmd/link: support R_ADDRPOWER_GOT_PCREL34 on ppc64le This will be generated by go code built for dynamic linking when built with GOPPC64=power10 in a future change. Change-Id: I9bd7ca6b2a65c360465e35ef12b10d3fa6d75745 Reviewed-on: https://go-review.googlesource.com/c/go/+/463015 Reviewed-by: Lynn Boger Reviewed-by: Archana Ravindar Reviewed-by: Than McIntosh Run-TryBot: Paul Murphy TryBot-Result: Gopher Robot Reviewed-by: Matthew Dempsky --- diff --git a/src/cmd/link/internal/ppc64/asm.go b/src/cmd/link/internal/ppc64/asm.go index 7413599f4d..63869704e5 100644 --- a/src/cmd/link/internal/ppc64/asm.go +++ b/src/cmd/link/internal/ppc64/asm.go @@ -762,6 +762,8 @@ func elfreloc1(ctxt *ld.Link, out *ld.OutBuf, ldr *loader.Loader, s loader.Sym, out.Write64(uint64(r.Xadd)) out.Write64(uint64(sectoff + 4)) out.Write64(uint64(elf.R_PPC64_GOT16_LO_DS) | uint64(elfsym)<<32) + case objabi.R_ADDRPOWER_GOT_PCREL34: + out.Write64(uint64(elf.R_PPC64_GOT_PCREL34) | uint64(elfsym)<<32) case objabi.R_ADDRPOWER_PCREL: out.Write64(uint64(elf.R_PPC64_REL16_HA) | uint64(elfsym)<<32) out.Write64(uint64(r.Xadd)) @@ -1151,7 +1153,7 @@ func archreloc(target *ld.Target, ldr *loader.Loader, syms *ld.ArchSyms, r loade if !target.IsAIX() { return val, nExtReloc, false } - case objabi.R_POWER_TLS, objabi.R_POWER_TLS_IE_PCREL34, objabi.R_POWER_TLS_LE_TPREL34: + case objabi.R_POWER_TLS, objabi.R_POWER_TLS_IE_PCREL34, objabi.R_POWER_TLS_LE_TPREL34, objabi.R_ADDRPOWER_GOT_PCREL34: nExtReloc = 1 return val, nExtReloc, true case objabi.R_POWER_TLS_LE, objabi.R_POWER_TLS_IE: @@ -1410,6 +1412,7 @@ func extreloc(target *ld.Target, ldr *loader.Loader, r loader.Reloc, s loader.Sy objabi.R_ADDRPOWER_TOCREL, objabi.R_ADDRPOWER_TOCREL_DS, objabi.R_ADDRPOWER_GOT, + objabi.R_ADDRPOWER_GOT_PCREL34, objabi.R_ADDRPOWER_PCREL, objabi.R_ADDRPOWER_D34, objabi.R_ADDRPOWER_PCREL34: