Remove is_relocatable_executable from backend code

With the removal of symbian support, most targets no longer or never
did set is_relocatable_executable.  Remove the backend support that is
no longer relevant.

	* elf32-arm.c (record_arm_to_thumb_glue, elf32_arm_create_thumb_stub),
	(elf32_arm_final_link_relocate, elf32_arm_check_relocs),
	(elf32_arm_adjust_dynamic_symbol, allocate_dynrelocs_for_symbol),
	(elf32_arm_output_arch_local_syms): Remove is_relocatable_executable
	code and comments.
	* elf32-csky.c (csky_elf_adjust_dynamic_symbol): Likewise.
	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
	* elfnn-kvx.c (elfNN_kvx_final_link_relocate): Likewise.
	* elfxx-mips.c (count_section_dynsyms): Likewise.
This commit is contained in:
Alan Modra 2024-02-21 09:43:40 +10:30
parent 44f85d2d79
commit f618d7fda2
5 changed files with 14 additions and 46 deletions

View File

@ -7351,7 +7351,6 @@ record_arm_to_thumb_glue (struct bfd_link_info * link_info,
free (tmp_name);
if (bfd_link_pic (link_info)
|| globals->root.is_relocatable_executable
|| globals->pic_veneer)
size = ARM2THUMB_PIC_GLUE_SIZE;
else if (globals->use_blx)
@ -9259,7 +9258,6 @@ elf32_arm_create_thumb_stub (struct bfd_link_info * info,
myh->root.u.def.value = my_offset;
if (bfd_link_pic (info)
|| globals->root.is_relocatable_executable
|| globals->pic_veneer)
{
/* For relocatable objects we can't use absolute addresses,
@ -10507,11 +10505,9 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
rel->r_addend);
}
/* When generating a shared object or relocatable executable, these
relocations are copied into the output file to be resolved at
run time. */
/* When generating a shared library or PIE, these relocations
are copied into the output file to be resolved at run time. */
if ((bfd_link_pic (info)
|| globals->root.is_relocatable_executable
|| globals->fdpic_p)
&& (input_section->flags & SEC_ALLOC)
&& !(globals->root.target_os == is_vxworks
@ -15321,15 +15317,6 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info,
sreloc = NULL;
/* Create dynamic sections for relocatable executables so that we can
copy relocations. */
if (htab->root.is_relocatable_executable
&& ! htab->root.dynamic_sections_created)
{
if (! _bfd_elf_link_create_dynamic_sections (abfd, info))
return false;
}
if (htab->root.dynobj == NULL)
htab->root.dynobj = abfd;
if (!create_ifunc_sections (info))
@ -15601,7 +15588,7 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info,
case R_ARM_THM_MOVT_PREL:
/* Should the interworking branches be listed here? */
if ((bfd_link_pic (info) || htab->root.is_relocatable_executable
if ((bfd_link_pic (info)
|| htab->fdpic_p)
&& (sec->flags & SEC_ALLOC) != 0)
{
@ -16213,10 +16200,8 @@ elf32_arm_adjust_dynamic_symbol (struct bfd_link_info * info,
/* If we are creating a shared library, we must presume that the
only references to the symbol are via the global offset table.
For such cases we need not do anything here; the relocations will
be handled correctly by relocate_section. Relocatable executables
can reference data in shared objects directly, so we don't need to
do anything here. */
if (bfd_link_pic (info) || globals->root.is_relocatable_executable)
be handled correctly by relocate_section. */
if (bfd_link_pic (info))
return true;
/* We must allocate the symbol in our .dynbss section, which will
@ -16615,7 +16600,6 @@ allocate_dynrelocs_for_symbol (struct elf_link_hash_entry *h, void * inf)
visibility changes. */
if (bfd_link_pic (info)
|| htab->root.is_relocatable_executable
|| htab->fdpic_p)
{
/* Relocs that use pc_count are PC-relative forms, which will appear
@ -16670,17 +16654,6 @@ allocate_dynrelocs_for_symbol (struct elf_link_hash_entry *h, void * inf)
return false;
}
}
else if (htab->root.is_relocatable_executable && h->dynindx == -1
&& h->root.type == bfd_link_hash_new)
{
/* Output absolute symbols so that we can create relocations
against them. For normal symbols we output a relocation
against the section that contains them. */
if (! bfd_elf_link_record_dynamic_symbol (info, h))
return false;
}
}
else
{
@ -18213,7 +18186,7 @@ elf32_arm_output_arch_local_syms (bfd *output_bfd,
osi.sec_shndx = _bfd_elf_section_from_bfd_section
(output_bfd, osi.sec->output_section);
if (bfd_link_pic (info) || htab->root.is_relocatable_executable
if (bfd_link_pic (info)
|| htab->pic_veneer)
size = ARM2THUMB_PIC_GLUE_SIZE;
else if (htab->use_blx)

View File

@ -1614,7 +1614,7 @@ csky_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
only references to the symbol are via the global offset table.
For such cases we need not do anything here; the relocations will
be handled correctly by relocate_section. */
if (bfd_link_pic (info) || htab->elf.is_relocatable_executable)
if (bfd_link_pic (info))
return true;
/* We must allocate the symbol in our .dynbss section, which will

View File

@ -5910,11 +5910,9 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
case BFD_RELOC_AARCH64_NN:
/* When generating a shared object or relocatable executable, these
relocations are copied into the output file to be resolved at
run time. */
if (((bfd_link_pic (info)
|| globals->root.is_relocatable_executable)
/* When generating a shared library or PIE, these relocations
are copied into the output file to be resolved at run time. */
if ((bfd_link_pic (info)
&& (input_section->flags & SEC_ALLOC)
&& (h == NULL
|| (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT

View File

@ -2052,11 +2052,9 @@ elfNN_kvx_final_link_relocate (reloc_howto_type *howto,
case BFD_RELOC_KVX_S64_LO10:
case BFD_RELOC_KVX_S64_UP27:
case BFD_RELOC_KVX_S64_EX27:
/* When generating a shared object or relocatable executable, these
relocations are copied into the output file to be resolved at
run time. */
if (((bfd_link_pic (info) == true)
|| globals->root.is_relocatable_executable)
/* When generating a shared library or PIE, these relocations
are copied into the output file to be resolved at run time. */
if (bfd_link_pic (info)
&& (input_section->flags & SEC_ALLOC)
&& (h == NULL
|| (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT

View File

@ -3928,8 +3928,7 @@ count_section_dynsyms (bfd *output_bfd, struct bfd_link_info *info)
bfd_size_type count;
count = 0;
if (bfd_link_pic (info)
|| elf_hash_table (info)->is_relocatable_executable)
if (bfd_link_pic (info))
{
asection *p;
const struct elf_backend_data *bed;