2009-06-19 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 20 Jun 2009 13:13:11 +0000 (13:13 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 20 Jun 2009 13:13:11 +0000 (13:13 +0000)
* elflink.c (elf_link_add_object_symbols): Avoid warning
from -Wjump-misses-init in gcc 4.5.0.

bfd/ChangeLog
bfd/elflink.c

index 8931e75..f01de47 100644 (file)
@@ -1,5 +1,10 @@
 2009-06-19  H.J. Lu  <hongjiu.lu@intel.com>
 
+       * elflink.c (elf_link_add_object_symbols): Avoid warning
+       from -Wjump-misses-init in gcc 4.5.0.
+
+2009-06-19  H.J. Lu  <hongjiu.lu@intel.com>
+
        * elf32-i386.c (elf_i386_check_relocs): Properly check local
        symbol on error.
        * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
index 2366dd4..9932186 100644 (file)
@@ -3549,7 +3549,11 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
          unsigned long shlink;
 
          if (!bfd_malloc_and_get_section (abfd, s, &dynbuf))
-           goto error_free_dyn;
+           {
+error_free_dyn:
+             free (dynbuf);
+             goto error_return;
+           }
 
          elfsec = _bfd_elf_section_from_bfd_section (abfd, s);
          if (elfsec == SHN_BAD)
@@ -3633,11 +3637,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
                  amt = strlen (fnm) + 1;
                  anm = bfd_alloc (abfd, amt);
                  if (anm == NULL)
-                   {
-                   error_free_dyn:
-                     free (dynbuf);
-                     goto error_return;
-                   }
+                   goto error_free_dyn;
                  memcpy (anm, fnm, amt);
                  n->name = anm;
                  n->by = abfd;