https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289945
Bug ID: 289945
Summary: lldb; set breakpoint not hit on 32b binary
Product: Base System
Version: Unspecified
Hardware: amd64
OS: Any
Status: New
Severity: Affects Many People
Priority: ---
Component: bin
Assignee: [email protected]
Reporter: [email protected]
Simple demo:
#include <stdio.h>
int main() {
puts("hello world");
return 42;
}
Compiled as:
$ clang -O0 -g -o test test.c
$ lldb -O 'breakpoint set -n main' test
(lldb) r
Process 19470 launched: '/home/martin/forums/test' (x86_64)
Process 19470 stopped
* thread #1, name = 'test', stop reason = breakpoint 1.1
frame #0: 0x00000000002016bf test`main at test.c:4:2
1 #include <stdio.h>
2
3 int main() {
-> 4 puts("hello world");
5 return 42;
6 }
(lldb) breakpoint list
Current breakpoints:
1: name = 'main', locations = 1, resolved = 1, hit count = 1
1.1: where = test`main + 15 at test.c:4:2, address = 0x00000000002016bf,
resolved, hit count = 1
Works as expected. However breakpoint is not hit with 32b version of the same
program:
$ clang -m32 -O0 -g -o test test.c
$ lldb -a i386 -O 'breakpoint set -n main' test
(lldb) breakpoint set -n main
Breakpoint 1: no locations (pending).
Breakpoint set in dummy target, will get copied into future targets.
(lldb) target create --arch=i386 "test"
Current executable set to '/home/martin/forums/test' (i386).
(lldb) r
Process 19490 launched: '/home/martin/forums/test' (i386)
hello world
Process 19490 exited with status = 42 (0x0000002a)
(lldb)
Doesn't help if I sent the breakpoint on address either:
$ readelf -h test | grep Entry
Entry point address: 0x401470
lldb -a i386 -O 'breakpoint set -a 0x401470' test
(lldb) breakpoint set -a 0x401470
Breakpoint 1: address = 0x0000000000401470
Breakpoint set in dummy target, will get copied into future targets.
(lldb) target create --arch=i386 "test"
Current executable set to '/home/martin/forums/test' (i386).
(lldb) r
Process 19502 launched: '/home/martin/forums/test' (i386)
hello world
Process 19502 exited with status = 42 (0x0000002a)
(lldb) breakpoint list
Current breakpoints:
1: address = 0x0000000000401470, locations = 1
1.1: address = 0x0000000000401470, unresolved, hit count = 0
That address is a bit suspicious too as it should be working with 32b address.
--
You are receiving this mail because:
You are the assignee for the bug.