[gdb/tdep] Fix 'Unexpected register class' assert in amd64_push_arguments

Message ID a298aaa0-5809-bf56-955c-67fe9a7bd0d6@suse.de
State New, archived
Headers

Commit Message

Tom de Vries Oct. 14, 2019, 3:23 p.m. UTC
  On 14-10-2019 15:10, Alan Hayward wrote:
>> This exposes 9 more FAILs of the PR tdep/25096 type, so mark all 12 of them as
>> KFAIL.
> When I run the test, I get three unexpected passes:
> 
> 
> # of expected passes		9388
> # of unknown successes		3
> # of known failures		9
> 
> KPASS: gdb.base/infcall-nested-structs.exp: l=c++: types-tc-tf: p/d check_arg_struct_02_01 (ref_val_struct_02_01) (PRMS gdb/25096)
> KPASS: gdb.base/infcall-nested-structs.exp: l=c++: types-ts-tf: p/d check_arg_struct_02_01 (ref_val_struct_02_01) (PRMS gdb/25096)
> KPASS: gdb.base/infcall-nested-structs.exp: l=c++: types-ti-tf: p/d check_arg_struct_02_01 (ref_val_struct_02_01) (PRMS gdb/25096)

That could be due to registers happening to have the correct value.

Do these turn into KFAILs if you add:
...
...
?

Thanks,
- Tom
  

Patch

diff --git a/gdb/testsuite/gdb.base/infcall-nested-structs.exp
b/gdb/testsuite/gdb.base/infcall-nested-structs.
exp
index 957eb31bdc2..f62f636aa11 100644
--- a/gdb/testsuite/gdb.base/infcall-nested-structs.exp
+++ b/gdb/testsuite/gdb.base/infcall-nested-structs.exp
@@ -134,6 +134,7 @@  proc run_tests { lang types } {

        if { $lang == "c++" && $name == "struct_02_01"
             && [regexp "^types-(tf-t(c|s|i)|t(c|s|i)-tf)" $types match] } {
+           gdb_test_no_output "set \$xmm0.v2_int64\[0\] = 0"
            setup_kfail gdb/25096 "x86_64-*-linux*"
        }
        gdb_test "p/d check_arg_${name} (ref_val_${name})" "= 1"