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@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;
vm-dev@lists.squeakfoundation.org