summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@debian.org>2004-02-21 21:26:34 +0000
committerDaniel Jacobowitz <dan@debian.org>2004-02-21 21:26:34 +0000
commitd283432b0b6f0684c56dafc543a90eff44f26422 (patch)
tree4735a3735bf495fdf75b170a7b2b8db086ab07e8
parent4138969b4edc9109c273bb28c30eddfe84597530 (diff)
downloadgdb-d283432b0b6f0684c56dafc543a90eff44f26422.tar.gz
* dwarf2read.c (splay_tree_obstack_allocate): Disable.
(add_partial_symbol): Fix a warning. (fixup_partial_die): Recurse if necessary.
-rw-r--r--gdb/ChangeLog.intercu6
-rw-r--r--gdb/dwarf2read.c6
2 files changed, 11 insertions, 1 deletions
diff --git a/gdb/ChangeLog.intercu b/gdb/ChangeLog.intercu
index d860cf3bc01..664822d1b1a 100644
--- a/gdb/ChangeLog.intercu
+++ b/gdb/ChangeLog.intercu
@@ -1,5 +1,11 @@
2004-02-21 Daniel Jacobowitz <drow@mvista.com>
+ * dwarf2read.c (splay_tree_obstack_allocate): Disable.
+ (add_partial_symbol): Fix a warning.
+ (fixup_partial_die): Recurse if necessary.
+
+2004-02-21 Daniel Jacobowitz <drow@mvista.com>
+
* dwarf2read.c (partial_determine_prefix)
(partial_determine_prefix_aux): New functions.
(add_partial_symbol): Call partial_determine_prefix.
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index d4cf62535a1..d1c01ef8b04 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -947,12 +947,14 @@ static void
dwarf2_symbol_mark_computed (struct attribute *attr, struct symbol *sym,
struct dwarf2_cu *cu);
+#if 0
/* Allocation function for the libiberty splay tree which uses an obstack. */
static void *
splay_tree_obstack_allocate (int size, void *data)
{
return obstack_alloc ((struct obstack *) data, size);
}
+#endif
/* Trivial deallocation function for the libiberty splay tree. */
static void
@@ -1547,7 +1549,7 @@ add_partial_symbol (struct partial_die_info *pdi,
}
if (my_prefix)
- free (my_prefix);
+ free ((char *) my_prefix);
switch (pdi->tag)
{
@@ -4775,6 +4777,8 @@ fixup_partial_die (struct partial_die_info *part_die,
spec_die = find_partial_die (part_die->spec_offset, cu);
+ fixup_partial_die (spec_die, cu);
+
if (spec_die->name)
{
part_die->name = spec_die->name;