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

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Nov 16 01:22:37 PST 2020


labath added a comment.

I like where this is going.



================
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),
----------------
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?


================
Comment at: lldb/test/Shell/Register/x86-64-fp-read.test:1
+# XFAIL: system-windows
+# REQUIRES: native && target-x86_64
----------------
I expect this will fail on darwin as well.


================
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
----------------
Move this part after the `fip` check and add a comment to indicate its legacy/compat status?


================
Comment at: lldb/unittests/Process/Utility/RegisterContextFreeBSDTest.cpp:82-83
   EXPECT_OFF(fop_x86_64, 0x06, 2);
   // NB: Technically fiseg/foseg are 16-bit long and the higher 16 bits
   // are reserved.  However, we use them to access/recombine 64-bit FIP/FDP.
   EXPECT_OFF(fioff_x86_64, 0x08, 4);
----------------
I guess this isn't really true anymore?


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

https://reviews.llvm.org/D91497



More information about the lldb-commits mailing list