* elf32-sparc.c (elf32_sparc_link_hash_table_create): Use bfd_zmalloc
authorEric Botcazou <ebotcazou@libertysurf.fr>
Sun, 9 Jan 2005 19:49:22 +0000 (19:49 +0000)
committerEric Botcazou <ebotcazou@libertysurf.fr>
Sun, 9 Jan 2005 19:49:22 +0000 (19:49 +0000)
to zero the structure.
(create_got_section): Use BFD_ASSERT instead of abort.

bfd/ChangeLog
bfd/elf32-sparc.c

index f163660b01b39c45e5c5d75c6ab0788d06cce88c..04894f0f8794cb61ded5c4ab32f1b703eb98e593 100644 (file)
@@ -1,5 +1,8 @@
 2005-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
+       * elf32-sparc.c (elf32_sparc_link_hash_table_create): Use bfd_zmalloc
+       to zero the structure.
+       (create_got_section): Use BFD_ASSERT instead of abort.
        * elf64-sparc.c (struct sparc64_elf_link_hash_table): New 'sgot' and
        'srelgot' fields.
        (create_got_section): New function.
index be3dfae3e1acb47e8a51071b76f90b769dcd661a..18a2e49f656465e4d42d5df97e3931d176aa29ec 100644 (file)
@@ -695,7 +695,7 @@ elf32_sparc_link_hash_table_create (abfd)
   struct elf32_sparc_link_hash_table *ret;
   bfd_size_type amt = sizeof (struct elf32_sparc_link_hash_table);
 
-  ret = (struct elf32_sparc_link_hash_table *) bfd_malloc (amt);
+  ret = (struct elf32_sparc_link_hash_table *) bfd_zmalloc (amt);
   if (ret == NULL)
     return NULL;
 
@@ -705,15 +705,6 @@ elf32_sparc_link_hash_table_create (abfd)
       return NULL;
     }
 
-  ret->sgot = NULL;
-  ret->srelgot = NULL;
-  ret->splt = NULL;
-  ret->srelplt = NULL;
-  ret->sdynbss = NULL;
-  ret->srelbss = NULL;
-  ret->tls_ldm_got.refcount = 0;
-  ret->sym_sec.abfd = NULL;
-
   return &ret->elf.root;
 }
 
@@ -732,15 +723,16 @@ create_got_section (dynobj, info)
 
   htab = elf32_sparc_hash_table (info);
   htab->sgot = bfd_get_section_by_name (dynobj, ".got");
-  if (!htab->sgot)
-    abort ();
+  BFD_ASSERT (htab->sgot != NULL);
 
   htab->srelgot = bfd_make_section (dynobj, ".rela.got");
   if (htab->srelgot == NULL
-      || ! bfd_set_section_flags (dynobj, htab->srelgot,
-                                 (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS
-                                  | SEC_IN_MEMORY | SEC_LINKER_CREATED
-                                  | SEC_READONLY))
+      || ! bfd_set_section_flags (dynobj, htab->srelgot, SEC_ALLOC
+                                                        | SEC_LOAD
+                                                        | SEC_HAS_CONTENTS
+                                                        | SEC_IN_MEMORY
+                                                        | SEC_LINKER_CREATED
+                                                        | SEC_READONLY)
       || ! bfd_set_section_alignment (dynobj, htab->srelgot, 2))
     return FALSE;
   return TRUE;