LLVM API Documentation
#include "llvm/Support/DynamicLibrary.h"
#include "llvm-c/Support.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/Config/config.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/Mutex.h"
#include <cstdio>
#include <cstring>
#include <dlfcn.h>
Go to the source code of this file.
Namespaces | |
namespace | llvm |
List of target independent CodeGen pass IDs. | |
Defines | |
#define | EXPLICIT_SYMBOL(SYM) if (!strcmp(symbolName, #SYM)) return &SYM |
Functions | |
void * | llvm::SearchForAddressOfSpecialSymbol (const char *symbolName) |
LLVMBool | LLVMLoadLibraryPermanently (const char *Filename) |
Variables | |
static llvm::ManagedStatic < llvm::StringMap< void * > > | ExplicitSymbols |
static llvm::ManagedStatic < llvm::sys::SmartMutex< true > > | SymbolsMutex |
static DenseSet< void * > * | OpenedHandles = nullptr |
#define EXPLICIT_SYMBOL | ( | SYM | ) | if (!strcmp(symbolName, #SYM)) return &SYM |
Referenced by DoSearch(), and llvm::sys::DynamicLibrary::SearchForAddressOfSymbol().
LLVMBool LLVMLoadLibraryPermanently | ( | const char * | Filename | ) |
This function permanently loads the dynamic library at the given path. It is safe to call this function multiple times for the same library.
Definition at line 178 of file DynamicLibrary.cpp.
References llvm::sys::DynamicLibrary::LoadLibraryPermanently().
llvm::ManagedStatic<llvm::StringMap<void *> > ExplicitSymbols [static] |
Definition at line 27 of file DynamicLibrary.cpp.
DenseSet<void *>* OpenedHandles = nullptr [static] |
Definition at line 54 of file DynamicLibrary.cpp.
Referenced by llvm::sys::DynamicLibrary::getPermanentLibrary(), and llvm::sys::DynamicLibrary::SearchForAddressOfSymbol().
llvm::ManagedStatic<llvm::sys::SmartMutex<true> > SymbolsMutex [static] |
Definition at line 28 of file DynamicLibrary.cpp.