glib/gmodule
Randy Eckenrode 73d913519d
gmodule-dl: fix G_MODULE_BIND_LOCAL on Darwin
According to POSIX, the default behavior of `dlopen` is unspecified when
its flags include neither `RTLD_LOCAL` nor `RTLD_GLOBAL`. Consequently,
different platforms have different default behavior.

The default on Linux is `RTLD_LOCAL`, but the default on Darwin is
`RTLD_GLOBAL`. By passing `0` to `dlopen`, this results in the opposite
of the caller's intent when using `G_MODULE_BIND_LOCAL`.

Passing `RTLD_LOCAL` for `G_MODULE_BIND_LOCAL` allows the correct
behavior to be observed regardless of the platform's default.
2024-07-10 20:00:22 -04:00
..
tests gmodule-dl: fix G_MODULE_BIND_LOCAL on Darwin 2024-07-10 20:00:22 -04:00
AUTHORS initial import of gmodule. 1998-08-09 08:32:18 +00:00
COPYING Fix gmodule/COPYING symlink path 2022-11-28 12:13:21 +02:00
gmodule-ar.c Improve g_module_open(), deprecate G_MODULE_SUFFIX 2022-10-27 20:26:53 +05:30
gmodule-deprecated.c gmodule: Fix redeclaration of symbol 2022-11-16 12:02:06 +00:00
gmodule-dl.c gmodule-dl: fix G_MODULE_BIND_LOCAL on Darwin 2024-07-10 20:00:22 -04:00
gmodule-win32.c gmodule: Fix various implicit conversions from size_t to smaller types 2024-04-25 12:39:39 +01:00
gmodule.c gmodule: Use __ANDROID__ to test for the OS, not __BIONIC__ 2024-04-02 08:43:55 -03:00
gmodule.h Improve g_module_open(), deprecate G_MODULE_SUFFIX 2022-10-27 20:26:53 +05:30
gmodule.rc.in meson: build Windows resource files 2018-01-04 22:19:30 +01:00
gmoduleconf.h.in Add SPDX license headers for LGPL-2.1-or-later to various files 2022-06-01 12:44:23 +01:00
meson.build gio, gmodule, gthread: compile windows resources only in shared build 2024-01-21 18:51:52 +11:00