[PATCH] D116279: [lld] Add support for other demanglers other than Itanium

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Dec 25 11:59:22 PST 2021


MaskRay added inline comments.


================
Comment at: lld/Common/Strings.cpp:27
-  // mangled type name such as "Pi" (which would demangle to "int*").
-  if (!name.startswith("_Z") && !name.startswith("__Z") &&
-      !name.startswith("___Z") && !name.startswith("____Z"))
----------------
The tests are in case `demangle(...)` is slow on non-mangled symbols. 

I have linked chrome with `--dynamic-list` specifying a `extern "C"` version node and don't see much difference, so this seems fine.



================
Comment at: lld/ELF/Symbols.cpp:31
   StringRef name = sym.getName();
-  std::string ret = demangle(name);
+  std::string ret = demangle(name, elf::config->demangle);
 
----------------
Prefer `config` whenever possible.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D116279/new/

https://reviews.llvm.org/D116279



More information about the llvm-commits mailing list