<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Apr 13, 2014 at 11:27 PM, Bill Frantz <span dir="ltr"><<a href="mailto:frantz@pwpconsult.com" target="_blank">frantz@pwpconsult.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">On 4/10/14 at 8:44 PM, <a href="mailto:jays@panix.com" target="_blank">jays@panix.com</a> (Jay Sulzberger) wrote:<br>

<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Casting to a volatile pointer is a trick that might not work on all<br>
compilers, so it should be checked with each.  Even so,.<br></blockquote></blockquote></div></blockquote><div>.....snip.... </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote>
<br>
For such code one should not use a compiler which requires a<br>
trick to get a fundamental routine to compile to code which does<br>
the job.<br>
<br>
That means no standard C nor C++ compiler.<br>
</blockquote>
<br></div>
Assembler subroutines are your friend. Clearing memory is easy to write in assembler, but not very portable between architectures.<br></blockquote><div><br></div><div>I would add that disassemblers and debuggers are necessary too.</div>
<div>Some assemblers will optimize assembly language (MIPS at SGI was one).</div><div><br></div><div>Less of a risk but still necessary to double check:</div><div>Check the run time link loader (link editor) for changed that it</div>
<div>might make to deal with known issues in the hardware.    </div><div>There is also the microcode blob that some processors need.</div><div><br></div><div><br></div></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">
  T o m    M i t c h e l l</div>
</div></div>