aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Kościelnicki <koriakin@0x04.net>2016-03-05 14:48:47 +0100
committerMarcin Kościelnicki <koriakin@0x04.net>2016-03-09 18:44:57 +0100
commit4366d36e467bf81274edccbea026a91188cc67e3 (patch)
tree585ed80965b28fb6203b18f1b21c0ebc4b298be8
parentcc2c4da8813b980a4e68272bb43583f4af6fe89c (diff)
downloadgdb-4366d36e467bf81274edccbea026a91188cc67e3.zip
gdb-4366d36e467bf81274edccbea026a91188cc67e3.tar.gz
gdb-4366d36e467bf81274edccbea026a91188cc67e3.tar.bz2
gdb.trace: Use manually-defined start labels in unavailable-dwarf-piece.exp
On powerpc64, foo/bar point to a function descriptor, not to function code. Since there are no global labels pointing at the actual function code, let's make our own. Regression-tested on x86_64. gdb/testsuite/ChangeLog: * gdb.trace/unavailable-dwarf-piece.c (foo): Add foo_start_lbl label. (bar): Add bar_start_lbl label. * gdb.trace/unavailable-dwarf-piece.exp: Use foo/bar_start_lbl instead of foo/bar for emitting DWARF and tracing.
-rw-r--r--gdb/testsuite/ChangeLog7
-rw-r--r--gdb/testsuite/gdb.trace/unavailable-dwarf-piece.c2
-rw-r--r--gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp8
3 files changed, 13 insertions, 4 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 668f9f0..ce2a190 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2016-03-09 Marcin Kościelnicki <koriakin@0x04.net>
+
+ * gdb.trace/unavailable-dwarf-piece.c (foo): Add foo_start_lbl label.
+ (bar): Add bar_start_lbl label.
+ * gdb.trace/unavailable-dwarf-piece.exp: Use foo/bar_start_lbl instead
+ of foo/bar for emitting DWARF and tracing.
+
2016-03-06 Sergio Durigan Junior <sergiodj@redhat.com>
* analyze-racy-logs.py: Set executable bit.
diff --git a/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.c b/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.c
index 94d611f..5d12c52 100644
--- a/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.c
+++ b/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.c
@@ -54,6 +54,7 @@ dummy (void)
int
foo (struct s x, struct s y, struct s z)
{
+ asm (".global foo_start_lbl\nfoo_start_lbl:");
dummy ();
asm (".global foo_end_lbl\nfoo_end_lbl:");
return 0;
@@ -62,6 +63,7 @@ foo (struct s x, struct s y, struct s z)
int
bar (struct t x, struct t y, struct t z)
{
+ asm (".global bar_start_lbl\nbar_start_lbl:");
dummy ();
asm (".global bar_end_lbl\nbar_end_lbl:");
return 0;
diff --git a/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp b/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp
index b5052d1..66a09a5 100644
--- a/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp
+++ b/gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp
@@ -175,7 +175,7 @@ Dwarf::assemble $asm_file {
DW_TAG_subprogram {
{name foo}
{decl_file 1 sdata}
- {low_pc foo addr}
+ {low_pc foo_start_lbl addr}
{high_pc foo_end_lbl addr}
} {
DW_TAG_formal_parameter {
@@ -220,7 +220,7 @@ Dwarf::assemble $asm_file {
DW_TAG_subprogram {
{name bar}
{decl_file 1 sdata}
- {low_pc bar addr}
+ {low_pc bar_start_lbl addr}
{high_pc bar_end_lbl addr}
} {
DW_TAG_formal_parameter {
@@ -306,7 +306,7 @@ if ![gdb_target_supports_trace] {
gdb_breakpoint "end"
with_test_prefix "tracing foo" {
- gdb_test "trace foo" ".*"
+ gdb_test "trace *foo_start_lbl" ".*"
gdb_test_no_output "tstart"
gdb_test "continue" "Continuing\\.\[ \r\n\]+Breakpoint.*"
gdb_test_no_output "tstop"
@@ -320,7 +320,7 @@ with_test_prefix "tracing foo" {
}
with_test_prefix "tracing bar" {
- gdb_test "trace bar" ".*"
+ gdb_test "trace *bar_start_lbl" ".*"
gdb_test_no_output "tstart"
gdb_test "continue" "Continuing\\.\[ \r\n\]+Breakpoint.*"
gdb_test_no_output "tstop"