diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Support/Unix/DynamicLibrary.inc')
-rw-r--r-- | contrib/llvm-project/llvm/lib/Support/Unix/DynamicLibrary.inc | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/contrib/llvm-project/llvm/lib/Support/Unix/DynamicLibrary.inc b/contrib/llvm-project/llvm/lib/Support/Unix/DynamicLibrary.inc index a2a379963de0..7b77da5e0c6b 100644 --- a/contrib/llvm-project/llvm/lib/Support/Unix/DynamicLibrary.inc +++ b/contrib/llvm-project/llvm/lib/Support/Unix/DynamicLibrary.inc @@ -25,9 +25,10 @@ DynamicLibrary::HandleSet::~HandleSet() { } void *DynamicLibrary::HandleSet::DLOpen(const char *File, std::string *Err) { - void *Handle = ::dlopen(File, RTLD_LAZY|RTLD_GLOBAL); + void *Handle = ::dlopen(File, RTLD_LAZY | RTLD_GLOBAL); if (!Handle) { - if (Err) *Err = ::dlerror(); + if (Err) + *Err = ::dlerror(); return &DynamicLibrary::Invalid; } @@ -41,9 +42,7 @@ void *DynamicLibrary::HandleSet::DLOpen(const char *File, std::string *Err) { return Handle; } -void DynamicLibrary::HandleSet::DLClose(void *Handle) { - ::dlclose(Handle); -} +void DynamicLibrary::HandleSet::DLClose(void *Handle) { ::dlclose(Handle); } void *DynamicLibrary::HandleSet::DLSym(void *Handle, const char *Symbol) { return ::dlsym(Handle, Symbol); @@ -54,12 +53,12 @@ void *DynamicLibrary::HandleSet::DLSym(void *Handle, const char *Symbol) { DynamicLibrary::HandleSet::~HandleSet() {} void *DynamicLibrary::HandleSet::DLOpen(const char *File, std::string *Err) { - if (Err) *Err = "dlopen() not supported on this platform"; + if (Err) + *Err = "dlopen() not supported on this platform"; return &Invalid; } -void DynamicLibrary::HandleSet::DLClose(void *Handle) { -} +void DynamicLibrary::HandleSet::DLClose(void *Handle) {} void *DynamicLibrary::HandleSet::DLSym(void *Handle, const char *Symbol) { return nullptr; @@ -68,9 +67,11 @@ void *DynamicLibrary::HandleSet::DLSym(void *Handle, const char *Symbol) { #endif // Must declare the symbols in the global namespace. -static void *DoSearch(const char* SymbolName) { -#define EXPLICIT_SYMBOL(SYM) \ - extern void *SYM; if (!strcmp(SymbolName, #SYM)) return (void*)&SYM +static void *DoSearch(const char *SymbolName) { +#define EXPLICIT_SYMBOL(SYM) \ + extern void *SYM; \ + if (!strcmp(SymbolName, #SYM)) \ + return (void *)&SYM // If this is darwin, it has some funky issues, try to solve them here. Some // important symbols are marked 'private external' which doesn't allow @@ -101,8 +102,9 @@ static void *DoSearch(const char* SymbolName) { #undef EXPLICIT_SYMBOL // This macro returns the address of a well-known, explicit symbol -#define EXPLICIT_SYMBOL(SYM) \ - if (!strcmp(SymbolName, #SYM)) return &SYM +#define EXPLICIT_SYMBOL(SYM) \ + if (!strcmp(SymbolName, #SYM)) \ + return &SYM // Under glibc we have a weird situation. The stderr/out/in symbols are both // macros and global variables because of standards requirements. So, we |