1 //===- macho_platform.h -----------------------------------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 // ORC Runtime support for Darwin dynamic loading features.
11 //===----------------------------------------------------------------------===//
13 #ifndef ORC_RT_MACHO_PLATFORM_H
14 #define ORC_RT_MACHO_PLATFORM_H
17 #include "executor_address.h"
20 ORC_RT_INTERFACE
int __orc_rt_macho_cxa_atexit(void (*func
)(void *), void *arg
,
22 ORC_RT_INTERFACE
void __orc_rt_macho_cxa_finalize(void *dso_handle
);
25 ORC_RT_INTERFACE
const char *__orc_rt_macho_jit_dlerror();
26 ORC_RT_INTERFACE
void *__orc_rt_macho_jit_dlopen(const char *path
, int mode
);
27 ORC_RT_INTERFACE
int __orc_rt_macho_jit_dlclose(void *dso_handle
);
28 ORC_RT_INTERFACE
void *__orc_rt_macho_jit_dlsym(void *dso_handle
,
34 enum dlopen_mode
: int {
35 ORC_RT_RTLD_LAZY
= 0x1,
36 ORC_RT_RTLD_NOW
= 0x2,
37 ORC_RT_RTLD_LOCAL
= 0x4,
38 ORC_RT_RTLD_GLOBAL
= 0x8
41 } // end namespace macho
42 } // end namespace __orc_rt
44 #endif // ORC_RT_MACHO_PLATFORM_H