# valgrind suppression file # Usage: # valgrind --suppressions=valgrind.supp ./temacs # Conservative garbage collection inherently looks at uninitialized values, # and Fgarbage_collect and its callees all depend on this. # It's hard to separate out exactly which callees need to be listed here, # since the C compiler can inline them. Also, valgrind doesn't care # about the use of uninitialized variables directly, only when their values # are eventually used. So just list Fgarbage_collect and its callees. { Fgarbage_collect Cond - conservative garbage collection Memcheck:Cond ... fun:Fgarbage_collect } { Fgarbage_collect Value8 - conservative garbage collection Memcheck:Value8 ... fun:Fgarbage_collect } # valgrind only looks at the last few callees on the stack, but # mark_object can call itself recursively and deeply. So list # it too, in case Fgarbage_collect is a long way from the stack top. { Fgarbage_collect Cond - conservative garbage collection Memcheck:Cond ... fun:mark_object } { Fgarbage_collect Value8 - conservative garbage collection Memcheck:Value8 ... fun:mark_object } # On one circa-2011 x86-64 GNU/Linux platform, strlen is inlined to # something that loads 4 bytes at a time. { init_buffer optimized strlen Memcheck:Addr4 fun:init_buffer }