|
c2a68590
|
2019-08-07T11:57:45
|
|
fix mingw build and crashing bugs for Python Windows ARM64 (#496)
* fix mingw build and crashing bugs for Python Windows ARM64
* Fix issues found in PR review
|
|
d856743e
|
2019-06-26T07:31:22
|
|
libffi: added ARM64 support for Windows (#486)
* libffi: added ARM64 support for Windows
1. ported sysv.S to win64_armasm.S for armasm64 assembler
2. added msvc_build folder for visual studio solution
3. updated README.md for the same
4. MSVC solution created with the changes, and below test suites are tested
with test script written in python.
libffi.bhaible
libffi.call
5. Basic functionality of above test suites are getting passed
Signed-off-by: ossdev07 <ossdev@puresoftware.com>
* Update README.md
|
|
a7d6396f
|
2019-03-29T14:19:20
|
|
fix check for Linux/aarch64
fixes #473
|
|
05a17964
|
2019-02-19T04:11:28
|
|
Cleanup symbol exports on darwin and add architecture preprocessor checks to assist in building fat binaries (eg: i386+x86_64 on macOS or arm+aarch64 on iOS) (#450)
* x86: Ensure _efi64 suffixed symbols are not exported
* x86: Ensure we do not export ffi_prep_cif_machdep
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* x86: Ensure we don't export ffi_call_win64, ffi_closure_win64, or ffi_go_closure_win64
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* closures: Silence a semantic warning
libffi/src/closures.c:175:23: This function declaration is not a prototype
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* aarch64: Ensure we don't export ffi_prep_cif_machdep
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* arm: Ensure we don't export ffi_prep_cif_machdep
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* aarch64, arm, x86: Add architecture preprocessor checks to support easier fat builds (eg: iOS)
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* x86: Silence some static analysis warnings
libffi/src/x86/ffi64.c:286:21: The left operand of '!=' is a garbage value due to array index out of bounds
libffi/src/x86/ffi64.c:297:22: The left operand of '!=' is a garbage value due to array index out of bounds
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* aarch: Use FFI_HIDDEN rather than .hidden
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* ffi.h: Don't advertise ffi_java_rvalue_to_raw, ffi_prep_java_raw_closure, and ffi_prep_java_raw_closure_loc when FFI_NATIVE_RAW_API is 0
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
|
|
44a6c285
|
2019-02-19T12:55:11
|
|
aarch64: Flush code mapping in addition to data mapping (#471)
This needs a new function, ffi_data_to_code_pointer, to translate
from data pointers to code pointers.
Fixes issue #470.
|
|
4a84df4a
|
2018-10-31T15:53:54
|
|
Fix Q registers parameter passing on ARM64
The second two quads are located at offset 32 not 16
|
|
e66fd678
|
2018-02-20T10:47:09
|
|
Revert "Fix passing struct by value on aarch64"
This reverts commit 482b37f00467325e3389bab322525099860dd9aa.
That was actually a bug in python, see <https://bugs.python.org/issue30353>.
|
|
482b37f0
|
2017-09-18T12:44:08
|
|
Fix passing struct by value on aarch64
This fixes the ctypes test in the python testsuite.
|
|
181fc4cc
|
2017-10-23T15:02:29
|
|
Merge branch 'master' based on ksjogo/libffi
Added a tvOS target in Xcode project. Misc Xcode project cleanup.
Fix macOS build target in Xcode project.
# Conflicts:
# src/aarch64/ffi.c
# src/x86/ffi64.c
|
|
a78da739
|
2017-09-04T15:55:34
|
|
Fix macOS build target in Xcode project.
- Add missing files for desktop platforms in generate-darwin-source-and-headers.py, and in the Xcode project.
- Add a static library target for macOS.
- Fix "implicit conversion loses integer precision" warnings for iOS mad macOS targets.
|
|
bd72848c
|
2017-04-27T13:20:36
|
|
Prefix ALIGN macros with FFI_
|
|
06d7c519
|
2016-08-10T15:06:16
|
|
Merge pull request #269 from frida/fix/aarch64-variadic-closures-on-ios
aarch64: Fix handling of variadic closures on iOS
|
|
aa7ed78c
|
2016-08-10T15:03:37
|
|
Merge pull request #268 from frida/fix/aarch64-large-aggregates
aarch64: Fix handling of aggregates larger than 16 bytes
|
|
4da814b1
|
2016-08-10T22:48:09
|
|
aarch64: Fix handling of aggregates larger than 16 bytes
Instead of allocating stack space for a pointer we would allocate stack
space for the actual aggregate size.
|
|
5e9ac7e2
|
2016-08-10T15:22:19
|
|
aarch64: Fix warning about unused function on iOS
|
|
4d1f11f6
|
2016-08-10T15:21:42
|
|
aarch64: Fix operand size warning reported by Clang
|
|
301166b1
|
2016-08-10T15:59:56
|
|
aarch64: Fix handling of variadic closures on iOS
|
|
bc4fc07a
|
2015-12-21T00:37:06
|
|
Fixed #181 -- Corrected problems with ARMv7 build under iOS.
Based on a patch from @fealebenpae, with input from @SolaWing and @rth7680,
and testing from @superdump.
|
|
53636634
|
2015-01-16T15:19:38
|
|
aarch64: implement the trampoline table workaround for ffi closures on Apple systems
This is a direct copy/paste port of the ARM code, with changes because of Aarch64 pc-relative addressing restrictions.
|
|
20562ac0
|
2014-11-12T07:00:59
|
|
Fix for AArch64. Release as 3.2.1.
|
|
c6352b66
|
2014-10-23T00:26:14
|
|
aarch64: Add support for Go closures
|
|
0e41c73b
|
2014-10-22T23:48:12
|
|
aarch64: Move x8 out of call_context
Reduces stack size. It was only used by the closure, and there
are available argument registers.
|
|
a992f878
|
2014-10-22T22:58:09
|
|
aarch64: Add support for complex types
|
|
658b2b56
|
2014-10-22T22:36:07
|
|
aarch64: Remove aarch64_flags
This field was useless from the start, since the normal flags
field is available for backend use.
|
|
4a3cbcaa
|
2014-10-22T22:32:13
|
|
aarch64: Unify scalar fp and hfa handling
Since an HFA of a single element is exactly the same as scalar,
this tidies things up a bit.
|
|
12cf89ee
|
2014-10-22T21:53:30
|
|
aarch64: Move return value handling into ffi_closure_SYSV
As with the change to ffi_call_SYSV, this avoids copying data
into a temporary buffer.
|
|
4fe1aea1
|
2014-10-22T17:06:19
|
|
aarch64: Move return value handling into ffi_call_SYSV
This lets us pass return data directly to the caller of ffi_call
in most cases, rather than storing it into temporary storage first.
|
|
325471ea
|
2014-10-22T13:58:59
|
|
aarch64: Merge prep_args with ffi_call
Use the trick to allocate the stack frame for ffi_call_SYSV
within ffi_call itself.
|
|
8c8161cb
|
2014-10-22T12:52:07
|
|
aarch64: Tidy up abi manipulation
Avoid false abstraction, like get_x_addr. Avoid recomputing data
about the type being manipulated. Use NEON insns for HFA manipulation.
Note that some of the inline assembly will go away in a subsequent patch.
|
|
b55e0366
|
2014-10-22T12:33:59
|
|
aarch64: Treat void return as not passed in registers
This lets us do less post-processing when there's no return value.
|
|
95a04af1
|
2014-10-21T22:41:07
|
|
aarch64: Reduce the size of register_context
We don't need to store 32 general and vector registers.
Only 8 of each are used for parameter passing.
|
|
77c4cddc
|
2014-10-21T13:30:40
|
|
aarch64: Simplify AARCH64_STACK_ALIGN
The iOS abi doesn't require padding between arguments, but
that's not what AARCH64_STACK_ALIGN meant. The hardware will
in fact trap if the SP register is not 16 byte aligned.
|
|
b5f147d8
|
2014-10-21T13:27:57
|
|
aarch64: Always distinguish LONGDOUBLE
Avoid if-deffery by forcing FFI_TYPE_LONGDOUBLE different
from FFI_TYPE_DOUBLE. This will simply be unused on hosts
that define them identically.
|
|
38b54b9c
|
2014-10-21T13:17:39
|
|
aarch64: Improve is_hfa
The set of functions get_homogeneous_type, element_count, and is_hfa
are all intertwined and recompute data. Return a compound quantity
from is_hfa that contains all the data and avoids the recomputation.
|
|
18b74ce5
|
2014-10-21T13:00:34
|
|
aarch64: Fix non-apple compilation
|
|
862f53de
|
2014-09-18T19:06:08
|
|
Merge pull request #130 from frida/fix/darwin-aarch64-float-alignment
Fix alignment of FFI_TYPE_FLOAT for Apple's ARM64 ABI
|
|
aebf2c30
|
2014-07-25T21:40:50
|
|
Fix alignment of FFI_TYPE_FLOAT for Apple's ARM64 ABI
|
|
0f4e09d2
|
2014-07-26T00:11:06
|
|
Fix non-variadic CIF initialization for Apple/ARM64
Turns out `aarch64_nfixedargs` wasn't initialized in the non-variadic
case, resulting in undefined behavior when allocating arguments.
|
|
419503f4
|
2014-04-06T20:54:13
|
|
Fix handling of variadic calls on Darwin/AArch64
|
|
b4df9cf9
|
2014-02-05T14:22:52
|
|
AArch64: Fix void fall-through case when assertions are enabled
|
|
f466aad0
|
2014-01-21T16:38:31
|
|
AArch64: Fix missing semicolons when assertions are enabled
|
|
0a0f12ce
|
2014-01-09T13:50:17
|
|
AArch64: Remove duplicitous element_count call.
This inhibits an analyzer warning by Clang.
|
|
4330fdcd
|
2014-01-09T13:53:30
|
|
Darwin/aarch64: Respect iOS ABI re: stack argument alignment
|
|
0a333d6c
|
2014-01-09T14:03:29
|
|
Darwin/aarch64: Fix size_t assumptions
|
|
2c18e3c7
|
2013-12-30T16:14:02
|
|
Darwin/aarch64: Fix "shadows declaration" warnings
|
|
1b8a8e20
|
2014-01-09T13:55:21
|
|
Darwin/aarch64: Use Clang cache invalidation builtin
|
|
6030cdca
|
2013-12-30T15:45:51
|
|
Darwin/aarch64: Account for long double being equal to double
|
|
5bfe62a0
|
2014-01-09T13:41:27
|
|
Darwin/AArch64: Inhibit Clang previous prototype warnings
|
|
3dc3f32c
|
2013-12-05T16:23:25
|
|
Undo iOS ARM64 changes.
|
|
0278284e
|
2013-11-30T03:03:37
|
|
Darwin/aarch64: size_t assumptions
|
|
9775446b
|
2013-11-30T02:39:34
|
|
Darwin/aarch64: Fix “shadows declaration” warnings
|
|
4260badc
|
2013-11-30T02:08:14
|
|
Darwin/aarch64: Use Clang cache invalidation builtin
|
|
9fa7998d
|
2013-11-30T02:07:48
|
|
Darwin/aarch64: Inhibit Xcode warning
|
|
0e832048
|
2013-11-30T02:07:34
|
|
Darwin/aarch64: double == long double
|
|
128cd1d2
|
2013-10-08T06:45:51
|
|
Fix spelling errors
|
|
58e8b66f
|
2012-10-30T07:07:19
|
|
AArch64 port
|
|
fa5d7479
|
2012-10-30T07:07:19
|
|
AArch64 port
|