[LLVMdev] C++ demangler for llvm tools

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