]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/link: add relocs type for mips64x
authorMeng Zhuo <mzh@golangcn.org>
Mon, 16 Nov 2020 09:50:01 +0000 (17:50 +0800)
committerMeng Zhuo <mzh@golangcn.org>
Fri, 5 Mar 2021 06:18:33 +0000 (06:18 +0000)
The race detector of llvm adds four reloc types even with -fPIC

elf.R_MIPS_CALL16
elf.R_MIPS_GPREL32
elf.R_MIPS_64
elf.R_MIPS_GOT_DISP

Change-Id: If73119dcba14ef74395273eb680f52a0aa853217
Reviewed-on: https://go-review.googlesource.com/c/go/+/270297
Trust: Meng Zhuo <mzh@golangcn.org>
Run-TryBot: Meng Zhuo <mzh@golangcn.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Go Bot <gobot@golang.org>

src/cmd/link/internal/loadelf/ldelf.go

index c698874b3255ffd3a0e9ca9baa021373ca6905f6..6e3b2c077de18a0d9ed0653db36470b3b24c118f 100644 (file)
@@ -983,7 +983,11 @@ func relSize(arch *sys.Arch, pn string, elftype uint32) (uint8, error) {
                MIPS64 | uint32(elf.R_MIPS_GPREL16)<<16,
                MIPS64 | uint32(elf.R_MIPS_GOT_PAGE)<<16,
                MIPS64 | uint32(elf.R_MIPS_JALR)<<16,
-               MIPS64 | uint32(elf.R_MIPS_GOT_OFST)<<16:
+               MIPS64 | uint32(elf.R_MIPS_GOT_OFST)<<16,
+               MIPS64 | uint32(elf.R_MIPS_CALL16)<<16,
+               MIPS64 | uint32(elf.R_MIPS_GPREL32)<<16,
+               MIPS64 | uint32(elf.R_MIPS_64)<<16,
+               MIPS64 | uint32(elf.R_MIPS_GOT_DISP)<<16:
                return 4, nil
 
        case S390X | uint32(elf.R_390_8)<<16: