mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-26 00:34:06 +00:00
Fix LVI tests after making frame pointers easily enableable
This commit is contained in:
parent
d3d145ea1c
commit
ede25ad319
@ -1,2 +1,7 @@
|
||||
CHECK: cmake_plus_one_cxx_global_asm
|
||||
CHECK: lfence
|
||||
CHECK-NEXT: movl
|
||||
CHECK-NEXT: lfence
|
||||
CHECK-NEXT: incl
|
||||
CHECK-NEXT: shlq $0x0, (%rsp)
|
||||
CHECK-NEXT: lfence
|
||||
CHECK-NEXT: retq
|
||||
|
@ -0,0 +1,7 @@
|
||||
CHECK: print
|
||||
CHECK: lfence
|
||||
CHECK: popq
|
||||
CHECK: popq
|
||||
CHECK-NEXT: popq [[REGISTER:%[a-z]+]]
|
||||
CHECK-NEXT: lfence
|
||||
CHECK-NEXT: jmpq *[[REGISTER]]
|
@ -34,8 +34,9 @@ function check {
|
||||
${enclave} > ${asm}
|
||||
${filecheck} --input-file ${asm} ${checks}
|
||||
|
||||
if [ "${func_re}" != "rust_plus_one_global_asm" &&
|
||||
"${func_re}" != "cmake_plus_one_c_global_asm" ]; then
|
||||
if [ "${func_re}" != "rust_plus_one_global_asm" ] &&
|
||||
[ "${func_re}" != "cmake_plus_one_c_global_asm" ] &&
|
||||
[ "${func_re}" != "cmake_plus_one_cxx_global_asm" ]; then
|
||||
# The assembler cannot avoid explicit `ret` instructions. Sequences
|
||||
# of `shlq $0x0, (%rsp); lfence; retq` are used instead.
|
||||
# https://www.intel.com/content/www/us/en/developer/articles/technical/
|
||||
@ -48,7 +49,8 @@ build
|
||||
|
||||
check "unw_getcontext" unw_getcontext.checks
|
||||
check "__libunwind_Registers_x86_64_jumpto" jumpto.checks
|
||||
check 'std::io::stdio::_print::[[:alnum:]]+' print.checks
|
||||
check 'std::io::stdio::_print::[[:alnum:]]+' print.with_frame_pointers.checks ||
|
||||
check 'std::io::stdio::_print::[[:alnum:]]+' print.without_frame_pointers.checks
|
||||
check rust_plus_one_global_asm rust_plus_one_global_asm.checks
|
||||
|
||||
check cc_plus_one_c cc_plus_one_c.checks
|
||||
|
Loading…
Reference in New Issue
Block a user