On Wed, 06 Mar 2013 16:13:47 +0100, Mark Wielaard wrote: > On Wed, 2013-03-06 at 14:38 +0000, Richard W.M. Jones wrote: [...] > > ==11843== 56 bytes in 1 blocks are definitely lost in loss record 6 of 6 > > ==11843== at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) > > ==11843== by 0x38EAC861F9: strdup (strdup.c:42) > > ==11843== by 0x38EC8097C9: setprocattrcon_raw.constprop.3 (procattr.c:241) > > ==11843== by 0x38EC8099B7: setprocattrcon.constprop.2 (procattr.c:274) > > ==11843== by 0x400955: main (in /tmp/test) [...] > It looks like you will have to use the setprocattrcon[.constprop] > function name in your suppression file. I am not exactly sure how the > linker ends up pointing directly to that one for setsockcreatecon (), > but it apparently is. And so valgrind will only know it by that name. Symbol table '.symtab' contains 770 entries: Num: Value Size Type Bind Vis Ndx Name 70: 0000000000009990 62 FUNC LOCAL DEFAULT 11 setprocattrcon.constprop.2 Contents of the .debug_info section: <1><62c6>: Abbrev Number: 58 (DW_TAG_subprogram) <62c7> DW_AT_name : (indirect string, offset: 0x3eb4): setprocattrcon <62d2> DW_AT_inline : 1 (inlined) <1><6791>: Abbrev Number: 40 (DW_TAG_subprogram) <6792> DW_AT_abstract_origin: <0x62c6> <6794> DW_AT_low_pc : 0x9990 <679c> DW_AT_high_pc : 62 Valgrind apparently used the ELF symbol name. But in DWARF there is the real function name (and it is even marked as 'inlined' - although it is a standalone function). GDB also knows the real name from DWARF: (gdb) disas 'setprocattrcon.constprop.2' Dump of assembler code for function setprocattrcon: 0x0000000000009990 <+0>: push %rbx [...] 0x00000000000099cd <+61>: retq End of assembler dump. So it is possible to fix it in Valgrind. Jan -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel