title: difference between gcc -D_FORTIFY_SOURCE=1 and -D_FORTIFY_SOURCE=2
body: <p>Can someone point out the difference between <code>gcc -D_FORTIFY_SOURCE=1</code> and <code>-D_FORTIFY_SOURCE=2</code>? I guess <code>=2</code> is more secure? I haven't been able to find a list which lists differences point by point.</p>
  
  <p>I have also read that <code>-D_FORTIFY_SOURCE=2</code> should be used with <code>-O2</code>, otherwise not all features would be available. Also here i haven't found a list which would specify the regressions in detail. I would especially be interested to compile with <code>-Os</code> as the target is a device with not so much flash memory.</p>
  
  <p>Any hints on where this is documented welcome!</p>