diff options
author | marius <marius@FreeBSD.org> | 2008-06-25 21:04:59 +0000 |
---|---|---|
committer | marius <marius@FreeBSD.org> | 2008-06-25 21:04:59 +0000 |
commit | 762f29e950fd1511beb76c95c5014bb779d4f5ed (patch) | |
tree | 21030df4cb541765bdaedd12c3aa316481b0b10e /lib/csu | |
parent | ae81de5ecb29ad447d9bdb8bacda9a37a92a4ed6 (diff) | |
download | FreeBSD-src-762f29e950fd1511beb76c95c5014bb779d4f5ed.zip FreeBSD-src-762f29e950fd1511beb76c95c5014bb779d4f5ed.tar.gz |
Use "__asm __volatile" rather than "__asm" for instruction sequences
that modify condition codes (the carry bit, in this case). Without
"__volatile", the compiler might add the inline assembler instructions
between unrelated code which also uses condition codes, modifying the
latter.
This prevents the TCP pseudo header checksum calculation done in
tcp_output() from having effects on other conditions when compiled
with GCC 4.2.1 at "-O2" and "options INET6" left out. [1]
Reported & tested by: Boris Kochergin [1]
MFC after: 3 days
Diffstat (limited to 'lib/csu')
0 files changed, 0 insertions, 0 deletions