Rebase from GCC
This commit is contained in:
@@ -3,6 +3,20 @@
|
||||
* configure.ac: Fix x86 test for pc related relocs.
|
||||
* confifure: Rebuilt.
|
||||
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
|
||||
Handle case when CPU variant does not have long double support.
|
||||
* libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
|
||||
and cores with soft floating point.
|
||||
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* configure.ac: Add mips*-*-rtems* support.
|
||||
* configure: Regenerate.
|
||||
* src/mips/ffitarget.h: Ensure needed constants are available
|
||||
for targets which do not have sgidefs.h.
|
||||
|
||||
2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
|
||||
PR target/40125
|
||||
|
||||
@@ -1,3 +1,17 @@
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
|
||||
Handle case when CPU variant does not have long double support.
|
||||
* libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
|
||||
and cores with soft floating point.
|
||||
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* configure.ac: Add mips*-*-rtems* support.
|
||||
* configure: Regenerate.
|
||||
* src/mips/ffitarget.h: Ensure needed constants are available
|
||||
for targets which do not have sgidefs.h.
|
||||
|
||||
2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
|
||||
PR target/40125
|
||||
|
||||
2
.pc/debug-build/configure
vendored
2
.pc/debug-build/configure
vendored
@@ -12224,7 +12224,7 @@ case "$host" in
|
||||
TARGET=M68K; TARGETDIR=m68k
|
||||
;;
|
||||
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.*)
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
|
||||
TARGET=MIPS; TARGETDIR=mips
|
||||
;;
|
||||
mips*-*-linux*)
|
||||
|
||||
@@ -118,7 +118,7 @@ case "$host" in
|
||||
TARGET=M68K; TARGETDIR=m68k
|
||||
;;
|
||||
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.*)
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
|
||||
TARGET=MIPS; TARGETDIR=mips
|
||||
;;
|
||||
mips*-*-linux*)
|
||||
|
||||
@@ -1,3 +1,17 @@
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
|
||||
Handle case when CPU variant does not have long double support.
|
||||
* libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
|
||||
and cores with soft floating point.
|
||||
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* configure.ac: Add mips*-*-rtems* support.
|
||||
* configure: Regenerate.
|
||||
* src/mips/ffitarget.h: Ensure needed constants are available
|
||||
for targets which do not have sgidefs.h.
|
||||
|
||||
2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
|
||||
PR target/40125
|
||||
|
||||
@@ -29,9 +29,17 @@
|
||||
|
||||
#ifdef linux
|
||||
# include <asm/sgidefs.h>
|
||||
#elif defined(__rtems__)
|
||||
/*
|
||||
* Subprogram calling convention - copied from sgidefs.h
|
||||
*/
|
||||
#define _MIPS_SIM_ABI32 1
|
||||
#define _MIPS_SIM_NABI32 2
|
||||
#define _MIPS_SIM_ABI64 3
|
||||
#else
|
||||
# include <sgidefs.h>
|
||||
#endif
|
||||
|
||||
# ifndef _ABIN32
|
||||
# define _ABIN32 _MIPS_SIM_NABI32
|
||||
# endif
|
||||
|
||||
@@ -7,6 +7,20 @@
|
||||
* configure.ac: Fix x86 test for pc related relocs.
|
||||
* confifure: Rebuilt.
|
||||
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
|
||||
Handle case when CPU variant does not have long double support.
|
||||
* libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
|
||||
and cores with soft floating point.
|
||||
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* configure.ac: Add mips*-*-rtems* support.
|
||||
* configure: Regenerate.
|
||||
* src/mips/ffitarget.h: Ensure needed constants are available
|
||||
for targets which do not have sgidefs.h.
|
||||
|
||||
2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
|
||||
PR target/40125
|
||||
|
||||
@@ -16,6 +16,20 @@
|
||||
* configure.ac: Fix x86 test for pc related relocs.
|
||||
* confifure: Rebuilt.
|
||||
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
|
||||
Handle case when CPU variant does not have long double support.
|
||||
* libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
|
||||
and cores with soft floating point.
|
||||
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* configure.ac: Add mips*-*-rtems* support.
|
||||
* configure: Regenerate.
|
||||
* src/mips/ffitarget.h: Ensure needed constants are available
|
||||
for targets which do not have sgidefs.h.
|
||||
|
||||
2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
|
||||
PR target/40125
|
||||
|
||||
@@ -1,3 +1,17 @@
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
|
||||
Handle case when CPU variant does not have long double support.
|
||||
* libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
|
||||
and cores with soft floating point.
|
||||
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* configure.ac: Add mips*-*-rtems* support.
|
||||
* configure: Regenerate.
|
||||
* src/mips/ffitarget.h: Ensure needed constants are available
|
||||
for targets which do not have sgidefs.h.
|
||||
|
||||
2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
|
||||
PR target/40125
|
||||
|
||||
@@ -1,3 +1,17 @@
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
|
||||
Handle case when CPU variant does not have long double support.
|
||||
* libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
|
||||
and cores with soft floating point.
|
||||
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* configure.ac: Add mips*-*-rtems* support.
|
||||
* configure: Regenerate.
|
||||
* src/mips/ffitarget.h: Ensure needed constants are available
|
||||
for targets which do not have sgidefs.h.
|
||||
|
||||
2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
|
||||
PR target/40125
|
||||
|
||||
@@ -11,6 +11,20 @@
|
||||
* configure.ac: Fix x86 test for pc related relocs.
|
||||
* confifure: Rebuilt.
|
||||
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
|
||||
Handle case when CPU variant does not have long double support.
|
||||
* libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
|
||||
and cores with soft floating point.
|
||||
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* configure.ac: Add mips*-*-rtems* support.
|
||||
* configure: Regenerate.
|
||||
* src/mips/ffitarget.h: Ensure needed constants are available
|
||||
for targets which do not have sgidefs.h.
|
||||
|
||||
2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
|
||||
PR target/40125
|
||||
|
||||
2
.pc/stand-alone/configure
vendored
2
.pc/stand-alone/configure
vendored
@@ -11391,7 +11391,7 @@ case "$host" in
|
||||
TARGET=M68K; TARGETDIR=m68k
|
||||
;;
|
||||
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.*)
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
|
||||
TARGET=MIPS; TARGETDIR=mips
|
||||
;;
|
||||
mips*-*-linux*)
|
||||
|
||||
@@ -114,7 +114,7 @@ case "$host" in
|
||||
TARGET=M68K; TARGETDIR=m68k
|
||||
;;
|
||||
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.*)
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
|
||||
TARGET=MIPS; TARGETDIR=mips
|
||||
;;
|
||||
mips*-*-linux*)
|
||||
|
||||
@@ -1,3 +1,17 @@
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
|
||||
Handle case when CPU variant does not have long double support.
|
||||
* libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
|
||||
and cores with soft floating point.
|
||||
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* configure.ac: Add mips*-*-rtems* support.
|
||||
* configure: Regenerate.
|
||||
* src/mips/ffitarget.h: Ensure needed constants are available
|
||||
for targets which do not have sgidefs.h.
|
||||
|
||||
2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
|
||||
PR target/40125
|
||||
|
||||
@@ -1,3 +1,17 @@
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
|
||||
Handle case when CPU variant does not have long double support.
|
||||
* libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
|
||||
and cores with soft floating point.
|
||||
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* configure.ac: Add mips*-*-rtems* support.
|
||||
* configure: Regenerate.
|
||||
* src/mips/ffitarget.h: Ensure needed constants are available
|
||||
for targets which do not have sgidefs.h.
|
||||
|
||||
2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
|
||||
PR target/40125
|
||||
|
||||
@@ -1,3 +1,17 @@
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
|
||||
Handle case when CPU variant does not have long double support.
|
||||
* libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
|
||||
and cores with soft floating point.
|
||||
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* configure.ac: Add mips*-*-rtems* support.
|
||||
* configure: Regenerate.
|
||||
* src/mips/ffitarget.h: Ensure needed constants are available
|
||||
for targets which do not have sgidefs.h.
|
||||
|
||||
2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
|
||||
PR target/40125
|
||||
|
||||
2
.pc/win64-underscore/configure
vendored
2
.pc/win64-underscore/configure
vendored
@@ -12230,7 +12230,7 @@ case "$host" in
|
||||
TARGET=M68K; TARGETDIR=m68k
|
||||
;;
|
||||
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.*)
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
|
||||
TARGET=MIPS; TARGETDIR=mips
|
||||
;;
|
||||
mips*-*-linux*)
|
||||
|
||||
@@ -122,7 +122,7 @@ case "$host" in
|
||||
TARGET=M68K; TARGETDIR=m68k
|
||||
;;
|
||||
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.*)
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
|
||||
TARGET=MIPS; TARGETDIR=mips
|
||||
;;
|
||||
mips*-*-linux*)
|
||||
|
||||
@@ -1,3 +1,17 @@
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
|
||||
Handle case when CPU variant does not have long double support.
|
||||
* libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
|
||||
and cores with soft floating point.
|
||||
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* configure.ac: Add mips*-*-rtems* support.
|
||||
* configure: Regenerate.
|
||||
* src/mips/ffitarget.h: Ensure needed constants are available
|
||||
for targets which do not have sgidefs.h.
|
||||
|
||||
2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
|
||||
PR target/40125
|
||||
|
||||
2
.pc/x86_pcrel_test/configure
vendored
2
.pc/x86_pcrel_test/configure
vendored
@@ -12231,7 +12231,7 @@ case "$host" in
|
||||
TARGET=M68K; TARGETDIR=m68k
|
||||
;;
|
||||
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.*)
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
|
||||
TARGET=MIPS; TARGETDIR=mips
|
||||
;;
|
||||
mips*-*-linux*)
|
||||
|
||||
@@ -122,7 +122,7 @@ case "$host" in
|
||||
TARGET=M68K; TARGETDIR=m68k
|
||||
;;
|
||||
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.*)
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
|
||||
TARGET=MIPS; TARGETDIR=mips
|
||||
;;
|
||||
mips*-*-linux*)
|
||||
|
||||
14
ChangeLog
14
ChangeLog
@@ -21,6 +21,20 @@
|
||||
* configure.ac: Fix x86 test for pc related relocs.
|
||||
* confifure: Rebuilt.
|
||||
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
|
||||
Handle case when CPU variant does not have long double support.
|
||||
* libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
|
||||
and cores with soft floating point.
|
||||
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* configure.ac: Add mips*-*-rtems* support.
|
||||
* configure: Regenerate.
|
||||
* src/mips/ffitarget.h: Ensure needed constants are available
|
||||
for targets which do not have sgidefs.h.
|
||||
|
||||
2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
|
||||
PR target/40125
|
||||
|
||||
@@ -383,7 +383,6 @@ psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sys_symbol_underscore = @sys_symbol_underscore@
|
||||
sysconfdir = @sysconfdir@
|
||||
target = @target@
|
||||
target_alias = @target_alias@
|
||||
|
||||
2
configure
vendored
2
configure
vendored
@@ -12231,7 +12231,7 @@ case "$host" in
|
||||
TARGET=M68K; TARGETDIR=m68k
|
||||
;;
|
||||
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.*)
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
|
||||
TARGET=MIPS; TARGETDIR=mips
|
||||
;;
|
||||
mips*-*-linux*)
|
||||
|
||||
@@ -122,7 +122,7 @@ case "$host" in
|
||||
TARGET=M68K; TARGETDIR=m68k
|
||||
;;
|
||||
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.*)
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
|
||||
TARGET=MIPS; TARGETDIR=mips
|
||||
;;
|
||||
mips*-*-linux*)
|
||||
|
||||
@@ -154,9 +154,6 @@
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Define if symbols are underscored. */
|
||||
#undef SYMBOL_UNDERSCORE
|
||||
|
||||
/* Define this if you are using Purify and want to suppress spurious messages.
|
||||
*/
|
||||
#undef USING_PURIFY
|
||||
|
||||
@@ -192,7 +192,6 @@ psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sys_symbol_underscore = @sys_symbol_underscore@
|
||||
sysconfdir = @sysconfdir@
|
||||
target = @target@
|
||||
target_alias = @target_alias@
|
||||
|
||||
@@ -190,7 +190,6 @@ psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sys_symbol_underscore = @sys_symbol_underscore@
|
||||
sysconfdir = @sysconfdir@
|
||||
target = @target@
|
||||
target_alias = @target_alias@
|
||||
|
||||
@@ -2,7 +2,7 @@ Index: libffi/ChangeLog
|
||||
===================================================================
|
||||
--- libffi.orig/ChangeLog
|
||||
+++ libffi/ChangeLog
|
||||
@@ -109,6 +109,13 @@
|
||||
@@ -123,6 +123,13 @@
|
||||
* testsuite/libffi.call/cls_longdouble.c: Likewise.
|
||||
* testsuite/libffi.call/huge_struct.c: Likewise.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ Index: libffi/ChangeLog
|
||||
===================================================================
|
||||
--- libffi.orig/ChangeLog
|
||||
+++ libffi/ChangeLog
|
||||
@@ -109,6 +109,12 @@
|
||||
@@ -123,6 +123,12 @@
|
||||
* testsuite/libffi.call/cls_longdouble.c: Likewise.
|
||||
* testsuite/libffi.call/huge_struct.c: Likewise.
|
||||
|
||||
@@ -127,7 +127,7 @@ Index: libffi/src/mips/ffitarget.h
|
||||
===================================================================
|
||||
--- libffi.orig/src/mips/ffitarget.h
|
||||
+++ libffi/src/mips/ffitarget.h
|
||||
@@ -186,30 +186,29 @@ typedef enum ffi_abi {
|
||||
@@ -194,30 +194,29 @@ typedef enum ffi_abi {
|
||||
FFI_O32_SOFT_FLOAT,
|
||||
FFI_N32_SOFT_FLOAT,
|
||||
FFI_N64_SOFT_FLOAT,
|
||||
|
||||
@@ -2,7 +2,7 @@ Index: libffi/ChangeLog
|
||||
===================================================================
|
||||
--- libffi.orig/ChangeLog
|
||||
+++ libffi/ChangeLog
|
||||
@@ -117,6 +117,10 @@
|
||||
@@ -131,6 +131,10 @@
|
||||
* src/prep_cif.c: Push stack space computation into src/x86/ffi.c
|
||||
for X86_ANY so return value space doesn't get added twice.
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ Index: libffi/ChangeLog
|
||||
===================================================================
|
||||
--- libffi.orig/ChangeLog
|
||||
+++ libffi/ChangeLog
|
||||
@@ -175,6 +175,11 @@
|
||||
@@ -189,6 +189,11 @@
|
||||
* man/Makefile.in: Regenerate.
|
||||
* testsuite/Makefile.in: Regenerate.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ Index: libffi/ChangeLog
|
||||
===================================================================
|
||||
--- libffi.orig/ChangeLog
|
||||
+++ libffi/ChangeLog
|
||||
@@ -109,6 +109,14 @@
|
||||
@@ -123,6 +123,14 @@
|
||||
* testsuite/libffi.call/cls_longdouble.c: Likewise.
|
||||
* testsuite/libffi.call/huge_struct.c: Likewise.
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ Index: libffi/ChangeLog
|
||||
===================================================================
|
||||
--- libffi.orig/ChangeLog
|
||||
+++ libffi/ChangeLog
|
||||
@@ -146,6 +146,14 @@
|
||||
@@ -160,6 +160,14 @@
|
||||
* fficonfig.h.in: Regenerate.
|
||||
* src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ Index: libffi/ChangeLog
|
||||
===================================================================
|
||||
--- libffi.orig/ChangeLog
|
||||
+++ libffi/ChangeLog
|
||||
@@ -42,6 +42,13 @@
|
||||
@@ -56,6 +56,13 @@
|
||||
(.eh_frame): Use FDE_ENCODING.
|
||||
(.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
|
||||
|
||||
|
||||
@@ -8,9 +8,9 @@ Index: libffi/ChangeLog
|
||||
+ * configure.ac: Fix x86 test for pc related relocs.
|
||||
+ * confifure: Rebuilt.
|
||||
+
|
||||
2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
PR target/40125
|
||||
* libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
|
||||
Index: libffi/configure
|
||||
===================================================================
|
||||
--- libffi.orig/configure
|
||||
|
||||
@@ -9,8 +9,12 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#ifdef __rtems__
|
||||
void rtems_cache_flush_multiple_data_lines( const void *, size_t );
|
||||
#else
|
||||
#include <sys/syscall.h>
|
||||
#include <asm/cachectl.h>
|
||||
#endif
|
||||
|
||||
void ffi_call_SYSV (extended_cif *,
|
||||
unsigned, unsigned,
|
||||
@@ -144,9 +148,11 @@ ffi_prep_cif_machdep (ffi_cif *cif)
|
||||
cif->flags = CIF_FLAGS_DOUBLE;
|
||||
break;
|
||||
|
||||
#if (FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE)
|
||||
case FFI_TYPE_LONGDOUBLE:
|
||||
cif->flags = CIF_FLAGS_LDOUBLE;
|
||||
break;
|
||||
#endif
|
||||
|
||||
case FFI_TYPE_POINTER:
|
||||
cif->flags = CIF_FLAGS_POINTER;
|
||||
@@ -266,8 +272,12 @@ ffi_prep_closure_loc (ffi_closure* closure,
|
||||
else
|
||||
*(void **)(closure->tramp + 8) = ffi_closure_SYSV;
|
||||
|
||||
#ifdef __rtems__
|
||||
rtems_cache_flush_multiple_data_lines( codeloc, FFI_TRAMPOLINE_SIZE );
|
||||
#else
|
||||
syscall(SYS_cacheflush, codeloc, FLUSH_SCOPE_LINE,
|
||||
FLUSH_CACHE_BOTH, FFI_TRAMPOLINE_SIZE);
|
||||
#endif
|
||||
|
||||
closure->cif = cif;
|
||||
closure->user_data = user_data;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
/* -----------------------------------------------------------------------
|
||||
|
||||
sysv.S - Copyright (c) 1998 Andreas Schwab
|
||||
Copyright (c) 2008 Red Hat, Inc.
|
||||
|
||||
@@ -85,7 +86,12 @@ ffi_call_SYSV:
|
||||
move.l 16(%fp),%d2
|
||||
|
||||
| If the return value pointer is NULL, assume no return value.
|
||||
| NOTE: On the mc68000, tst on an address register is not supported.
|
||||
#if defined(__mc68000__) && !defined(__mcoldfire__)
|
||||
cmp.w #0, %a1
|
||||
#else
|
||||
tst.l %a1
|
||||
#endif
|
||||
jbeq noretval
|
||||
|
||||
btst #0,%d2
|
||||
@@ -103,19 +109,34 @@ retlongint:
|
||||
retfloat:
|
||||
btst #2,%d2
|
||||
jbeq retdouble
|
||||
#if defined(__MC68881__)
|
||||
fmove.s %fp0,(%a1)
|
||||
#else
|
||||
move.l %d0,(%a1)
|
||||
#endif
|
||||
jbra epilogue
|
||||
|
||||
retdouble:
|
||||
btst #3,%d2
|
||||
jbeq retlongdouble
|
||||
#if defined(__MC68881__)
|
||||
fmove.d %fp0,(%a1)
|
||||
#else
|
||||
move.l %d0,(%a1)+
|
||||
move.l %d1,(%a1)
|
||||
#endif
|
||||
jbra epilogue
|
||||
|
||||
retlongdouble:
|
||||
btst #4,%d2
|
||||
jbeq retpointer
|
||||
#if defined(__MC68881__)
|
||||
fmove.x %fp0,(%a1)
|
||||
#else
|
||||
move.l %d0,(%a1)+
|
||||
move.l %d1,(%a1)+
|
||||
move.l %d2,(%a1)
|
||||
#endif
|
||||
jbra epilogue
|
||||
|
||||
retpointer:
|
||||
@@ -178,16 +199,31 @@ ffi_closure_SYSV:
|
||||
move.l (%a0),%d1
|
||||
jra .Lcls_epilogue
|
||||
.Lcls_ret_float:
|
||||
#if defined(__MC68881__)
|
||||
fmove.s (%a0),%fp0
|
||||
#else
|
||||
move.l (%a0),%d0
|
||||
#endif
|
||||
jra .Lcls_epilogue
|
||||
1:
|
||||
lsr.l #2,%d0
|
||||
jne 1f
|
||||
jcs .Lcls_ret_ldouble
|
||||
#if defined(__MC68881__)
|
||||
fmove.d (%a0),%fp0
|
||||
#else
|
||||
move.l (%a0)+,%d0
|
||||
move.l (%a0),%d1
|
||||
#endif
|
||||
jra .Lcls_epilogue
|
||||
.Lcls_ret_ldouble:
|
||||
#if defined(__MC68881__)
|
||||
fmove.x (%a0),%fp0
|
||||
#else
|
||||
move.l (%a0)+,%d0
|
||||
move.l (%a0)+,%d1
|
||||
move.l (%a0),%d2
|
||||
#endif
|
||||
jra .Lcls_epilogue
|
||||
1:
|
||||
lsr.l #2,%d0
|
||||
|
||||
@@ -29,9 +29,17 @@
|
||||
|
||||
#ifdef linux
|
||||
# include <asm/sgidefs.h>
|
||||
#elif defined(__rtems__)
|
||||
/*
|
||||
* Subprogram calling convention - copied from sgidefs.h
|
||||
*/
|
||||
#define _MIPS_SIM_ABI32 1
|
||||
#define _MIPS_SIM_NABI32 2
|
||||
#define _MIPS_SIM_ABI64 3
|
||||
#else
|
||||
# include <sgidefs.h>
|
||||
#endif
|
||||
|
||||
# ifndef _ABIN32
|
||||
# define _ABIN32 _MIPS_SIM_NABI32
|
||||
# endif
|
||||
|
||||
@@ -167,7 +167,6 @@ psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sys_symbol_underscore = @sys_symbol_underscore@
|
||||
sysconfdir = @sysconfdir@
|
||||
target = @target@
|
||||
target_alias = @target_alias@
|
||||
|
||||
Reference in New Issue
Block a user