* elflink.c (elf_link_add_object_symbols): Return via
authorAlan Modra <amodra@gmail.com>
Fri, 6 Jul 2007 02:29:10 +0000 (02:29 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 6 Jul 2007 02:29:10 +0000 (02:29 +0000)
error_free_vers on "notice" failure.

bfd/ChangeLog
bfd/elflink.c

index 57e5eb5..be0ad30 100644 (file)
@@ -1,3 +1,8 @@
+2007-07-06  Michael Snyder  <msnyder@access-company.com>
+
+       * elflink.c (elf_link_add_object_symbols): Return via
+       error_free_vers on "notice" failure.
+
 2007-07-04  H.J. Lu  <hongjiu.lu@intel.com>
 
        * peicode.h (pe_bfd_object_p): Don't check PE vs. EFI target
@@ -6,7 +11,7 @@
 2007-07-04  Nick Clifton  <nickc@redhat.com>
 
        Import this patch from an internal tree:
-       
+
        2001-07-17  Richard Henderson  <rth@redhat.com>
 
        * elf32-mep.c (mep_final_link_relocate) [R_MEP_HI16S]: Correctly
index 82016e6..4de73a0 100644 (file)
@@ -3674,8 +3674,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
         tell it that we are about to handle an as-needed lib.  */
       if (!(*info->callbacks->notice) (info, NULL, abfd, NULL,
                                       notice_as_needed))
-       return FALSE;
-
+       goto error_free_vers;
 
       /* Clone the symbol table and sym hashes.  Remember some
         pointers into the symbol table, and dynamic symbol count.  */
@@ -4382,7 +4381,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
         tell it that symbols added for crefs may need to be removed.  */
       if (!(*info->callbacks->notice) (info, NULL, abfd, NULL,
                                       notice_not_needed))
-       return FALSE;
+       goto error_free_vers;
 
       free (old_tab);
       objalloc_free_block ((struct objalloc *) htab->root.table.memory,
@@ -4396,7 +4395,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
     {
       if (!(*info->callbacks->notice) (info, NULL, abfd, NULL,
                                       notice_needed))
-       return FALSE;
+       goto error_free_vers;
       free (old_tab);
       old_tab = NULL;
     }