mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-28 15:18:37 +08:00
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.
This commit is contained in:
@ -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.
|
||||
|
@ -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;
|
||||
|
@ -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"
|
||||
|
Reference in New Issue
Block a user