This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: Change in binutils-gdb[master]: [gdb/tdep] Fix 'Unexpected register class' assert in amd64_push_argum...
- From: Tom de Vries <tdevries at suse dot de>
- To: Alan Hayward <Alan dot Hayward at arm dot com>, Simon Marchi <simon dot marchi at polymtl dot ca>, Andrew Burgess <andrew dot burgess at embecosm dot com>, "gdb-patches\\@sourceware.org" <gdb-patches at sourceware dot org>
- Cc: nd <nd at arm dot com>
- Date: Wed, 16 Oct 2019 16:21:34 +0200
- Subject: Re: Change in binutils-gdb[master]: [gdb/tdep] Fix 'Unexpected register class' assert in amd64_push_argum...
- References: <5A0DCAF8-4BFF-49C2-86C7-5E9C5B5A911B@arm.com> <8811FC3D-F8EB-4711-89E3-BE46423C40A8@arm.com> <CA883C0B-077D-409C-AB54-C6C5FB9BB309@arm.com>
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