mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-20 09:58:19 +08:00
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.
This commit is contained in:
@ -16657,7 +16657,6 @@ ppc64_elf_relocate_section (bfd *output_bfd,
|
|||||||
case R_PPC64_TPREL16_HIGHERA:
|
case R_PPC64_TPREL16_HIGHERA:
|
||||||
case R_PPC64_TPREL16_HIGHEST:
|
case R_PPC64_TPREL16_HIGHEST:
|
||||||
case R_PPC64_TPREL16_HIGHESTA:
|
case R_PPC64_TPREL16_HIGHESTA:
|
||||||
case R_PPC64_TPREL34:
|
|
||||||
if (h != NULL
|
if (h != NULL
|
||||||
&& h->elf.root.type == bfd_link_hash_undefweak
|
&& h->elf.root.type == bfd_link_hash_undefweak
|
||||||
&& h->elf.dynindx == -1)
|
&& h->elf.dynindx == -1)
|
||||||
@ -16674,6 +16673,9 @@ ppc64_elf_relocate_section (bfd *output_bfd,
|
|||||||
bfd_put_32 (input_bfd, insn, p);
|
bfd_put_32 (input_bfd, insn, p);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
/* Fall through. */
|
||||||
|
|
||||||
|
case R_PPC64_TPREL34:
|
||||||
if (htab->elf.tls_sec != NULL)
|
if (htab->elf.tls_sec != NULL)
|
||||||
addend -= htab->elf.tls_sec->vma + TP_OFFSET;
|
addend -= htab->elf.tls_sec->vma + TP_OFFSET;
|
||||||
/* The TPREL16 relocs shouldn't really be used in shared
|
/* The TPREL16 relocs shouldn't really be used in shared
|
||||||
|
Reference in New Issue
Block a user