[LLVMdev] [lld] adding demangler for symbol resolution

Shankar Easwaran shankare at codeaurora.org
Tue Apr 1 21:19:15 PDT 2014


Hi Nick, Bigcheese,

When lld is used to link C++ code, it would be required to demangle 
symbol names by default/user driven option.

The Gnu linker has the following options :-

--demangle=[style]
--no-demangle

I found that clang/llvm-symbolizer use __cxx_demangle function.

I would think that lld also need to call the same function, and I think 
the way we want to demangle is to have the function in LinkingContext as 
various flavors may choose to use different API's to demangle symbol names.

The API's that would be in LinkingContext would be :-

         * virtual bool canDemangle()  = 0; // Does the flavor provide a 
way to demangle symbol names ?
         * virtual std::string demangle(StringRef symbolName) = 0; // 
demangle the symbol name

Thoughts / Suggestions ?

Thanks

Shankar Easwaran

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation




More information about the llvm-dev mailing list