]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
[gdb/testsuite] Fix gdb.dwarf2/implptr.exp regression
authorTom de Vries <tdevries@suse.de>
Thu, 16 Jan 2025 14:00:11 +0000 (15:00 +0100)
committerTom de Vries <tdevries@suse.de>
Thu, 16 Jan 2025 14:00:11 +0000 (15:00 +0100)
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

gdb/testsuite/gdb.dwarf2/implptr.exp

index a3f9c6162ce930e0faa89dad7c49da5185997b53..fa1b68ea8cb5f024ca058b434a0ff710a7e68524 100644 (file)
@@ -63,7 +63,7 @@ proc implptr_test_bar {} {
 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"