Branch: refs/heads/demangle
Home: https://github.com/dyninst/dyninst
Commit: 2a49c857a3ef810ba4f57512299d2f068f04e71d
https://github.com/dyninst/dyninst/commit/2a49c857a3ef810ba4f57512299d2f068f04e71d
Author: James A. Kupsch <kupsch@xxxxxxxxxxx>
Date: 2020-09-29 (Tue, 29 Sep 2020)
Changed paths:
M cmake/LibIberty.cmake
M common/CMakeLists.txt
M common/src/freebsdKludges.C
M common/src/linuxKludges.C
A common/src/symbolDemangle.c
A common/src/symbolDemangle.h
A common/src/symbolDemangleWithCache.C
A common/src/symbolDemangleWithCache.h
M symtabAPI/doc/4-Definitions.tex
M symtabAPI/h/Symtab.h
M symtabAPI/src/Aggregate.C
M symtabAPI/src/Symbol.C
M symtabAPI/src/Symtab-edit.C
M symtabAPI/src/Symtab.C
Log Message:
-----------
make symbol name demangling consistent (#872, #717)
* make all pretty and typed names consistent on linux and freebsd
* use libiberty's cplus_demangle to generate pretty and typed names
from the mangled names instead of abi::__cxa_demangle to get the
typed name and parsing the result to get the pretty name
* use common function symbolDemangle to implement both pretty and typed
names using cplus_demangle and removing suffixes (versioning and
stabs), and add function cloning suffixes back to the pretty name
so it is consistent with the mangled and types names.
* added a last result caching version of symbolDemangle,
symbolDemangleWithCache used by P_cplus_demangle (matches current
behavior)
* update SymtabAPI documentation improve the definitions of mangled,
pretty and typed name for correctness and to match current behavior
* removed demangleSymbol and demangleSymbols methods and their uses
as the functions had no effect
* remove non-windows suffix removal in Symbol class as it is now
performed in one place
|