Hi all,

I have this project https://github.com/Tatsh/gcrud and it uses a very
standard build process with CMake, but for some reason Valgrind never
sees the debug symbols.

The debug symbols are definitely there as GDB can see them, but I have
not been able to figure out why Valgrind can't. I have the latest
version of Valgrind which supports compressed debug symbols.

I even created an ebuild to see if Portage does the magic I need:

https://github.com/Tatsh/tatsh-overlay/blob/master/app-portage/gcrud/gcrud-9999.ebuild

Portage does not generate the debug symbols file I expect to see.

In all cases I am building with -ggdb. I have FEATURES="splitdebug
compressdebug" and still no debug symbols:

$ valgrind -v --leak-check=full gcrud
...
==16662== 1,120,873 bytes in 16,784 blocks are definitely lost in loss
record 41 of 41
==16662==    at 0x4C30D6F: realloc (vg_replace_malloc.c:785)
==16662==    by 0x5266BA5: __vasprintf_chk (vasprintf_chk.c:88)
==16662==    by 0x4ECA438: vasprintf (stdio2.h:210)
==16662==    by 0x4ECA438: g_vasprintf (gprintf.c:316)
==16662==    by 0x4EA482C: g_strdup_vprintf (gstrfuncs.c:514)
==16662==    by 0x4EA48F0: g_strdup_printf (gstrfuncs.c:540)
==16662==    by 0x10AB1A: ??? (in /usr/bin/gcrud)
==16662==    by 0x10C5B9: ??? (in /usr/bin/gcrud)
==16662==
==16662== LEAK SUMMARY:
==16662==    definitely lost: 1,919,735 bytes in 30,221 blocks

I can tell it's a call to g_strdup_printf() but I sure would like to
know what line number since there are a few times it's called.

I also tried the same build process but with Clang. Tried -gdwarf-4/5
and -Og -ggdb. I also don't understand why other libraries are working fine.

Appreciate any help. Thanks

-- 
Andrew

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to