testsuite, gdb.btrace: adjust expected output to pass with clang

Clang generates slightly different debug information.  Adjust the expected
output of gdb.btrace/function_call_history.exp to work with both gcc and
clang.

Also modify gdb.btrace/exception.cc to reliably trace into main and update
the corresponding patterns in gdb.btrace/exception.exp.
This commit is contained in:
Markus Metzger 2020-12-15 16:18:34 +01:00
parent c7c7253a47
commit d2c5f24eed
4 changed files with 37 additions and 21 deletions

View File

@ -1,3 +1,9 @@
2021-03-03 Markus Metzger <markus.t.metzger@intel.com>
* gdb.btrace/exception.cc (main): Update test source.
* gdb.btrace/exception.exp: Update patterns.
* gdb.btrace/function_call_history.exp: Likewise.
2021-03-03 Markus Metzger <markus.t.metzger@intel.com>
* gdb.btrace/unknown_functions.exp: Move -Wl,-x to ldflags.

View File

@ -50,7 +50,11 @@ test (void)
int
main (void)
{
int ret;
test ();
test (); /* bp.1 */
return 0; /* bp.2 */
ret = 0;
return ret; /* bp.2 */
}

View File

@ -60,19 +60,25 @@ gdb_expect_list "flat" "\r\n$gdb_prompt $" [list \
"3\tfoo\\(\\)" \
"4\tbar\\(\\)" \
"5\tbad\\(\\)\r" \
] \
"" \
"\[0-9\]*\ttest\\(\\)"]
] "" \
[multi_line \
"\[0-9\]*\ttest\\(\\)" \
"\[0-9\]*\tmain\\(\\)" \
] "" \
]
# show the branch trace with calls indented
send_gdb "record function-call-history /c 1\n"
gdb_expect_list "indented" "\r\n$gdb_prompt $" [list \
[multi_line \
"1\tmain\\(\\)" \
"2\t test\\(\\)" \
"3\t foo\\(\\)" \
"4\t bar\\(\\)" \
"5\t bad\\(\\)\r" \
] \
"" \
"\[0-9\]*\t test\\(\\)"]
"2\t test\\(\\)" \
"3\t foo\\(\\)" \
"4\t bar\\(\\)" \
"5\t bad\\(\\)\r" \
] "" \
[multi_line \
"\[0-9\]*\t test\\(\\)" \
"\[0-9\]*\tmain\\(\\)" \
] "" \
]

View File

@ -148,29 +148,29 @@ gdb_test_no_output "set filename-display basename"
# moving forward again, but this time with file and line number, expected to see the first 15 entries
gdb_test "record function-call-history /l +" [multi_line \
"\[0-9\]*\tmain\tat $srcfile:40,41" \
"\[0-9\]*\tinc\tat $srcfile:22,24" \
"\[0-9\]*\tinc\tat $srcfile:22,2\[34\]" \
"\[0-9\]*\tmain\tat $srcfile:40,41" \
"\[0-9\]*\tinc\tat $srcfile:22,24" \
"\[0-9\]*\tinc\tat $srcfile:22,2\[34\]" \
"\[0-9\]*\tmain\tat $srcfile:40,41" \
"\[0-9\]*\tinc\tat $srcfile:22,24" \
"\[0-9\]*\tinc\tat $srcfile:22,2\[34\]" \
"\[0-9\]*\tmain\tat $srcfile:40,41" \
"\[0-9\]*\tinc\tat $srcfile:22,24" \
"\[0-9\]*\tinc\tat $srcfile:22,2\[34\]" \
"\[0-9\]*\tmain\tat $srcfile:40,41" \
"\[0-9\]*\tinc\tat $srcfile:22,24" \
"\[0-9\]*\tinc\tat $srcfile:22,2\[34\]" \
"\[0-9\]*\tmain\tat $srcfile:40,41" \
"\[0-9\]*\tinc\tat $srcfile:22,24" \
"\[0-9\]*\tinc\tat $srcfile:22,2\[34\]" \
"\[0-9\]*\tmain\tat $srcfile:40,41" \
"\[0-9\]*\tinc\tat $srcfile:22,24" \
"\[0-9\]*\tinc\tat $srcfile:22,2\[34\]" \
"\[0-9\]*\tmain\tat $srcfile:40,41" \
] "forward /l - 1"
# moving forward and expect to see the latest 6 entries
gdb_test "record function-call-history /l +" [multi_line \
"\[0-9\]*\tinc\tat $srcfile:22,24" \
"\[0-9\]*\tinc\tat $srcfile:22,2\[34\]" \
"\[0-9\]*\tmain\tat $srcfile:40,41" \
"\[0-9\]*\tinc\tat $srcfile:22,24" \
"\[0-9\]*\tinc\tat $srcfile:22,2\[34\]" \
"\[0-9\]*\tmain\tat $srcfile:40,41" \
"\[0-9\]*\tinc\tat $srcfile:22,24" \
"\[0-9\]*\tinc\tat $srcfile:22,2\[34\]" \
"\[0-9\]*\tmain\tat $srcfile:40,43" \
] "forward /l - 2"