[lldb-dev] [Bug 45832] New: Wrong backtrace in lldb with optimized code [-Og]
via lldb-dev
lldb-dev at lists.llvm.org
Thu May 7 11:02:39 PDT 2020
https://bugs.llvm.org/show_bug.cgi?id=45832
Bug ID: 45832
Summary: Wrong backtrace in lldb with optimized code [-Og]
Product: lldb
Version: unspecified
Hardware: PC
OS: All
Status: NEW
Severity: enhancement
Priority: P
Component: All Bugs
Assignee: lldb-dev at lists.llvm.org
Reporter: ditaliano at apple.com
CC: jdevlieghere at apple.com, llvm-bugs at lists.llvm.org
$ ./lldb trace.o
(lldb) target create "trace.o"
Current executable set to '/home/g_a_diluna/lldb-build/bin/trace.o' (x86_64).
(lldb) b main
Breakpoint 1: where = trace.o`main + 1 at trace.c:5:3, address =
0x00000000004004a1
(lldb) r
Process 5436 launched: '/home/Dave/lldb-build/bin/trace.o' (x86_64)
Process 5436 stopped
* thread #1, name = 'trace.o', stop reason = breakpoint 1.1
frame #0: 0x00000000004004a1 trace.o`main at trace.c:5:3
2 static int b(int *c) { *c = 0; }
3 int main() {
4 int *d = &a;
-> 5 b(d);
6 }
(lldb) s
Process 5436 stopped
* thread #1, name = 'trace.o', stop reason = step in
frame #0: 0x00000000004004b0 trace.o`b at trace.c:6:1
3 int main() {
4 int *d = &a;
5 b(d);
-> 6 }
(lldb) bt
* thread #1, name = 'trace.o', stop reason = step in
* frame #0: 0x00000000004004b0 trace.o`b at trace.c:6:1
frame #1: 0x00000000004004a6 trace.o`main at trace.c:5:3
frame #2: 0x00007ffff7a5a2e1 libc.so.6`__libc_start_main + 241
frame #3: 0x00000000004003ca trace.o`_start + 42
(lldb) s
Process 5436 stopped
* thread #1, name = 'trace.o', stop reason = step in
frame #0: 0x00000000004004a6 trace.o`main at trace.c:6:1
3 int main() {
4 int *d = &a;
5 b(d);
-> 6 }
(lldb) bt
* thread #1, name = 'trace.o', stop reason = step in
* frame #0: 0x00000000004004a6 trace.o`main at trace.c:6:1
frame #1: 0x00007ffff7a5a2e1 libc.so.6`__libc_start_main + 241
frame #2: 0x00000000004003ca trace.o`_start + 42
(lldb) q
$ ./lldb -v
lldb version 11.0.0
clang revision 237d0e3c0416abf9919406bcc92874cfd15f5e0c
llvm revision 237d0e3c0416abf9919406bcc92874cfd15f5e0c
$ ./clang-11 -g -Og trace.c -o trace.o
trace.c:2:32: warning: non-void function does not return a value
[-Wreturn-type]
static int b(int *c) { *c = 0; }
^
$ cat trace.c
static int a;
static int b(int *c) { *c = 0; }
int main() {
int *d = &a;
b(d);
}
Only reproduces on Linux (x86_64)
--
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/20200507/b46b1d1d/attachment.html>
More information about the lldb-dev
mailing list