[lldb-dev] Layout of FXSAVE struct for x86 Architectures in LLDB

Todd Fiala via lldb-dev lldb-dev at lists.llvm.org
Thu Sep 24 08:25:32 PDT 2015

I'm using this doc:


In table 10-2, and again in 13-1, it does appear to call out the most
significant byte as reserved (byte 5).  As do the instruction details.

Looking at the in-memory layout of the FPU tag word in "8.1.7 x87 FPU Tag
Word", it is clear all 16 bits are used in the runtime image, and the 8
bits of defined ftag state in the FXSAVE area are encoded/decoded as per
byte 4's description in section 10.5.1.

Seems fine to call it what it is - want to put up a patch?  Just make sure
you run all the tests as well.


On Thu, Sep 24, 2015 at 2:44 AM, Abhishek Aggarwal via lldb-dev <
lldb-dev at lists.llvm.org> wrote:

> Hi all
> I was looking into the file
> "source/Plugins/Process/Utility/RegisterContext_x86.h" and I noticed one
> thing in FXSAVE structure. The 'ftag' is defined as a 16 bit field.
> However, on referring to Architecture Software Developer Manual for x86
> architectures, one can see that the memory layout of the contents of FXSAVE
> area has only 8 bits for 'ftag' register and rest of the 8 bits are
> reserved. Is there any specific reason of keeping 'ftag' field to be 16
> bits in FXSAVE structure in LLDB for x86 Architectures?
> - Abhishek
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20150924/a30fd284/attachment-0001.html>

More information about the lldb-dev mailing list