File: dylib.cpp

package info (click to toggle)
llvmlite 0.46.0-0.1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 2,140 kB
  • sloc: python: 13,605; cpp: 3,192; makefile: 185; sh: 168
file content (28 lines) | stat: -rw-r--r-- 704 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "core.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/DynamicLibrary.h"

extern "C" {

API_EXPORT(void *)
LLVMPY_SearchAddressOfSymbol(const char *name) {
    return llvm::sys::DynamicLibrary::SearchForAddressOfSymbol(name);
}

API_EXPORT(void)
LLVMPY_AddSymbol(const char *name, void *addr) {
    llvm::sys::DynamicLibrary::AddSymbol(name, addr);
}

API_EXPORT(bool)
LLVMPY_LoadLibraryPermanently(const char *filename, const char **OutError) {
    std::string error;
    bool failed =
        llvm::sys::DynamicLibrary::LoadLibraryPermanently(filename, &error);
    if (failed) {
        *OutError = LLVMPY_CreateString(error.c_str());
    }
    return failed;
}

} // end extern "C"