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.
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.

jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase