Nerixyz wrote:

> Btw, @al45tair pointed out to me that mangled names can appear in multiple 
> places in PDB. One has prefixed mangled names and the other doesnt (i think 
> the one per module doesnt). So you have to make sure we only strip the ones 
> that are actually prefixed

Where else do they appear? My understanding is that mangled function (and 
variable) names are only present in the publics stream (also mentioned in 
[LLVM's CodeView/PDB 
docs](https://llvm.org/docs/PDB/CodeViewSymbols.html#public-symbols)). The 
globals stream doesn't contain the mangled names in `S_(L)PROCREF` and the 
module symbols which these globals are referencing (`S_GPROC32`/`S_LPROC32`) 
don't contain them either (at least for C++). The names of these 
references/functions are already demangled.

My approach would be to only transform the symbols from the publics stream that 
we read when searching for the mangled name in my original PR.

https://github.com/llvm/llvm-project/pull/160930
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to