Low-level core library that forms the basis for projects such as GTK+ and GNOME.
Go to file
Owen W. Taylor 9d2fd90f0a Correctly use ffi_closure_alloc(), fixing mmap permissions error
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
2010-04-08 10:50:04 -04:00
gdump.c [girepository] Remove trailing whitespace 2010-03-24 15:02:05 -03:00
gfield.c Remove some unportable integral type size assumptions 2009-12-02 10:45:20 -02:00
ginfo.c Add support for foreign structs 2010-03-25 23:12:12 -03:00
ginfo.h Bug 561137 - support multiple repositories 2008-11-25 21:48:34 +00:00
ginvoke.c [girepository] Remove trailing whitespace 2010-03-24 15:02:05 -03:00
girepository.c [girepository] Remove trailing whitespace 2010-03-24 15:02:05 -03:00
girepository.h Add support for foreign structs 2010-03-25 23:12:12 -03:00
girffi-private.h [girffi] Clean up API, add g_function_info_prep_invoker 2009-12-16 18:17:12 -05:00
girffi.c Correctly use ffi_closure_alloc(), fixing mmap permissions error 2010-04-08 10:50:04 -04:00
girffi.h [girepository] Remove trailing whitespace 2010-03-24 15:02:05 -03:00
girmodule.c [girepository] Remove trailing whitespace 2010-03-24 15:02:05 -03:00
girmodule.h [girepository] Remove trailing whitespace 2010-03-24 15:02:05 -03:00
girnode.c Add support for foreign structs 2010-03-25 23:12:12 -03:00
girnode.h Add support for foreign structs 2010-03-25 23:12:12 -03:00
giroffsets.c [giroffsets] Also update this code for change to signed enumeration values 2010-04-07 11:29:55 -04:00
girparser.c Add support for foreign structs 2010-03-25 23:12:12 -03:00
girparser.h Add a GirParser object to hold the state of a compilation 2008-11-12 17:16:42 +00:00
girwriter.h Move shared *.[ch] files to girepository from tools 2008-08-09 12:46:48 +00:00
glib-compat.h Substitute deprecated Glib symbol: g_mapped_file_free 2009-12-15 11:06:50 -02:00
gtypelib.c [girepository] Remove trailing whitespace 2010-03-24 15:02:05 -03:00
gtypelib.h Add support for foreign structs 2010-03-25 23:12:12 -03:00
Makefile.am [girffi] Clean up API, add g_function_info_prep_invoker 2009-12-16 18:17:12 -05:00