title: Prevent Valgrind from checking shared libraries
body: <p>First, I am aware that another question with <a href="https://stackoverflow.com/questions/4689046/prevent-valgrind-for-checking-memory-leaking-in-shared-libraries-linked-with-our">virtually the same title</a> exists, but the answers to that question is not useful here. <a href="https://stackoverflow.com/questions/2896162/can-i-make-valgrind-ignore-glibc-libraries">Another question</a> gets close, but again the solution is not one I can user here. </p>
  
  <p>My application uses a shared library that Valgrind <strong>really</strong> does not like. It generates:</p>
  
  <pre><code>Program Exception - illegal instruction
  Image              PC                Routine            Line        Source             
  libirc.so          000000000405ED3C  Unknown               Unknown  Unknown
  libhdf5.so.7       00000000061338E2  Unknown               Unknown  Unknown
  libhdf5.so.7       00000000061A73CE  Unknown               Unknown  Unknown
  libhdf5.so.7       00000000061A9D6F  Unknown               Unknown  Unknown
  libhdf5_fortran.s  0000000006B23233  Unknown               Unknown  Unknown
  libhdf5_fortran.s  0000000006B19FF9  Unknown               Unknown  Unknown
  les3d.x            00000000006D815C  Unknown               Unknown  Unknown
  </code></pre>
  
  <p>and dies before it even gets into my application (well, it gets into my application but the first thing we do is call a routine to initialize the shared library, which is where it dies). Running without Valgrind doesn't cause an illegal instruction, but I do get bizarre segfaults and hence the need for a memory checker. So it is totally unusable which is why error suppression won't work.</p>
  
  <p>Is it possible to actually prevent Valgrind from operating on shared libraries called by an application? Not suppress the output, but actually not descend into it. If not, is there a memory checker that can be prevented?  </p>