aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/System/DynamicLibrary.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/System/DynamicLibrary.cpp b/lib/System/DynamicLibrary.cpp
index f0ab51b..097e8b6 100644
--- a/lib/System/DynamicLibrary.cpp
+++ b/lib/System/DynamicLibrary.cpp
@@ -167,10 +167,14 @@ void* DynamicLibrary::SearchForAddressOfSymbol(const char* symbolName) {
#define EXPLICIT_SYMBOL(SYM) \
if (!strcmp(symbolName, #SYM)) return &SYM
// Try a few well known symbols just to give lli a shot at working.
+ // Note that on some systems stdin, etc. are macros so we have to
+ // avoid attempting to take the address of a macro :)
{
+#ifndef stdin
EXPLICIT_SYMBOL(stdin);
EXPLICIT_SYMBOL(stdout);
EXPLICIT_SYMBOL(stderr);
+#endif
}
#undef EXPLICIT_SYMBOL