aboutsummaryrefslogtreecommitdiff
path: root/cddl/contrib/opensolaris/tools
diff options
context:
space:
mode:
authorKai Wang <kaiw@FreeBSD.org>2014-01-16 22:28:33 +0000
committerKai Wang <kaiw@FreeBSD.org>2014-01-16 22:28:33 +0000
commit1391789ee21612ced0d753687479b113f66b017b (patch)
treee905882b3ddcf8ef4b2bbe2d4f93b5bb1f1ca857 /cddl/contrib/opensolaris/tools
parent58fc1c99e4b4368c3fe7e3f982f5e22741d7ec19 (diff)
downloadsrc-1391789ee21612ced0d753687479b113f66b017b.tar.gz
src-1391789ee21612ced0d753687479b113f66b017b.zip
If function die_name() finds a DIE without a name, set its name to
"__anon__". This hack is used to workaround a issue that compilers like GCC could generate DW_TAG_base_type DIE without a name. Note that we didn't need this before because the old libdwarf internally set all the unnamed DIE's name to "__anon__".
Notes
Notes: svn path=/projects/elftoolchain/; revision=260797
Diffstat (limited to 'cddl/contrib/opensolaris/tools')
-rw-r--r--cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c b/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c
index 8cc3fad697f8..eba5bbdfeb3f 100644
--- a/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c
+++ b/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c
@@ -431,6 +431,8 @@ die_name(dwarf_t *dw, Dwarf_Die die)
char *str = NULL;
(void) die_string(dw, die, DW_AT_name, &str, 0);
+ if (str == NULL)
+ str = xstrdup("__anon__");
return (str);
}