First, I am aware that another question with virtually the same title exists, but the answers to that question is not useful here. Another question gets close, but again the solution is not one I can user here.
My application uses a shared library that Valgrind really does not like. It generates:
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
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.
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?