Author: piumarta
Date: 2009-09-10 13:04:16 -0700 (Thu, 10 Sep 2009)
New Revision: 2130
Modified:
trunk/platforms/unix/ChangeLog
trunk/platforms/unix/plugins/SqueakFFIPrims/x86-sysv-asm.S
Log:
pop when storing float return value from ffi call
Modified: trunk/platforms/unix/ChangeLog
===================================================================
--- trunk/platforms/unix/ChangeLog 2009-09-08 23:42:09 UTC (rev 2129)
+++ trunk/platforms/unix/ChangeLog 2009-09-10 20:04:16 UTC (rev 2130)
@@ -1,3 +1,9 @@
+2009-09-10 <
[hidden email]>
+
+ * plugins/SqueakFFIPrims/x86-sysv-asm.S (ffiCallAddressOf): Pop a
+ float return value off the FPU stack, even though we don't know
+ there's anything there to pop nor whether we own it if there is.
+
2009-09-08 <
[hidden email]>
* plugins/ClipboardExtendedPlugin/config.cmake: Added: disable
Modified: trunk/platforms/unix/plugins/SqueakFFIPrims/x86-sysv-asm.S
===================================================================
--- trunk/platforms/unix/plugins/SqueakFFIPrims/x86-sysv-asm.S 2009-09-08 23:42:09 UTC (rev 2129)
+++ trunk/platforms/unix/plugins/SqueakFFIPrims/x86-sysv-asm.S 2009-09-10 20:04:16 UTC (rev 2130)
@@ -2,9 +2,9 @@
*
* Author:
[hidden email]
*
- * Last edited: 2006-10-18 10:07:25 by piumarta on emilia.local
+ * Last edited: 2009-09-10 12:55:54 by piumarta on emilia-2.local
*
- * Copyright (C) 1996-2004 by Ian Piumarta and other authors/contributors
+ * Copyright (C) 1996-2009 by Ian Piumarta and other authors/contributors
* listed elsewhere in this file.
* All rights reserved.
*
@@ -48,7 +48,7 @@
2: call *8(%ebp)
movl %eax, ffiIntReturnValue
movl %edx, ffiLongReturnValue
- fstl ffiFloatReturnValue
+ fstpl ffiFloatReturnValue
movl %ebp, %esp
popl %ebp
ret