labath added inline comments.

================
Comment at: lldb/test/Shell/Register/x86-fp-read.test:27-28
+# CHECK: fdivs (%{{[er]}}bx)
+print *(uint32_t*)($foseg * 0x100000000 + $fooff)
+# CHECK: (uint32_t) $1 = 0
+
----------------
mgorny wrote:
> labath wrote:
> > zero is pretty common value. It would be better to check that the address 
> > actually points to the address of the `zero` variable. I think something 
> > like this ought to do it:
> > ```
> > print &zero
> > # CHECK: (uint32_t *) $0 = [[ZERO:0x[0-9a-f]*]]
> > print (uint32_t*)($foseg * 0x100000000 + $fooff)
> > # CHECK: (uint32_t *) $1 = [[ZERO]]
> > ```
> > Something similar can be done with the disassemble command too. That way 
> > we'll see the actual register value in case it turns out to be wrong.
> Cool idea, thanks!
> 
> As for FIP, I suppose that would require getting address corresponding to the 
> FDIV instruction somehow. I suppose we can rely on constant-length encoding 
> on `int3` and `fdivs ...`, so I guess `$rip-3` might work.
I was thinking you could disassemble the `main` function and capture the 
address before the `fdivs` instruction. But yes, a fixed offset from `$rip` 
should work just fine...


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

https://reviews.llvm.org/D88583

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to