diff options
author | Kai Wang <kaiw@FreeBSD.org> | 2014-01-16 22:28:33 +0000 |
---|---|---|
committer | Kai Wang <kaiw@FreeBSD.org> | 2014-01-16 22:28:33 +0000 |
commit | 1391789ee21612ced0d753687479b113f66b017b (patch) | |
tree | e905882b3ddcf8ef4b2bbe2d4f93b5bb1f1ca857 /cddl/contrib | |
parent | 58fc1c99e4b4368c3fe7e3f982f5e22741d7ec19 (diff) | |
download | src-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')
-rw-r--r-- | cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c | 2 |
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); } |