libffi: bump to version 3.3-rc0

- Update site to github (for the time being, as 3.3-rc0 is a release
  candidate, it is not published on the official ftp)
- Update third patch
- Remove fourth and fifth patches (already in version)
- Remove uneeded hooks, as public headers are now installed in the
  standard path since
  982b89c01a
- New risc-v support:
  3840d49aaa

Fixes:
 - http://autobuild.buildroot.org/results/3edf66362ea5a83291f19373e4b6f2e5cce98d7b

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Fabrice Fontaine 2018-11-09 19:00:04 +01:00 committed by Thomas Petazzoni
parent ca17e0c7a0
commit 57cf454c61
5 changed files with 8 additions and 141 deletions

View File

@ -7,6 +7,8 @@ This way it will be possible to build it for soft-float. This is only a
temporary fix. The package needs to be fixed properly.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
[Update for 3.3-rc0]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
src/mips/n32.S | 1 +
src/mips/o32.S | 1 +
@ -17,9 +19,10 @@ index c6985d3..dc842d5 100644
--- a/src/mips/n32.S
+++ b/src/mips/n32.S
@@ -44,6 +44,7 @@
.abicalls
#endif
#if !defined(__mips_isa_rev) || (__mips_isa_rev<6)
.set mips4
#endif
+ .set hardfloat
.text
.align 2

View File

@ -1,77 +0,0 @@
From 733bb188b898385cfb5ad28cc0e3ecaf38237350 Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbx@openadk.org>
Date: Sat, 20 Aug 2016 00:52:19 +0200
Subject: [PATCH] m68k: support ISA-A Coldfire CPUs
Fix compilation for m68k/coldfire CPUs like mcf5208.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thorsten Glaser <tg@mirbsd.de>
---
src/m68k/sysv.S | 29 ++++++++++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/src/m68k/sysv.S b/src/m68k/sysv.S
index ec2b14f..ea40f11 100644
--- a/src/m68k/sysv.S
+++ b/src/m68k/sysv.S
@@ -3,7 +3,7 @@
sysv.S - Copyright (c) 2012 Alan Hourihane
Copyright (c) 1998, 2012 Andreas Schwab
Copyright (c) 2008 Red Hat, Inc.
- Copyright (c) 2012 Thorsten Glaser
+ Copyright (c) 2012, 2016 Thorsten Glaser
m68k Foreign Function Interface
@@ -72,6 +72,15 @@ CALLFUNC(ffi_call_SYSV):
pea 4(%sp)
#if !defined __PIC__
jsr CALLFUNC(ffi_prep_args)
+#elif defined(__uClinux__) && defined(__ID_SHARED_LIBRARY__)
+ move.l _current_shared_library_a5_offset_(%a5),%a0
+ move.l CALLFUNC(ffi_prep_args@GOT)(%a0),%a0
+ jsr (%a0)
+#elif defined(__mcoldfire__) && !defined(__mcfisab__) && !defined(__mcfisac__)
+ move.l #_GLOBAL_OFFSET_TABLE_@GOTPC,%a0
+ lea (-6,%pc,%a0),%a0
+ move.l CALLFUNC(ffi_prep_args@GOT)(%a0),%a0
+ jsr (%a0)
#else
bsr.l CALLFUNC(ffi_prep_args@PLTPC)
#endif
@@ -215,6 +224,15 @@ CALLFUNC(ffi_closure_SYSV):
move.l %a0,-(%sp)
#if !defined __PIC__
jsr CALLFUNC(ffi_closure_SYSV_inner)
+#elif defined(__uClinux__) && defined(__ID_SHARED_LIBRARY__)
+ move.l _current_shared_library_a5_offset_(%a5),%a0
+ move.l CALLFUNC(ffi_closure_SYSV_inner@GOT)(%a0),%a0
+ jsr (%a0)
+#elif defined(__mcoldfire__) && !defined(__mcfisab__) && !defined(__mcfisac__)
+ move.l #_GLOBAL_OFFSET_TABLE_@GOTPC,%a0
+ lea (-6,%pc,%a0),%a0
+ move.l CALLFUNC(ffi_closure_SYSV_inner@GOT)(%a0),%a0
+ jsr (%a0)
#else
bsr.l CALLFUNC(ffi_closure_SYSV_inner@PLTPC)
#endif
@@ -317,6 +335,15 @@ CALLFUNC(ffi_closure_struct_SYSV):
move.l %a0,-(%sp)
#if !defined __PIC__
jsr CALLFUNC(ffi_closure_SYSV_inner)
+#elif defined(__uClinux__) && defined(__ID_SHARED_LIBRARY__)
+ move.l _current_shared_library_a5_offset_(%a5),%a0
+ move.l CALLFUNC(ffi_closure_SYSV_inner@GOT)(%a0),%a0
+ jsr (%a0)
+#elif defined(__mcoldfire__) && !defined(__mcfisab__) && !defined(__mcfisac__)
+ move.l #_GLOBAL_OFFSET_TABLE_@GOTPC,%a0
+ lea (-6,%pc,%a0),%a0
+ move.l CALLFUNC(ffi_closure_SYSV_inner@GOT)(%a0),%a0
+ jsr (%a0)
#else
bsr.l CALLFUNC(ffi_closure_SYSV_inner@PLTPC)
#endif
--
1.7.10.4

