This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Some fun (Was: GCC warnings for unused global variables)
On Fri, 2003-05-02 at 18:42, Joe Buck wrote:
> On Fri, May 02, 2003 at 06:00:30PM +0200, Gabriel Dos Reis wrote:
> > This is my favorite peeve against the definition of "volatile".
> > Does an alpha ray fired from Centauri count as a "way unknown to the
> > compiler"?
>
> This is a much better example than you thought it was. The answer is
> "yes". Alpha particles are a major source of soft errors; they can
> spontaneously change the value that is stored in RAM. Duplicated
> reads can't be eliminated because they might miss the change caused
> by the alpha particle. A memory test might be written in C with
> a big volatile array, and one of the things it would be looking for
> is effects caused by alpha particles.
>
> (Of course, an alpha particle can't make it through the atmosphere,
> so you'll need to pick some other particle or photon type).
Much simpler, use a light bulb, see:
Using Memory Errors to Attack a Virtual Machine
by Appel and Govindavajhala
http://www.cs.princeton.edu/~sudhakar/papers/memerr.pdf
http://developers.slashdot.org/article.pl?sid=03/03/14/214257&mode=nested&tid=172
A really ingenuous and insightful paper (did I mention fun also :).
--
Laurent Guerby <guerby@acm.org>