title: What is the "Illegal Instruction: 4" error and why does "-mmacosx-version-min=10.x" fix it?
body: <p>I get <code>Illegal Instruction: 4</code> errors with binaries compiled with GCC 4.7.2 under Mac OS X 10.8.2 ("Mountain Lion"), when those binaries are run under Mac OS X 10.7.x ("Lion") and earlier versions. The binaries work properly under Mac OS X 10.8.x.</p>
  
  <p>I added <code>-mmacosx-version-min=10.5</code> to my compile flags and this seems to help resolve the issue for 10.5.x, 10.6.x and 10.7.x clients, whatever that issue is. </p>
  
  <p>Which gets to my question(s):</p>
  
  <ul>
  <li>What is the <code>Illegal Instruction: 4</code> error?</li>
  <li>Why does <code>-mmacosx-version-min=10.x</code> fix this specific error on <code>10.x</code> and greater clients?</li>
  </ul>
  
  <p>I'd like to apply this fix to my makefiles, but would like to know what it is doing before I pull the trigger. (Will I have larger binaries? Do I still have 64-bit binaries? Are there gotchas with this approach I should know about? Unintended side-effects? Etc.)</p>