4 ms·
Is this due to C++ name mangling? I just had a flashback to the early 90s when I ran into that problem with Watcom C++ and Windows symbol loading, we had to res
by zwieback 4y ago
Is this due to C++ name mangling? I just had a flashback to the early 90s when I ran into that problem with Watcom C++ and Windows symbol loading, we had to resort to rewriting the exports and imports to shorter names just to be able to debug. Bad memories!
- zetafunction 4y agoTemplated code can lead to some really long symbol names. As a random tangent, I was trying to figure out why Chrome's stack symbolizer wasn't working for some stack frames this week… and came across this comment in the symbolizer. char demangled[256]; // Big enough for sane demangled symbols. Turns out the longest symbol name in the Chrome binary is 32k characters long... and some of the tests have even longer ones (the longest one I found was 98k characters).
- vintagedave 4y agoCrikey. We (C++Builder) were looking at some Boost debugging issues a couple of years ago and realised some symbols were a couple of thousand characters long. I thought _that_ was bad!
- terrelln 4y agoI've seen a multi MB symbol coming from generated code
- cokernel_hacker 4y agoFun fact: the MSVC C++ ABI gives up if the mangled name is >= 4096 characters, it just replaces the symbol with md5(mangled name): https://github.com/llvm/llvm-project/blob/d32f71a91a432db2d9ea32694a8308534b6697ec/clang/lib/AST/MicrosoftMangle.cpp#L64-L82 https://github.com/llvm/llvm-project/blob/d32f71a91a432db2d9...