Firstly, I know that there is another question with almost the same name , but the answers to this question are useless here. Another question is approaching, but again the solution is not one, I can here.
My application uses a shared library that Valgrind really dislikes. 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 the procedure to initialize the shared library in which it dies). Running without Valgrind does not trigger an illegal instruction, but I get fancy segfaults and therefore the need for memory control. Thus, this is completely unsuitable, so error suppression will not work.
Is it possible to actually prevent Valgrind from working in shared libraries called by the application? Do not suppress the conclusion, but do not actually descend into it. If not, is there a preventable memory checker?
source share