title: Differences in binaries produced by gcc for the same code base for different paths
body: <p>I've got a code base (C and C++) that when compiled will produce binaries with different checksums, even after <code>strip</code> has been run on the binaries.</p>
  
  <p>Doing a diff of the binaries in hex produced the following lines as the only difference:</p>
  
  <p>Binary from Location 1:</p>
  
  <pre><code>00000170: 0300 0000 474e 5500 7645 15ec 09f5 2b56  ....GNU.vE....+V
  00000180: 0679 e9a4 d49d 29e0 7de8 fb5b 0300 0000  .y....).}..[....
  </code></pre>
  
  <p>Binary from Location 2:</p>
  
  <pre><code>00000170: 0300 0000 474e 5500 cf2a 4316 2262 679d  ....GNU..*C."bg.
  00000180: 5691 b91a 52a8 29d2 45e8 c204 0300 0000  V...R.).E.......
  </code></pre>
  
  <p>Seems to me like this must be a checksum or something like that. I would suspect a timestamp, except if I clean and then do a rebuild in the same directory, the binaries will have the same checksum.</p>
  
  <p>Does anyone know what this could be? I'd like to make sure my binaries have the same checksum even when build in different locations so they can be verified by my QA organization.</p>