diff options
author | Anthony Green <green@moxielogic.com> | 2013-03-16 08:01:19 -0400 |
---|---|---|
committer | Anthony Green <green@moxielogic.com> | 2013-03-16 08:12:19 -0400 |
commit | 8a286f570ccd41db81f74ea7f248da62241d898a (patch) | |
tree | 88e4ea01bccd2dafe2a80ba1fc9d8e5f230a336a | |
parent | 215763d012a944d95406b394d6013b80d220e870 (diff) | |
download | libffi-8a286f570ccd41db81f74ea7f248da62241d898a.tar.gz |
Fix for m68000 systems
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | README | 1 | ||||
-rw-r--r-- | src/m68k/sysv.S | 12 |
3 files changed, 18 insertions, 0 deletions
@@ -1,3 +1,8 @@ +2013-03-16 Alan Hourihane <alanh@fairlite.co.uk> + + * src/m68k/sysv.S (epilogue): Don't user extb instruction on + m680000 machines. + 2013-03-16 Alex Gaynor <alex.gaynor@gmail.com> * src/x86/ffi.c (ffi_prep_cif_machdep): Always align stack. @@ -168,6 +168,7 @@ See the ChangeLog files for details. Add Meta support. Add missing Moxie bits. Fix stack alignment bug on 32-bit x86. + Build fix for m68000 targets. 3.0.12 Feb-11-13 Add Moxie support. diff --git a/src/m68k/sysv.S b/src/m68k/sysv.S index 9504c6a..ec2b14f 100644 --- a/src/m68k/sysv.S +++ b/src/m68k/sysv.S @@ -176,7 +176,13 @@ retstruct2: retsint8: btst #8,%d2 jbeq retsint16 + | NOTE: On the mc68000, extb is not supported. 8->16, then 16->32. +#if !defined(__mc68020__) && !defined(__mc68030__) && !defined(__mc68040__) && !defined(__mc68060__) && !defined(__mcoldfire__) + ext.w %d0 + ext.l %d0 +#else extb.l %d0 +#endif move.l %d0,(%a1) jbra epilogue @@ -279,7 +285,13 @@ CALLFUNC(ffi_closure_SYSV): jra .Lcls_epilogue .Lcls_ret_sint8: move.l (%a0),%d0 + | NOTE: On the mc68000, extb is not supported. 8->16, then 16->32. +#if !defined(__mc68020__) && !defined(__mc68030__) && !defined(__mc68040__) && !defined(__mc68060__) && !defined(__mcoldfire__) + ext.w %d0 + ext.l %d0 +#else extb.l %d0 +#endif jra .Lcls_epilogue 1: | CIF_FLAGS_SINT16 |