This change enables integrating orc::LLJIT with the ORCv2 platforms (MachOPlatform and ELFNixPlatform) and the compiler-rt orc runtime. Changes include: - Adding SPS wrapper functions for the orc runtime's dlfcn emulation functions, allowing initialization and deinitialization to be invoked by LLJIT. - Changing the LLJIT code generation default to add UseInitArray so that .init_array constructors are generated for ELF platforms. - Integrating the ORCv2 Platforms into lli, and adding a PlatformSupport implementation to the LLJIT instance used by lli which implements initialization and deinitialization by calling the new wrapper functions in the runtime. Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D126492
16 lines
262 B
C++
16 lines
262 B
C++
// RUN: %clangxx -fPIC -emit-llvm -c -o %t %s
|
|
// RUN: %lli_orc_jitlink -relocation-model=pic %t | FileCheck %s
|
|
|
|
// CHECK: catch
|
|
|
|
#include <stdio.h>
|
|
|
|
int main(int argc, char *argv[]) {
|
|
try {
|
|
throw 0;
|
|
} catch (int X) {
|
|
puts("catch");
|
|
}
|
|
return 0;
|
|
}
|