title: GCC function padding value
body: <p>Whenever I compile C or C++ code with optimizations enable,d GCC aligns functions to a 16-byte boundary (on IA-32). If the function is shorter than 16 bytes, GCC pads it with some bytes, which don't seem to be random at all:</p>
  
  <pre><code>19:   c3                      ret
  1a:   8d b6 00 00 00 00       lea    0x0(%esi),%esi
  </code></pre>
  
  <p>It always seems to be either <code>8d b6 00 00 00 00 ...</code> or <code>8d 74 26 00</code>.</p>
  
  <p>Do function padding bytes have any significance?</p>