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

Marcin Kościelnicki
2016-02-12T18:40:01Z

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?