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
Landon Fuller
be72fbab29
Use the correct host triple for arm/darwin
2010-09-18 18:02:25 -07:00
Landon Fuller
70150bdf45
Add missing UNWIND entry; disables .pad on non-EABI targets.
2010-09-18 16:38:03 -07:00
Landon Fuller
6b452bafae
Apple assembler support; fixed most gas/ELF-isms.
2010-09-18 16:21:32 -07:00
Landon Fuller
8ddac835b6
Fix placement of the __APPLE__ macro.
2010-09-18 15:38:06 -07:00
Landon Fuller
69043d0293
Work-around libffi's FP ABI detection.
...
On iOS, we must use the AAPCS floating point return value calling
conventions. libffi's ARM implementation will only use these conventions
if __SOFTFP__ is defined, which is not the case when GCC's
-mfloat-abi defaults to 'softfp' instead of 'soft'. To work around this
we manually define __SOFTFP__ for Apple platforms in the ARM-specific
sysv.S.
See also:
http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iPhoneOSABIReference/Introduction/Introduction.html
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042d/IHI0042D_aapcs.pdf
2010-09-18 15:32:08 -07:00
Landon Fuller
a82e6c354e
Add a stub iOS build script to drive autoconf
2010-09-18 14:44:24 -07:00
Anthony Green
84e8de6e9f
Restore execute permissions
2010-08-06 01:35:12 -04:00
Anthony Green
3aeecc9eb1
Fix win64-struct-args patch
2010-08-05 15:19:00 -04:00
Anthony Green
00d0b59cd1
Fix debug build for windows
2010-08-05 14:56:53 -04:00
Anthony Green
bda487e870
Don't use -safeseh with ml64
2010-08-05 09:02:41 -04:00
Anthony Green
c1d28ba8d5
stdcall-x86-closure-fix
2010-08-05 08:48:16 -04:00
Anthony Green
5feacad4a5
define generic symbols carefully
2010-08-05 08:30:04 -04:00
Anthony Green
10ea848900
don't copy win64 struct args
2010-08-05 08:24:27 -04:00
Anthony Green
d14178be4c
FFI_LAST_ABI fix
2010-07-23 09:14:00 -04:00
Anthony Green
3f5b1375ab
rebase
2010-07-12 14:39:18 -04:00
Anthony Green
eaf444eabc
Fix selinux test
2010-07-10 08:59:09 -04:00
Anthony Green
6309741522
Micharl Kohler's spelling fixes
2010-05-05 20:14:56 -04:00
Anthony Green
9dc9a293f3
Rebase to latest GCC sources
2010-04-13 10:33:52 -04:00
Anthony Green
f2c2a4fce9
Remove warnings and add OS/2 support
2010-04-13 10:19:28 -04:00
Anthony Green
c0b69e57d5
Dan Witte's windows build fixes.
2010-03-30 08:30:22 -04:00
Anthony Green
59a259f4d3
Remove junk file
2010-03-15 05:57:51 -04:00
Anthony Green
3de1eb36d3
fix-comments patch
2010-03-15 05:57:24 -04:00