mgorny added inline comments.

================
Comment at: lldb/test/Shell/Register/Inputs/aarch64-gp-read.cpp:57
+    "ldr      x0,       [%0, #248]\n\t"
+    "stp      x29, x0,  [sp, #-16]\n\t"
+    "\n\t"
----------------
mstorsjo wrote:
> I'm not quite sure what this bit actually tests, with regards to inspecting 
> registers - as it loads a value to a simple register and writes it somewhere 
> else. I guess the thing it tests is expressions involving `$sp` though?
> 
> I guess that's fine but it'd be nice to have it spelled out a bit clearer 
> about the aspect that it actually tests.
It backs up `x29` and stores another test value on the stack to test `$sp` 
below.


================
Comment at: lldb/test/Shell/Register/Inputs/aarch64-gp-read.cpp:67
+    "ldp      x16, x17, [%0, #128]\n\t"
+    "ldp      x18, x19, [%0, #144]\n\t"
+    "ldp      x20, x21, [%0, #160]\n\t"
----------------
mstorsjo wrote:
> You're not allowed to clobber x18 on windows (and on darwin, but it's less 
> fatal there).
> 
> Building this for windows gives this warning:
> ```
> <inline asm>:1:1: warning: inline asm clobber list contains reserved 
> registers: X18
>         ld1      {v0.2d,  v1.2d,  v2.2d,  v3.2d},  [x8], #64
> ^^^^^^^^
> <inline asm>:1:1: note: Reserved registers on the clobber list may not be 
> preserved across the asm statement, and clobbering them may lead to undefined 
> behaviour.
>         ld1      {v0.2d,  v1.2d,  v2.2d,  v3.2d},  [x8], #64
> ^^^^^^^^
> ```
> And after overwriting x18, things fail when we try to stop for the breakpoint.
Would backing it up on the stack and restoring after the trap work or is it 
entirely forbidden?


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

https://reviews.llvm.org/D101563

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

Reply via email to