/* -----------------------------------------------------------------------------
- * $Id: Linker.c,v 1.142 2003/12/18 09:32:07 simonmar Exp $
+ * $Id: Linker.c,v 1.144 2004/01/05 17:32:35 simonmar Exp $
*
* (c) The GHC Team, 2000-2003
*
#if 0
#include "PosixSource.h"
#endif
+
+// Linux needs _GNU_SOURCE to get RTLD_DEFAULT from <dlfcn.h>.
+#ifdef __linux__
+#define _GNU_SOURCE
+#endif
+
#include "Rts.h"
#include "RtsFlags.h"
#include "HsFFI.h"
SymX(newPinnedByteArrayzh_fast) \
SymX(orIntegerzh_fast) \
SymX(performGC) \
+ SymX(performMajorGC) \
SymX(plusIntegerzh_fast) \
SymX(prog_argc) \
SymX(prog_argv) \
# endif
# if defined(OBJFORMAT_ELF) || defined(OBJFORMAT_MACHO)
+# if defined(RTLD_DEFAULT)
+ dl_prog_handle = RTLD_DEFAULT;
+# else
dl_prog_handle = dlopen(NULL, RTLD_LAZY);
+# endif // RTLD_DEFAULT
# endif
}