Anthony Green [Sun, 16 Mar 2014 11:36:52 +0000 (07:36 -0400)]
Merge pull request #92 from joshtriplett/autogen
Re-add libtool-ldflags
Josh Triplett [Sun, 16 Mar 2014 11:35:12 +0000 (04:35 -0700)]
Re-add libtool-ldflags
Anthony Green [Sun, 16 Mar 2014 11:25:18 +0000 (07:25 -0400)]
Merge pull request #87 from joshtriplett/autogen
Remove autogenerated files from the repository
Josh Triplett [Sun, 16 Mar 2014 01:11:16 +0000 (18:11 -0700)]
Remove autogenerated files from the repository
Add an autogen.sh to regenerate them.
Anthony Green [Fri, 14 Mar 2014 20:54:31 +0000 (16:54 -0400)]
Ensure the linker supports @unwind sections in libffi.
Anthony Green [Fri, 14 Mar 2014 20:51:20 +0000 (16:51 -0400)]
Fix merge
Anthony Green [Fri, 14 Mar 2014 20:47:57 +0000 (16:47 -0400)]
Merge pull request #81 from rvandermeulen/bug-756740
Allow building for mipsel with Android NDK r8.
Ryan VanderMeulen [Mon, 10 Mar 2014 19:12:47 +0000 (15:12 -0400)]
Remove stray hunk that shouldn't have been included in this patch.
Ryan VanderMeulen [Mon, 10 Mar 2014 19:04:58 +0000 (15:04 -0400)]
Replace double quotes with single quotes in Makefile.in to improve compatibility between some versions of MSYS and gmake. From Mozilla bug 943728.
https://bugzilla.mozilla.org/show_bug.cgi?id=943728
Ryan VanderMeulen [Mon, 10 Mar 2014 18:53:48 +0000 (14:53 -0400)]
Ensure the linker supports @unwind sections in libffi. From Mozilla bug 756740.
https://bugzilla.mozilla.org/show_bug.cgi?id=778414
Also tracked as issue #42.
https://github.com/atgreen/libffi/issues/42
Ryan VanderMeulen [Mon, 10 Mar 2014 18:43:37 +0000 (14:43 -0400)]
Allow building for mipsel with Android NDK r8. From Mozilla bug 756740.
https://bugzilla.mozilla.org/show_bug.cgi?id=756740
Anthony Green [Sat, 1 Mar 2014 23:37:29 +0000 (18:37 -0500)]
Update Makefile for new darwin scripts
Anthony Green [Sat, 1 Mar 2014 23:34:18 +0000 (18:34 -0500)]
Add README note
Anthony Green [Fri, 28 Feb 2014 22:20:59 +0000 (17:20 -0500)]
Add missing -DFFI_DEBUG flag
Anthony Green [Fri, 28 Feb 2014 06:10:17 +0000 (01:10 -0500)]
Merge branch 'master' of github.com:/atgreen/libffi
Anthony Green [Fri, 28 Feb 2014 06:06:48 +0000 (01:06 -0500)]
Merge pull request #46 from makotokato/android-clang
Fix build failure when using clang for Android
Anthony Green [Fri, 28 Feb 2014 06:06:48 +0000 (01:06 -0500)]
Merge pull request #46 from makotokato/android-clang
Fix build failure when using clang for Android
Anthony Green [Fri, 28 Feb 2014 06:01:29 +0000 (01:01 -0500)]
Merge branch 'master' of github.com:/atgreen/libffi
Anthony Green [Fri, 28 Feb 2014 06:01:02 +0000 (01:01 -0500)]
Merge pull request #40 from wojdyr/master
Correct the -L flag in libffi.pc.in
Anthony Green [Fri, 28 Feb 2014 05:56:27 +0000 (00:56 -0500)]
Merge pull request #66 from ppizarro/master
BlackFin fixes - Fatal error when calling a function defined in a shared library from within the function called by FFI
Anthony Green [Fri, 28 Feb 2014 05:56:27 +0000 (00:56 -0500)]
Merge pull request #66 from ppizarro/master
BlackFin fixes - Fatal error when calling a function defined in a shared library from within the function called by FFI
Anthony Green [Fri, 28 Feb 2014 05:52:56 +0000 (00:52 -0500)]
Add ChangeLog entry for Josh's change
Anthony Green [Fri, 28 Feb 2014 05:50:25 +0000 (00:50 -0500)]
Merge pull request #75 from joshtriplett/longdouble
Fix build error on x86 without distinct long double
Anthony Green [Fri, 28 Feb 2014 05:38:41 +0000 (00:38 -0500)]
Rebuilt with new libtool
Anthony Green [Fri, 28 Feb 2014 05:26:57 +0000 (00:26 -0500)]
Merge branch 'master' of github.com:/atgreen/libffi
Conflicts:
ChangeLog
Anthony Green [Fri, 28 Feb 2014 05:23:04 +0000 (00:23 -0500)]
Fix spelling errors
Anthony Green [Fri, 28 Feb 2014 05:23:04 +0000 (00:23 -0500)]
Fix spelling errors
Anthony Green [Fri, 28 Feb 2014 05:20:17 +0000 (00:20 -0500)]
When no VFP arguments are present the IP register is used
uninitialized. Initialize it to the value of FP.
This fixes a number of testsuite failures when configured for
armv7l-unknown-linux-gnueabihf
Anthony Green [Fri, 28 Feb 2014 05:17:16 +0000 (00:17 -0500)]
aarch64 fix
Anthony Green [Thu, 27 Feb 2014 20:42:41 +0000 (15:42 -0500)]
Fix ChangeLog merge
Josh Triplett [Mon, 17 Feb 2014 19:20:33 +0000 (11:20 -0800)]
Fix build error on x86 without distinct long double
src/x86/ffi64.c: In function 'classify_argument':
src/x86/ffi64.c:205:5: error: duplicate case value
case FFI_TYPE_LONGDOUBLE:
^
src/x86/ffi64.c:202:5: error: previously used here
case FFI_TYPE_DOUBLE:
^
Anthony Green [Sat, 15 Feb 2014 13:06:29 +0000 (08:06 -0500)]
Merge pull request #72 from heiher/devel
MIPS N32: Fix call floating point va function
Anthony Green [Sat, 15 Feb 2014 13:06:11 +0000 (08:06 -0500)]
Merge pull request #68 from zeldin/master
Linux/ppc64: Remove assumption on contents of r11 in closure
Heiher [Tue, 21 Jan 2014 15:18:27 +0000 (23:18 +0800)]
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.
Zachary Waldowski [Wed, 5 Feb 2014 19:22:52 +0000 (14:22 -0500)]
AArch64: Fix void fall-through case when assertions are enabled
Zachary Waldowski [Tue, 21 Jan 2014 21:38:31 +0000 (16:38 -0500)]
AArch64: Fix missing semicolons when assertions are enabled
Anthony Green [Sun, 1 Dec 2013 01:58:31 +0000 (20:58 -0500)]
Remove build-ios from Makefile
Conflicts:
ChangeLog
Anthony Green [Sun, 1 Dec 2013 02:06:51 +0000 (21:06 -0500)]
Mention Aarch64 on iOS
Zachary Waldowski [Mon, 30 Dec 2013 22:36:39 +0000 (17:36 -0500)]
Update ChangeLog
Zachary Waldowski [Thu, 9 Jan 2014 18:50:17 +0000 (13:50 -0500)]
AArch64: Remove duplicitous element_count call.
This inhibits an analyzer warning by Clang.
Zachary Waldowski [Thu, 9 Jan 2014 18:53:30 +0000 (13:53 -0500)]
Darwin/aarch64: Respect iOS ABI re: stack argument alignment
Zachary Waldowski [Thu, 9 Jan 2014 19:03:29 +0000 (14:03 -0500)]
Darwin/aarch64: Fix size_t assumptions
Zachary Waldowski [Mon, 30 Dec 2013 21:14:02 +0000 (16:14 -0500)]
Darwin/aarch64: Fix "shadows declaration" warnings
Zachary Waldowski [Thu, 9 Jan 2014 18:55:21 +0000 (13:55 -0500)]
Darwin/aarch64: Use Clang cache invalidation builtin
Zachary Waldowski [Mon, 30 Dec 2013 20:45:51 +0000 (15:45 -0500)]
Darwin/aarch64: Account for long double being equal to double
Zachary Waldowski [Mon, 30 Dec 2013 21:33:47 +0000 (16:33 -0500)]
Darwin/aarch64: Use CNAME, restrict .size like ARM
Zachary Waldowski [Mon, 30 Dec 2013 22:48:22 +0000 (17:48 -0500)]
Darwin/aarch64: Fix invalid reference in assembly
Zachary Waldowski [Mon, 30 Dec 2013 21:23:21 +0000 (16:23 -0500)]
Darwin/x86_64: Fix 64-bit type shortening warnings
Zachary Waldowski [Thu, 9 Jan 2014 18:15:06 +0000 (13:15 -0500)]
Darwin: Merge build scripts, redo project, incl. arm64
Zachary Waldowski [Mon, 30 Dec 2013 22:48:10 +0000 (17:48 -0500)]
Darwin/iOS: Improve unified syntax use for LLVM
Zachary Waldowski [Mon, 30 Dec 2013 20:27:44 +0000 (15:27 -0500)]
Fix dlmalloc warnings due to set_segment_flags, sizeof(size_t)
Zachary Waldowski [Mon, 30 Dec 2013 20:27:14 +0000 (15:27 -0500)]
Darwin/iOS: Fix mis-typing of vfp_reg_free
Zachary Waldowski [Mon, 30 Dec 2013 20:26:20 +0000 (15:26 -0500)]
Darwin/ARM: Assert on NULL dereference
This inhibits an analyzer warning by Clang on all platforms.
Zachary Waldowski [Thu, 9 Jan 2014 18:42:08 +0000 (13:42 -0500)]
Darwin/i386: Inhibit Clang previous prototype warnings
Zachary Waldowski [Thu, 9 Jan 2014 18:41:45 +0000 (13:41 -0500)]
Darwin/ARM: Inhibit Clang previous prototype warnings
Zachary Waldowski [Thu, 9 Jan 2014 18:41:27 +0000 (13:41 -0500)]
Darwin/AArch64: Inhibit Clang previous prototype warnings
Marcus Comstedt [Sat, 4 Jan 2014 18:00:08 +0000 (19:00 +0100)]
Linux/ppc64: Remove assumption on contents of r11 in closure
Paulo Pizarro [Thu, 2 Jan 2014 18:17:59 +0000 (16:17 -0200)]
When the function called by the ffi called a function defined in a shared library generate a fatal error
The correction was to take into consideration the GOT.
Anthony Green [Thu, 5 Dec 2013 21:23:25 +0000 (16:23 -0500)]
Undo iOS ARM64 changes.
Anthony Green [Sun, 1 Dec 2013 03:38:13 +0000 (22:38 -0500)]
Merge branch 'master' of github.com:/atgreen/libffi
Anthony Green [Sun, 1 Dec 2013 02:06:51 +0000 (21:06 -0500)]
Mention Aarch64 on iOS
Anthony Green [Sun, 1 Dec 2013 02:06:51 +0000 (21:06 -0500)]
Mention Aarch64 on iOS
Anthony Green [Sun, 1 Dec 2013 01:58:31 +0000 (20:58 -0500)]
Remove build-ios from Makefile
Anthony Green [Sun, 1 Dec 2013 01:54:54 +0000 (20:54 -0500)]
Merge branch 'master' of github.com:/atgreen/libffi
Add ChangeLog entry.
Anthony Green [Sun, 1 Dec 2013 01:54:39 +0000 (17:54 -0800)]
Merge pull request #60 from zwaldowski/ios-redo
Mac/iOS support, including aarch64 port
Zachary Waldowski [Sat, 30 Nov 2013 18:25:27 +0000 (13:25 -0500)]
Darwin: Properly export headers from Xcode project
Zachary Waldowski [Sat, 30 Nov 2013 17:21:38 +0000 (12:21 -0500)]
Darwin: Freshen gen scripts, remove old build-ios.sh
Zachary Waldowski [Sat, 30 Nov 2013 17:03:51 +0000 (12:03 -0500)]
Darwin/iOS: Include x86_64+aarch64 pieces in library
Zachary Waldowski [Sat, 30 Nov 2013 08:03:37 +0000 (03:03 -0500)]
Darwin/aarch64: size_t assumptions
Zachary Waldowski [Sat, 30 Nov 2013 07:39:34 +0000 (02:39 -0500)]
Darwin/aarch64: Fix “shadows declaration” warnings
Zachary Waldowski [Sat, 30 Nov 2013 07:08:14 +0000 (02:08 -0500)]
Darwin/aarch64: Use Clang cache invalidation builtin
Zachary Waldowski [Sat, 30 Nov 2013 07:07:48 +0000 (02:07 -0500)]
Darwin/aarch64: Inhibit Xcode warning
Zachary Waldowski [Sat, 30 Nov 2013 07:07:34 +0000 (02:07 -0500)]
Darwin/aarch64: double == long double
Zachary Waldowski [Sat, 30 Nov 2013 07:06:00 +0000 (02:06 -0500)]
Darwin/iOS prep script: try and compile for arm64
Zachary Waldowski [Sat, 30 Nov 2013 07:05:22 +0000 (02:05 -0500)]
Darwin/aarch64: Restrict .size to ELF like arm32.
Zachary Waldowski [Sat, 30 Nov 2013 07:04:57 +0000 (02:04 -0500)]
Darwin/aarch64: Potentially(?) fix compile error
Zachary Waldowski [Sat, 30 Nov 2013 07:04:22 +0000 (02:04 -0500)]
Darwin/aarch64: Use CNAME refs
Zachary Waldowski [Sat, 30 Nov 2013 09:13:42 +0000 (04:13 -0500)]
Darwin/Mac: Fix 64/32 shortening warnings
Zachary Waldowski [Sat, 30 Nov 2013 08:03:00 +0000 (03:03 -0500)]
Darwin: Misc size_t warnings
Zachary Waldowski [Sat, 30 Nov 2013 07:55:48 +0000 (02:55 -0500)]
Darwin: Fix dlmalloc warnings due to sizeof(size_t)
Zachary Waldowski [Sat, 30 Nov 2013 09:09:30 +0000 (04:09 -0500)]
Darwin: Rebuild Xcode project
Zachary Waldowski [Sat, 30 Nov 2013 09:09:18 +0000 (04:09 -0500)]
Darwin/iOS: Fix LLVM 3.3 warning re: memcpy.
Zachary Waldowski [Sat, 30 Nov 2013 08:43:42 +0000 (03:43 -0500)]
Darwin: Clean up, modernize generator scripts
Zachary Waldowski [Sat, 30 Nov 2013 08:38:02 +0000 (03:38 -0500)]
Darwin/Mac: Also exclude OS X generated source
Zachary Waldowski [Tue, 24 Apr 2012 15:16:20 +0000 (11:16 -0400)]
Darwin/iOS: More unified syntax support w/ Clang.
Signed-off-by: Zachary Waldowski <zwaldowski@gmail.com>
Zachary Waldowski [Tue, 24 Apr 2012 14:25:29 +0000 (10:25 -0400)]
Darwin/iOS: Simplify RETLDM arguments for LLVM 3.1
Signed-off-by: Zachary Waldowski <zwaldowski@gmail.com>
Zachary Waldowski [Thu, 12 Apr 2012 03:26:04 +0000 (23:26 -0400)]
Darwin: Silence Clang warnings.
Anthony Green [Fri, 22 Nov 2013 02:25:44 +0000 (21:25 -0500)]
Merge branch 'master' of github.com:/atgreen/libffi
Conflicts:
ChangeLog
Alan Modra [Thu, 21 Nov 2013 11:12:35 +0000 (06:12 -0500)]
This separates the 32-bit sysv/linux/bsd code from the 64-bit linux
code, and makes it possible to link code compiled with different
options to those used to compile libffi. For example, a
-mlong-double-128 libffi can be used with -mlong-double-64 code.
Using the return value area as a place to pass parameters wasn't such
a good idea, causing a failure of cls_ulonglong.c. I didn't see this
when running the mainline gcc libffi testsuite because that version of
the test is inferior to the upstreamm libffi test.
Using NUM_FPR_ARG_REGISTERS rather than NUM_FPR_ARG_REGISTERS64 meant
that a parameter save area could be allocated before it was strictly
necessary. Wrong but harmless. Found when splitting apart ffi.c
into 32-bit and 64-bit support.
Alan Modra [Thu, 21 Nov 2013 11:12:35 +0000 (06:12 -0500)]
This separates the 32-bit sysv/linux/bsd code from the 64-bit linux
code, and makes it possible to link code compiled with different
options to those used to compile libffi. For example, a
-mlong-double-128 libffi can be used with -mlong-double-64 code.
Using the return value area as a place to pass parameters wasn't such
a good idea, causing a failure of cls_ulonglong.c. I didn't see this
when running the mainline gcc libffi testsuite because that version of
the test is inferior to the upstreamm libffi test.
Using NUM_FPR_ARG_REGISTERS rather than NUM_FPR_ARG_REGISTERS64 meant
that a parameter save area could be allocated before it was strictly
necessary. Wrong but harmless. Found when splitting apart ffi.c
into 32-bit and 64-bit support.
Anthony Green [Mon, 18 Nov 2013 14:34:04 +0000 (06:34 -0800)]
Merge pull request #59 from iains/powerpc-darwin-unwind-fix
Fix PowerPC Darwin FDE encodings to use pcrel correctly. Modernise the picbase labels.
Iain Sandoe [Mon, 18 Nov 2013 13:11:56 +0000 (13:11 +0000)]
Fix PowerPC Darwin FDE encodings to use pcrel correctly. Modernise the picbase labels.
Anthony Green [Mon, 18 Nov 2013 11:52:29 +0000 (06:52 -0500)]
Clean up code to appease modern GCC compiler.
Alan Modra [Mon, 18 Nov 2013 11:36:03 +0000 (06:36 -0500)]
An #endif in the wrong place would cause compile failure on powerpcle.
Using bl instead of b doesn't cause runtime failures as you might think,
but does mess the processor branch prediction.
Anthony Green [Sat, 16 Nov 2013 11:57:54 +0000 (06:57 -0500)]
Merge branch 'master' of github.com:/atgreen/libffi
Conflicts:
ChangeLog
src/powerpc/ffi.c
Alan Modra [Sat, 16 Nov 2013 11:53:50 +0000 (06:53 -0500)]
Finally, this adds _CALL_ELF == 2 support. ELFv1 objects can't be
linked with ELFv2 objects, so this is one case where preprocessor
tests in ffi.c are fine. Also, there is no need to define a new
FFI_ELFv2 or somesuch value in enum ffi_abi. FFI_LINUX64 will happily
serve both ABIs.
Alan Modra [Sat, 16 Nov 2013 11:53:50 +0000 (06:53 -0500)]
Finally, this adds _CALL_ELF == 2 support. ELFv1 objects can't be
linked with ELFv2 objects, so this is one case where preprocessor
tests in ffi.c are fine. Also, there is no need to define a new
FFI_ELFv2 or somesuch value in enum ffi_abi. FFI_LINUX64 will happily
serve both ABIs.
Alan Modra [Sat, 16 Nov 2013 11:52:43 +0000 (06:52 -0500)]
Andreas' 2013-02-08 change reverted some breakage for struct return
values from 2011-11-12, but in so doing reintroduced string
instructions to sysv.S that are not supported on all powerpc variants.
This patch properly copies the bounce buffer to destination in C code
rather than in asm.
I have tested this on powerpc64-linux, powerpc-linux and
powerpc-freebsd. Well, the last on powerpc-linux by lying to
configure with
CC="gcc -m32 -msvr4-struct-return -mlong-double-64" \
CXX="g++ -m32 -msvr4-struct-return -mlong-double-64" \
/src/libffi-current/configure --build=powerpc-freebsd
and then
make && make CC="gcc -m32" CXX="g++ -m32" \
RUNTESTFLAGS=--target_board=unix/-m32/-msvr4-struct-return/-mlong-double-64\
check
Alan Modra [Sat, 16 Nov 2013 11:41:36 +0000 (06:41 -0500)]
The powerpc64 ABIs align structs passed by value, a fact ignored by
gcc for quite some time. Since gcc now does the correct alignment,
libffi needs to follow suit. This ought to be made selectable via
a new abi value, and the #ifdefs removed from ffi.c along with many
other #ifdefs present there and in assembly. I'll do that with a
followup patch sometime.
This is a revised version of
https://sourceware.org/ml/libffi-discuss/2013/msg00162.html
Alan Modra [Sat, 16 Nov 2013 11:40:13 +0000 (06:40 -0500)]
This patch prepares for ELFv2, where sizes of these areas change. It
also makes some minor changes to improve code efficiency.