[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 82b061: Fix minor slip in register printing (crash.dmp)

GitHub noreply at github.com
Thu Aug 11 16:32:09 UTC 2016

  Branch: refs/heads/LLP64
  Home:   https://github.com/OpenSmalltalk/opensmalltalk-vm
  Commit: 82b061c47540b9f414758210c7fb4af6ed1a8c5c
  Author: Nicolas Cellier <nicolas.cellier at sirehna.com>
  Date:   2016-08-11 (Thu, 11 Aug 2016)

  Changed paths:
    M platforms/win32/vm/sqWin32Main.c

  Log Message:
  Fix minor slip in register printing (crash.dmp)

  Commit: 9e2a2c5a61783e5551d8e1c01c630a779c555cf3
  Author: Nicolas Cellier <nicolas.cellier at sirehna.com>
  Date:   2016-08-11 (Thu, 11 Aug 2016)

  Changed paths:
    M platforms/Cross/plugins/IA32ABI/arm32ia32abicc.c
    M platforms/Cross/plugins/IA32ABI/ia32abi.h
    M platforms/Cross/plugins/IA32ABI/ia32abicc.c
    M platforms/Cross/plugins/IA32ABI/ppc32abicc.c
    M platforms/Cross/plugins/IA32ABI/x64ia32abicc.c
    M platforms/Cross/plugins/IA32ABI/x64win64ia32abicc.c

  Log Message:
  Make sure that the stack pointer points to large enough words in thunkEntry

This is a fix for LLP64 (x64 win64)
Words are large enough when == sizeof(void *)
Indeed, we want to skip other return address and things like that...

  Commit: 4126e793ca711aebafa20ccb45dd57b1043c97d7
  Author: Nicolas Cellier <nicolas.cellier at sirehna.com>
  Date:   2016-08-11 (Thu, 11 Aug 2016)

  Changed paths:
    M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c
    M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c
    M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c
    M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c

  Log Message:
  Fix the preamble for x64 win64 threaded FFI

The alloca was replaced by gestsp, but getsp was bogusly defined as zero on x64 architecture.
Let's trust alloca on x64 mingw gcc configuration, and let's define x64 getsp/setsp asm macros.
TODO: provide a getsp/setsp for MSVC which does not embed asm inlining in 64bits version...

Fix a missing return value for the case of x64 win64 FFI call with single float result.

NOTE 1: since the preamble is common to all architectures (x64 sysv, arm32, ia32, ...),
we also publish them just to check that it does not break anything.
But this shouldn't change anything at all.

NOTE 2: With these changes, FFI-Tests-EstebanLorenzano.8 are not generating SEG FAULT anymore.
But there are failing tests related to passing and/or returning float/double values.

Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/9005773a66bc...4126e793ca71

More information about the Vm-dev mailing list