summaryrefslogtreecommitdiff
path: root/src/mips/ffitarget.h
Commit message (Collapse)AuthorAgeFilesLines
* MIPS: fix some N32 test failure (#701)YunQiang Su2022-05-151-4/+5
| | | | Some go closure and pointer testcase fails. These failures is not introduced by the complex support code.
* MIPS: add Complex support (#698)YunQiang Su2022-03-311-0/+6
|
* Upstream local FreeBSD patches (#567)Niclas Zeising2020-08-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add support for FreeBSD mips Add support for FreeBSD mips, this has been a local patch in the FreeBSD ports tree for quite some time. Originally submitted by sson, and committed by sbruno AT FreeBSD DOT org See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=191909 for background details. Signed-off-by: Niclas Zeising <zeising@daemonic.se> * Add support for FreeBSD powerpcspe Add support for powerpcspe on FreeBSD This has been in the FreeBSD ports tree for some time. Originally submitted by jhibbits AT FreeBSD DOT org. Signed-off-by: Niclas Zeising <zeising@daemonic.se> * Fix abort() on FreeBSD arm related to __clear_cache() This patch has been in the FreeBSD ports tree for a number of years. Original commit by koobs AT FreeBSD DOT org Original commit message: > devel/libffi: Fix abort() on ARM related to __clear_cache() > > The current FreeBSD/ARM __clear_cache() implementation does nothing #if > __i386__ || __x86_64__ #else abort(); > > cognet@ advises this is an issue for anything !Apple that is using the > libcompiler_rt provided by Clang on ARM, and requires upstreaming. See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=149167 for some background details. Signed-off-by: Niclas Zeising <zeising@daemonic.se>
* Various MIPS Fixes (#425)James Cowgill2018-04-181-12/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mips: simplify closure #defines This commit should have no visible effect. * mips: add special handling of variadic functions MIPS requires special handling of variadic functions which pass floating point arguments: * In the o32 ABI, all float arguments are passed in integer registers. * In the n32/n64 ABIs, float arguments after the ellipsis are passed in integer registers. Implement this in libffi. To support this in n32/n64 closures, we need to add a new mips_nfixedargs field to ffi_cif which will break the libffi ABI. This fixes the libffi.call/cls_longdouble_va.c test which was failing on 64-bit MIPS. * mips: align argn for all 64-bit types in o32 closure handler Ensure that argn is pre-aligned for all 64-bit argument types (including doubles) and not just integer types. This fixes closures of the form "f(float, double, <some integer args>)". Previously the first integer argument would be read from a2 which is garbage at this point (the float arguments have already "consumed" a0-a3). After this commit, argn is correctly padded between the "float" and "double" arguments so that the first integer argument is read from the stack. Fixes "double f(float,double,int)" test in #371 * mips: do not read from floating point register if returning a struct In the o32 ABI, the pointer passed in a0 used to return structures indirectly is treated as the first argument for argument allocation purposes. This means that it should inhibit floating point registers the same way that other integer arguments do. Fixes "Double f(float,Double,double)" test in #371 * mips: fix pointer cast warnings Fix two pointer cast warnings when compiled on 64-bit mips by casting through uintptr_t. Fixes mips64el part of #404
* Fix linux detection (closes #303)Yen Chi Hsuan2017-10-271-1/+1
|
* various fixes for go closure support. Now all n64 tests passed.foxsen2015-08-041-1/+1
|
* add support for go closure support on mipsfoxsen2015-08-041-0/+2
|
* Ensure that users don't include ffitarget.h directlyAnthony Green2012-02-231-1/+6
|
* Many new patchesAnthony Green2011-08-221-1/+1
|
* Fix IRIX supportAnthony Green2011-02-091-2/+2
|
* Rebase from GCCAnthony Green2011-02-081-0/+8
|
* FFI_LAST_ABI fixAnthony Green2010-07-231-8/+7
|
* Update missing changes for 3.0.9r4.Anthony Green2009-12-241-4/+18
|
* Initial commitAnthony Green2009-10-041-0/+221