* elflink.h (elf_link_remove_section_and_adjust_dynindices):
authorMark Mitchell <mark@codesourcery.com>
Sun, 13 Jun 1999 18:35:29 +0000 (18:35 +0000)
committerMark Mitchell <mark@codesourcery.com>
Sun, 13 Jun 1999 18:35:29 +0000 (18:35 +0000)
Remove abfd parameter.  Use _bfd_strip_section_from_output.
(bfd_elf_size_dynamic_sections): Adjust callers accordingly.

bfd/ChangeLog
bfd/elflink.h

index e75acf0cb73bad2863b03264c8de7a943c64b179..107a08c8e7e56ca0df8b5a57072fb66348aa99a5 100644 (file)
@@ -1,5 +1,9 @@
 1999-06-13  Mark Mitchell  <mark@codesourcery.com>
 
+       * elflink.h (elf_link_remove_section_and_adjust_dynindices):
+       Remove abfd parameter.  Use _bfd_strip_section_from_output.
+       (bfd_elf_size_dynamic_sections): Adjust callers accordingly.
+       
        * elf-bfd.h (_bfd_elf_link_adjust_dynindx): New function.
        * elflink.c (_bfd_elf_link_adjust_dynindx): Define it.
        * elflink.h (elf_link_remove_section_and_adjust_dynindices): New
index 88fd05c200f85789821001f498e1686405db3e04..369a0a22431e924465ca22cbed197b2c9485493c 100644 (file)
@@ -55,7 +55,7 @@ static boolean elf_collect_hash_codes
 static boolean elf_link_read_relocs_from_section 
   PARAMS ((bfd *, Elf_Internal_Shdr *, PTR, Elf_Internal_Rela *));
 static void elf_link_remove_section_and_adjust_dynindices 
-  PARAMS ((bfd *, struct bfd_link_info *, asection *));
+  PARAMS ((struct bfd_link_info *, asection *));
 
 /* Given an ELF BFD, add symbols to the global hash table as
    appropriate.  */
@@ -2408,20 +2408,14 @@ compute_bucket_count (info)
    subsequent entries.  */
 
 static void
-elf_link_remove_section_and_adjust_dynindices (abfd, info, section)
-     bfd *abfd;
+elf_link_remove_section_and_adjust_dynindices (info, section)
      struct bfd_link_info *info;
      asection *section;
 {
   asection **spp;
 
   /* Remove the section from the output list.  */
-  for (spp = &abfd->sections;
-       *spp != section->output_section;
-       spp = &(*spp)->next)
-    ;
-  *spp = section->output_section->next;
-  --abfd->section_count;
+  _bfd_strip_section_from_output (section);
 
   if (elf_section_data (section->output_section)->dynindx)
     {
@@ -2648,9 +2642,7 @@ NAME(bfd_elf,size_dynamic_sections) (output_bfd, soname, rpath,
       verdefs = asvinfo.verdefs;
 
       if (verdefs == NULL)
-       elf_link_remove_section_and_adjust_dynindices (output_bfd,
-                                                      info,
-                                                      s);
+       elf_link_remove_section_and_adjust_dynindices (info, s);
       else
        {
          unsigned int cdefs;
@@ -2843,9 +2835,7 @@ NAME(bfd_elf,size_dynamic_sections) (output_bfd, soname, rpath,
                                (PTR) &sinfo);
 
        if (elf_tdata (output_bfd)->verref == NULL)
-         elf_link_remove_section_and_adjust_dynindices (output_bfd,
-                                                        info,
-                                                        s);
+         elf_link_remove_section_and_adjust_dynindices (info, s);
        else
          {
            Elf_Internal_Verneed *t;
@@ -2945,9 +2935,7 @@ NAME(bfd_elf,size_dynamic_sections) (output_bfd, soname, rpath,
       if (dynsymcount == 0
          || (verdefs == NULL && elf_tdata (output_bfd)->verref == NULL))
        {
-         elf_link_remove_section_and_adjust_dynindices (output_bfd,
-                                                        info,
-                                                        s);
+         elf_link_remove_section_and_adjust_dynindices (info, s);
          /* The DYNSYMCOUNT might have changed if we were going to
             output a dynamic symbol table entry for S.  */
          dynsymcount = elf_hash_table (info)->dynsymcount;