In (lldb), there is a bug that positions the source code location on the last character of the previous line if lldb doesn't report a column number.
Example, save the following as "t.s" and compile (on x86-64) with "gcc -g t.s -o t":
.global _main
_main:
xor %eax,%eax
ret
and debug using (lldb "lldb ./t"):
(lldb) b main
:
(lldb) run
:
(lldb) disas
t`main:
0x555555555129 <+0>: xorl %eax, %eax
-> 0x55555555512b <+2>: retq
but the source code location ends up at the last character of the "xor %eax..." line.
Attaching proposed pach against 66ef930ebea4618c1dac71a09495766476ced1d6.