summaryrefslogtreecommitdiffstats
path: root/dwflpp.cxx
diff options
context:
space:
mode:
authorJosh Stone <jistone@redhat.com>2009-08-07 18:51:19 -0700
committerJosh Stone <jistone@redhat.com>2009-08-07 18:51:19 -0700
commit23d106b9c554c2b32dfb8c94dc963834f65ef7df (patch)
tree2ab11874847b184da624c2c4d1397b7b35ca94c4 /dwflpp.cxx
parent37c74d4bd7317033fcc30148358b7936ffd8b11a (diff)
downloadsystemtap-steved-23d106b9c554c2b32dfb8c94dc963834f65ef7df.tar.gz
systemtap-steved-23d106b9c554c2b32dfb8c94dc963834f65ef7df.tar.xz
systemtap-steved-23d106b9c554c2b32dfb8c94dc963834f65ef7df.zip
Zap dwarf_diename_integrate
The dwarf_diename in elfutils learned a long time ago to use dwarf_attr_integrate when looking up the name. Our minimum elfutils 0.126 has this, so we don't need to kludge it ourselves.
Diffstat (limited to 'dwflpp.cxx')
-rw-r--r--dwflpp.cxx22
1 files changed, 11 insertions, 11 deletions
diff --git a/dwflpp.cxx b/dwflpp.cxx
index ff62265f..9d0f3f4d 100644
--- a/dwflpp.cxx
+++ b/dwflpp.cxx
@@ -1561,7 +1561,7 @@ dwflpp::print_members(Dwarf_Die *vardie, ostream &o)
if (typetag != DW_TAG_structure_type && typetag != DW_TAG_union_type)
{
o << " Error: "
- << (dwarf_diename_integrate (vardie) ?: "<anonymous>")
+ << (dwarf_diename (vardie) ?: "<anonymous>")
<< " isn't a struct/union";
return;
}
@@ -1573,14 +1573,14 @@ dwflpp::print_members(Dwarf_Die *vardie, ostream &o)
{
case 1: // No children.
o << ((typetag == DW_TAG_union_type) ? " union " : " struct ")
- << (dwarf_diename_integrate (die) ?: "<anonymous>")
+ << (dwarf_diename (die) ?: "<anonymous>")
<< " is empty";
break;
case -1: // Error.
default: // Shouldn't happen.
o << ((typetag == DW_TAG_union_type) ? " union " : " struct ")
- << (dwarf_diename_integrate (die) ?: "<anonymous>")
+ << (dwarf_diename (die) ?: "<anonymous>")
<< ": " << dwarf_errmsg (-1);
break;
@@ -1591,7 +1591,7 @@ dwflpp::print_members(Dwarf_Die *vardie, ostream &o)
// Output each sibling's name to 'o'.
while (dwarf_tag (die) == DW_TAG_member)
{
- const char *member = dwarf_diename_integrate (die) ;
+ const char *member = dwarf_diename (die) ;
if ( member != NULL )
o << " " << member;
@@ -1641,7 +1641,7 @@ dwflpp::find_struct_member(const target_symbol::component& c,
case -1: /* Error. */
default: /* Shouldn't happen */
throw semantic_error (string (dwarf_tag(&die) == DW_TAG_union_type ? "union" : "struct")
- + string (dwarf_diename_integrate (&die) ?: "<anonymous>")
+ + string (dwarf_diename (&die) ?: "<anonymous>")
+ string (dwarf_errmsg (-1)),
c.tok);
}
@@ -1651,7 +1651,7 @@ dwflpp::find_struct_member(const target_symbol::component& c,
if (dwarf_tag(&die) != DW_TAG_member)
continue;
- const char *name = dwarf_diename_integrate(&die);
+ const char *name = dwarf_diename(&die);
if (name == NULL)
{
// need to recurse for anonymous structs/unions
@@ -1774,7 +1774,7 @@ dwflpp::translate_components(struct obstack *pool,
Dwarf_Die *tmpdie = dwflpp::declaration_resolve(dwarf_diename(die));
if (tmpdie == NULL)
throw semantic_error ("unresolved struct "
- + string (dwarf_diename_integrate (die) ?: "<anonymous>"),
+ + string (dwarf_diename (die) ?: "<anonymous>"),
c.tok);
*die_mem = *tmpdie;
}
@@ -1790,7 +1790,7 @@ dwflpp::translate_components(struct obstack *pool,
alternatives = " (alternatives:" + members.str();
throw semantic_error("unable to find member '" +
c.member + "' for struct "
- + string(dwarf_diename_integrate(die) ?: "<unknown>")
+ + string(dwarf_diename(die) ?: "<unknown>")
+ alternatives,
c.tok);
}
@@ -1806,14 +1806,14 @@ dwflpp::translate_components(struct obstack *pool,
throw semantic_error ("invalid access '"
+ lex_cast<string>(c)
+ "' vs. enum type "
- + string(dwarf_diename_integrate (die) ?: "<anonymous type>"),
+ + string(dwarf_diename (die) ?: "<anonymous type>"),
c.tok);
break;
case DW_TAG_base_type:
throw semantic_error ("invalid access '"
+ lex_cast<string>(c)
+ "' vs. base type "
- + string(dwarf_diename_integrate (die) ?: "<anonymous type>"),
+ + string(dwarf_diename (die) ?: "<anonymous type>"),
c.tok);
break;
case -1:
@@ -1822,7 +1822,7 @@ dwflpp::translate_components(struct obstack *pool,
break;
default:
- throw semantic_error (string(dwarf_diename_integrate (die) ?: "<anonymous type>")
+ throw semantic_error (string(dwarf_diename (die) ?: "<anonymous type>")
+ ": unexpected type tag "
+ lex_cast<string>(dwarf_tag (die)),
c.tok);