History log of /haiku/src/tests/add-ons/kernel/debugger/c++filt.cpp
Revision Date Author Comments
# adad95fa 16-Sep-2018 Augustin Cavalier <waddlesplash@gmail.com>

tests: Add a simple version of "c++filt" that uses the homegrown demanglers.

Built as "haikuc++filt" so you can keep it in PATH without replacing GCC's.

The implementation is a very close copy of "demumble", which is
under the Apache 2 license, so this is also. Most of the modifications
to "demumble" were to strip out Windows symbol support, and then
add GCC2 symbol support (this required reworking of the main loop,
as we detect GCC2 symbols in a different way than Itanium symbols.)

I've also added a command-line flag to ignore GCC2 symbols when stream-
processing, which is sometimes useful when demangling GCC3+ symbols.

Running this under guarded heap with some random SOs shows that there are
some symbols which apparently cause memory corruption in the GCC2 demangler.
I haven't yet looked into that, though.