Use -O2 -fno-strict-aliasing optimization for FreeBSD
authorMarcin Cieslak <saper@saper.info>
Tue, 2 Oct 2012 00:10:35 +0000 (02:10 +0200)
committerJon Trulson <jon@radscan.com>
Tue, 2 Oct 2012 00:59:20 +0000 (18:59 -0600)
- Switching from -O to -O2 after the dthelp problem
  has been resolved
- Introducing -fno-strict-aliasing (currently FreeBSD's
  default) to avoid silent change of behaviour of legacy code.

  http://thiemonagel.de/2010/01/no-strict-aliasing/

  http://jeffreystedfast.blogspot.de/2010/01/weird-bugs-due-to-gcc-44-and-strict.html

Analysis of C99 aliasing (we are not C99 yet):

  http://davmac.wordpress.com/2010/02/26/c99-revisited/

cde/config/cf/FreeBSD.cf

index cc6bf1369ee5bf8bf8d8e7f62a920a054b82174a..fc7390291f8afe0bf75ac5907e769af5b8b142d0 100644 (file)
@@ -138,14 +138,14 @@ XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVe
 /* The GCC strength-reduce bug is fixed for FreeBSD 2.1.5 and later */
 #ifndef DefaultGcc2i386Opt
 #if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 1) || (OSMajorVersion == 2 && OSMinorVersion == 1 && OSTeenyVersion >= 5)
-#define DefaultGcc2i386Opt -O
+#define DefaultGcc2i386Opt -O2 -fno-strict-aliasing
 #endif
 #endif
 
 #ifdef i386Architecture
 # define OptimizedCDebugFlags DefaultGcc2i386Opt
 #else
-# define OptimizedCDebugFlags -O
+# define OptimizedCDebugFlags -O2 -fno-strict-aliasing
 #endif
 
 #define ServerExtraDefines     GccGasOption XFree86ServerDefines