Change in binutils-gdb[master]: [gdb/tdep] Fix 'Unexpected register class' assert in amd64_push_argum...

Tom de Vries tdevries@suse.de
Wed Oct 16 14:21:00 GMT 2019


On 16-10-2019 13:08, Alan Hayward wrote:
>> On 15 Oct 2019, at 18:23, Alan Hayward <Alan.Hayward@arm.com> wrote:
>>
>>
>>
>>> On 15 Oct 2019, at 09:04, Tom de Vries (Code Review) <gerrit@gnutoolchain-gerrit.osci.io> wrote:
>>>
>>> Tom de Vries has posted comments on this change.
>>>
>>> Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/30
>>> ......................................................................
>>>
>>>
>>> Patch Set 1:
>>>
>>> https://sourceware.org/ml/gdb-patches/2019-10/msg00343.html:
>>> ...
>>> 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:
>>> ...
>>> 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"
>>> ...
>>> ?
>>> ...
>>
>> I still get KPASSes with that change.
>> Also tried adding the line to the next block in the test with the same if statements, but it didn’t help.
>>
>>
> 
> Sorry, ignore my comment.
> I was accidentally running using the 8.3 branch.
> When I use the latest master, it all works for me.
> 

Thanks, that explains it for me.  The three KPASSES is what you see when
you apply the patch to a version that does not contain the commit
6dfc0041129 "gdb/testsuite: Fix typos in infcall-nested-structs.c".

Thanks,
- Tom



More information about the Gdb-patches mailing list