summaryrefslogtreecommitdiff
path: root/girepository/girffi.c
Commit message (Collapse)AuthorAgeFilesLines
* [girepository] Kill girffi-private.hJohan Dahlin2010-06-061-4/+4
|
* [girepository] Document most of the structsJohan Dahlin2010-05-181-0/+2
|
* Correctly use ffi_closure_alloc(), fixing mmap permissions errorOwen W. Taylor2010-04-081-22/+22
| | | | | | | | | | | | | | | | | | | | | | | 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
* Revert "g_callable_info_prepare_closure: handle mmap permissions error"Colin Walters2010-04-071-22/+22
| | | | | | | This reverts commit ed8634ddf73a56cb1935fd87254b3c6c04352893. This commit caused crashes in gjs/gnome-shell, which we're still trying to track down. See: http://bugzilla.gnome.org/615078
* g_callable_info_prepare_closure: handle mmap permissions errorDan Winship2010-04-061-22/+22
| | | | | | | | | | | 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. https://bugzilla.gnome.org/show_bug.cgi?id=614903
* [girepository] Remove trailing whitespaceJohan Dahlin2010-03-241-13/+13
|
* The private header should be included in girffi.cJohan Dahlin2009-12-311-0/+1
| | | | Not in the public girffi.h.
* [girffi] Clean up API, add g_function_info_prep_invokerColin Walters2009-12-161-127/+135
| | | | | | | | | | | | | | Rather than having bindings use g_function_info_invoke, which is basically a toy/demo API, export a convenience utility function which takes the introspection information and sets up things we need to pass to libffi. Then invocation can be done directly to libffi by a binding. As part of this work, remove some (unused by gjs) public functions from the girffi API, and instead export a function to map to libffi which can work semi-correctly. https://bugzilla.gnome.org/show_bug.cgi?id=604074
* Revert "GI_TYPE_TAG_VOID != ffi_type_void"Johan Dahlin2009-12-151-1/+2
| | | | This reverts commit 28cccba737ec2214da66b0d74059278162cf5fd0.
* Remove some unportable integral type size assumptionsIain Nicol2009-12-021-4/+12
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=602762
* Fix build on OpenBSDJasper Lievisse Adriaanse2009-12-021-1/+4
| | | | | | | | Due to a missing header, gobject-introspection fails to compile on OpenBSD. And only due to headers-including-headers practice this doesn't blow up on many other platforms. https://bugzilla.gnome.org/show_bug.cgi?id=596226
* GI_TYPE_TAG_VOID != ffi_type_voidMaxim Ermilov2009-12-021-2/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=603157
* Plug a leak in g_callable_info_get_ffi_return_typeMaxim Ermilov2009-12-021-0/+3
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=603526
* Add g_ir_ffi_convert_argumentsTomeu Vizoso2009-11-121-0/+112
|
* Bug 584423 – Add short/ushort supportMark Lee2009-06-221-0/+4
| | | | | | | | | Add type tags for short and ushort, plus all of the requisite code needed to utilize them in libgirepository. Add support in the scanner's AST files. Add test functions to the everything library and the expected gir file. gtypelib.c constant validation fixed by Colin Walters <walters@verbum.org>
* Add gtk-doc supportJohan Dahlin2009-02-121-1/+1
|
* Add utility functions for invocing closures given a GICallableInfo usingJohan Dahlin2009-02-051-0/+139
| | | | | | | | | | | | | | | 2009-02-04 Johan Dahlin <jdahlin@async.com.br> * girepository/Makefile.am: * girepository/girffi.c (g_callable_info_get_ffi_arg_types), (g_callable_info_get_ffi_return_type), (g_callable_info_prepare_closure), (g_callable_info_free_closure): * girepository/girffi.h: Add utility functions for invocing closures given a GICallableInfo using libffi. svn path=/trunk/; revision=1084
* girepository/girffi.c: Fix "Unexpected time for time_t" message.Owen Taylor2008-11-131-1/+1
| | | | svn path=/trunk/; revision=919
* Split g_ir_ffi_get_ffi_type() out from ginvoke.cOwen Taylor2008-11-111-0/+100
Extract a function to convert GITypeTag to ffi_type from the internals of ginvoke.c. This will be useful in figure out structure alignment. Also fix handling of gsize and time_t to be portable. (Add a check to configure.ac to figure out the width of time_t.) svn path=/trunk/; revision=873