You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
1
(1) |
2
|
3
(4) |
4
(3) |
5
(3) |
6
(3) |
|
7
|
8
(2) |
9
(3) |
10
(1) |
11
|
12
|
13
|
|
14
|
15
|
16
(3) |
17
|
18
(8) |
19
(2) |
20
(5) |
|
21
|
22
|
23
|
24
|
25
|
26
|
27
(2) |
|
28
(2) |
29
|
30
|
31
|
|
|
|
|
From: Philippe W. <phi...@so...> - 2018-10-27 18:31:24
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=66b5a4e9c4d7de79c9396cf5ed117a4e5cfcf386 commit 66b5a4e9c4d7de79c9396cf5ed117a4e5cfcf386 Author: Philippe Waroquiers <phi...@sk...> Date: Sat Oct 27 20:28:59 2018 +0200 Fix 399301 - Use inlined frames in Massif XTree output. Author: Nicholas Nethercote <nne...@mo...> Use inlined frames in Massif XTree output. This makes Massif's output much easier to follow. The commit also removes a -1 used on all Massif stack frame addresses. There was a big comment questioning the presence of that -1, and with it gone the addresses now match those produced by DHAT. Diff: --- .gitignore | 1 + NEWS | 9 +++- coregrind/m_main.c | 10 +++-- coregrind/m_xtree.c | 50 +++++++++++++++------- docs/xml/manual-core.xml | 14 +++++-- massif/tests/Makefile.am | 4 ++ massif/tests/inlinfomalloc.c | 79 +++++++++++++++++++++++++++++++++++ massif/tests/inlinfomalloc.post.exp | 69 ++++++++++++++++++++++++++++++ massif/tests/inlinfomalloc.stderr.exp | 0 massif/tests/inlinfomalloc.vgtest | 6 +++ none/tests/cmdline1.stdout.exp | 7 ++-- none/tests/cmdline2.stdout.exp | 7 ++-- 12 files changed, 226 insertions(+), 30 deletions(-) diff --git a/.gitignore b/.gitignore index 7ae8ec4..a427659 100644 --- a/.gitignore +++ b/.gitignore @@ -762,6 +762,7 @@ /massif/tests/ignored /massif/tests/ignoring /massif/tests/insig +/massif/tests/inlinfomalloc /massif/tests/long-names /massif/tests/long-time /massif/tests/malloc_usable diff --git a/NEWS b/NEWS index 1eb1055..987d928 100644 --- a/NEWS +++ b/NEWS @@ -12,6 +12,8 @@ support for X86/macOS 10.13, AMD64/macOS 10.13. * ==================== CORE CHANGES =================== +* The XTree Massif output format now makes use of the information obtained + when specifying --read-inline-info=yes. * ================== PLATFORM CHANGES ================= @@ -20,9 +22,13 @@ support for X86/macOS 10.13, AMD64/macOS 10.13. * Callgrind: - - callgrind_annotate now inserts commas in call counts, and + - callgrind_annotate now inserts commas in call counts, and sort the caller/callee lists in the call tree. +* Massif: + - The default value for --read-inline-info is now "yes" on + Linux/Android/Solaris. It is still "no" on other OS. + * ==================== OTHER CHANGES ==================== @@ -39,6 +45,7 @@ To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX where XXXXXX is the bug number as listed below. +399301 Use inlined frames in Massif XTree output. 399322 Improve callgrind_annotate output Release 3.14.0 (9 October 2018) diff --git a/coregrind/m_main.c b/coregrind/m_main.c index bf4a712..00702fc 100644 --- a/coregrind/m_main.c +++ b/coregrind/m_main.c @@ -176,9 +176,10 @@ static void usage_NORETURN ( Bool debug_help ) " code found in stacks, for all code, or for all\n" " code except that from file-backed mappings\n" " --read-inline-info=yes|no read debug info about inlined function calls\n" -" and use it to do better stack traces. [yes]\n" -" on Linux/Android/Solaris for Memcheck/Helgrind/DRD\n" -" only. [no] for all other tools and platforms.\n" +" and use it to do better stack traces.\n" +" [yes] on Linux/Android/Solaris for the tools\n" +" Memcheck/Massif/Helgrind/DRD only.\n" +" [no] for all other tools and platforms.\n" " --read-var-info=yes|no read debug info on stack and global variables\n" " and use it to print better error messages in\n" " tools that make use of it (Memcheck, Helgrind,\n" @@ -1426,12 +1427,15 @@ Int valgrind_main ( Int argc, HChar **argv, HChar **envp ) early_process_cmd_line_options(&need_help); // BEGIN HACK + // When changing the logic for the VG_(clo_read_inline_info) default, + // the manual and --help output have to be changed accordingly. vg_assert(VG_(clo_toolname) != NULL); vg_assert(VG_(clo_read_inline_info) == False); # if !defined(VGO_darwin) if (0 == VG_(strcmp)(VG_(clo_toolname), "memcheck") || 0 == VG_(strcmp)(VG_(clo_toolname), "helgrind") || 0 == VG_(strcmp)(VG_(clo_toolname), "drd") + || 0 == VG_(strcmp)(VG_(clo_toolname), "massif") || 0 == VG_(strcmp)(VG_(clo_toolname), "exp-dhat")) { /* Change the default setting. Later on (just below) main_process_cmd_line_options should pick up any diff --git a/coregrind/m_xtree.c b/coregrind/m_xtree.c index 217cad9..7dbba71 100644 --- a/coregrind/m_xtree.c +++ b/coregrind/m_xtree.c @@ -744,8 +744,14 @@ static void ms_make_groups (UInt depth, Ms_Ec* ms_ec, UInt n_ec, SizeT sig_sz, VG_(ssort)(*groups, *n_groups, sizeof(Ms_Group), ms_group_revcmp_total); } -static void ms_output_group (VgFile* fp, UInt depth, Ms_Group* group, - SizeT sig_sz, double sig_pct_threshold) +/* Output the given group (located in an xtree at the given depth). + indent tells by how much to indent the information output for the group. + indent can be bigger than depth when outputting a group that is made + of one or more inlined calls: all inlined calls are output with the + same depth but with one more indent for each inlined call. */ +static void ms_output_group (VgFile* fp, UInt depth, UInt indent, + Ms_Group* group, SizeT sig_sz, + double sig_pct_threshold) { UInt i; Ms_Group* groups; @@ -756,7 +762,7 @@ static void ms_output_group (VgFile* fp, UInt depth, Ms_Group* group, const HChar* s = ( 1 == group->n_ec? "," : "s, all" ); vg_assert(group->group_ip == 0); FP("%*sn0: %lu in %d place%s below massif's threshold (%.2f%%)\n", - depth+1, "", group->total, group->n_ec, s, sig_pct_threshold); + indent+1, "", group->total, group->n_ec, s, sig_pct_threshold); return; } @@ -777,21 +783,33 @@ static void ms_output_group (VgFile* fp, UInt depth, Ms_Group* group, // Fix not trivial to do, so for the moment, --keep-debuginfo=yes will // have no impact on xtree massif output. - FP("%*s" "n%u: %ld %s\n", - depth + 1, "", - n_groups, - group->total, - VG_(describe_IP)(cur_ep, group->ms_ec->ips[depth] - 1, NULL)); - /* XTREE??? Massif original code removes 1 to get the IP description. I am - wondering if this is not something that predates revision r8818, - which introduced a -1 in the stack unwind (see m_stacktrace.c) - Kept for the moment to allow exact comparison with massif output, but - probably we should remove this, as we very probably end up 2 bytes before - the RA Return Address. */ + Addr cur_ip = group->ms_ec->ips[depth]; + + InlIPCursor *iipc = VG_(new_IIPC)(cur_ep, cur_ip); + + while (True) { + const HChar* buf = VG_(describe_IP)(cur_ep, cur_ip, iipc); + Bool is_inlined = VG_(next_IIPC)(iipc); + + FP("%*s" "n%u: %ld %s\n", + indent + 1, "", + is_inlined ? 1 : n_groups, // Inlined frames always have one child. + group->total, + buf); + + if (!is_inlined) { + break; + } + + indent++; + } + + VG_(delete_IIPC)(iipc); /* Output sub groups of this group. */ for (i = 0; i < n_groups; i++) - ms_output_group(fp, depth+1, &groups[i], sig_sz, sig_pct_threshold); + ms_output_group(fp, depth+1, indent+1, &groups[i], sig_sz, + sig_pct_threshold); VG_(free)(groups); } @@ -963,7 +981,7 @@ void VG_(XT_massif_print) /* Output depth 0 groups. */ DMSG(1, "XT_massif_print outputing %u depth 0 groups\n", n_groups); for (i = 0; i < n_groups; i++) - ms_output_group(fp, 0, &groups[i], sig_sz, header->sig_threshold); + ms_output_group(fp, 0, 0, &groups[i], sig_sz, header->sig_threshold); VG_(free)(groups); VG_(free)(ms_ec); diff --git a/docs/xml/manual-core.xml b/docs/xml/manual-core.xml index 0e787d7..e3c2a83 100644 --- a/docs/xml/manual-core.xml +++ b/docs/xml/manual-core.xml @@ -1899,10 +1899,10 @@ need to use them.</para> function calls from DWARF3 debug info. This slows Valgrind startup and makes it use more memory (typically for each inlined piece of code, 6 words and space for the function name), but it - results in more descriptive stacktraces. For the 3.10.0 - release, this functionality is enabled by default only for Linux, - Android and Solaris targets and only for the tools Memcheck, Helgrind - and DRD. Here is an example of some stacktraces with + results in more descriptive stacktraces. Currently, + this functionality is enabled by default only for Linux, + Android and Solaris targets and only for the tools Memcheck, Massif, + Helgrind and DRD. Here is an example of some stacktraces with <option>--read-inline-info=no</option>: </para> <programlisting><![CDATA[ @@ -2988,6 +2988,9 @@ the "Massif Format".</para> <ulink url="&cl-gui-url;">KCachegrind</ulink>, which is a KDE/Qt based GUI that makes it easy to navigate the large amount of data that an xtree can contain.</para> + <para>Note that xtree Callgrind Format does not make use of the inline + information even when specifying <option>--read-inline-info=yes</option>. + </para> </listitem> <listitem> @@ -3005,6 +3008,9 @@ the "Massif Format".</para> a massif output file. See <xref linkend="ms-manual.running-massif"/> and <xref linkend="ms-manual.using"/> for more details about visualising Massif Format output files.</para> + <para>Note that xtree Massif Format makes use of the inline + information when specifying <option>--read-inline-info=yes</option>. + </para> </listitem> </itemizedlist> diff --git a/massif/tests/Makefile.am b/massif/tests/Makefile.am index 29cc9d3..98c1252 100644 --- a/massif/tests/Makefile.am +++ b/massif/tests/Makefile.am @@ -20,6 +20,7 @@ EXTRA_DIST = \ custom_alloc.post.exp custom_alloc.stderr.exp custom_alloc.vgtest \ ignored.post.exp ignored.stderr.exp ignored.vgtest \ ignoring.post.exp ignoring.stderr.exp ignoring.vgtest \ + inlinfomalloc.post.exp inlinfomalloc.stderr.exp inlinfomalloc.vgtest \ insig.post.exp insig.stderr.exp insig.vgtest \ long-names.post.exp long-names.stderr.exp long-names.vgtest \ long-time.post.exp long-time.stderr.exp long-time.vgtest \ @@ -60,6 +61,7 @@ check_PROGRAMS = \ deep \ ignored \ ignoring \ + inlinfomalloc \ insig \ long-names \ long-time \ @@ -75,6 +77,8 @@ check_PROGRAMS = \ thresholds \ zero +inlinfomalloc_CFLAGS = $(AM_CFLAGS) -w + AM_CFLAGS += $(AM_FLAG_M3264_PRI) AM_CXXFLAGS += $(AM_FLAG_M3264_PRI) diff --git a/massif/tests/inlinfomalloc.c b/massif/tests/inlinfomalloc.c new file mode 100644 index 0000000..1757636 --- /dev/null +++ b/massif/tests/inlinfomalloc.c @@ -0,0 +1,79 @@ +#include <stdio.h> +#include <stdlib.h> + +#define INLINE inline __attribute__((always_inline)) + +int alloc (int n) { + (void) malloc (n); + return n; +} + +INLINE int fun_d(int argd) { + static int locd = 0; + if (argd > 0) + locd += argd; + return alloc (locd); +} + +INLINE int fun_c(int argc) { + static int locc = 0; + locc += argc; + return fun_d(locc); +} + +INLINE int fun_b(int argb) { + static int locb = 0; + locb += argb; + return fun_c(locb); +} + +INLINE int fun_a(int arga) { + static int loca = 0; + loca += arga; + return fun_b(loca); +} + +__attribute__((noinline)) +static int fun_noninline_m(int argm) +{ + return fun_d(argm); +} + +__attribute__((noinline)) +static int fun_noninline_o(int argo) +{ + static int loco = 0; + if (argo > 0) + loco += argo; + return alloc (loco); +} + +INLINE int fun_f(int argf) { + static int locf = 0; + locf += argf; + return fun_noninline_o(locf); +} + +INLINE int fun_e(int arge) { + static int loce = 0; + loce += arge; + return fun_f(loce); +} + +__attribute__((noinline)) +static int fun_noninline_n(int argn) +{ + return fun_e(argn); +} + + +int main() { + int result = 100000; + result = fun_a(result); + result += fun_b(result); + result += fun_noninline_m(result); + result += fun_d(result); + result += fun_noninline_n(result); + return 0; +} + diff --git a/massif/tests/inlinfomalloc.post.exp b/massif/tests/inlinfomalloc.post.exp new file mode 100644 index 0000000..a4da734 --- /dev/null +++ b/massif/tests/inlinfomalloc.post.exp @@ -0,0 +1,69 @@ +-------------------------------------------------------------------------------- +Command: ./inlinfomalloc +Massif arguments: --stacks=no --heap-admin=0 --time-unit=B --threshold=0 --detailed-freq=6 --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element +ms_print arguments: --threshold=0 massif.out +-------------------------------------------------------------------------------- + + + MB +7.057^ @ + | @ + | @ + | @ + | @ + | @ + | @ + | @ + | @ + | @ + | :::::::::::::::::::::::::::::::::::@ + | : @ + | : @ + | : @ + | : @ + | : @ + | : @ + | :::::::::::::::::::::::: @ + | : : @ + | :::::::::: : @ + 0 +----------------------------------------------------------------------->MB + 0 7.057 + +Number of snapshots: 6 + Detailed snapshots: [5] + +-------------------------------------------------------------------------------- + n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B) +-------------------------------------------------------------------------------- + 0 0 0 0 0 0 + 1 100,000 100,000 100,000 0 0 + 2 500,000 500,000 500,000 0 0 + 3 1,400,000 1,400,000 1,400,000 0 0 + 4 3,700,000 3,700,000 3,700,000 0 0 + 5 7,400,000 7,400,000 7,400,000 0 0 +100.00% (7,400,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc. +->100.00% (7,400,000B) 0x........: alloc (inlinfomalloc.c:7) + ->50.00% (3,700,000B) 0x........: fun_noninline_o (inlinfomalloc.c:48) + | ->50.00% (3,700,000B) 0x........: fun_f (inlinfomalloc.c:54) + | ->50.00% (3,700,000B) 0x........: fun_e (inlinfomalloc.c:60) + | ->50.00% (3,700,000B) 0x........: fun_noninline_n (inlinfomalloc.c:66) + | ->50.00% (3,700,000B) 0x........: main (inlinfomalloc.c:76) + | + ->31.08% (2,300,000B) 0x........: fun_d (inlinfomalloc.c:15) + | ->31.08% (2,300,000B) 0x........: main (inlinfomalloc.c:75) + | + ->12.16% (900,000B) 0x........: fun_d (inlinfomalloc.c:15) + | ->12.16% (900,000B) 0x........: fun_noninline_m (inlinfomalloc.c:39) + | ->12.16% (900,000B) 0x........: main (inlinfomalloc.c:74) + | + ->05.41% (400,000B) 0x........: fun_d (inlinfomalloc.c:15) + | ->05.41% (400,000B) 0x........: fun_c (inlinfomalloc.c:21) + | ->05.41% (400,000B) 0x........: fun_b (inlinfomalloc.c:27) + | ->05.41% (400,000B) 0x........: main (inlinfomalloc.c:73) + | + ->01.35% (100,000B) 0x........: fun_d (inlinfomalloc.c:15) + ->01.35% (100,000B) 0x........: fun_c (inlinfomalloc.c:21) + ->01.35% (100,000B) 0x........: fun_b (inlinfomalloc.c:27) + ->01.35% (100,000B) 0x........: fun_a (inlinfomalloc.c:33) + ->01.35% (100,000B) 0x........: main (inlinfomalloc.c:72) + diff --git a/massif/tests/inlinfomalloc.stderr.exp b/massif/tests/inlinfomalloc.stderr.exp new file mode 100644 index 0000000..e69de29 diff --git a/massif/tests/inlinfomalloc.vgtest b/massif/tests/inlinfomalloc.vgtest new file mode 100644 index 0000000..9021b92 --- /dev/null +++ b/massif/tests/inlinfomalloc.vgtest @@ -0,0 +1,6 @@ +prog: inlinfomalloc +vgopts: --stacks=no --heap-admin=0 --time-unit=B --threshold=0 --detailed-freq=6 --massif-out-file=massif.out +vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element +stderr_filter: filter_verbose +post: perl ../../massif/ms_print --threshold=0 massif.out | ../../tests/filter_addresses +cleanup: rm massif.out diff --git a/none/tests/cmdline1.stdout.exp b/none/tests/cmdline1.stdout.exp index bc2eb29..0a7b4fc 100644 --- a/none/tests/cmdline1.stdout.exp +++ b/none/tests/cmdline1.stdout.exp @@ -90,9 +90,10 @@ usage: valgrind [options] prog-and-args code found in stacks, for all code, or for all code except that from file-backed mappings --read-inline-info=yes|no read debug info about inlined function calls - and use it to do better stack traces. [yes] - on Linux/Android/Solaris for Memcheck/Helgrind/DRD - only. [no] for all other tools and platforms. + and use it to do better stack traces. + [yes] on Linux/Android/Solaris for the tools + Memcheck/Massif/Helgrind/DRD only. + [no] for all other tools and platforms. --read-var-info=yes|no read debug info on stack and global variables and use it to print better error messages in tools that make use of it (Memcheck, Helgrind, diff --git a/none/tests/cmdline2.stdout.exp b/none/tests/cmdline2.stdout.exp index fb42abb..d312734 100644 --- a/none/tests/cmdline2.stdout.exp +++ b/none/tests/cmdline2.stdout.exp @@ -90,9 +90,10 @@ usage: valgrind [options] prog-and-args code found in stacks, for all code, or for all code except that from file-backed mappings --read-inline-info=yes|no read debug info about inlined function calls - and use it to do better stack traces. [yes] - on Linux/Android/Solaris for Memcheck/Helgrind/DRD - only. [no] for all other tools and platforms. + and use it to do better stack traces. + [yes] on Linux/Android/Solaris for the tools + Memcheck/Massif/Helgrind/DRD only. + [no] for all other tools and platforms. --read-var-info=yes|no read debug info on stack and global variables and use it to print better error messages in tools that make use of it (Memcheck, Helgrind, |
|
From: Philippe W. <phi...@sk...> - 2018-10-27 17:37:13
|
When I am changing the on-line help (produced by ./vg-in-place --help) located in m_main.c, doing 'make' (or 'make install') causes m_main.c to be recompiled, but the tools are not re-linked. So, it seems like there is an automake/Makefile.am/Makefile subtility which I do not understand. Doing make clean make install gives the expected result. Any idea/feedback/suggestion where to look ? Thanks Philippe |