libffi: add AArch64 support

(From OE-Core rev: de7f86532ad284f4a3c3f1486e30a3ac74763f36)

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Marcin Juszkiewicz 2012-11-29 17:41:49 +01:00 committed by Richard Purdie
parent 9f263a60e3
commit 64592f7626
3 changed files with 2740 additions and 2 deletions

View File

@ -0,0 +1,63 @@
Upstream-Status: merged
From 92f009a706c643d49e8d6e5ae6c9fb94ae5b2e9b Mon Sep 17 00:00:00 2001
From: Ricardo Salveti de Araujo <ricardo.salveti@linaro.org>
Date: Sat, 29 Sep 2012 01:07:56 -0300
Subject: [PATCH] aarch64: adding build support
Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@linaro.org>
---
Makefile.am | 6 +++++-
configure.ac | 5 +++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
index 16f32a6..e11050d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -36,7 +36,8 @@ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
msvcc.sh generate-ios-source-and-headers.py \
generate-osx-source-and-headers.py \
libffi.xcodeproj/project.pbxproj \
- src/arm/trampoline.S
+ src/arm/trampoline.S src/aarch64/ffi.c \
+ src/aarch64/ffitarget.h src/aarch64/sysv.S
info_TEXINFOS = doc/libffi.texi
@@ -157,6 +158,9 @@ if FFI_EXEC_TRAMPOLINE_TABLE
nodist_libffi_la_SOURCES += src/arm/trampoline.S
endif
endif
+if AARCH64
+nodist_libffi_la_SOURCES += src/aarch64/sysv.S src/aarch64/ffi.c
+endif
if AVR32
nodist_libffi_la_SOURCES += src/avr32/sysv.S src/avr32/ffi.c
endif
diff --git a/configure.ac b/configure.ac
index 9b946a2..9205391 100644
--- a/configure.ac
+++ b/configure.ac
@@ -63,6 +63,10 @@ case "$host" in
TARGET=ARM; TARGETDIR=arm
;;
+ aarch64*-*-*)
+ TARGET=AARCH64; TARGETDIR=aarch64
+ ;;
+
amd64-*-freebsd* | amd64-*-openbsd*)
TARGET=X86_64; TARGETDIR=x86
;;
@@ -234,6 +238,7 @@ AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
AM_CONDITIONAL(ARM, test x$TARGET = xARM)
+AM_CONDITIONAL(AARCH64, test x$TARGET = xAARCH64)
AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
--
1.7.10.4

File diff suppressed because it is too large Load Diff

View File

@ -9,10 +9,13 @@ A layer must exist above `libffi' that handles type conversions for values passe
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e54c573c49435ccbbd3f6dc9e49a065e"
PR = "r0"
PR = "r1"
SRC_URI = "ftp://sourceware.org/pub/libffi/${BPN}-${PV}.tar.gz \
file://0001-libffi-update-for-3.0.11.patch"
file://0001-libffi-update-for-3.0.11.patch \
file://add-aarch64-support.patch \
file://aarch64-adding-build-support.patch \
"
SRC_URI[md5sum] = "f69b9693227d976835b4857b1ba7d0e3"
SRC_URI[sha256sum] = "70bfb01356360089aa97d3e71e3edf05d195599fd822e922e50d46a0055a6283"