]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - bfd/elf32-bfin.c
PR 30569, always call elf_backend_size_dynamic_sections
[thirdparty/binutils-gdb.git] / bfd / elf32-bfin.c
index 78402526520c448bc060c6d4365c03991a7ecd0f..f0e650d7e6078bb53b75b0da96f207dd9369dbdf 100644 (file)
@@ -4027,8 +4027,8 @@ _bfinfdpic_size_got_plt (bfd *output_bfd,
 /* Set the sizes of the dynamic sections.  */
 
 static bool
-elf32_bfinfdpic_size_dynamic_sections (bfd *output_bfd,
-                                     struct bfd_link_info *info)
+elf32_bfinfdpic_late_size_sections (bfd *output_bfd,
+                                   struct bfd_link_info *info)
 {
   struct elf_link_hash_table *htab;
   bfd *dynobj;
@@ -4037,7 +4037,8 @@ elf32_bfinfdpic_size_dynamic_sections (bfd *output_bfd,
 
   htab = elf_hash_table (info);
   dynobj = htab->dynobj;
-  BFD_ASSERT (dynobj != NULL);
+  if (dynobj == NULL)
+    return true;
 
   if (htab->dynamic_sections_created)
     {
@@ -4086,7 +4087,7 @@ elf32_bfinfdpic_size_dynamic_sections (bfd *output_bfd,
 }
 
 static bool
-elf32_bfinfdpic_always_size_sections (bfd *output_bfd,
+elf32_bfinfdpic_early_size_sections (bfd *output_bfd,
                                     struct bfd_link_info *info)
 {
   if (!bfd_link_relocatable (info)
@@ -5123,15 +5124,16 @@ bfin_discard_copies (struct elf_link_hash_entry *h, void * inf)
 }
 
 static bool
-bfin_size_dynamic_sections (bfd * output_bfd ATTRIBUTE_UNUSED,
-                           struct bfd_link_info *info)
+bfin_late_size_sections (bfd * output_bfd ATTRIBUTE_UNUSED,
+                        struct bfd_link_info *info)
 {
   bfd *dynobj;
   asection *s;
   bool relocs;
 
   dynobj = elf_hash_table (info)->dynobj;
-  BFD_ASSERT (dynobj != NULL);
+  if (dynobj == NULL)
+    return true;
 
   if (elf_hash_table (info)->dynamic_sections_created)
     {
@@ -5423,8 +5425,7 @@ struct bfd_elf_special_section const elf32_bfin_special_sections[] =
 #define elf_backend_check_relocs       bfin_check_relocs
 #define elf_backend_adjust_dynamic_symbol \
                                        bfin_adjust_dynamic_symbol
-#define elf_backend_size_dynamic_sections \
-                                       bfin_size_dynamic_sections
+#define elf_backend_late_size_sections bfin_late_size_sections
 #define elf_backend_relocate_section   bfin_relocate_section
 #define elf_backend_finish_dynamic_symbol \
                                        bfin_finish_dynamic_symbol
@@ -5470,9 +5471,9 @@ struct bfd_elf_special_section const elf32_bfin_special_sections[] =
 #undef bfd_elf32_bfd_link_hash_table_create
 #define bfd_elf32_bfd_link_hash_table_create \
                bfinfdpic_elf_link_hash_table_create
-#undef elf_backend_always_size_sections
-#define elf_backend_always_size_sections \
-               elf32_bfinfdpic_always_size_sections
+#undef elf_backend_early_size_sections
+#define elf_backend_early_size_sections \
+               elf32_bfinfdpic_early_size_sections
 
 #undef elf_backend_create_dynamic_sections
 #define elf_backend_create_dynamic_sections \
@@ -5480,9 +5481,9 @@ struct bfd_elf_special_section const elf32_bfin_special_sections[] =
 #undef elf_backend_adjust_dynamic_symbol
 #define elf_backend_adjust_dynamic_symbol \
                elf32_bfinfdpic_adjust_dynamic_symbol
-#undef elf_backend_size_dynamic_sections
-#define elf_backend_size_dynamic_sections \
-               elf32_bfinfdpic_size_dynamic_sections
+#undef elf_backend_late_size_sections
+#define elf_backend_late_size_sections \
+               elf32_bfinfdpic_late_size_sections
 #undef elf_backend_finish_dynamic_symbol
 #define elf_backend_finish_dynamic_symbol \
                elf32_bfinfdpic_finish_dynamic_symbol