summaryrefslogtreecommitdiffstats
path: root/tools/valgrind/possible.patch
blob: af4a1efb8257bd371adc8beae2aa8c7991186d8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Index: memcheck/mc_main.c
===================================================================
--- memcheck/mc_main.c	(revision 10536)
+++ memcheck/mc_main.c	(working copy)
@@ -4658,6 +4658,7 @@
 LeakCheckMode MC_(clo_leak_check)             = LC_Summary;
 VgRes         MC_(clo_leak_resolution)        = Vg_HighRes;
 Bool          MC_(clo_show_reachable)         = False;
+Bool          MC_(clo_show_possible)          = True;
 Bool          MC_(clo_workaround_gcc296_bugs) = False;
 Int           MC_(clo_malloc_fill)            = -1;
 Int           MC_(clo_free_fill)              = -1;
@@ -4711,6 +4712,7 @@
 
 	if VG_BOOL_CLO(arg, "--partial-loads-ok", MC_(clo_partial_loads_ok)) {}
    else if VG_BOOL_CLO(arg, "--show-reachable",   MC_(clo_show_reachable))   {}
+   else if VG_BOOL_CLO(arg, "--show-possible",   MC_(clo_show_possible))   {}
    else if VG_BOOL_CLO(arg, "--workaround-gcc296-bugs",
                                             MC_(clo_workaround_gcc296_bugs)) {}
 
@@ -4776,6 +4778,7 @@
 "    --leak-check=no|summary|full     search for memory leaks at exit?  [summary]\n"
 "    --leak-resolution=low|med|high   differentiation of leak stack traces [high]\n"
 "    --show-reachable=no|yes          show reachable blocks in leak check? [no]\n"
+"    --show-possible=no|yes           show possibly lost blocks in leak check? [yes]\n"
 "    --undef-value-errors=no|yes      check for undefined value errors [yes]\n"
 "    --track-origins=no|yes           show origins of undefined values? [no]\n"
 "    --partial-loads-ok=no|yes        too hard to explain here; see manual [no]\n"
Index: memcheck/mc_include.h
===================================================================
--- memcheck/mc_include.h	(revision 10536)
+++ memcheck/mc_include.h	(working copy)
@@ -390,6 +390,9 @@
 /* In leak check, show reachable-but-not-freed blocks?  default: NO */
 extern Bool MC_(clo_show_reachable);
 
+/* In leak check, show possibly-lost blocks?  default: YES */
+extern Bool MC_(clo_show_possible);
+
 /* Assume accesses immediately below %esp are due to gcc-2.96 bugs.
  * default: NO */
 extern Bool MC_(clo_workaround_gcc296_bugs);
Index: memcheck/mc_leakcheck.c
===================================================================
--- memcheck/mc_leakcheck.c	(revision 10536)
+++ memcheck/mc_leakcheck.c	(working copy)
@@ -844,7 +844,8 @@
       print_record = is_full_check &&
                      ( MC_(clo_show_reachable) || 
                        Unreached == lr->key.state || 
-                       Possible  == lr->key.state );
+                       ( MC_(clo_show_possible) && 
+                         Possible  == lr->key.state ) );
       is_suppressed = 
          MC_(record_leak_error) ( tid, i+1, n_lossrecords, lr, print_record );