Re: [PATCH] gdb.trace: Add a testcase for tdesc in tfile.

Antoine Tremblay
2016-02-12T18:49:36Z

Marcin KoÅ›cielnicki writes:

> On 12/02/16 19:31, Antoine Tremblay wrote:
>>
>> Marcin KoÅ›cielnicki writes:
>>
>>> On 11/02/16 14:00, Pedro Alves wrote:
>>>> On 02/11/2016 10:14 AM, Marcin KoÅ›cielnicki wrote:
>>>>> This tests whether $ymm15 can be correctly collected and printed from
>>>>> tfile. It covers:
>>>>>
>>>>> - storing tdesc in tfile (without that, $ymm15 doesn't exist)
>>>>> - ax_pseudo_register_collect for x86 (without that, $ymm15 cannot be
>>>>> collected)
>>>>> - register order in tfile_fetch_registers (without that, $ymm15h is
>>>>> fetched from wrong position)
>>>>> - off-by-one in tfile_fetch_registers (without that, $ymm15h is
>>>>> incorrectly considered to be out of bounds)
>>>>> - using proper tdesc in encoding tracepoint actions (without that,
>>>>> internal error happens due to $ymm15h being
>>>>
>>>> OK once prereqs are in.
>>>>
>>>> Thanks,
>>>> Pedro Alves
>>>>
>>>
>>> Thanks, pushed.
>>
>> Hi,
>> I've been trying to run this test on x86 but I get the following error
>> while compiling tfile-avx.c :
>>
>> binutils-gdb/build-x86/gdb/testsuite/../../../gdb/testsuite/gdb.trace/tfile-avx.c:38:19: error: invalid register name for 'a'
>> register __v8si a asm("ymm15") = {
>> ^
>>
>> I've also noticed the same error on the buildbot results see:
>> http://gdb-build.sergiodj.net/builders/Debian-x86_64-m64/builds/2928/steps/test%20gdb/logs/stdio
>>
>> My cpu (Intel(R) Core(TM) i7-4600M ) supports avx, cat /proc/cpuinfo
>> shows avx and a gdb print $ymm15 returns something...
>>
>> This is with gcc 4.8.4...
>>
>> Am I missing something?
>>
>> Regards,
>> Antoine
>>
>
> Ugh. It seems you need a newer gcc to recognize "ymm15" as a register
> name - 4.8.2 seems to want it called "xmm15" - sort of incorrect, but
> close enough. gcc 5.3 still accepts that, so perhaps we should change
> it to xmm15 for the sake of older compilers, even if it harms readability?

Would xmm15 still work on newer gccs ? If so I would guess it's a good
idea to change it given that our own buildbot test machines seem to test
with an older gcc...?

Maybe adding a note of it in the test... or if there's a way to check
for the gcc version ?

I actually can't find the gcc doc where those names are defined at the
moment would you have that handy by any chance?

Regards,
Antoine