aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/ldlang.c4
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)