This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[1/4] latent bug fix in dwarf2read.c
- From: Tom Tromey <tromey at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Wed, 10 Apr 2013 13:44:07 -0600
- Subject: [1/4] latent bug fix in dwarf2read.c
This fixes a latent bug in dwarf2read.c.
dwarf2_const_value_attr takes an 'obstack' argument but then does not
consistently use it. I think this could cause surprising behavior for
potential future callers.
Built and regtested on x86-64 Fedora 18.
Tom
* dwarf2read.c (dwarf2_const_value_attr): Use 'obstack', not
objfile's obstack.
---
gdb/dwarf2read.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index ad78607..d846580 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -16401,13 +16401,12 @@ dwarf2_const_value_attr (struct attribute *attr, struct type *type,
/* Symbols of this form are reasonably rare, so we just
piggyback on the existing location code rather than writing
a new implementation of symbol_computed_ops. */
- *baton = obstack_alloc (&objfile->objfile_obstack,
- sizeof (struct dwarf2_locexpr_baton));
+ *baton = obstack_alloc (obstack, sizeof (struct dwarf2_locexpr_baton));
(*baton)->per_cu = cu->per_cu;
gdb_assert ((*baton)->per_cu);
(*baton)->size = 2 + cu_header->addr_size;
- data = obstack_alloc (&objfile->objfile_obstack, (*baton)->size);
+ data = obstack_alloc (obstack, (*baton)->size);
(*baton)->data = data;
data[0] = DW_OP_addr;
--
1.8.1.4