src/mips


Log

Author Commit Date CI Message
YunQiang Su 2e825e21 2022-05-16T09:47:11 MIPS: fix some N32 test failure (#701) Some go closure and pointer testcase fails. These failures is not introduced by the complex support code.
YunQiang Su 1f1c3375 2022-05-16T09:45:27 MIPS: fix O32 softfloat support (#702)
YunQiang Su e67697c3 2022-03-31T20:44:49 MIPS: add Complex support (#698)
vhankala ff059dd9 2021-06-10T18:41:02 Fix build on OpenBSD/mips64 (#638) The build fails on OpenBSD/mips64 because clang 11's integrated assembler expects read-only .eh_frame: ../src/mips/n32.S:585:9: error: changed section flags for .eh_frame, expected: 0x2 .section .eh_frame,"aw",@progbits ^ Use EH_FRAME_FLAGS to get matching flags for the section.
Niclas Zeising 8276f812 2020-08-07T21:05:23 Upstream local FreeBSD patches (#567) * 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>
Carl Hurd 76c0cfea 2019-11-29T14:46:11 Fixed missed #ifndef for __mips_soft_float (#442) Thank you!
James Cowgill 159b94e5 2018-04-19T01:28:23 Various MIPS Fixes (#425) * 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
YunQiang Su 746dbe3a 2018-01-03T10:07:41 mips/ffi.c: fix encoding for jr on r6 mips/ffi.c: instruction jr has a different encoding for r6
YunQiang Su 94c102aa 2017-12-10T14:25:01 Not set mips on mips r6 MIPS release changed encodes of some instructions, include ll/sc etc. if .set mips4 on mips r6, as will generate some wrong encode of some instructions.
Yen Chi Hsuan 9fc9dc53 2017-10-27T16:12:56 Fix linux detection (closes #303)
Gregory Pakosz bd72848c 2017-04-27T13:20:36 Prefix ALIGN macros with FFI_
Yousong Zhou 7a0d2c83 2016-08-15T15:00:13 mips: fix MIPS softfloat build issue The patch for o32.S is taken from OpenWrt packages repo 3a7a4bf "libffi: fix MIPS softfloat build issue with current binutils" Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Zhang Fuxin 505346e1 2015-08-26T09:57:10 fix type error in unwind code
foxsen 5953c66b 2015-08-20T20:28:13 add unwind infor for *go_closure; reorder the labels to make thing more clear
Zhang Fuxin f0ecd5d4 2015-08-11T12:47:36 fix O32 stack unwind code add missing 1: label
foxsen 6f0201c8 2015-08-04T18:25:34 various fixes for go closure support. Now all n64 tests passed.
foxsen 697dd4e8 2015-08-04T12:53:33 add support for go closure support on mips
Heiher 40927bd3 2014-01-21T23:18:27 Fix call floating point va function I'm not sure floating-point arguments in GPR or FPR before calling variable number arguments function. so, load all arguments to GPR and FPR.
Mark H Weaver d3372c54 2013-10-26T08:30:06 Fix N32 ABI issue for MIPS.
Anthony Green 048d2f41 2012-10-11T10:55:25 Rebase
Anthony Green 8360bf1c 2012-02-23T07:01:13 Ensure that users don't include ffitarget.h directly
Anthony Green c365ee75 2012-01-23T11:13:18 Refresh
Anthony Green 049d8386 2011-08-22T14:50:10 Many new patches
Anthony Green 1fbf9dc4 2011-02-13T08:06:39 Fix bad_abi test. rc5.
Anthony Green 42695e72 2011-02-09T15:12:35 Fix IRIX support
Anthony Green 3b836249 2011-02-08T14:28:59 Rebase from GCC
Anthony Green 2db72615 2010-11-21T10:50:56 Rebase
Anthony Green d14178be 2010-07-23T09:14:00 FFI_LAST_ABI fix
Anthony Green 3f5b1375 2010-07-12T14:39:18 rebase
Anthony Green 9dc9a293 2010-04-13T10:33:52 Rebase to latest GCC sources
Anthony Green 7b7a42f2 2010-01-12T09:14:14 Rebase from GCC
Anthony Green c3042afa 2010-01-01T08:08:02 Reset quilt patches post 3.0.9 merge with GCC
Anthony Green 0cfe60e9 2009-12-29T10:06:04 3.0.9rc12
Anthony Green 9458d88f 2009-12-26T07:02:27 Rebase from GCC
Anthony Green da11bece 2009-12-24T05:34:46 Release 3.0.9rc5
Anthony Green 115ab36f 2009-12-24T00:22:00 Update missing changes for 3.0.9r4.
Anthony Green c6dddbd0 2009-10-04T08:11:33 Initial commit