[Vm-dev] Failed to build FloatMathPlugin on FreeBSD

Henrik Johansen henrik.s.johansen at veloxit.no
Thu Mar 10 22:59:58 UTC 2011


The compiler option specifies whether to use available machine code to contract floating point operations with no intermediate rounding.
So unless you're running on a ppc, or some obscure other ones which contain such opcodes, you can safely discard it :)
If you do, the code in FloatMathPlugin contain such structures, and platform-independent results are important to you, it's a good idea to turn on.

Cheers,
Henry

PS. -mno-fused-madd is specific to ppc and a few other platforms according to the GCC docs though...
In November last year, it was aliased to the platform-independent -ffp-contract=off (which I suppose excludes the equivalent IA64 capabilities, as well as any found on future machines), might be a good idea to turn that on just in case in the future.
The equivalent for the intel compiler is IPF-fma strict (for IA64 only).


On Mar 10, 2011, at 9:12 44PM, David T. Lewis wrote:

> 
> On Thu, Mar 10, 2011 at 09:27:23AM -0800, Gary Dunn wrote:
>> 
>> I am setting up to try to add DBus support to the vm. Decided it was
>> time to practice building an unmodified vm. Downloaded sources for
>> 4.4.7.2357. I have been running Squeak with 3.11.3.2135 and that seems
>> to work fine.
>> 
>> make stopped with
>> 
>> [ 10%] Building C object
>> FloatMathPlugin/CMakeFiles/FloatMathPlugin.dir/usr/home/gary/OpenSlate/Squeak/Squeak-4.4.7.2357-src/unix/src/vm/intplugins/FloatMathPlugin/FloatMathPlugin.c.o
>> cc1: error: unrecognized command line option "-mno-fused-madd"
>> *** Error code 1
>> 
>> I was able to make squeak
>> 
>> This is a slightly old version of FreeBSD:
>> 
>> $ uname -a
>> FreeBSD slate01 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #0: Thu Jan 28
>> 06:16:14 HST 2010     gary at slate01:/usr/obj/usr/src/sys/GENERIC  i386
> 
> Hi Gary,
> 
> Apparently the -mno-fused-madd option is supported only on newer gcc compilers.
> As a workaround, look at platforms/unix/plugins/FloatMathPlugin/config.cmake
> and edit it out. Clean out your build directory, then run configure and you
> should be back in business. This will not effect the behavior of your plugin,
> at least not in any way that will be detected by the test suite.
> 
> There was some earlier discussion of this on the list. I suspect that the
> -mno-fused-madd compiler option is completely unnecessary, although I don't
> know for certain if this is the case.
> 
> Can any of our numeric gurus confirm if it is safe to just get rid of this
> compiler option for all platforms? It seems to have no effect that can be
> detected by the unit tests.
> 
> Earlier discussion was here:
>  http://lists.squeakfoundation.org/pipermail/vm-dev/2011-January/006672.html
> 
> Dave
> 
> p.s. welcome to the vm-dev list!
> 



More information about the Vm-dev mailing list