File: dylib.cpp

package info (click to toggle)
llvmlite 0.44.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,736 kB
  • sloc: python: 12,771; cpp: 3,146; sh: 185; makefile: 183
file content (28 lines) | stat: -rw-r--r-- 704 bytes parent folder | download | duplicates (2)
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"