View File

@ -1,37 +0,0 @@
From 1f43e5edfd91bee80e518432b80db01f1bf226e3 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Sun, 22 Oct 2017 15:02:11 +0200
Subject: [PATCH] mips: use __linux__ and not linux
The "linux" symbol is not POSIX compliant [1], and therefore not
defined when building with -std=c99. Due to this, the linux
conditional block doesn't get used on Linux when building Python 3.x
(which is built with -std=c99). To fix this, we use the POSIX
compliant __linux__ symbol, which is defined when -std=c99 is used.
This fixes the build of Python 3.x on MIPS/musl configuration, as it
makes sures that <asm/sgidefs.h> gets included and not <sgidefs.h>.
[1] https://sourceforge.net/p/predef/wiki/OperatingSystems/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
src/mips/ffitarget.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mips/ffitarget.h b/src/mips/ffitarget.h
index 717d659..6faa358 100644
--- a/src/mips/ffitarget.h
+++ b/src/mips/ffitarget.h
@@ -32,7 +32,7 @@
#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead."
#endif
-#ifdef linux
+#ifdef __linux__
# include <asm/sgidefs.h>
#elif defined(__rtems__)
/*
--
2.13.6

View File

@ -1,4 +1,4 @@
# From ftp://sourceware.org/pub/libffi/sha512.sum
sha512 980ca30a8d76f963fca722432b1fe5af77d7a4e4d2eac5144fbc5374d4c596609a293440573f4294207e1bdd9fda80ad1e1cafb2ffb543df5a275bc3bd546483 libffi-3.2.1.tar.gz
# Locally calculated
sha256 db41cfb9ec8052fcd116a94c12237303c4447af4844d50e4fea7163661e31743 libffi-v3.3-rc0.tar.gz
# License files, locally calculated
sha256 0f4d7a0bfb83c37465d42dc305f124189196cc0cc2cc8d6f8461103682aebbc5 LICENSE

View File

@ -4,34 +4,12 @@
#
################################################################################
LIBFFI_VERSION = 3.2.1
LIBFFI_SITE = ftp://sourceware.org/pub/libffi
LIBFFI_VERSION = v3.3-rc0
LIBFFI_SITE = $(call github,libffi,libffi,$(LIBFFI_VERSION))
LIBFFI_LICENSE = MIT
LIBFFI_LICENSE_FILES = LICENSE
LIBFFI_INSTALL_STAGING = YES
LIBFFI_AUTORECONF = YES
# Move the headers to the usual location, and adjust the .pc file
# accordingly.
define LIBFFI_MOVE_HEADERS
mv $(1)/lib/libffi-$(LIBFFI_VERSION)/include/*.h $(1)/include/
$(SED) '/^includedir.*/d' -e '/^Cflags:.*/d' \
$(1)/lib/pkgconfig/libffi.pc
rm -rf $(1)/lib/libffi-*
endef
LIBFFI_MOVE_STAGING_HEADERS = $(call LIBFFI_MOVE_HEADERS,$(STAGING_DIR)/usr)
LIBFFI_POST_INSTALL_STAGING_HOOKS += LIBFFI_MOVE_STAGING_HEADERS
HOST_LIBFFI_MOVE_HOST_HEADERS = $(call LIBFFI_MOVE_HEADERS,$(HOST_DIR))
HOST_LIBFFI_POST_INSTALL_HOOKS += HOST_LIBFFI_MOVE_HOST_HEADERS
# Remove headers that are not at the usual location from the target
define LIBFFI_REMOVE_TARGET_HEADERS
$(RM) -rf $(TARGET_DIR)/usr/lib/libffi-$(LIBFFI_VERSION)
endef
LIBFFI_POST_INSTALL_TARGET_HOOKS += LIBFFI_REMOVE_TARGET_HEADERS
$(eval $(autotools-package))
$(eval $(host-autotools-package))