Add OpenRISC support

This patch adds support for the OpenRISC architecture.
(http://opencores.org/or1k/Main_Page)

This patch has been tested under Linux with QEMU-user emulation support.
- 32 Bit
- big endian
- delayed instructions
This is the only available configuration under Linux.

The description of the ABI can be found on the official website.

Is passes the testsuite except of the unwindtest_ffi_call.cc
testcase, which seems to be a problem of gcc and not libffi.
Some testcases of the gcc testsuite still fail.

Signed-off-by: Sebastian Macke <sebastian@macke.de>
This commit is contained in:
Sebastian Macke
2014-09-27 00:19:15 +00:00
parent 6695983d2f
commit 0f316ab7c1
6 changed files with 503 additions and 0 deletions

View File

@@ -24,6 +24,7 @@ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj \
src/microblaze/ffi.c src/microblaze/sysv.S \
src/microblaze/ffitarget.h \
src/nios2/ffi.c src/nios2/ffitarget.h src/nios2/sysv.S \
src/or1k/ffi.c src/or1k/ffitarget.h src/or1k/sysv.S \
src/powerpc/ffi.c src/powerpc/ffi_powerpc.h \
src/powerpc/ffi_sysv.c src/powerpc/ffi_linux64.c \
src/powerpc/sysv.S src/powerpc/linux64.S \
@@ -169,6 +170,9 @@ endif
if NIOS2
nodist_libffi_la_SOURCES += src/nios2/sysv.S src/nios2/ffi.c
endif
if OR1K
nodist_libffi_la_SOURCES += src/or1k/sysv.S src/or1k/ffi.c
endif
if POWERPC
nodist_libffi_la_SOURCES += src/powerpc/ffi.c src/powerpc/ffi_sysv.c src/powerpc/ffi_linux64.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
endif