question on the status of debugging symbols

Would someone be so kind as to tell me what the status of debugging symbols (DWARF) generated by clang/llvm is?

I am on a linux x86-64 system (Fedora 13). Is gdb supposed to understand the generated DWARF?

When I generate an executable with "clang -g" followed by "llc -O0" and feed it to gdb, I get "no debugging symbols found".

What is the status of lldb on linux?

thanks,
bagel

Would someone be so kind as to tell me what the status of debugging symbols
(DWARF) generated by clang/llvm is?

Hi Bagel,

It should be fairly complete...

When I generate an executable with "clang -g" followed by "llc -O0" and feed it
to gdb, I get "no debugging symbols found".

What is the status of lldb on linux?

Just ran the same thing and got all symbols, can you show your
specific command line options?

I did:

$ clang -S -g -emit-llvm test.c -o test.ll
$ llc -O0 test.ll -o test.s
$ gcc test.s -o test
$ gdb ./test

Also works:

$ clang -S -g test.c -o test.s
$ gcc test.s -o test
$ gdb ./test

etc.

cheers,
--renato

Maybe you have to install LLVM in Debug+Assertions mode, not in Release mode.
Alexandra

Renato Golin-4 wrote:

I believe their is a huge regression with gdb 7.2. Ubuntu 10.10 just switched to it and it seems I cannot use ">call function" in gdb to call many C++ functions compiled with clang. Most of the time I get:

"Cannot evaluate function -- may be inlined"

I did not try clang from today, but a couple of weeks ago this still failed and the corresponding bug report is not yet closed:

http://llvm.org/bugs/show_bug.cgi?id=8045

I believe I figured out what the problem was. I also created a reduced test case, but did not have the time to obtain the knowledge to fix it. Maybe someone with DWARF knowledge could have a look?

Tobi