mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-03-28 02:20:04 +01:00
This restores the reverted-commit ed8634d: Author: Dan Winship <danw@gnome.org> Date: Mon Apr 5 14:05:52 2010 -0400 g_callable_info_prepare_closure: handle mmap permissions error When SELinux or similar is active, a process may not be able to mmap() a segment that is both writable and executable, which would causing g_callable_info_prepare_closure() to fail. Libffi has a workaround for this problem though (it maps the same non-anonymous region twice, once writable and once executable, and returns two separate pointers to it), so use that. But with an added fix, when using ffi_closure_alloc(), we need to use ffi_prep_closure_loc() so we can pass in the executable address of the trampoline separately from the writable address, rather than the deprecated ffi_prep_closure(). https://bugzilla.gnome.org/show_bug.cgi?id=615105
Description
Low-level core library that forms the basis for projects such as GTK+ and GNOME.
Languages
C
95.3%
Python
2.3%
Meson
1.3%
Objective-C
0.3%
Shell
0.2%
Other
0.5%