diff options
-rw-r--r-- | ld/ChangeLog | 5 | ||||
-rw-r--r-- | ld/ldlang.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 03dd40f..b34292d 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2004-07-21 Nick Clifton <nickc@redhat.com> + + * ldlang.c (init_os): Make sure that the newly allocated userdata + structure is zeroed out. + 2004-07-19 H.J. Lu <hongjiu.lu@intel.com> * NEWS: Mention the new --add-needed/--no-add-needed and diff --git a/ld/ldlang.c b/ld/ldlang.c index c5cfd5c..9ea2869 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -785,9 +785,10 @@ sort_def_symbol (hash_entry, info) } else if (!ud->map_symbol_def_tail) ud->map_symbol_def_tail = &ud->map_symbol_def_head; + def = obstack_alloc (&map_obstack, sizeof *def); def->entry = hash_entry; - *ud->map_symbol_def_tail = def; + *(ud->map_symbol_def_tail) = def; ud->map_symbol_def_tail = &def->next; } return TRUE; @@ -807,6 +808,7 @@ init_os (lang_output_section_statement_type *s) einfo (_("%P%F: Illegal use of `%s' section\n"), DISCARD_SECTION_NAME); new = stat_alloc (SECTION_USERDATA_SIZE); + memset (new, 0, SECTION_USERDATA_SIZE); s->bfd_section = bfd_get_section_by_name (output_bfd, s->name); if (s->bfd_section == NULL) |