diff options
author | sobomax <sobomax@FreeBSD.org> | 2001-12-12 12:51:10 +0800 |
---|---|---|
committer | sobomax <sobomax@FreeBSD.org> | 2001-12-12 12:51:10 +0800 |
commit | 35c5bc6d5330ded0c42923f2852c0711442ff081 (patch) | |
tree | 8df4dc613ebd1a9695bcb826f82906082b23e8cc /devel | |
parent | 1efffef46efb0db55c33e4e7de3157ed0dfd2a56 (diff) | |
download | freebsd-ports-gnome-35c5bc6d5330ded0c42923f2852c0711442ff081.tar.gz freebsd-ports-gnome-35c5bc6d5330ded0c42923f2852c0711442ff081.tar.zst freebsd-ports-gnome-35c5bc6d5330ded0c42923f2852c0711442ff081.zip |
Smash a compatibility bug in g_module_open(). It seems that unlike Linux one,
FreeBSD's dlopen(NULL, ...) doesn't return a handle useable for resolving
symbols in both the program itself and all modules it dlopen'ed. Instead,
when requested for a self handle return RTLD_DEFAULT, which seems closely
matches dlopen(NULL, ...) in Linux. Bump PORTREVISION.
Recommended update for all GNOME/GTK users.
Inspired by: John Merryweather Cooper <john_m_cooper@yahoo.com>
Diffstat (limited to 'devel')
-rw-r--r-- | devel/glib12/Makefile | 2 | ||||
-rw-r--r-- | devel/glib12/files/patch-gmodule::gmodule-dl.c | 23 |
2 files changed, 24 insertions, 1 deletions
diff --git a/devel/glib12/Makefile b/devel/glib12/Makefile index e058a816c483..513c855c0ed2 100644 --- a/devel/glib12/Makefile +++ b/devel/glib12/Makefile @@ -7,7 +7,7 @@ PORTNAME= glib PORTVERSION= 1.2.10 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= stable/sources/glib diff --git a/devel/glib12/files/patch-gmodule::gmodule-dl.c b/devel/glib12/files/patch-gmodule::gmodule-dl.c new file mode 100644 index 000000000000..5460f6300bc1 --- /dev/null +++ b/devel/glib12/files/patch-gmodule::gmodule-dl.c @@ -0,0 +1,23 @@ + +$FreeBSD$ + +--- gmodule/gmodule-dl.c 2001/12/12 04:39:42 1.1 ++++ gmodule/gmodule-dl.c 2001/12/12 04:41:05 +@@ -100,6 +100,7 @@ + static gpointer + _g_module_self (void) + { ++#ifndef __FreeBSD__ + gpointer handle; + + /* to query symbols from the program itself, special link options +@@ -111,6 +112,9 @@ + g_module_set_error (fetch_dlerror ()); + + return handle; ++#else ++ return RTLD_DEFAULT; ++#endif + } + + static void |