1# REQUIRES: target-x86_64
2# https://github.com/llvm/llvm-project/issues/56085
3# XFAIL: system-freebsd
4# XFAIL: system-windows
5
6# RuntimeDyld can be used to link and load emitted code for both, MCJIT and Orc.
7#
8# RUN: %clang -g -S -emit-llvm --target=x86_64-unknown-unknown-elf \
9# RUN:        -o %t.ll %p/Inputs/jitbp.cpp
10#
11# RUN: %lldb -b -o 'settings set plugin.jit-loader.gdb.enable on' -o 'b jitbp' \
12# RUN:          -o 'run --jit-kind=mcjit %t.ll' lli | FileCheck %s
13#
14# RUN: %lldb -b -o 'settings set plugin.jit-loader.gdb.enable on' -o 'b jitbp' \
15# RUN:          -o 'run --jit-linker=rtdyld %t.ll' lli | FileCheck %s
16
17# CHECK: Breakpoint 1: no locations (pending).
18# CHECK: (lldb) run {{.*}}
19# CHECK: Process {{.*}} stopped
20# CHECK: JIT(0x{{.*}})`jitbp() at jitbp.cpp:1:15
21# CHECK: -> 1    int jitbp() { return 0; }
22# CHECK:                       ^
23# CHECK:    2    int main() { return jitbp(); }
24# CHECK: Process {{.*}} launched: {{.*}}
25