[lldb-dev] [Bug 22177] LLD does not generate a symbol table on Windows
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Fri Jan 9 14:28:08 PST 2015
http://llvm.org/bugs/show_bug.cgi?id=22177
Zachary Turner <zturner at google.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |david.majnemer at gmail.com,
| |llvmbugs at cs.uiuc.edu
Component|All Bugs |All Bugs
Assignee|lldb-dev at cs.uiuc.edu |unassignedbugs at nondot.org
Product|lldb |lld
Summary|LLDB expression evaluator |LLD does not generate a
|does not demangle C++ names |symbol table on Windows
|on Windows |
--- Comment #2 from Zachary Turner <zturner at google.com> ---
So the problem is not that it can't demangle names. In fact, it can demangle
names just fine. You can see it demangling main. And if you change the
signature of main in expr_test.cpp to int main(int, char**) then you will get
this from LLDB (note that I'm using a PE file here, generated with
-fuse-ld=lld):
d:\testexe>d:\src\llvm\build\ninja\bin\lldb
(lldb) file expr_test.exe
Current executable set to 'expr_test.exe' (i386).
(lldb) p main
(int (*)(int, char **)) $0 = 0x00415020
But it still can't handle foo even LLD's debug info. The problem seems to be
that LLD isn't building the symbol table correctly.
d:\testexe>d:\src\llvm\build\ninja\bin\llvm-readobj.exe --symbols expr_test.exe
File: expr_test.exe
Format: COFF-i386
Arch: i386
AddressSize: 32bit
Symbols [
]
I don't know what I'm supposed to see here, but I would expect to see "main"
and "foo" in that list in some form or another.
I guess it just happens to be finding main because it's the entry point, so we
got lucky. This sounds like an issue for someone who works on LLD.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20150109/58dd108d/attachment.html>
More information about the lldb-dev
mailing list