igorkudrin wrote:
> > because a breakpoint was set before the last instruction of the function
>
> Expand this a bit. Like "Meaning, before the epilogue of the function."
I expanded the description a bit; hope it is clearer now. I don't think
mentioning "epilogue" would improve it. Probably, my original description,
which mentioned it, was too confusing.
Actually, we can set a breakpoint at the first instruction of the epilogue by
rewriting the source like:
```
void done() {
return; // Set breakpoint here
}
```
With `br set -p "// Set breakpoint here"`, a breakpoint can be set at the start
of the epilogue:
```
> objdump -dl main.o
0000000000000000 <done>:
done():
.../main.c:2
0: 55 push %rbp
1: 48 89 e5 mov %rsp,%rbp
.../main.c:3
4: 5d pop %rbp
5: c3 ret
6: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1)
d: 00 00 00
```
But that would not help much, because it is still not the last instruction of
the function and does not prove interaction between thread plans.
https://github.com/llvm/llvm-project/pull/161788
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits