<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libffi.git/src/mips, branch github-actions</title>
<subtitle>github.com: atgreen/libffi.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libffi.git/'/>
<entry>
<title>Fix build on OpenBSD/mips64 (#638)</title>
<updated>2021-06-10T18:41:02+00:00</updated>
<author>
<name>vhankala</name>
<email>81743325+vhankala@users.noreply.github.com</email>
</author>
<published>2021-06-10T18:41:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libffi.git/commit/?id=ff059dd96af6ba4daf7bc9ddf22d1d2dbf6a177b'/>
<id>ff059dd96af6ba4daf7bc9ddf22d1d2dbf6a177b</id>
<content type='text'>
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.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.</pre>
</div>
</content>
</entry>
<entry>
<title>Upstream local FreeBSD patches (#567)</title>
<updated>2020-08-07T19:05:23+00:00</updated>
<author>
<name>Niclas Zeising</name>
<email>zeising+github@daemonic.se</email>
</author>
<published>2020-08-07T19:05:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libffi.git/commit/?id=8276f812a99b10d1f2c387dbd6ef2ca4f597c733'/>
<id>8276f812a99b10d1f2c387dbd6ef2ca4f597c733</id>
<content type='text'>
* 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 &lt;zeising@daemonic.se&gt;

* 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 &lt;zeising@daemonic.se&gt;

* 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:
&gt; devel/libffi: Fix abort() on ARM related to __clear_cache()
&gt;
&gt; The current FreeBSD/ARM __clear_cache() implementation does nothing #if
&gt; __i386__ || __x86_64__ #else abort();
&gt;
&gt; cognet@ advises this is an issue for anything !Apple that is using the
&gt; 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 &lt;zeising@daemonic.se&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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 &lt;zeising@daemonic.se&gt;

* 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 &lt;zeising@daemonic.se&gt;

* 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:
&gt; devel/libffi: Fix abort() on ARM related to __clear_cache()
&gt;
&gt; The current FreeBSD/ARM __clear_cache() implementation does nothing #if
&gt; __i386__ || __x86_64__ #else abort();
&gt;
&gt; cognet@ advises this is an issue for anything !Apple that is using the
&gt; 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 &lt;zeising@daemonic.se&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed missed #ifndef for __mips_soft_float (#442)</title>
<updated>2019-11-29T19:46:11+00:00</updated>
<author>
<name>Carl Hurd</name>
<email>carl.m.hurd@gmail.com</email>
</author>
<published>2019-11-29T19:46:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libffi.git/commit/?id=76c0cfea70f78586231d7994492396eebfb12d5f'/>
<id>76c0cfea70f78586231d7994492396eebfb12d5f</id>
<content type='text'>
Thank you!</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Thank you!</pre>
</div>
</content>
</entry>
<entry>
<title>Various MIPS Fixes (#425)</title>
<updated>2018-04-19T00:28:23+00:00</updated>
<author>
<name>James Cowgill</name>
<email>jcowgill@users.noreply.github.com</email>
</author>
<published>2018-04-19T00:28:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libffi.git/commit/?id=159b94e5fd4aa2d88e1b5b389092cefd9472a741'/>
<id>159b94e5fd4aa2d88e1b5b389092cefd9472a741</id>
<content type='text'>
* 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, &lt;some integer args&gt;)".
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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, &lt;some integer args&gt;)".
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
</pre>
</div>
</content>
</entry>
<entry>
<title>mips/ffi.c: fix encoding for jr on r6</title>
<updated>2018-01-03T02:07:41+00:00</updated>
<author>
<name>YunQiang Su</name>
<email>wzssyqa@gmail.com</email>
</author>
<published>2018-01-03T02:07:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libffi.git/commit/?id=746dbe3a6a79a41931c03b51df2972be4d5e5028'/>
<id>746dbe3a6a79a41931c03b51df2972be4d5e5028</id>
<content type='text'>
mips/ffi.c: instruction jr has a different encoding for r6</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
mips/ffi.c: instruction jr has a different encoding for r6</pre>
</div>
</content>
</entry>
<entry>
<title>Not set mips on mips r6</title>
<updated>2017-12-10T06:25:01+00:00</updated>
<author>
<name>YunQiang Su</name>
<email>wzssyqa@gmail.com</email>
</author>
<published>2017-12-10T06:25:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libffi.git/commit/?id=94c102aa69b04337f63498e0e6551fcdce549ae5'/>
<id>94c102aa69b04337f63498e0e6551fcdce549ae5</id>
<content type='text'>
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.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.</pre>
</div>
</content>
</entry>
<entry>
<title>Fix linux detection (closes #303)</title>
<updated>2017-10-27T08:12:56+00:00</updated>
<author>
<name>Yen Chi Hsuan</name>
<email>yan12125@gmail.com</email>
</author>
<published>2017-10-27T08:12:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libffi.git/commit/?id=9fc9dc535ee7af28f49f86a8ecacb7f575c46ba4'/>
<id>9fc9dc535ee7af28f49f86a8ecacb7f575c46ba4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Prefix ALIGN macros with FFI_</title>
<updated>2017-04-27T11:22:28+00:00</updated>
<author>
<name>Gregory Pakosz</name>
<email>gregory.pakosz@gmail.com</email>
</author>
<published>2017-04-27T11:20:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libffi.git/commit/?id=bd72848c7af9302df50a7a11652c77166d17caa8'/>
<id>bd72848c7af9302df50a7a11652c77166d17caa8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>mips: fix MIPS softfloat build issue</title>
<updated>2016-08-15T07:14:54+00:00</updated>
<author>
<name>Yousong Zhou</name>
<email>yszhou4tech@gmail.com</email>
</author>
<published>2016-08-15T07:00:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libffi.git/commit/?id=7a0d2c83bf2b0422e2d0ed297f847fc1eeb88bb3'/>
<id>7a0d2c83bf2b0422e2d0ed297f847fc1eeb88bb3</id>
<content type='text'>
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 &lt;nbd@openwrt.org&gt;
Signed-off-by: Yousong Zhou &lt;yszhou4tech@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;nbd@openwrt.org&gt;
Signed-off-by: Yousong Zhou &lt;yszhou4tech@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fix type error in unwind code</title>
<updated>2015-08-26T01:57:10+00:00</updated>
<author>
<name>Zhang Fuxin</name>
<email>zhangfx@lemote.com</email>
</author>
<published>2015-08-26T01:57:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libffi.git/commit/?id=505346e18fe20eee7eb69a23a48f6951858c5267'/>
<id>505346e18fe20eee7eb69a23a48f6951858c5267</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
