summaryrefslogtreecommitdiffstats
path: root/binutils-2.25/bfd/elfxx-mips.c
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.25/bfd/elfxx-mips.c')
-rw-r--r--binutils-2.25/bfd/elfxx-mips.c33
1 files changed, 3 insertions, 30 deletions
diff --git a/binutils-2.25/bfd/elfxx-mips.c b/binutils-2.25/bfd/elfxx-mips.c
index 2f466028..a876ff3b 100644
--- a/binutils-2.25/bfd/elfxx-mips.c
+++ b/binutils-2.25/bfd/elfxx-mips.c
@@ -7616,7 +7616,7 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
htab->sstubs = s;
if (!mips_elf_hash_table (info)->use_rld_obj_head
- && info->executable
+ && !info->shared
&& bfd_get_linker_section (abfd, ".rld_map") == NULL)
{
s = bfd_make_section_anyway_with_flags (abfd, ".rld_map",
@@ -7680,7 +7680,7 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
(void) bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
}
- if (info->executable)
+ if (!info->shared)
{
const char *name;
@@ -9721,7 +9721,7 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd,
info->combreloc = 0;
}
}
- else if (info->executable
+ else if (! info->shared
&& ! mips_elf_hash_table (info)->use_rld_obj_head
&& CONST_STRNEQ (name, ".rld_map"))
{
@@ -9784,10 +9784,6 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd,
&& !MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_RLD_MAP, 0))
return FALSE;
- if (info->executable
- && !MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_RLD_MAP2, 0))
- return FALSE;
-
/* The DT_DEBUG entry may be filled in by the dynamic linker and
used by the debugger. */
if (info->executable
@@ -11501,27 +11497,6 @@ _bfd_mips_elf_finish_dynamic_sections (bfd *output_bfd,
}
break;
- case DT_MIPS_RLD_MAP2:
- {
- struct elf_link_hash_entry *h;
- bfd_vma dt_addr, rld_addr;
- h = mips_elf_hash_table (info)->rld_symbol;
- if (!h)
- {
- dyn_to_skip = MIPS_ELF_DYN_SIZE (dynobj);
- swap_out_p = FALSE;
- break;
- }
- s = h->root.u.def.section;
-
- dt_addr = (sdyn->output_section->vma + sdyn->output_offset
- + b - sdyn->contents);
- rld_addr = (s->output_section->vma + s->output_offset
- + h->root.u.def.value);
- dyn.d_un.d_ptr = rld_addr - dt_addr;
- }
- break;
-
case DT_MIPS_OPTIONS:
s = (bfd_get_section_by_name
(output_bfd, MIPS_ELF_OPTIONS_SECTION_NAME (output_bfd)));
@@ -15446,8 +15421,6 @@ _bfd_mips_elf_get_target_dtag (bfd_vma dtag)
return "MIPS_HIPAGENO";
case DT_MIPS_RLD_MAP:
return "MIPS_RLD_MAP";
- case DT_MIPS_RLD_MAP2:
- return "MIPS_RLD_MAP2";
case DT_MIPS_DELTA_CLASS:
return "MIPS_DELTA_CLASS";
case DT_MIPS_DELTA_CLASS_NO: