diff options
| author | Jonas Devlieghere <jonas@devlieghere.com> | 2019-10-09 19:22:02 +0000 |
|---|---|---|
| committer | Jonas Devlieghere <jonas@devlieghere.com> | 2019-10-09 19:22:02 +0000 |
| commit | 87aa9c9e4d41ed881453e2fab85b3d25f648bb55 (patch) | |
| tree | 63efe79832bf3de4f63e4e81c62e73923947b882 /lldb/test/Shell/Register/Inputs/x86-64-gp-read.cpp | |
| parent | fd18e94697c987d5f24e25aa4e27adaffff3cce4 (diff) | |
| download | bcm5719-llvm-87aa9c9e4d41ed881453e2fab85b3d25f648bb55.tar.gz bcm5719-llvm-87aa9c9e4d41ed881453e2fab85b3d25f648bb55.zip | |
Re-land "[test] Split LLDB tests into API, Shell & Unit"
The original patch got reverted because it broke `check-lldb` on a clean
build. This fixes that.
llvm-svn: 374201
Diffstat (limited to 'lldb/test/Shell/Register/Inputs/x86-64-gp-read.cpp')
| -rw-r--r-- | lldb/test/Shell/Register/Inputs/x86-64-gp-read.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lldb/test/Shell/Register/Inputs/x86-64-gp-read.cpp b/lldb/test/Shell/Register/Inputs/x86-64-gp-read.cpp new file mode 100644 index 00000000000..857b9e09949 --- /dev/null +++ b/lldb/test/Shell/Register/Inputs/x86-64-gp-read.cpp @@ -0,0 +1,33 @@ +#include <cstdint> + +int main() { + constexpr uint64_t rax = 0x0102030405060708; + constexpr uint64_t rbx = 0x1112131415161718; + constexpr uint64_t rcx = 0x2122232425262728; + constexpr uint64_t rdx = 0x3132333435363738; + constexpr uint64_t rsp = 0x4142434445464748; + constexpr uint64_t rbp = 0x5152535455565758; + constexpr uint64_t rsi = 0x6162636465666768; + constexpr uint64_t rdi = 0x7172737475767778; + + asm volatile( + // save rsp & rbp + "movq %%rsp, %%r8\n\t" + "movq %%rbp, %%r9\n\t" + "\n\t" + "movq %4, %%rsp\n\t" + "movq %5, %%rbp\n\t" + "\n\t" + "int3\n\t" + "\n\t" + // restore rsp & rbp + "movq %%r8, %%rsp\n\t" + "movq %%r9, %%rbp" + : + : "a"(rax), "b"(rbx), "c"(rcx), "d"(rdx), "i"(rsp), "i"(rbp), "S"(rsi), + "D"(rdi) + : "%r8", "%r9" + ); + + return 0; +} |

