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>
