[llvm-dev] Why LLVM doesn't have debug information of function right parentheses?

Frozen via llvm-dev llvm-dev at lists.llvm.org
Wed Aug 2 20:19:13 PDT 2017


Simple Case:

1.int main()
2.{
3.   int i = 0;
4.   return 0;
5.}

compile command: clang -g a.c

In LLVM IR, we have one attribute named "scopeLine" to indicate the left parentheses. But we don't have one attribute to indicate the right parentheses (line 5 in this example).

So if we use gdb to debug it:
(gdb) b main
Breakpoint 1 at 0x100005c8: file a.c, line 3.
(gdb) r
Breakpoint 1, main () at a.c:3
3      int i = 0;
Missing separate debuginfos,
(gdb) n
4      return 0;
(gdb) n
0x00003fffb7db4580 in generic_start_main.isra.0
We can not stop at line 5.

But GCC can stop at line 5
(gdb) b main
Breakpoint 1 at 0x100005e0: file a.c, line 3.
(gdb) r
Breakpoint 1, main () at a.c:3
3      int i = 0;
Missing separate debuginfos
(gdb) n
4      return 0;
(gdb) n
5    }
(gdb)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170803/d7a2728b/attachment.html>


More information about the llvm-dev mailing list