From af969b14aedcc0ae27dcefab4327ff2d153dec8b Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 28 Mar 2024 19:25:42 +1030 Subject: PR 30569, always call elf_backend_size_dynamic_sections This largely mechanical patch is preparation for a followup patch. For quite some time I've thought that it would be useful to call elf_backend_size_dynamic_sections even when no dynamic objects are seen by the linker. That's what this patch does, with some renaming. There are no functional changes to the linker, just a move of the dynobj test in bfd_elf_size_dynamic_sections to target backend functions, replacing the asserts/aborts already there. No doubt some of the current always_size_sections functions could be moved to size_dynamic_sections but I haven't made that change. Because both hooks are now always called, I have renamed always_size_sections to early_size_sections and size_dynamic_sections to late_size_sections. I condisdered calling late_size_sections plain size_sections, since this is the usual target dynamic section sizing hook, but decided that searching the sources for "size_sections" would then hit early_size_sections and other functions. --- bfd/elfxx-x86.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'bfd/elfxx-x86.c') diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c index 508fd77..7436158 100644 --- a/bfd/elfxx-x86.c +++ b/bfd/elfxx-x86.c @@ -2241,7 +2241,7 @@ _bfd_elf_x86_valid_reloc_p (asection *input_section, /* Set the sizes of the dynamic sections. */ bool -_bfd_x86_elf_size_dynamic_sections (bfd *output_bfd, +_bfd_x86_elf_late_size_sections (bfd *output_bfd, struct bfd_link_info *info) { struct elf_x86_link_hash_table *htab; @@ -2257,7 +2257,7 @@ _bfd_x86_elf_size_dynamic_sections (bfd *output_bfd, return false; dynobj = htab->elf.dynobj; if (dynobj == NULL) - abort (); + return true; /* Set up .got offsets for local syms, and space for local dynamic relocs. */ @@ -3003,8 +3003,8 @@ _bfd_x86_elf_finish_dynamic_sections (bfd *output_bfd, bool -_bfd_x86_elf_always_size_sections (bfd *output_bfd, - struct bfd_link_info *info) +_bfd_x86_elf_early_size_sections (bfd *output_bfd, + struct bfd_link_info *info) { asection *tls_sec = elf_hash_table (info)->tls_sec; -- cgit v1.1