From beaddc1a805d70131ffbeaee4d8d4ba41b9e5a2e Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 8 Sep 2021 12:55:48 +0930 Subject: [PATCH] PowerPC64: Avoid useless work on R_PPC64_TPREL34 _bfd_elf_ppc_at_tprel_transform doesn't handle prefix instructions, and I'm not inclined to implement code editing for them. * elf64-ppc.c (ppc64_elf_relocate_section): Don't attempt tprel transform for R_PPC64_TPREL34. --- bfd/elf64-ppc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 520804a0e1c..aa997bb42ab 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -16657,7 +16657,6 @@ ppc64_elf_relocate_section (bfd *output_bfd, case R_PPC64_TPREL16_HIGHERA: case R_PPC64_TPREL16_HIGHEST: case R_PPC64_TPREL16_HIGHESTA: - case R_PPC64_TPREL34: if (h != NULL && h->elf.root.type == bfd_link_hash_undefweak && h->elf.dynindx == -1) @@ -16674,6 +16673,9 @@ ppc64_elf_relocate_section (bfd *output_bfd, bfd_put_32 (input_bfd, insn, p); break; } + /* Fall through. */ + + case R_PPC64_TPREL34: if (htab->elf.tls_sec != NULL) addend -= htab->elf.tls_sec->vma + TP_OFFSET; /* The TPREL16 relocs shouldn't really be used in shared -- 2.30.2