Closed dvyukov closed 6 years ago
One of the goals of this package is to act, as much as possible, like as the demangler distributed with GCC. The file testdata/demangle-expected is copied from GCC. And indeed for your sample symbol _ZZ13platform_initENUlN6smbios11SpecVersionEPKNS_6HeaderERKNS_11StringTableEPvE_4_FUNES0_S3_S6_S7_
the c++filt program in this package produces the same output as the c++filt program that comes with GCC.
So maybe the first step is to file a bug against GCC asking that that demangler be changed. Or, of course, we could add another option here, but that doesn't seem like the best choice.
I am using:
with the intent of getting reasonable traces (i.e. not a dozen of lines per frame) for heavy C++ code, e.g.:
but in some cases I am getting something like (which is not qualified as reasonable):
I see that tests in demangle_test.go explicitly test for such behavior. Is it intentional? Shouldn't NoParams/NoTemplateParams also strip all that from lambdas and it's context?
FTR, one symbol example is
_ZZ13platform_initENUlN6smbios11SpecVersionEPKNS_6HeaderERKNS_11StringTableEPvE_4_FUNES0_S3_S6_S7_
.