[Vm-dev] [commit] r2374 - Re-enable FloatMathPlugin optimisation. Resolve plugin symbols lazily on FreeBSD.

commits at squeakvm.org commits at squeakvm.org
Wed Mar 30 08:24:31 UTC 2011


Author: piumarta
Date: 2011-03-30 01:24:30 -0700 (Wed, 30 Mar 2011)
New Revision: 2374

Modified:
   trunk/platforms/unix/ChangeLog
   trunk/platforms/unix/plugins/FloatMathPlugin/config.cmake
   trunk/platforms/unix/vm/sqUnixExternalPrims.c
Log:
Re-enable FloatMathPlugin optimisation.  Resolve plugin symbols lazily on FreeBSD.

Modified: trunk/platforms/unix/ChangeLog
===================================================================
--- trunk/platforms/unix/ChangeLog	2011-03-21 17:48:42 UTC (rev 2373)
+++ trunk/platforms/unix/ChangeLog	2011-03-30 08:24:30 UTC (rev 2374)
@@ -1,3 +1,9 @@
+2011-03-30  Ian Piumarta  <piumarta at freebsd.piumarta.com>
+
+	* plugins/FloatMathPlugin/config.cmake: Re-enable GCC optimisations.
+
+	* vm/sqUnixExternalPrims.c: Resolve symbols lazily on FreeBSD.
+
 2011-03-14  Ian Piumarta  <com -dot- gmail -at- piumarta (backwards)>
 
 	* plugins/SerialPlugin/sqUnixSerial.c (portOpenFailed): Ensure

Modified: trunk/platforms/unix/plugins/FloatMathPlugin/config.cmake
===================================================================
--- trunk/platforms/unix/plugins/FloatMathPlugin/config.cmake	2011-03-21 17:48:42 UTC (rev 2373)
+++ trunk/platforms/unix/plugins/FloatMathPlugin/config.cmake	2011-03-30 08:24:30 UTC (rev 2374)
@@ -7,10 +7,10 @@
   PLUGIN_DEFINITIONS (-D__LITTLE_ENDIAN=1)
 ENDIF ()
 
+SET (LIBM_CFLAGS "${CMAKE_C_FLAGS}")
+
 # GCC optimizations break fdlibm so disable them for now.
-
-IF (CMAKE_COMPILER_IS_GNUCC)
-  SET (LIBM_CFLAGS "${CMAKE_C_FLAGS} -O0 -mno-fused-madd")
-ELSE ()
-  SET (LIBM_CFLAGS "${CMAKE_C_FLAGS}")
-ENDIF ()
+# 
+# IF (CMAKE_COMPILER_IS_GNUCC AND CMAKE_SYSTEM_NAME STREQUAL "Linux")
+#   SET (LIBM_CFLAGS "${CMAKE_C_FLAGS} -O0 -mno-fused-madd")
+# ENDIF ()

Modified: trunk/platforms/unix/vm/sqUnixExternalPrims.c
===================================================================
--- trunk/platforms/unix/vm/sqUnixExternalPrims.c	2011-03-21 17:48:42 UTC (rev 2373)
+++ trunk/platforms/unix/vm/sqUnixExternalPrims.c	2011-03-30 08:24:30 UTC (rev 2374)
@@ -100,6 +100,11 @@
   extern int sqIgnorePluginErrors;
 #endif
 
+#if defined(__FreeBSD__)
+# undef RTLD_NOW
+# define RTLD_NOW RTLD_LAZY
+#endif
+
 /*** options ***/
 
 extern char *squeakPlugins;



More information about the Vm-dev mailing list