[Vm-dev] Thanks, I was able to build Cog

David T. Lewis lewis at mail.msen.com
Tue Jul 5 11:44:49 UTC 2011

On Mon, Jul 04, 2011 at 11:39:14PM -0400, Dimitry Golubovsky wrote:
> Hi,
> Thanks Igor and Mariano. I synced my clone repo with blessed, and was
> able to build Cog via cmake (looks like I did not read one paragraph
> in Mariano's guide ;)
> I ran into the cc1: error: unrecognized command line option
> "-mno-fused-madd" error while compiling the float math plugin.
> I use
> dima at slax:~/src/cogvm/dmg-blessed/build$ gcc --version
> gcc (GCC) 4.2.4
> Copyright (C) 2007 Free Software Foundation, Inc.
> not very new but did not really have plans to upgrade it. I followed
> this discussion:
> http://forum.world.st/Failed-to-build-FloatMathPlugin-on-FreeBSD-td3346374.html
> commenting out the relevant line in FloatMathPlugin/CMakeLists.txt
> I see where it is coming from (class CPlatformConfig in CMakeVMMaker):
> configureFloatMathPlugin: maker
> 	"extra rules for FloatMathPlugin"
> ....
> 	"according to http://www.netlib.org/fdlibm/readme
> 	it should be compiled with no optimizations"
> 	maker addDefinitions: '-O0 -mno-fused-madd'.

I would suggest removing the -mno-fused-madd option from the cmake
configuration. Ian made this change for the cmake build in trunk,
see platforms/unix/plugins/FloatMathPlugin/config.cmake for reference.

Some background is at http://bugs.squeak.org/view.php?id=7592 and
also some discussion on vm-dev, but to summarize the conclusion as
I understand it:

  There is no evidence that the -mno-fused-madd option has any
  effect on the plugin that can be detected by the unit tests.
  This is a non-portable compiler option that is not necessary
  for correct functioning of the plugin, and therefore should
  not be used.


More information about the Vm-dev mailing list