aboutsummaryrefslogtreecommitdiff
path: root/bfd/elfxx-mips.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/elfxx-mips.c')
-rw-r--r--bfd/elfxx-mips.c29
1 files changed, 15 insertions, 14 deletions
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 3a1c8ba..00c3b8e 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -6962,22 +6962,23 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
the _r_debug structure. Its symbol value will be set in
_bfd_mips_elf_finish_dynamic_symbol. */
s = bfd_get_section_by_name (abfd, ".rld_map");
- BFD_ASSERT (s != NULL);
-
- name = SGI_COMPAT (abfd) ? "__rld_map" : "__RLD_MAP";
- bh = NULL;
- if (!(_bfd_generic_link_add_one_symbol
- (info, abfd, name, BSF_GLOBAL, s, 0, NULL, FALSE,
- get_elf_backend_data (abfd)->collect, &bh)))
- return FALSE;
+ if (s != NULL)
+ {
+ name = SGI_COMPAT (abfd) ? "__rld_map" : "__RLD_MAP";
+ bh = NULL;
+ if (!(_bfd_generic_link_add_one_symbol
+ (info, abfd, name, BSF_GLOBAL, s, 0, NULL, FALSE,
+ get_elf_backend_data (abfd)->collect, &bh)))
+ return FALSE;
- h = (struct elf_link_hash_entry *) bh;
- h->non_elf = 0;
- h->def_regular = 1;
- h->type = STT_OBJECT;
+ h = (struct elf_link_hash_entry *) bh;
+ h->non_elf = 0;
+ h->def_regular = 1;
+ h->type = STT_OBJECT;
- if (! bfd_elf_link_record_dynamic_symbol (info, h))
- return FALSE;
+ if (! bfd_elf_link_record_dynamic_symbol (info, h))
+ return FALSE;
+ }
}
}