mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-23 18:52:09 +01:00
Use a small test library instead of libpthread.so for testing RTLD_GLOBAL
Sun Jul 4 01:52:18 2004 Matthias Clasen <maclas@gmx.de> * configure.in: Use a small test library instead of libpthread.so for testing RTLD_GLOBAL brokenness. (#139567, Julio M. Merino Vidal)
This commit is contained in:
parent
7d4b434e7e
commit
2ae6da1cdb
@ -1,3 +1,9 @@
|
||||
Sun Jul 4 01:52:18 2004 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* configure.in: Use a small test library instead of
|
||||
libpthread.so for testing RTLD_GLOBAL brokenness. (#139567,
|
||||
Julio M. Merino Vidal)
|
||||
|
||||
2004-07-01 John Ehresman <jpe@wingide.com>
|
||||
|
||||
* glib/giowin32.c (g_io_channel_win32_init, g_io_win32_free)
|
||||
|
@ -1,3 +1,9 @@
|
||||
Sun Jul 4 01:52:18 2004 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* configure.in: Use a small test library instead of
|
||||
libpthread.so for testing RTLD_GLOBAL brokenness. (#139567,
|
||||
Julio M. Merino Vidal)
|
||||
|
||||
2004-07-01 John Ehresman <jpe@wingide.com>
|
||||
|
||||
* glib/giowin32.c (g_io_channel_win32_init, g_io_win32_free)
|
||||
|
@ -1,3 +1,9 @@
|
||||
Sun Jul 4 01:52:18 2004 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* configure.in: Use a small test library instead of
|
||||
libpthread.so for testing RTLD_GLOBAL brokenness. (#139567,
|
||||
Julio M. Merino Vidal)
|
||||
|
||||
2004-07-01 John Ehresman <jpe@wingide.com>
|
||||
|
||||
* glib/giowin32.c (g_io_channel_win32_init, g_io_win32_free)
|
||||
|
@ -1,3 +1,9 @@
|
||||
Sun Jul 4 01:52:18 2004 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* configure.in: Use a small test library instead of
|
||||
libpthread.so for testing RTLD_GLOBAL brokenness. (#139567,
|
||||
Julio M. Merino Vidal)
|
||||
|
||||
2004-07-01 John Ehresman <jpe@wingide.com>
|
||||
|
||||
* glib/giowin32.c (g_io_channel_win32_init, g_io_win32_free)
|
||||
|
@ -1,3 +1,9 @@
|
||||
Sun Jul 4 01:52:18 2004 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* configure.in: Use a small test library instead of
|
||||
libpthread.so for testing RTLD_GLOBAL brokenness. (#139567,
|
||||
Julio M. Merino Vidal)
|
||||
|
||||
2004-07-01 John Ehresman <jpe@wingide.com>
|
||||
|
||||
* glib/giowin32.c (g_io_channel_win32_init, g_io_win32_free)
|
||||
|
14
configure.in
14
configure.in
@ -1061,6 +1061,9 @@ if test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL"; then
|
||||
LIBS="$G_MODULE_LIBS $LIBS"
|
||||
LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
|
||||
dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
|
||||
echo "void glib_plugin_test(void) { }" > plugin.c
|
||||
${SHELL} ./libtool --mode=compile ${CC} -shared \
|
||||
-export-dynamic -o plugin.o plugin.c 2>&1 >/dev/null
|
||||
AC_CACHE_CHECK([for RTLD_GLOBAL brokenness],
|
||||
glib_cv_rtldglobal_broken,[
|
||||
AC_TRY_RUN([
|
||||
@ -1071,19 +1074,20 @@ dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
|
||||
#ifndef RTLD_LAZY
|
||||
# define RTLD_LAZY 0
|
||||
#endif
|
||||
int pthread_create;
|
||||
int glib_plugin_test;
|
||||
int main () {
|
||||
void *handle, *global, *local;
|
||||
global = &pthread_create;
|
||||
handle = dlopen ("libpthread.so", RTLD_GLOBAL | RTLD_LAZY);
|
||||
global = &glib_plugin_test;
|
||||
handle = dlopen ("./.libs/plugin.o", RTLD_GLOBAL | RTLD_LAZY);
|
||||
if (!handle) return 0;
|
||||
local = dlsym (handle, "pthread_create");
|
||||
local = dlsym (handle, "glib_plugin_test");
|
||||
return global == local;
|
||||
} ],
|
||||
[glib_cv_rtldglobal_broken=no],
|
||||
[glib_cv_rtldglobal_broken=yes],
|
||||
[glib_cv_rtldglobal_broken=no])
|
||||
rm -f plugin.c plugin.o plugin.lo
|
||||
rm -f plugin.c plugin.o plugin.lo .libs/plugin.o
|
||||
rmdir .libs 2>/dev/null
|
||||
])
|
||||
if test "x$glib_cv_rtldglobal_broken" = "xyes"; then
|
||||
G_MODULE_BROKEN_RTLD_GLOBAL=1
|
||||
|
Loading…
x
Reference in New Issue
Block a user