cvs commit: src/sys/sparc64/include in_cksum.h
Marius Strobl
marius at alchemy.franken.de
Sat Jun 28 12:52:45 UTC 2008
On Sat, Jun 28, 2008 at 12:56:08AM +0200, Christoph Mallon wrote:
> Marius Strobl wrote:
> >marius 2008-06-27 22:17:14 UTC
> >
> > FreeBSD src repository
> >
> > Modified files:
> > sys/sparc64/include in_cksum.h
> > Log:
> > SVN rev 180073 on 2008-06-27 22:17:14Z by marius
> >
> > Improve r180011 by explicitly adding the condition codes to the
> > clobber list.
>
> You should remove the volatile specifier. For example volatile prevents
> common subexpression elimination and other types of optimisations.
>
I had to adjust the constraint strings in this source file
twice now in order to keep GCC from generating broken code,
thus I prefer to be conservative by using a slightly bigger
hammer and leave the "__volatile" in in order to keep these
kind of problems from coming back to haunt us over and over
again. Especially when it comes to something as vaguely
("important side-effects", "access memory in an unpredictable
fashion", etc) documented as the GCC assembler constraints
and thus hard to get right without studying the GCC source
and maybe requiring "__volatile" in the future anyway.
Marius
More information about the cvs-src
mailing list