cvs commit: src/share/mk bsd.sys.mk sys.mk

John Birrell jb at FreeBSD.org
Thu Nov 22 15:21:13 PST 2007


jb          2007-11-22 23:21:13 UTC

  FreeBSD src repository

  Modified files:
    share/mk             bsd.sys.mk sys.mk 
  Log:
  Re-enable -Werror again.
  
  This time, change the default CFLAGS to match the simple defaults that
  the tinderboxes use. That is, don't use -fno-strict-aliasing by default.
  
  My last attempt to re-anable -Werror gave me a lesson in what strict
  aliasing is all about. There was code in libthr that wasn't 64-bit clean.
  The default use of -fno-strict-aliasing hid that.
  
  By using -fno-strict-aliasing by default we were choosing to ignore
  problems in code which had the potential to shoot ourselves in the
  foot. Sometimes it would be the 64-bit foot. I have both feet. The left
  ones are 32 bits and the right ones are 64 bits. Don't ask about my
  endian orientation. :-)
  
  The -fno-strict-aliasing compiler arg can still be used if NO_STRING_ALIASING
  is define in make.
  
  We are early in the FreeBSD 8 development, so we have the opportunity to
  wait and see if this works for us. I am sure that people will complain.
  We can easily revert this. All I ask is that we take sides: clean code or
  not. YMMV.
  
  Note that by using -fno-strict-aliasing the build won't actually break.
  Only where WARNS is set (and -Werror is used) will a compiler warning break
  the build. The use of WARNS levels implies (to me at least) that the
  developer has taken some care to make the code pass basic checks. This
  commit makes those checks just a little bit more strict.
  
  Revision  Changes    Path
  1.44      +0 -2      src/share/mk/bsd.sys.mk
  1.96      +5 -2      src/share/mk/sys.mk


More information about the cvs-all mailing list