title: Valgrind losing symbol info
body: <p>After running Valgrind, the resultant log file contains a number of errors that look like</p>
  
  <pre><code>Conditional jump or move depends on uninitialised value(s)
    at 0x3D9863AA: ???
    by 0x3D986287: ???
    by 0x3D9854AC: ???
  Uninitialised value was created by a heap allocation
    at 0x7FCC050: operator new(unsigned int) (vg_replace_malloc.c:214)
    by 0x3D9A56A4: ???
    by 0x3D9A4EB9: ???
  </code></pre>
  
  <p>After looking around I found the following line which I think is important to getting actual content instead of just <code>???</code>:</p>
  
  <pre><code>Discarding syms at 0x3d97dba0-0x3da53de8 in /path/SomeDLL.so due to munmap()
  </code></pre>
  
  <p>Note that all <code>???</code> come from addresses in the ranges specified by <code>Discarding syms</code> lines.</p>
  
  <p>What is causing Valgrind to throw away symbol information for shared libraries and how do I fix it?</p>