diff options
author | Marcin Kościelnicki <koriakin@0x04.net> | 2016-03-05 14:48:47 +0100 |
---|---|---|
committer | Marcin Kościelnicki <koriakin@0x04.net> | 2016-03-09 18:44:57 +0100 |
commit | 4366d36e467bf81274edccbea026a91188cc67e3 (patch) | |
tree | 585ed80965b28fb6203b18f1b21c0ebc4b298be8 | |
parent | cc2c4da8813b980a4e68272bb43583f4af6fe89c (diff) | |
download | gdb-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/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/unavailable-dwarf-piece.c | 2 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp | 8 |
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" |