mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
2d9650b5d9
Emit error when BPF backend sees a call to a global function or to an external symbol. The kernel verifier only allows calls to predefined helpers from bpf.h which are defined in 'enum bpf_func_id'. Such calls in assembler must look like 'call [1-9]+' where number matches bpf_func_id. Signed-off-by: Alexei Starovoitov <ast@kernel.org> llvm-svn: 292204
19 lines
358 B
LLVM
19 lines
358 B
LLVM
; RUN: llc -march=bpfel -filetype=obj -o - %s | llvm-objdump -d - | FileCheck %s
|
|
|
|
; CHECK: if r2 s> r1 goto
|
|
; CHECK: call 1
|
|
; CHECK: exit
|
|
; CHECK: call 2
|
|
; CHECK: exit
|
|
|
|
define void @foo(i32 %a) {
|
|
%b = icmp sgt i32 %a, -1
|
|
br i1 %b, label %x, label %y
|
|
x:
|
|
call void inttoptr (i64 1 to void ()*)()
|
|
ret void
|
|
y:
|
|
call void inttoptr (i64 2 to void ()*)()
|
|
ret void
|
|
}
|