[squeak-dev] RE: FFI+Linux+double return value

Schwab,Wilhelm K bschwab at anest.ufl.edu
Tue Apr 6 20:05:17 UTC 2010


Nicolas,

I am running this on Ubuntu (9.10) and have been using the Pharo 0.15.2f vm.  I just tried a Squeak vm (3.11-3) and could not get it to load my library.  I have been using an absolute path the the .so; could that be the problem with the Squeak vm??

There has been a lot of discussion of the Pharo Linux vm lately, with some links and corrections, so I'll have to look around a little.

You asked if I can check the vm sources; the concern is whether or not I will have anything to add :)  Is there something specific you want me to do?

Bill


-----Original Message-----
From: pharo-project-bounces at lists.gforge.inria.fr [mailto:pharo-project-bounces at lists.gforge.inria.fr] On Behalf Of Schwab,Wilhelm K
Sent: Tuesday, April 06, 2010 1:46 PM
To: Pharo-project at lists.gforge.inria.fr; The general-purpose Squeak developers list
Subject: [Pharo-project] FFI+Linux+double return value

Hello all,

I had some strange results with double return values and boiled it down to a C function

Double AnyDouble()
{
	return 1.0;
}

called via

  anyDouble
  < cdecl: double 'AnyDouble' () >

and driven by

| out |
out := Array writeStream.
100 timesRepeat:[
  out nextPut:Library default anyDouble
].
out contents.

The results are not good.  It works for the first three elements, after which it produces NaN.  The real problem appears to be comparison of floats being broken after that point, as evidenced by a walkback that arises when trying to inspect the resulting collection - exploring it works.

I need to try this on the latest image/vm, but wanted to start gathering opinions.  Any ideas?

Bill



_______________________________________________
Pharo-project mailing list
Pharo-project at lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



More information about the Squeak-dev mailing list