Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Oct 2006 07:00:07 +0000 (UTC)
From:      Bruce Evans <bde@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/i386/include atomic.h
Message-ID:  <200610220700.k9M707nM006422@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200610220700.k9M707nM006422>