cvs commit: src/sys/i386/include atomic.h

Bruce Evans bde at FreeBSD.org
Sun Oct 22 07:00:35 UTC 2006


bde         2006-10-22 07:00:07 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_4)
    sys/i386/include     atomic.h 
  Log:
  MFC: parts of the following, so that atomic.h in RELENG_4 can be
  compiled by RELENG_6's compiler:
  1.26: pass constraints as a parameter since chars and shorts need
        different ones.
  1.27: fix pedantic syntax errors.
  1.40: don't use the '+' constraint so much, since gcc-3.3.mumble broke
        it for non-register operands.
  
  1.40 essentially backs outs 1.22, and also avoids using the "0"
  constraint, and also remumbers asm parameters.  1.22 had already been
  merged to RELENG_4 in 1.9.2.2 in order to fix compiling with -O0 with
  RELENG_4's compiler.  This turned out to be not future-proof.  I think
  the "0" constaint would work with gcc-3, but not using it is a better
  way to fix compiling with -O0 in RELENG_4.  Problems in this area go
  back to gcc-2.early or gcc-1 when the "0" and "+" constraints didn't
  exist and there were no correct alternatives for them.  1.9.2.1
  unnecessarily used an incorrect alternative that happened to work
  except for -O0.
  
  This change is essentially null when compiled by RELENG_4's compiler.
  For GENERIC, LINT and one other configuration, it changes no object
  files except atomic.o compiled with -O0; for the latter it gives
  different register allocation and some unused instructions.
  
  Revision  Changes    Path
  1.9.2.5   +26 -25    src/sys/i386/include/atomic.h


More information about the cvs-all mailing list