Details
Diff Detail
- Build Status
Buildable 7795 Build 7795: arc lint + arc unit
Event Timeline
See the comment inline. If you have an example of mangled symbols starting with ___Z, you might consider adding a test for it.
tools/llvm-nm/llvm-nm.cpp | ||
---|---|---|
668–669 | I'm aware that Itanium mangled symbols start with _Z but I'm not aware of the ___Z prefix, do you have an example? |
tools/llvm-nm/llvm-nm.cpp | ||
---|---|---|
668–669 | I'm mostly cargo culting this from elsewhere in the codebase. See tools/llvm-cxxdump/llvm-cxxdump.cpp. It does a lot of checking for _Z symbols and it always checks for the double under version as well. tools/llvm-objdump/MachODump.cpp seems to only check for the double under version. tools/llvm-cxxfilt/llvm-cxxfilt.cpp checks both. git grep __Z seems to indicate that its the Mach-O format the includes the extra _ which would explain why MachODump.cpp only checks for that. I'll dig a bit deeper and try to add another test. |
I'm fine with this but I'd appreciate another pair of eyes as it's been a while since I touched the dumpers.
tools/llvm-nm/llvm-nm.cpp | ||
---|---|---|
748 | Do you need a copy here? |
llvm/trunk/tools/llvm-nm/llvm-nm.cpp | ||
---|---|---|
667 ↗ | (On Diff #104704) | The macho files that llvm generates certainly seem too (see the tests code in this CL). It seems they always add the "_", so you either get "__Z" of MachO and "_Z" on Elf. One or the other, not both. Based purely on the empirical behaviour of llvm today. |
I'm aware that Itanium mangled symbols start with _Z but I'm not aware of the ___Z prefix, do you have an example?