This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: gdbserver: Clear regcache if buf is NULL


On Sat, Oct 16, 2010 at 1:00 PM, Pedro Alves <pedro@codesourcery.com> wrote:
> On Friday 01 October 2010 02:51:07, H.J. Lu wrote:
>> On Tue, Sep 28, 2010 at 1:23 PM, Pedro Alves <pedro@codesourcery.com> wrote:
>
>> > Hi H.J.. ?I'm looking at where in the current sources this
>> > ended up being used, and not finding it. ?Am I right in thinking
>> > that the need for this was obsoleted when you later tought
>> > gdbserver x86-linux about xml descriptions?
>> >
>>
>> i387-fp.c has
>>
>> ? if ((x86_xcr0 & I386_XSTATE_SSE))
>> ? ? {
>> ? ? ? int xmm0_regnum = find_regno ("xmm0");
>>
>> ? ? ? if ((clear_bv & I386_XSTATE_SSE))
>> ? ? ? ? p = NULL;
>> ? ? ? else
>> ? ? ? ? p = (char *) buf;
>>
>> ? ? ? for (i = 0; i < num_xmm_registers; i++)
>> ? ? ? ? {
>> ? ? ? ? ? if (p)
>> ? ? ? ? ? ? p = ((char *) &fp->xmm_space[0]) + i * 16;
>> ? ? ? ? ? supply_register (regcache, i + xmm0_regnum, p);
>> ? ? ? ? }
>> ? ? }
>>
>
> Thanks, and sorry as for not coming back to this promptly.
> Hmm, I don't think I have a way to trigger that.
> So is the registers' value really zero, or should gdb
> ideally present them as not available (and zero is just a
> hack)?
>

You will see it only on machines with XSAVE and enabled in OS.
Please see

13.6 XSAVE/XRSTOR AND PROCESSOR EXTENDED STATE
MANAGEMENT

in

Intel® 64 and IA-32 Architectures Software Developer’s Manual
Volume 3A: System Programming Guide, Part 1

Basically values in vector registers may not be valid, depending
on vector state.


-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]