aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2024-01-11 16:05:12 +0100
committerTom de Vries <tdevries@suse.de>2024-01-11 16:05:12 +0100
commitfa87f8e1958b8937047e3d5fcfd8c265745710ae (patch)
treee6522989b2fa143d1578e71d578ad84ca49fa6f7
parent4ece39c56cfdd5647d4061f3c084b9de6f9e443c (diff)
downloadgdb-fa87f8e1958b8937047e3d5fcfd8c265745710ae.zip
gdb-fa87f8e1958b8937047e3d5fcfd8c265745710ae.tar.gz
gdb-fa87f8e1958b8937047e3d5fcfd8c265745710ae.tar.bz2
[gdb/testsuite] Fix gdb.dwarf2/dw2-entry-points.exp on ppc64le
On ppc64le-linux, I run into: ... (gdb) bt^M #0 0x00000000100006dc in foobar (J=2)^M #1 0x000000001000070c in prog ()^M (gdb) FAIL: gdb.dwarf2/dw2-entry-points.exp: bt foo ... The test-case attemps to emulate additional entry points of a function, with function bar having entry points foo and foobar: ... (gdb) p bar $1 = {void (int, int)} 0x1000064c <bar> (gdb) p foo $2 = {void (int, int)} 0x10000698 <foo> (gdb) p foobar $3 = {void (int)} 0x100006d0 <foobar> ... However, when setting a breakpoint on the entry point foo: ... (gdb) b foo Breakpoint 1 at 0x100006dc ... it ends up in foobar instead of in foo, due to prologue skipping, and consequently the backtrace show foobar instead foo. The problem is that the test-case does not emulate an actual prologue at each entry point. Fix this by disabling the prologue skipping when setting a breakpoint, using "break *foo". Tested on ppc64le-linux and x86_64-linux. Tested-By: Guinevere Larsen <blarsen@redhat.com> Approved-By: Ulrich Weigand <Ulrich.Weigand@de.ibm.com> PR testsuite/31232 Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31232
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw2-entry-points.exp6
1 files changed, 3 insertions, 3 deletions
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-entry-points.exp b/gdb/testsuite/gdb.dwarf2/dw2-entry-points.exp
index f361820..035b15e 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-entry-points.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-entry-points.exp
@@ -180,8 +180,8 @@ if ![runto_main] {
}
# Try whether we can set and hit breakpoints at the entry_points.
-gdb_breakpoint "foo"
-gdb_breakpoint "foobar"
+gdb_breakpoint "*foo"
+gdb_breakpoint "*foobar"
# Now hit the entry_point break point and check their call-stack.
gdb_continue_to_breakpoint "foo"
@@ -204,7 +204,7 @@ if ![runto_main] {
return -1
}
-gdb_breakpoint "fooso"
+gdb_breakpoint "*fooso"
gdb_continue_to_breakpoint "foo_so"
gdb_test "bt" [multi_line \