Re: PATCH: 1/6: Add AVX support

H.J. Lu
2010-03-04T21:27:19Z

On Thu, Mar 4, 2010 at 11:46 AM, Daniel Jacobowitz <dan@codesourcery.com> wrote:
> On Thu, Mar 04, 2010 at 11:29:38AM -0800, H.J. Lu wrote:
>> AVX registers aren't new registers, on top of SSE registers. AVX
>> registers are the super set of SSE registers. XMM0 is the alias
>> of the lower 128bit of YMM0. So we have either SSE target or
>> AVX target, depending on the processor/OS. We may have
>> remote gdb stub on an AVX processor/OS.  But gdb, which
>> the stub is talking to, may not support AVX at all. If the stub
>> sends the AVX target description to gdb, gdb won't understand it
>> and will fail.
>
> No, it will fail to display SSE.  Core debugging should still be
> possible, and the newly added registers will be visible too.  If
> that's not the case, fix GDB to function with the SSE registers
> missing.

Your description only works for truly NEW registers, which
AVX registers aren't. AVX registers are actually the old SSE
registers with different names.

> The goal of the target description language is to communicate the
> entire target to GDB.  If you're not putting enough in the description
> for an arbitrary XML-capable GDB to function, then you need to rethink
> how you've written the description.
>
> I do not think that having GDB negotiate with the target for an
> intermediate target description is a good idea.  Also, it is not hard
> to upgrade GDB on the host.  It can be hard to upgrade the target, of
> course.
>

Gdb stub can only send XML target description with register names
which gdb can pass to tdesc_numbered_register. If gdb doesn't
know the new register names, it won't work.

--
H.J.