forked from OSchip/llvm-project
[BOLT][TEST] Fix runtime/X86/retpoline-synthetic.test
Summary: Restructure the test to prevent command echo from getting to check statements. (cherry picked from FBD32635888)
This commit is contained in:
parent
a944a487ae
commit
e9ee2ca1fa
|
@ -5,14 +5,20 @@ REQUIRES: x86_64-linux
|
|||
|
||||
RUN: %clangxx %S/Inputs/retpoline_synthetic.cpp -fno-jump-tables -Wl,-q,-znow \
|
||||
RUN: -O2 -o %t.exe
|
||||
RUN: llvm-bolt %t.exe -o %t -insert-retpolines -trap-old-code &> %t.log &&\
|
||||
RUN: (echo "callq count:" ; (llvm-objdump -d %t | grep -c "callq \*")) &>> %t.log ;\
|
||||
RUN: (echo "jmpq count:" ; (llvm-objdump -d -j ".text" %t | grep -c "jmpq \*")) &>> %t.log ;\
|
||||
RUN: (echo "running binary" ; %t 1000 3 ) &>> %t.log && FileCheck %s -input-file %t.log
|
||||
RUN: llvm-bolt %t.exe -o %t -insert-retpolines -trap-old-code
|
||||
|
||||
CHECK: callq count:
|
||||
CHECK-NEXT: 0
|
||||
CHECK-NEXT: jmpq count:
|
||||
CHECK-NEXT: 0
|
||||
CHECK-NEXT: running binary
|
||||
CHECK-NEXT: 30000000
|
||||
# Check indirect calls in the original binary
|
||||
RUN: llvm-objdump -d %t.exe | FileCheck %s -check-prefix=CHECK-CALL-ORIG
|
||||
CHECK-CALL-ORIG: callq *
|
||||
# No indirect jumps
|
||||
RUN: llvm-objdump -d -j ".text" %t | FileCheck %s -check-prefix=CHECK-JUMP-ORIG
|
||||
CHECK-JUMP-ORIG-NOT: jmpq *
|
||||
|
||||
# Check that there are no indirect calls or jumps in the resulting binary
|
||||
RUN: llvm-objdump -d %t | FileCheck %s -check-prefix=CHECK-CALL
|
||||
CHECK-CALL-NOT: callq *
|
||||
RUN: llvm-objdump -d -j ".text" %t | FileCheck %s -check-prefix=CHECK-JUMP
|
||||
CHECK-JUMP-NOT: jmpq *
|
||||
|
||||
RUN: %t 1000 3 | FileCheck %s
|
||||
CHECK: 30000000
|
||||
|
|
Loading…
Reference in New Issue