Commit Graph

260 Commits

Author SHA1 Message Date
Anthony Green
269deef6db rc3 2011-02-09 15:22:23 -05:00
Anthony Green
42695e7250 Fix IRIX support 2011-02-09 15:12:35 -05:00
Anthony Green
a6e56b97f6 Add powerpc64-*-darwin* support 2011-02-09 15:00:42 -05:00
Anthony Green
747d6c32d4 Add Interix support 2011-02-09 14:56:23 -05:00
Anthony Green
eab6e41cde Remove README.markdown form libffi-ios 2011-02-09 10:15:02 -05:00
Anthony Green
69dbe845f4 Fix xfails 2011-02-09 07:38:43 -05:00
Anthony Green
f498318c07 Update README for iOS again 2011-02-09 06:26:46 -05:00
Anthony Green
630b9c0ac4 Update to rc2 2011-02-09 06:24:23 -05:00
Anthony Green
0cad4386fa Add ChangeLog entry. Fix copyright headers. 2011-02-09 06:11:46 -05:00
Anthony Green
09cb76f264 Add missing change 2011-02-08 20:39:51 -05:00
Anthony Green
2e3a48ccdd Fix make dist 2011-02-08 20:37:26 -05:00
Anthony Green
5e4814d992 fix permissions 2011-02-08 19:46:28 -05:00
Anthony Green
5c0cc6f153 3.0.10rc1 2011-02-08 19:45:59 -05:00
Anthony Green
857fe3de46 Clean ups 2011-02-08 19:39:20 -05:00
Anthony Green
e2214f8adb Update README 2011-02-08 19:22:56 -05:00
Anthony Green
1106229a57 Add iOS support 2011-02-08 19:20:09 -05:00
Anthony Green
bc9d0be295 3.0.10rc0 changes 2011-02-08 17:04:26 -05:00
Anthony Green
3b836249fe Rebase from GCC 2011-02-08 14:28:59 -05:00
Anthony Green
a26e394061 copyright updates patch 2011-02-08 13:56:12 -05:00
Anthony Green
b8099539f0 Fix msvcc.sh botch 2011-02-08 13:50:43 -05:00
Anthony Green
dc411e8f99 Fix HP-UX build 2011-02-08 10:49:29 -05:00
Anthony Green
404585d134 Fix sparc v8 aggregate type returns for sun's compiler 2011-02-08 10:44:36 -05:00
Anthony Green
19ce713188 grammar fix 2011-02-08 10:34:23 -05:00
Anthony Green
89284fe55f Fix AIX build with IBM XLC 2011-02-08 10:19:19 -05:00
Anthony Green
ba022c338a fix win64-underscore patch 2011-02-08 10:12:48 -05:00
Anthony Green
097e5f3924 x86 pcrel test part 2 2011-02-08 10:11:00 -05:00
Anthony Green
ed2c518d96 x86 pcrel test 2011-02-08 10:10:07 -05:00
Anthony Green
0e5843995f Refresh from GCC 2011-02-08 07:52:40 -05:00
Anthony Green
5b9cd52784 win64-underscore patch 2010-11-22 15:19:57 -05:00
Anthony Green
2db72615b5 Rebase 2010-11-21 10:50:56 -05:00
Landon Fuller
f6ab3edc23 Include the license header in the generated output. 2010-10-27 19:34:51 -04:00
Landon Fuller
cef6194628 Add missing copyright/license header. 2010-10-27 14:01:01 -04:00
Landon Fuller
53f387b203 Minor README fix. 2010-09-19 19:57:17 -07:00
Landon Fuller
4fbcb5b5fb Minor README fix. 2010-09-19 19:50:37 -07:00
Landon Fuller
8e7652ef6a Add a libffi-ios-specific github README. 2010-09-19 19:49:39 -07:00
Landon Fuller
83038cf24a Implement FFI_EXEC_TRAMPOLINE_TABLE allocator for iOS/ARM.
This provides working closure support on iOS/ARM devices where
PROT_WRITE|PROT_EXEC is not permitted. The code passes basic
smoke tests, but requires further review.
2010-09-19 14:36:45 -07:00
Landon Fuller
b00ff3e98f Rename the generated symbol 2010-09-19 14:22:26 -07:00
Landon Fuller
da2773e02a Modify the ffi_closure structures to hold table/table entry pointers instead of a code buffer. 2010-09-19 14:21:37 -07:00
Landon Fuller
01d71b7bed Regenerated the autoconf script 2010-09-19 14:21:14 -07:00
Landon Fuller
19afda0069 Enable AC_SUBST for FFI_EXEC_TRAMPOLINE_TABLE 2010-09-19 14:20:52 -07:00
Landon Fuller
9e1196444e Add a hard-coded FFI_EXEC_TRAMPOLINE_TABLE arm implementation.
This implements support for re-mapping a shared table of executable
trampolines directly in front of a writable configuration page, working
around PROT_WRITE restrictions for sandboxed applications on Apple's
iOS.

This implementation is for testing purposes; a proper allocator is still
necessary, and ARM-specific code needs to be moved out of
src/closures.c.
2010-09-19 10:43:06 -07:00
Landon Fuller
f38364b399 Fix symbol prefix for ffi_closure_SYSV_inner on Darwin. 2010-09-19 10:42:36 -07:00
Landon Fuller
36849e7716 Whitespace/comment fixes. 2010-09-19 09:35:04 -07:00
Landon Fuller
b764162526 Fix the script name (build-iphone.sh -> build-ios.sh) 2010-09-19 09:04:34 -07:00
Landon Fuller
a3d9aa8501 Update the autogenerated autoconf/automake files. 2010-09-19 09:03:52 -07:00
Landon Fuller
c71480eaf8 Update automake/autoconf to conditionally build src/arm/trampoline.S if FFI_EXEC_TRAMPOLINE_TABLE is enabled. 2010-09-19 09:02:05 -07:00
Landon Fuller
9af9291b73 Add the trampoline table generated by gentramp.sh 2010-09-19 08:52:33 -07:00
Landon Fuller
68ce0c383e Add a shell script that generates the ARM trampoline page.
This generates a page of 340 trampolines, aligned within one page. The
trampolines use pc-relative addressing to reference config data
(context, jump address) from a page placed directly prior to the
trampoline page. This can be used on systems -- such as iOS -- that do not
support writable, executable memory by remapping the executable page
containing the trampolines directly above a newly allocated writable
config page.
2010-09-19 08:38:19 -07:00
Landon Fuller
75af086be8 Update autoconf files 2010-09-18 18:12:19 -07:00
Landon Fuller
1ac92cca9b Add autoconf check for W^X platforms that require a trampoline table.
This adds the FFI_EXEC_TRAMPOLINE_TABLE. The flag is enabled for
arm-apple-darwin, where PROT_EXEC on writable (or formerly writable) pages is
not permitted for sandboxed binaries.
2010-09-18 18:08:14 -07:00