diff options
author | Tim Janik <timj@gtk.org> | 2001-02-17 06:28:07 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 2001-02-17 06:28:07 +0000 |
commit | 80d0c742e50421932b0cfa8e271c1a0cf1d3fef7 (patch) | |
tree | d031bf1454ae2197d9a339e204a66de374397966 /gmodule | |
parent | bbc5a3adac7d6d5dbdcf956d7d185e9910c3034b (diff) |
add check for broken RTLD_GLOBAL (on OSF1 V5.0).
Sat Feb 17 07:26:33 2001 Tim Janik <timj@gtk.org>
* configure.in (G_MODULE_HAVE_DLERROR): add check for broken RTLD_GLOBAL
(on OSF1 V5.0).
Sat Feb 17 07:27:15 2001 Tim Janik <timj@gtk.org>
* gmodule.c: work around platforms that have broken RTLD_GLOBAL.
Diffstat (limited to 'gmodule')
-rw-r--r-- | gmodule/ChangeLog | 4 | ||||
-rw-r--r-- | gmodule/gmodule-dl.c | 10 | ||||
-rw-r--r-- | gmodule/gmoduleconf.h.in | 4 |
3 files changed, 14 insertions, 4 deletions
diff --git a/gmodule/ChangeLog b/gmodule/ChangeLog index 4a5a95391..ff1e640fb 100644 --- a/gmodule/ChangeLog +++ b/gmodule/ChangeLog @@ -1,3 +1,7 @@ +Sat Feb 17 07:27:15 2001 Tim Janik <timj@gtk.org> + + * gmodule.c: work around platforms that have broken RTLD_GLOBAL. + 2001-01-27 Tor Lillqvist <tml@iki.fi> * gmodule.c: (Win32) Need <io.h> for open() and close(). diff --git a/gmodule/gmodule-dl.c b/gmodule/gmodule-dl.c index 9df56d4ab..3ea449338 100644 --- a/gmodule/gmodule-dl.c +++ b/gmodule/gmodule-dl.c @@ -58,15 +58,19 @@ * RTLD_GLOBAL - the external symbols defined in the library will be made * available to subsequently loaded libraries. */ -#ifndef RTLD_GLOBAL -#define RTLD_GLOBAL 0 -#endif /* RTLD_GLOBAL */ #ifndef RTLD_LAZY #define RTLD_LAZY 1 #endif /* RTLD_LAZY */ #ifndef RTLD_NOW #define RTLD_NOW 0 #endif /* RTLD_NOW */ +/* some systems (OSF1 V5.0) have broken RTLD_GLOBAL linkage */ +#ifdef G_MODULE_BROKEN_RTLD_GLOBAL +#undef RTLD_GLOBAL +#endif /* G_MODULE_BROKEN_RTLD_GLOBAL */ +#ifndef RTLD_GLOBAL +#define RTLD_GLOBAL 0 +#endif /* RTLD_GLOBAL */ /* --- functions --- */ diff --git a/gmodule/gmoduleconf.h.in b/gmodule/gmoduleconf.h.in index 48b52bb4c..9aa6500e2 100644 --- a/gmodule/gmoduleconf.h.in +++ b/gmodule/gmoduleconf.h.in @@ -40,7 +40,9 @@ extern "C" { #if (@G_MODULE_NEED_USCORE@) || defined (hp9000s300) || defined (__hp9000s300) || defined (__hp9000s300__) #define G_MODULE_NEED_USCORE #endif - +#if (@G_MODULE_BROKEN_RTLD_GLOBAL@) +#define G_MODULE_BROKEN_RTLD_GLOBAL +#endif #ifdef __cplusplus } |