[PATCH] D139864: [AIX] Demangle the name prefix with '.' in AIX OS for llvm-cxxfilt

Digger Lin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 27 10:38:08 PST 2023


DiggerLin added inline comments.


================
Comment at: llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp:72
+  // In XCOFF, Function entry lable begin with '.'.
+  if (Triple(sys::getProcessTriple()).isOSBinFormatXCOFF() && DecoratedStr[0] == '.') {
+    ++DecoratedStr;
----------------
DiggerLin wrote:
> jhenderson wrote:
> > DiggerLin wrote:
> > > stephenpeckham wrote:
> > > > Wouldn't it make more sense to introduce a StripDot variable similar to StripUnderscore?
> > > we do not do  StripDot, we just demangle the symbol begin with "dot" if there is. (and this is xcoff specific option)  I checked AIX clangtana cxxfilt, it do not has an option for "demangling the symbol begin with 'dot') . So I think we also do not need an option here and  not need to introduce a new variable "StripDot".
> > > 
> > I'm ambivalent about whether there's a `--strip-dot` option (it could be on by default for AIX, and off otherwise). The advantage with having it is that it would be possible to demangle a binary designed for AIX OS on a different platform.
> > 
> > Also "lable" -> "label".
> I checked the gnu cxxfilt (in linux OS), it can demangle ._Z3foov  to .foo() as you mention in your  patch https://reviews.llvm.org/D63722?id=206236#inline-567977
> 
> I am not sure whether we can enable to decode the name prefixed with '.' by default without any new option for all OS platform ?  @James Henderson
sorry , above comment should be " I checked the gnu c++filt (in linux OS), it can demangle ._Z3foov to .foo() as you mention in your patch ......."  @jhenderson 


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D139864



More information about the llvm-commits mailing list