> Could you test again with top of tree and see whether --read-var-info=yes > also works OK?
My normal workflow works well. It uses Cachegrind and DHAT, which don't need `--read-var-info=yes`.
I also tested Memcheck on a trivial Rust program and `--read-var-info=yes` had problems:
> ==19085== Memcheck, a memory error detector > ==19085== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. > ==19085== Using Valgrind-3.20.0.GIT and LibVEX; rerun with -h for copyright info > ==19085== Command: ./a > ==19085== > > parse DIE(readdwarf3.c:3994): confused by: > <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit) > DW_AT_producer : (indirect string, offset: 0x0): clang LLVM (rustc version 1.63.0-nightly (420c970cb 2022-06-09)) > DW_AT_language : 28 > DW_AT_name : (indirect string, offset: 0x41): library/std/src/lib.rs/@/std.85a61a41-cgu.0 > DW_AT_stmt_list : 0 > DW_AT_comp_dir : (indirect string, offset: 0x6d): /rustc/420c970cb1edccbf60ff2aeb51ca01e2300b09ef > DW_AT_GNU_pubnames: 1 > DW_AT_low_pc : 0x0 > DW_AT_ranges : 322832 > parse_type_DIE: > --19085-- WARNING: Serious error when reading debug info > --19085-- When reading debug info from /home/njn/dev/rustc-perf/a: > --19085-- confused by the above DIE > hello world > ==19085== > ==19085== HEAP SUMMARY: > ==19085== in use at exit: 0 bytes in 0 blocks > ==19085== total heap usage: 11 allocs, 11 frees, 3,181 bytes allocated > ==19085== > ==19085== All heap blocks were freed -- no leaks are possible > ==19085== > ==19085== For lists of detected and suppressed errors, rerun with: -s > ==19085== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
> Could you test again with top of tree and see whether --read-var-info=yes
> also works OK?
My normal workflow works well. It uses Cachegrind and DHAT, which don't need `--read- var-info= yes`.
I also tested Memcheck on a trivial Rust program and `--read- var-info= yes` had problems:
> ==19085== Memcheck, a memory error detector c:3994) : confused by: compile_ unit) std/src/ lib.rs/ @/std.85a61a41- cgu.0 420c970cb1edccb f60ff2aeb51ca01 e2300b09ef dev/rustc- perf/a:
> ==19085== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
> ==19085== Using Valgrind-3.20.0.GIT and LibVEX; rerun with -h for copyright info
> ==19085== Command: ./a
> ==19085==
>
> parse DIE(readdwarf3.
> <0><b>: Abbrev Number: 1 (DW_TAG_
> DW_AT_producer : (indirect string, offset: 0x0): clang LLVM (rustc version 1.63.0-nightly (420c970cb 2022-06-09))
> DW_AT_language : 28
> DW_AT_name : (indirect string, offset: 0x41): library/
> DW_AT_stmt_list : 0
> DW_AT_comp_dir : (indirect string, offset: 0x6d): /rustc/
> DW_AT_GNU_pubnames: 1
> DW_AT_low_pc : 0x0
> DW_AT_ranges : 322832
> parse_type_DIE:
> --19085-- WARNING: Serious error when reading debug info
> --19085-- When reading debug info from /home/njn/
> --19085-- confused by the above DIE
> hello world
> ==19085==
> ==19085== HEAP SUMMARY:
> ==19085== in use at exit: 0 bytes in 0 blocks
> ==19085== total heap usage: 11 allocs, 11 frees, 3,181 bytes allocated
> ==19085==
> ==19085== All heap blocks were freed -- no leaks are possible
> ==19085==
> ==19085== For lists of detected and suppressed errors, rerun with: -s
> ==19085== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)