When running test-case gdb.dwarf2/implptr.exp on target board unix/-m32, we
get:
...
(gdb) PASS: gdb.dwarf2/implptr.exp: print ***l in implptr:bar
break implptr.c:34^M
No compiled code for line 34 in file "implptr.c".^M
Make breakpoint pending on future shared library load? (y or [n]) n^M
(gdb) FAIL: $exp: set baz breakpoint for implptr (got interactive prompt)
...
This is a regression since commit
dcaa85e58c4 ("gdb: reject inserting
breakpoints between functions").
The .debug_line info does not contain an entry with a line number lower than
36, so gdb cannot map it to an address.
Fix this by setting a breakpoint at the function containing line 34 instead.
Tested on x86_64-linux.
PR testsuite/32477
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=32477
proc implptr_test_baz {} {
global csrcfile
set line [gdb_get_line_number "baz breakpoint" $csrcfile]
- gdb_test "break implptr.c:$line" "Breakpoint 3.*" \
+ gdb_test "break add" "Breakpoint 3.*" \
"set baz breakpoint for implptr"
gdb_continue_to_breakpoint "continue to baz breakpoint for implptr"