diff options
Diffstat (limited to 'tests/assembly/x86_64-fortanix-unknown-sgx-lvi-generic-load.rs')
-rw-r--r-- | tests/assembly/x86_64-fortanix-unknown-sgx-lvi-generic-load.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/assembly/x86_64-fortanix-unknown-sgx-lvi-generic-load.rs b/tests/assembly/x86_64-fortanix-unknown-sgx-lvi-generic-load.rs new file mode 100644 index 000000000..79d82cf70 --- /dev/null +++ b/tests/assembly/x86_64-fortanix-unknown-sgx-lvi-generic-load.rs @@ -0,0 +1,17 @@ +// Test LVI load hardening on SGX enclave code + +// assembly-output: emit-asm +// compile-flags: --crate-type staticlib +// only-x86_64-fortanix-unknown-sgx + +#[no_mangle] +pub extern fn plus_one(r: &mut u64) { + *r = *r + 1; +} + +// CHECK: plus_one +// CHECK: lfence +// CHECK-NEXT: addq +// CHECK: popq [[REGISTER:%[a-z]+]] +// CHECK-NEXT: lfence +// CHECK-NEXT: jmpq *[[REGISTER]] |