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

Alan Hayward Alan.Hayward@arm.com
Tue Oct 15 17:23:00 GMT 2019



> 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.


If it helps, my system is:

Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-142-generic x86_64)


End of /proc/cpuinfo:

processor	: 55
vendor_id	: GenuineIntel
cpu family	: 6
model		: 79
model name	: Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz
stepping	: 1
microcode	: 0xb000036
cpu MHz		: 1200.000
cache size	: 35840 KB
physical id	: 1
siblings	: 28
core id		: 14
cpu cores	: 14
apicid		: 61
initial apicid	: 61
fpu		: yes
fpu_exception	: yes
cpuid level	: 20
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb invpcid_single intel_pt ssbd ibrs ibpb stibp kaiser tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdseed adx smap xsaveopt cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts flush_l1d
bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips	: 5196.88
clflush size	: 64
cache_alignment	: 64
address sizes	: 46 bits physical, 48 bits virtual
power management:





More information about the Gdb-patches mailing list