mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-24 12:23:31 +08:00
[gdb/testsuite] Fix gdb.ada/convvar_comp.exp with broken debug info
On aarch64-linux I run into this failure with gcc 7.5.0: ... (gdb) print $item.started^M $1 = (-5312, 65535, 4202476)^M (gdb) FAIL: gdb.ada/convvar_comp.exp: print $item.started ... The test-case expects (0, 0, 0), but we're getting another value due to incorrect location information. Work around this by: - first printing the value, and then - verifying that the convenience variable matches the printed value. I've verified that the test-case still checks what it should by disabling the fix from commit cc0e770c0d0 ("memory error printing component of record from convenience variable") and observing the test-case fail. Tested on x86_64-linux and aarch64-linux. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29420
This commit is contained in:
@ -30,7 +30,15 @@ if ![runto "break_me" ] then {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
set val ""
|
||||||
|
gdb_test_multiple "print item.started" "" {
|
||||||
|
-re -wrap " = \\((.*)\\)" {
|
||||||
|
set val $expect_out(1,string)
|
||||||
|
pass $gdb_test_name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
gdb_test_no_output "set variable \$item := item"
|
gdb_test_no_output "set variable \$item := item"
|
||||||
|
|
||||||
gdb_test "print \$item.started" \
|
gdb_test "print \$item.started" \
|
||||||
" = \\(0, 0, 0\\)"
|
" = \\($val\\)"
|
||||||
|
Reference in New Issue
Block a user