[Lldb-commits] [PATCH] D91497: [lldb] Add explicit 64-bit fip/fdp registers on x86_64

Michał Górny via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Nov 16 04:11:25 PST 2020


mgorny marked 2 inline comments as done.
mgorny added inline comments.


================
Comment at: lldb/source/Plugins/Process/Utility/RegisterInfos_x86_64.h:262
     DEFINE_FPR(fioff,     ptr.i386_.fioff, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM),
+    DEFINE_FPR(fip,       ptr.x86_64.fip,  LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM),
     DEFINE_FPR(foseg,     ptr.i386_.foseg, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM),
----------------
labath wrote:
> mgorny wrote:
> > @labath, do you want me to set overlaps here like rax/eax... does? If yes, any suggestion on the style?
> What do you mean, exactly? I'm guessing these will have overlapping offsets in the `g` packet to the the offsetof computation, will they not?
> 
> Do you mean the sub-reg/value-reg lists?
Yes, `value_regs` and `invalidate_regs`. Though I suppose this is only used with Linux GPRs, for the peek approach.


================
Comment at: lldb/test/Shell/Register/x86-64-fp-read.test:11-12
+# CHECK: (void *) $0 = [[FDIV:0x[0-9a-f]*]]
+print (void*)($fiseg*0x100000000 + $fioff)
+# CHECK: (void *) $1 = [[FDIV]]
+print &zero
----------------
labath wrote:
> Move this part after the `fip` check and add a comment to indicate its legacy/compat status?
I suppose it also makes sense to remove the fiseg/fioff logic from the 32-bit `x86-fp-read.test`, as it is only relevant to the FXSAVE64 approach.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D91497/new/

https://reviews.llvm.org/D91497



More information about the lldb-commits mailing list