[LLVMdev] C++ demangler for llvm tools (original) (raw)

Sumanth Gundapaneni sgundapa at codeaurora.org
Thu Feb 12 10:11:20 PST 2015


On Tue, Feb 10, 2015 at 4:41 PM, Michael Spencer <bigcheesegs at gmail.com> wrote:

On Tue, Feb 10, 2015 at 10:14 AM, Sumanth Gundapaneni <sgundapa at codeaurora.org> wrote: > Hi, > > AFAIK, the tools “symbolizer, objdump and nm” need a demangler. > > I see there is libcxxabi which provides the demangle library. But there is > no support to build libcxxabi on windows with MSVC. > > This left a huge void and my symbolizer cannot work on Windows if built with > MSVC. > > > > Instead of mucking around OS dependencies, why shouldn’t we have a demangle > library in LLVM. > > I already have this implementation locally and it works fine for me on both > Linux and Windows. > > > > Any thoughts ?

Lots of people want this, but nobody has had the time yet. It would need to support both the itanium and msvc manglings, and be resilient against malicious mangled names (it's possible to construct ~200 byte names that expand out to multiple GiBs). Since the itanium and msvc ones are going to be completely separate code paths, it probably makes sense as an incremental step to do just itanium, since it seems we already know of a couple implementations we could integrate.

If you guys are okay with it, I can push the C++ demangler to lib/Support. Any additional functionality can go on top of that. How different is Itanium demangler to that of C++ demangler (libcxxabi)

-- Sean Silva

- Michael Spencer > > > > --Sumanth G > > > > _> ________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >


LLVM Developers mailing list LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev



More information about the llvm-dev mailing list