prim 40 asFloat

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

prim 40 asFloat


I am seeing something which may be related.

I am seeing failures on a locally built VM in 2 out of 4 machines which fail 2 Cuis FFI unit tests.

The FFI tests pass green on aarch64 on Samsung Chromebook Plus/Linux and LePotato/Linux.

However, in Raspberry Pi 3 [ArchLinuxArm=linux/aarch64] and an old x86_64 Ubuntu Linux machine I get matching failures.

 - FFIPluginTest>>#testGenericDoubleCall2
 - FFIPluginTest>>#testMixedDoublesIntAndStruct

In each case I am using locally built VMs with the same code from git.  My cloned repository ( was current with OpenSmalltalk's master as of a couple of weeks ago.  I have not synched since then as I have a pull request open for my (proposed) changes to support aarch64 and am waiting for integration into the master to test.

The other test cases pass.

In each case a double result is properly returned (gdb) but I get lost in gcc3x_interp.c floatObjectOf() details.

I am time stressed at the moment, but gdb is showing that the proper values were calculated by the ffiTest prims.

Just after the test funs, in the FFIPlugin code (ARM64FFIPlugin.c) there is a code line

      result1 = floatObjectOf(floatRet);

Just before this, gdb shows 'floatRet' as correct.

Just after, result1 looks good.