Anonymous | Login | 03-04-2021 15:54 UTC |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | |||||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | |||||||
0007237 | [Squeak] VM | feature | always | 11-28-08 16:16 | 10-23-10 16:59 | |||||||
Reporter | lewis | View Status | public | |||||||||
Assigned To | lewis | |||||||||||
Priority | normal | Resolution | open | |||||||||
Status | acknowledged | Product Version | ||||||||||
Summary | 0007237: Make FFI work on 64 bit platforms | |||||||||||
Description |
FFI has a number of 32 bit dependencies that prevent operation on 64 bit point size machines. Details were reported on the vm-dev list: http://lists.squeakfoundation.org/pipermail/vm-dev/2008-May/001945.html [^] Overall changes involve: - Add FFIPlugin>>primitiveSizeOfPointer for runtime address size check - ExternalAddress is either 4 or 8 bytes wide, initialized at image startup - Remove all casts from pointer to int for FFI plugin and interpreter (VM minor version bump) - Recompile all methods with cdecl or apicall pragmas (must to done for any image to run properly on 64 bit host) |
|||||||||||
Additional Information |
With changes applied, status is as follows: Platform FFI testing as of Mon May 26 14:26:22 EDT 2008 "GREEN" means no compiler warnings, all SUnits pass, and the X11/Win32 examples work. ====================================================================================================== VM config.guess FFI implementation host image status -- ------------ ------------------- ---- ----- ------ win32 32 bit Windows on AMD64 sqWin32FFI.c 32 bit 32 bit GREEN win32 32 bit Windows on AMD64 sqWin32FFI.c 32 bit 64 bit tbd unix i686-pc-linux-gnu x86-sysv.c+x86-sysv-asm.S 32 bit 32 bit GREEN unix i686-pc-linux-gnu x86-sysv.c+x86-sysv-asm.S 32 bit 64 bit GREEN unix i686-pc-linux-gnu any-libffi.c 32 bit 32 bit GREEN unix i686-pc-linux-gnu any-libffi.c 32 bit 64 bit GREEN unix x86_64-unknown-linux-gnu any-libffi.c 64 bit 32 bit GREEN unix x86_64-unknown-linux-gnu any-libffi.c 64 bit 64 bit GREEN unix x86_64-unknown-linux-gnu x86_64-sysv.c+x86_64_sysv-asm.S 64 bit 32 bit Not implemented(*) unix x86_64-unknown-linux-gnu x86_64-sysv.c+x86_64_sysv-asm.S 64 bit 64 bit Not implemented(*) unix ppc-darwin.c+ppc-darwin-asm.S ? 32 bit Needs testing(**) unix ppc-darwin.c+ppc-darwin-asm.S ? 64 bit Needs testing(**) unix ppc-sysv.c+ppc-sysv-asm.S ? 32 bit Needs testing(**) unix ppc-darwin.c+ppc-darwin-asm.S ? 64 bit Needs testing(**) Mac OS ... (should be easy update) RiscOS ... (no FFI implementation?) |
|||||||||||
Attached Files |
![]() ![]() |
|||||||||||
|
![]() |
|||||||||||
SYSTEM WARNING: Creating default object from empty value
|
![]() |
|
(0013074 - 381 - 381 - 381 - 591 - 591 - 591) lewis 04-03-09 02:53 |
FFI-primitiveFFIIntegerAt-dtl-M6987-M7237.1.cs is a fix for an FFI issue reported in Mantis 6987 in the test cases FFITestCase.st (see attachments to 0006987). This fix should be applied after the 64-bit FFI updates in order to fully resolve the issues in 0006987. Note that FFI-primitiveFFIIntegerAt-dtl-M6987-M7237.1.cs requires an update to sqMemoryAccess.h in the platform sources. |
(0013889 - 182 - 192 - 192 - 192 - 192 - 192) lewis 10-23-10 16:59 |
This issue affects VM, a plugin in VMMaker, the image, and the external FFI package. VM issues are a prerequisite to fixing the rest, so recategorize to "VM" and assign it to myself. |
Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
59 total queries executed. 38 unique queries executed. |