summaryrefslogtreecommitdiffstats
path: root/dwflpp.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'dwflpp.cxx')
-rw-r--r--dwflpp.cxx9
1 files changed, 8 insertions, 1 deletions
diff --git a/dwflpp.cxx b/dwflpp.cxx
index 53f3d8eb..fdbcddf4 100644
--- a/dwflpp.cxx
+++ b/dwflpp.cxx
@@ -2215,7 +2215,14 @@ dwflpp::express_as_string (string prelude,
Dwarf_Addr
dwflpp::vardie_from_symtable (Dwarf_Die *vardie, Dwarf_Addr *addr)
{
- const char *name = dwarf_diename (vardie);
+ const char *name;
+ Dwarf_Attribute attr_mem;
+ name = dwarf_formstring (dwarf_attr_integrate (vardie,
+ DW_AT_MIPS_linkage_name,
+ &attr_mem));
+ if (!name)
+ name = dwarf_diename (vardie);
+
if (sess.verbose > 2)
clog << "finding symtable address for " << name << "\n";