Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Feb 2003 22:34:21 -0800 (PST)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/alpha/include atomic.h
Message-ID:  <200302230634.h1N6YLQL023151@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
marcel      2003/02/22 22:34:21 PST

  Modified files:
    sys/alpha/include    atomic.h 
  Log:
  Workaround for compiling LINT. Large kernels (like LINT) can have
  branch targets that are too far apart for the BRADDR relocation.
  This is caused by the branch prediction optimizationi in the atomic
  inlines here, because they jump across sections.
  The workaround is to suppress jumping to a different section when
  compiling LINT. To generate correct code in that case, the section
  directives are replaced by a branch and a label to deal with the
  fall-through case. Reasonably good C compilers will optimize this
  away anyway, so the end result isn't really that bad.
  
  Revision  Changes    Path
  1.18      +32 -20    src/sys/alpha/include/atomic.h

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-src" in the body of the message




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