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-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-gp-read.cpp')
| -rw-r--r-- | lldb/test/Shell/Register/Inputs/x86-gp-read.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lldb/test/Shell/Register/Inputs/x86-gp-read.cpp b/lldb/test/Shell/Register/Inputs/x86-gp-read.cpp new file mode 100644 index 00000000000..4fb725d3906 --- /dev/null +++ b/lldb/test/Shell/Register/Inputs/x86-gp-read.cpp @@ -0,0 +1,33 @@ +#include <cstdint> + +int main() { + constexpr uint32_t eax = 0x05060708; + constexpr uint32_t ebx = 0x15161718; + constexpr uint32_t ecx = 0x25262728; + constexpr uint32_t edx = 0x35363738; + constexpr uint32_t esp = 0x45464748; + constexpr uint32_t ebp = 0x55565758; + constexpr uint32_t esi = 0x65666768; + constexpr uint32_t edi = 0x75767778; + + asm volatile( + // save esp & ebp + "movd %%esp, %%mm0\n\t" + "movd %%ebp, %%mm1\n\t" + "\n\t" + "movl %4, %%esp\n\t" + "movl %5, %%ebp\n\t" + "\n\t" + "int3\n\t" + "\n\t" + // restore esp & ebp + "movd %%mm0, %%esp\n\t" + "movd %%mm1, %%ebp\n\t" + : + : "a"(eax), "b"(ebx), "c"(ecx), "d"(edx), "i"(esp), "i"(ebp), "S"(esi), + "D"(edi) + : "%mm0", "%mm1" + ); + + return 0; +} |

