summaryrefslogtreecommitdiff
path: root/lang/ghc/files/patch-ghc::rts::Linker.c
blob: 221101d0b7ef569333fc07317d603ed0c951008a (plain) (blame)
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
--- ghc/rts/Linker.c.orig	Tue Dec 16 17:58:26 2003
+++ ghc/rts/Linker.c	Tue Jan 13 16:47:50 2004
@@ -10,6 +10,12 @@
 #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"
@@ -694,7 +700,11 @@
 #   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
 }