* elf64-hppa.c (elf64_hppa_new_dyn_hash_entry): Don't clear everything,
[binutils-gdb.git] / bfd / elf64-hppa.c
index 8bc830c110342371fd463d7bc80b0b9881d1a73e..869f7ed7072dc5988f1b3c91dc0965995236e561 100644 (file)
@@ -1,5 +1,5 @@
 /* Support for HPPA 64-bit ELF
 /* Support for HPPA 64-bit ELF
-   Copyright 1999, 2000, 2001, 2002, 2003, 2004
+   Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005
    Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
    Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -305,14 +305,15 @@ elf64_hppa_new_dyn_hash_entry (entry, table, string)
   if (!ret)
     return 0;
 
   if (!ret)
     return 0;
 
-  /* Initialize our local data.  All zeros, and definitely easier
-     than setting 8 bit fields.  */
-  memset (ret, 0, sizeof (*ret));
-
   /* Call the allocation method of the superclass.  */
   ret = ((struct elf64_hppa_dyn_hash_entry *)
         bfd_hash_newfunc ((struct bfd_hash_entry *) ret, table, string));
 
   /* Call the allocation method of the superclass.  */
   ret = ((struct elf64_hppa_dyn_hash_entry *)
         bfd_hash_newfunc ((struct bfd_hash_entry *) ret, table, string));
 
+  /* Initialize our local data.  All zeros.  */
+  memset (&ret->dlt_offset, 0,
+         (sizeof (struct elf64_hppa_dyn_hash_entry)
+          - offsetof (struct elf64_hppa_dyn_hash_entry, dlt_offset)));
+
   return &ret->root;
 }
 
   return &ret->root;
 }