File: dist.news.html

package info (click to toggle)
valgrind 1%3A3.10.0-4
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 97,452 kB
  • ctags: 62,380
  • sloc: ansic: 589,429; xml: 21,096; exp: 8,751; cpp: 7,366; asm: 6,526; perl: 5,656; sh: 5,334; makefile: 4,946; haskell: 195
file content (2586 lines) | stat: -rw-r--r-- 134,554 bytes parent folder | download | duplicates (2)
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>2.NEWS</title>
<link rel="stylesheet" type="text/css" href="vg_basic.css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Valgrind Documentation">
<link rel="up" href="dist.html" title="Valgrind Distribution Documents">
<link rel="prev" href="dist.authors.html" title="1.AUTHORS">
<link rel="next" href="dist.news.old.html" title="3.OLDER NEWS">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div><table class="nav" width="100%" cellspacing="3" cellpadding="3" border="0" summary="Navigation header"><tr>
<td width="22px" align="center" valign="middle"><a accesskey="p" href="dist.authors.html"><img src="images/prev.png" width="18" height="21" border="0" alt="Prev"></a></td>
<td width="25px" align="center" valign="middle"><a accesskey="u" href="dist.html"><img src="images/up.png" width="21" height="18" border="0" alt="Up"></a></td>
<td width="31px" align="center" valign="middle"><a accesskey="h" href="index.html"><img src="images/home.png" width="27" height="20" border="0" alt="Up"></a></td>
<th align="center" valign="middle">Valgrind Distribution Documents</th>
<td width="22px" align="center" valign="middle"><a accesskey="n" href="dist.news.old.html"><img src="images/next.png" width="18" height="21" border="0" alt="Next"></a></td>
</tr></table></div>
<div class="chapter">
<div class="titlepage"><div><div><h1 class="title">
<a name="dist.news"></a>2.NEWS</h1></div></div></div>
<div class="literallayout"><p><br>
<br>
Release3.10.0(10September2014)<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
<br>
3.10.0isafeaturereleasewithmanyimprovementsandtheusual<br>
collectionofbugfixes.<br>
<br>
ThisreleasesupportsX86/Linux,AMD64/Linux,ARM32/Linux,ARM64/Linux,<br>
PPC32/Linux,PPC64BE/Linux,PPC64LE/Linux,S390X/Linux,MIPS32/Linux,<br>
MIPS64/Linux,ARM/Android,MIPS32/Android,X86/Android,X86/MacOSX10.9<br>
andAMD64/MacOSX10.9.SupportforMacOSX10.8and10.9is<br>
significantlyimprovedrelativetothe3.9.0release.<br>
<br>
*==================PLATFORMCHANGES=================<br>
<br>
*Supportforthe64-bitARMArchitecture(AArch64ARMv8).Thisport<br>
ismostlycomplete,andisusable,butsomeSIMDinstructionsareas<br>
yetunsupported.<br>
<br>
*Supportforlittle-endianvariantofthe64-bitPOWERarchitecture.<br>
<br>
*SupportforAndroidonMIPS32.<br>
<br>
*Supportfor64bitFPUonMIPS32platforms.<br>
<br>
*Both32-and64-bitexecutablesaresupportedonMacOSX10.8and10.9.<br>
<br>
*ConfigurationforandrunningonAndroidtargetshaschanged.<br>
SeeREADME.androidinthesourcetreefordetails.<br>
<br>
*==================DEPRECATEDFEATURES=================<br>
<br>
*--db-attachisnowdeprecatedandwillberemovedinthenext<br>
valgrindfeaturerelease.Thebuilt-inGDBservercapabilitiesare<br>
superiorandshouldbeusedinstead.Learnmorehere:<br>
http://valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.gdbserver<br>
<br>
*====================TOOLCHANGES====================<br>
<br>
*Memcheck:<br>
<br>
-Clientcodecannowselectivelydisableandre-enablereportingof<br>
invalidaddresserrorsinspecificrangesusingthenewclient<br>
requestsVALGRIND_DISABLE_ADDR_ERROR_REPORTING_IN_RANGEand<br>
VALGRIND_ENABLE_ADDR_ERROR_REPORTING_IN_RANGE.<br>
<br>
-Leakchecker:thereisanewleakcheckheuristiccalled<br>
"length64".Thisisusedtodetectinteriorpointerspointing8<br>
bytesinsideablock,ontheassumptionthatthefirst8bytes<br>
holdsthevalue"blocksize-8".Thisisusedby<br>
sqlite3MemMalloc,forexample.<br>
<br>
-Checkingofsystemcallparameters:ifasyscallparameter<br>
(e.g.bindstructsockaddr,sendmsgstructmsghdr,...)has<br>
severalfieldsnotinitialised,anerrorisnowreportedforeach<br>
field.Previously,anerrorwasreportedonlyforthefirst<br>
uninitialisedfield.<br>
<br>
-Mismatchedalloc/freechecking:anewflag<br>
--show-mismatched-frees=no|yes[yes]makesitpossibletoturnoff<br>
suchchecksifnecessary.<br>
<br>
*Helgrind:<br>
<br>
-Improvementstoerrormessages:<br>
<br>
oRaceconditionerrormessageinvolvingheapallocatedblocksalso<br>
showthethreadnumberthatallocatedtheraced-onblock.<br>
<br>
oAlllocksreferencedbyanerrormessagearenowannounced.<br>
Previously,someerrormessagesonlyshowedthelockaddresses.<br>
<br>
oThemessageindicatingwherealockwasfirstobservednowalso<br>
describestheaddress/locationofthelock.<br>
<br>
-HelgrindnowunderstandstheAdataskterminationrulesand<br>
createsahappens-beforerelationshipbetweenaterminatedtask<br>
anditsmaster.Thisavoidssomefalsepositivesandavoidsabig<br>
memoryleakwhenalotofAdatasksarecreatedandterminated.<br>
Theinterceptionsareonlyactivatedwithforthcomingreleasesof<br>
gnatpro&gt;=7.3.0w-20140611andgcc&gt;=5.0.<br>
<br>
-AnewGDBservermonitorcommand"infolocks"givingthelistof<br>
locks,theirlocation,andtheirstatus.<br>
<br>
*Callgrind:<br>
<br>
-callgrind_controlnowsupportsthe--vgdb-prefixargument,<br>
whichisneededifvalgrindwasstartedwiththissameargument.<br>
<br>
*====================OTHERCHANGES====================<br>
<br>
*Unwindingthroughinlinedfunctioncalls.Stackunwindingcannow<br>
makeuseofDwarf3inlined-unwindinformationifitisavailable.<br>
Thepracticaleffectisthatinlinedcallsbecomevisibleinstack<br>
traces.Thesuppressionmatchingmachineryhasbeenadjusted<br>
accordingly.Thisiscontrolledbythenewoption<br>
--read-inline-info=yes|no.Currentlythisisenabledbydefault<br>
onlyonLinuxandAndroidtargetsandonlyforthetoolsMemcheck,<br>
HelgrindandDRD.<br>
<br>
*ValgrindcannowreadEXIDXunwindinformationon32-bitARM<br>
targets.IfanobjectcontainsbothCFIandEXIDXunwind<br>
information,ValgrindwillprefertheCFIovertheEXIDX.This<br>
facilitatesunwindingthroughsystemlibrariesonarm-android<br>
targets.<br>
<br>
*Addressdescriptionlogichasbeenimprovedandisnowcommon<br>
betweenMemcheckandHelgrind,resultinginbetteraddress<br>
descriptionsforsomekindsoferrormessages.<br>
<br>
*Errormessagesaboutdubiousarguments(eg,tomallocorcalloc)are<br>
outputlikeothererrors.Thismeansthattheycanbesuppressed<br>
andtheyhaveastacktrace.<br>
<br>
*TheC++demanglerhasbeenupdatedforbetterC++11support.<br>
<br>
*NewandmodifiedGDBservermonitorfeatures:<br>
<br>
-Threadlocalvariables/storage(__thread)cannowbedisplayed.<br>
<br>
-TheGDBservermonitorcommand"v.infolocation&lt;address&gt;"<br>
displaysinformationaboutanaddress.Theinformationproduced<br>
dependsonthetoolandontheoptionsgiventovalgrind.<br>
Possibly,thefollowingaredescribed:globalvariables,local<br>
(stack)variables,allocatedorfreedblocks,...<br>
<br>
-Theoption"--vgdb-stop-at=event1,event2,..."allowstheuserto<br>
asktheGDBservertostopatthestartofprogramexecution,at<br>
theendoftheprogramexecutionandonValgrindinternalerrors.<br>
<br>
-Anewmonitorcommand"v.infostats"showsvariousValgrindcore<br>
andtoolstatistics.<br>
<br>
-Anewmonitorcommand"v.sethostvisibility"allowstheGDBserver<br>
toprovideaccesstoValgrindinternalhoststatus/memory.<br>
<br>
*Anewoption"--aspace-minaddr=&lt;address&gt;"caninsomesituations<br>
allowtheuseofmorememorybydecreasingtheaddressabovewhich<br>
Valgrindmapsmemory.Itcanalsobeusedtosolveaddress<br>
conflictswithsystemlibrariesbyincreasingthedefaultvalue.<br>
Seeusermanualfordetails.<br>
<br>
*TheamountofmemoryusedbyValgrindtostoredebuginfo(unwind<br>
info,linenumberinformationandsymboldata)hasbeen<br>
significantlyreduced,eventhoughValgrindnowreadsmore<br>
informationinordertosupportunwindingofinlinedfunctioncalls.<br>
<br>
*Dwarf3handlingwith--read-var-info=yeshasbeenimproved:<br>
<br>
-AdaandCstructcontainingVLAsnolongercausea"badDIE"error<br>
<br>
-Codecompiledwith<br>
-ffunction-sections-fdata-sections-Wl,--gc-sections<br>
nolongercausesassertionfailures.<br>
<br>
*Improvedcheckingforthe--sim-hints=and--kernel-variant=<br>
options.Unknownstringsarenowdetectedandreportedtotheuser<br>
asausageerror.<br>
<br>
*Thesemanticsofstackstart/endboundariesinthevalgrind.h<br>
VALGRIND_STACK_REGISTERclientrequesthasbeenclarifiedand<br>
documented.Theconventionisthatstartandendarerespectively<br>
thelowestandhighestaddressablebytesofthestack.<br>
<br>
*====================FIXEDBUGS====================<br>
<br>
Thefollowingbugshavebeenfixedorresolved.Notethat"n-i-bz"<br>
standsfor"notinbugzilla"--thatis,abugthatwasreportedtous<br>
butnevergotabugzillaentry.Weencourageyoutofilebugsin<br>
bugzilla(https://bugs.kde.org/enter_bug.cgi?product=valgrind)rather<br>
thanmailingthedevelopers(ormailinglists)directly--bugsthat<br>
arenotenteredintobugzillatendtogetforgottenaboutorignored.<br>
<br>
Toseedetailsofagivenbug,visit<br>
https://bugs.kde.org/show_bug.cgi?id=XXXXXX<br>
whereXXXXXXisthebugnumberaslistedbelow.<br>
<br>
175819Supportforipv6socketreportingwith--track-fds<br>
232510makedistcheckfails<br>
249435Analyzingwineprogramswithcallgrindtriggersacrash<br>
278972supportforinlinedfunctioncallsinstacktracesandsuppression<br>
==199144<br>
291310FXSAVEinstructionmarksmemoryasundefinedonamd64<br>
303536ioctlforSIOCETHTOOL(ethtool(8))isn'twrapped<br>
308729vexx86-&gt;IR:unhandledinstructionbytes0xf0x5(syscall)<br>
315199vgcorefileforthreadedappdoesnotshowwhichthreadcrashed<br>
315952tun/tapioctlsarenotsupported<br>
323178Unhandledinstruction:PLDWregister(ARM)<br>
323179Unhandledinstruction:PLDWimmediate(ARM)<br>
324050Helgrind:SEGVbecauseofunalignedstackwhenusingmovdqa<br>
325110Addtest-casesforPowerISA2.06insns:divdo/divdo.anddivduo/divduo.<br>
325124[MIPSEL]Compilationerror<br>
325477Phase4supportforIBMPowerISA2.07<br>
325538caviumocteonmips64,valgrindreported"dumpingcore"[...]<br>
325628Phase5supportforIBMPowerISA2.07<br>
325714EmptyvgcorebutRLIMIT_COREisbigenough(toobig)<br>
325751MissingthetwoprivilegedPowerPCTransactionalMemoryInstructions<br>
325816Phase6supportforIBMPowerISA2.07<br>
325856MakeSGCheckfailgracefullyonunsupportedplatforms<br>
326026Iopnamesforcountleadingzeros/signbitsincorrectlyimply[..]<br>
326436DRD:Falsepositiveinlibstdc++std::list::push_back<br>
326444CaviumMIPSOcteonSpecificLoadIndexedInstructions<br>
326462Refactorvgdbtoisolateinvokerstuffintoseparatemodule<br>
326469amd64-&gt;IR:0x660xF0x3A0x630xC10xE(pcmpistri0x0E)<br>
326623DRD:falsepositiveconflictreportinafieldassignment<br>
326724ValgrinddoesnotcompileonOSX1.9Mavericks<br>
326816Interceptfor__strncpy_sse2_unalignedmissing?<br>
326921coregrindfailstocompilem_trampoline.SwithMIPS/LinuxportofV<br>
326983Cleardirectionflagaftertestsonamd64.<br>
327212Donotprependthecurrentdirectorytoabsolutepathnames.<br>
327223SupportforCaviumMIPSOcteonAtomicandCountInstructions<br>
327238CallgrindAssertion'passed&lt;=last_bb-&gt;cjmp_count'failed<br>
327284s390x:Fixtranslationoftherisbginstruction<br>
327639vexamd64-&gt;IRpcmpestriSSE4.2instructionisunsupported0x34<br>
327837dwzcompressedalternate.debug_infoand.debug_strnotreadcorrectly<br>
327916DW_TAG_typedefmayhavenoname<br>
327943s390x:addaredirectionforthe'index'function<br>
328100XABORTnotimplemented<br>
328205ImplementadditionalXenhypercalls<br>
328454addsupportBacktraceswithARMunwindtables(EXIDX)<br>
328455s390x:SIGILLafteremittingwrongregisterpairforldxbr<br>
328711valgrind.1manpage"memcheckoptions"sectionisbadlygenerated<br>
328878vexamd64-&gt;IRpcmpestriSSE4.2instructionisunsupported0x14<br>
329612IncorrecthandlingofAT_BASEforimageexecution<br>
329694clangwarnsaboutusinguninitializedvariable<br>
329956valgrindcrasheswhenlmw/stmwinstructionsareusedonppc64<br>
330228mmapmustaligntoVKI_SHMLBAonmips32<br>
330257LLVMdoesnotsupport`-mno-dynamic-no-pic`option<br>
330319amd64-&gt;IR:unhandledinstructionbytes:0xF0x10xD5(xend)<br>
330459--track-fds=yesdoesn'ttrackeventfds<br>
330469Addclock_adjtimesyscallsupport<br>
330594MissingsysallsonPowerPC/uClibc<br>
330622AddtesttoregressionsuiteforPOWERinstruction:dcbzl<br>
330939SupportforAMD'ssyscallinstructiononx86<br>
==308729<br>
330941TypoinPRE(poll)syscallwrapper<br>
331057unhandledinstruction:0xEEE01B20(vfma.f64)(haspatch)<br>
331254Fixexpectedoutputformemcheck/tests/dw4<br>
331255Fixraceconditionintestnone/tests/coolo_sigaction<br>
331257Fixtypeofjumpbufferintestnone/tests/faultstatus<br>
331305configureusesbashspecificsyntax<br>
331337s390xWARNING:unhandledsyscall:326(dup3)<br>
331380Syscallparamtimer_create(evp)pointstouninitialisedbyte(s)<br>
331476Patchtohandleioctl0x5422onLinux(x86andamd64)<br>
331829Unexpectedioctlopcodesignextension<br>
331830ppc64:WARNING:unhandledsyscall:96/97<br>
331839drd/tests/sem_openspecifiesinvalidsemaphorename<br>
331847outcomeofdrd/tests/thread_nameisnondeterministic<br>
332037ValgrindcannothandleThumb"addpc,reg"<br>
332055drdassertsonplatformswithVG_STACK_REDZONE_SZB==0and<br>
consistencychecksenabled<br>
332263interceptsforpthread_rwlock_timedrdlockand<br>
pthread_rwlock_timedwrlockareincorrect<br>
332265drdcoulddowithpost-rwlock_initandpre-rwlock_destroy<br>
clientrequests<br>
332276ImplementadditionalXenhypercalls<br>
332658ldrd.wr1,r2,[PC,#imm]doesnotadjustfor32bitalignment<br>
332765Fixms_printtocreatetemporaryfilesinaproperdirectory<br>
333072drd:Addsemaphoreannotations<br>
333145TestsformissalignedPC+#immaccessforarm<br>
333228AAarch64Missinginstructionencoding:mrs%[reg],ctr_el0<br>
333230AAarch64missinginstructionencodings:dc,ic,dsb.<br>
333248WARNING:unhandledsyscall:unix:443<br>
333428ldr.wpc[rD,#imm]instructionleadstoassertion<br>
333501cachegrind:assertion:Cachesetcountisnotapoweroftwo.<br>
==336577<br>
==292281<br>
333666RecognizeMPXinstructionsandbndprefix.<br>
333788ValgrinddoesnotsupporttheCDROM_DISC_STATUSioctl(haspatch)<br>
333817ValgrindreportsthememoryareaswrittentobytheSG_IO<br>
ioctlasuntouched<br>
334049lzcntfailssilently(x86_32)<br>
334384ValgrinddoesnothavesupportLittleEndiansupportfor<br>
IBMPOWERPPC64<br>
334585recvmmsgunhandled(+patch)(arm)<br>
334705sendmsgandrecvmsgshouldguardagainstbogusmsghdrfields.<br>
334727Buildfailswith-Werror=format-security<br>
334788clarifydocabout--log-fileinitialprogramdirectory<br>
334834PPC64LittleEndiansupport,patch2<br>
334836PPC64LittleEndiansupport,patch3testcasefixes<br>
334936patchtofixfalsepositivesonalsaSNDRV_CTL_*ioctls<br>
335034Unhandledioctl:HCIGETDEVLIST<br>
335155vgdb,fixerrorprintstatement.<br>
335262arm64:movi8bitversionisnotsupported<br>
335263arm64:dmbinstructionisnotimplemented<br>
335441unhandledioctl0x8905(SIOCATMARK)whenrunningwineundervalgrind<br>
335496arm64:sbc/abcinstructionsarenotimplemented<br>
335554arm64:unhandledinstruction:abs<br>
335564arm64:unhandledinstruction:fcvtpuXn,Sn<br>
335735arm64:unhandledinstruction:cnt<br>
335736arm64:unhandledinstruction:uaddlv<br>
335848arm64:unhandledinstruction:{s,u}cvtf<br>
335902arm64:unhandledinstruction:sli<br>
335903arm64:unhandledinstruction:umull(vector)<br>
336055arm64:unhandledinstruction:mov(element)<br>
336062arm64:unhandledinstruction:shrn{,2}<br>
336139mip64:[...]valgrindhangsandspinsonasinglecore[...]<br>
336189arm64:unhandledInstruction:mvn<br>
336435Valgrindhangsinpthread_spin_lockconsuming100%CPU<br>
336619valgrind--read-var-info=yesdoesn'thandleDW_TAG_restrict_type<br>
336772Makemoansaboutunknownioctlsmoreinformative<br>
336957AddasectionabouttheSolaris/illumosportonthewebpage<br>
337094ifuncwrapperisbrokenonppc64<br>
337285fcntlcommandsF_OFD_SETLK,F_OFD_SETLKW,andF_OFD_GETLKnotsupported<br>
337528leakcheckheuristicforblockprefixedbylengthas64bitnumber<br>
337740ImplementadditionalXenhypercalls<br>
337762guest_arm64_toIR.c:4166(dis_ARM64_load_store):Assertion`0'failed.<br>
337766arm64-linux:unhandledsyscallsmlock(228)andmlockall(230)<br>
337871deprecate--db-attach<br>
338023AddsupportforallV4L2/mediaioctls<br>
338024inlinedfunctionsarenotshownifDW_AT_rangesisused<br>
338106Addsupportfor'kcmp'syscall<br>
338115DRD:computedconflictsetdiffersfromactualafterfork<br>
338160implementdisplayofthreadlocalstorageingdbsrv<br>
338205configure.acandcheckfor-Wno-tautological-compare<br>
338300coredumpsaremissingonebyteofeverysegment<br>
338445amd64vbit-testfailswithunknownopcodesusedbyarm64VEX<br>
338499--sim-hintsparsingbrokenduetowrongorderintokens<br>
338615suppressglibc2.20optimizedstrcmpimplementationforARMv7<br>
338681Unabletounwindthroughclonethreadcreatedoni386-linux<br>
338698raceconditionbetweengdbsrvandvgdbonstartup<br>
338703helgrindonarm-linuxgetsfalsepositivesindynamicloader<br>
338791altdwzfilescanberelativeofdebug/mainfile<br>
338878onMacOS:assertion'VG_IS_PAGE_ALIGNED(clstack_end+1)'failed<br>
338932buildV-trunkwithgcc-trunk<br>
338974glibc2.20changedsizeofstructsigactionsa_flagsfieldons390<br>
n-i-bzFixKVM_CREATE_IRQCHIPioctlhandling<br>
n-i-bzs390x:Fixmemorycorruptionformultithreadedapplications<br>
n-i-bzvexarm-&gt;IR:allowPCasbasereginsomeLDRDcases<br>
n-i-bzinternalerrorinValgrindifvgdbtransmitsignalswhenptraceinvoked<br>
n-i-bzFixmingw64supportinvalgrind.h(dev@,9May2014)<br>
n-i-bzdrdmanual:DocumenthowtoC++11programsthatuseclass"std::thread"<br>
n-i-bzAddcommand-lineoption--default-suppressions<br>
n-i-bzAddsupportforBLKDISCARDZEROESioctl<br>
n-i-bzppc32/64:fixaregressionwiththemtfsb0/mtfsb1instructions<br>
n-i-bzAddsupportfor	sys_pivot_rootandsys_unshare<br>
<br>
(3.10.0.BETA1:2September2014,vexr2940,valgrindr14428)<br>
(3.10.0.BETA2:8September2014,vexr2950,valgrindr14503)<br>
(3.10.0:10September2014,vexr2950,valgrindr14514)<br>
<br>
<br>
<br>
Release3.9.0(31October2013)<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
3.9.0isafeaturereleasewithmanyimprovementsandtheusual<br>
collectionofbugfixes.<br>
<br>
ThisreleasesupportsX86/Linux,AMD64/Linux,ARM/Linux,PPC32/Linux,<br>
PPC64/Linux,S390X/Linux,MIPS32/Linux,MIPS64/Linux,ARM/Android,<br>
X86/Android,X86/MacOSX10.7andAMD64/MacOSX10.7.Supportfor<br>
MacOSX10.8issignificantlyimprovedrelativetothe3.8.0release.<br>
<br>
*==================PLATFORMCHANGES=================<br>
<br>
*SupportforMIPS64LEandBErunningLinux.Valgrindhasbeen<br>
testedonMIPS64DebianSqueezeandDebianWheezydistributions.<br>
<br>
*SupportforMIPSDSPASEonMIPS32platforms.<br>
<br>
*Supportfors390xDecimalFloatingPointinstructionsonhoststhat<br>
havetheDFPfacilityinstalled.<br>
<br>
*SupportforPOWER8(PowerISA2.07)instructions<br>
<br>
*SupportforIntelAVX2instructions.Thisisavailableonlyon64<br>
bitcode.<br>
<br>
*InitialsupportforIntelTransactionalSynchronizationExtensions,<br>
bothRTMandHLE.<br>
<br>
*InitialsupportforHardwareTransactionalMemoryonPOWER.<br>
<br>
*ImprovedsupportforMacOSX10.8(64-bitonly).Memcheckcannow<br>
runlargeGUIappstolerablywell.<br>
<br>
*====================TOOLCHANGES====================<br>
<br>
*Memcheck:<br>
<br>
-Improvementsinhandlingofvectorisedcode,leadingto<br>
significantlyfewerfalseerrorreports.Youneedtousetheflag<br>
--partial-loads-ok=yestogetthebenefitsofthesechanges.<br>
<br>
-Bettercontrolovertheleakchecker.Itisnowpossibleto<br>
specifywhichleakkinds(definite/indirect/possible/reachable)<br>
shouldbedisplayed,whichshouldberegardedaserrors,andwhich<br>
shouldbesuppressedbyagivenleaksuppression.Thisisdone<br>
usingtheoptions--show-leak-kinds=kind1,kind2,..,<br>
--errors-for-leak-kinds=kind1,kind2,..andanoptional<br>
"match-leak-kinds:"lineinsuppressionentries,respectively.<br>
<br>
Notethatgeneratedleaksuppressionscontainthisnewlineand<br>
arethereforemorespecificthaninpreviousreleases.Togetthe<br>
samebehaviouraspreviousreleases,removethe"match-leak-kinds:"<br>
linefromgeneratedsuppressionsbeforeusingthem.<br>
<br>
-Reduced"possibleleak"reportsfromtheleakcheckerbytheuse<br>
ofbetterheuristics.Theavailableheuristicsprovidedetection<br>
ofvalidinteriorpointerstostd::stdstring,tonew[]allocated<br>
arrayswithelementshavingdestructorsandtointeriorpointers<br>
pointingtoaninnerpartofaC++objectusingmultiple<br>
inheritance.Theycanbeselectedindividuallyusingthe<br>
option--leak-check-heuristics=heur1,heur2,...<br>
<br>
-Bettercontrolofstacktraceacquisitionforheap-allocated<br>
blocks.Usingthe--keep-stacktracesoption,itispossibleto<br>
controlindependentlywhetherastacktraceisacquiredforeach<br>
allocationanddeallocation.Thiscanbeusedtocreatebetter<br>
"useafterfree"errorsortodecreaseValgrind'sresource<br>
consumptionbyrecordinglessinformation.<br>
<br>
-Betterreportingofleaksuppressionusage.Thelistofused<br>
suppressions(shownwhenthe-voptionisgiven)nowshows,for<br>
eachleaksuppressions,howmanyblocksandbytesitsuppressed<br>
duringthelastleaksearch.<br>
<br>
*Helgrind:<br>
<br>
-Falseerrorsresultingfromtheuseofstaticallyinitialised<br>
mutexesandconditionvariables(PTHREAD_MUTEX_INITIALISER,etc)<br>
havebeenremoved.<br>
<br>
-Falseerrorsresultingfromtheuseofpthread_cond_waitsthat<br>
timeout,havebeenremoved.<br>
<br>
*====================OTHERCHANGES====================<br>
<br>
*SomeattempttotuneValgrind'sspacerequirementstotheexpected<br>
capabilitiesofthetarget:<br>
<br>
-Thedefaultsizeofthetranslationcachehasbeenreducedfrom8<br>
sectorsto6onAndroidplatforms,sinceeachsectoroccupies<br>
about40MBwhenusingMemcheck.<br>
<br>
-Thedefaultsizeofthetranslationcachehasbeenincreasedto16<br>
sectorsonallotherplatforms,reflectingthefactthatlarge<br>
applicationsrequireinstrumentationandstorageofhugeamounts<br>
ofcode.Forsimilarreasons,thenumberofmemorymapped<br>
segmentsthatcanbetrackedhasbeenincreasedbyafactorof6.<br>
<br>
-Inallcases,themaximumnumberofsectorsinthetranslation<br>
cachecanbecontrolledbythenewflag--num-transtab-sectors.<br>
<br>
*Changesinhowdebuginfo(linenumbers,etc)isread:<br>
<br>
-Valgrindnolongertemporarilymmapstheentireobjecttoread<br>
fromit.Instead,readingisdonethroughasmallfixedsized<br>
buffer.ThisavoidsvirtualmemoryusagespikeswhenValgrind<br>
readsdebuginfofromlargesharedobjects.<br>
<br>
-Anewexperimentalremotedebuginfoserver.Valgrindcanread<br>
debuginfofromadifferentmachine(typically,abuildhost)<br>
wheredebuginfoobjectsarestored.Thiscansavealotoftime<br>
andhasslewhenrunningValgrindonresource-constrainedtargets<br>
(phones,tablets)whenthefulldebuginfoobjectsarestored<br>
somewhereelse.Thisisenabledbythe--debuginfo-server=<br>
option.<br>
<br>
-Consistencycheckingbetweenmainanddebugobjectscanbe<br>
disabledusingthe--allow-mismatched-debuginfooption.<br>
<br>
*Stackunwindingbystackscanning,onARM.Unwindingbystack<br>
scanningcanrecoverstacktracesinsomecaseswhenthenormal<br>
unwindmechanismsfail.Stackscanningisbestdescribedas"a<br>
nasty,dangerousandmisleadinghack"andsoisdisabledbydefault.<br>
Use--unw-stack-scan-threshand--unw-stack-scan-framestoenable<br>
andcontrolit.<br>
<br>
*Detectionandmergingofrecursivestackframecycles.Whenyour<br>
programhasrecursivealgorithms,thislimitsthememoryusedby<br>
Valgrindforrecordedstacktracesandavoidsrecording<br>
uninterestingrepeatedcalls.Thisiscontrolledbythecommand<br>
lineoption--merge-recursive-frameandbythemonitorcommand<br>
"v.setmerge-recursive-frames".<br>
<br>
*Filenameandlinenumbersforusedsuppressions.Thelistofused<br>
suppressions(shownwhenthe-voptionisgiven)nowshows,foreach<br>
usedsuppression,thefilenameandlinenumberwherethesuppression<br>
isdefined.<br>
<br>
*NewandmodifiedGDBservermonitorfeatures:<br>
<br>
-valgrind.hhasanewclientrequest,VALGRIND_MONITOR_COMMAND,<br>
thatcanbeusedtoexecutegdbservermonitorcommandsfromthe<br>
clientprogram.<br>
<br>
-Anewmonitorcommand,"v.infoopen_fds",thatgivesthelistof<br>
openfiledescriptorsandadditionaldetails.<br>
<br>
-Anoptionalmessageinthe"v.infon_errs_found"monitorcommand,<br>
forexample"v.infon_errs_foundtest1234finished",allowinga<br>
commentstringtobeaddedtotheprocessoutput,perhapsforthe<br>
purposeofseparatingerrorsofdifferenttestsortestphases.<br>
<br>
-Anewmonitorcommand"v.infoexecontext"thatshowsinformation<br>
aboutthestacktracesrecordedbyValgrind.<br>
<br>
-Anewmonitorcommand"v.doexpensive_sanity_check_general"torun<br>
someinternalconsistencychecks.<br>
<br>
*Newflag--sigill-diagnosticstocontrolwhetheradiagnostic<br>
messageisprintedwhentheJITencountersaninstructionitcan't<br>
translate.Theactualbehavior--deliveryofSIGILLtothe<br>
application--isunchanged.<br>
<br>
*ThemaximumamountofmemorythatValgrindcanuseon64bittargets<br>
hasbeenincreasedfrom32GBto64GB.Thisshouldmakeitpossible<br>
torunapplicationsonMemcheckthatnativelyrequireuptoabout35GB.<br>
<br>
*====================FIXEDBUGS====================<br>
<br>
Thefollowingbugshavebeenfixedorresolved.Notethat"n-i-bz"<br>
standsfor"notinbugzilla"--thatis,abugthatwasreportedtous<br>
butnevergotabugzillaentry.Weencourageyoutofilebugsin<br>
bugzilla(https://bugs.kde.org/enter_bug.cgi?product=valgrind)rather<br>
thanmailingthedevelopers(ormailinglists)directly--bugsthat<br>
arenotenteredintobugzillatendtogetforgottenaboutorignored.<br>
<br>
Toseedetailsofagivenbug,visit<br>
https://bugs.kde.org/show_bug.cgi?id=XXXXXX<br>
whereXXXXXXisthebugnumberaslistedbelow.<br>
<br>
123837systemcall:4thargumentisoptional,dependingoncmd<br>
135425memcheckshouldtellyouwhereFreedblockswereMallocd<br>
164485VG_N_SEGNAMESandVG_N_SEGMENTSare(still)toosmall<br>
207815Addssomeofthedrmioctlstosyswrap-linux.c<br>
251569vexamd64-&gt;IR:0xF0x10xF90xBF0x900xD00x30x0(RDTSCP)<br>
252955Impossibletocompilewithccache<br>
253519Memcheckreportsauxvpointeraccessesasinvalidreads.<br>
263034CrashwhenloadingsomePPC64binaries<br>
269599Increasedeepestbacktrace<br>
274695s390x:Support"compareto/fromlogical"instructions(z196)<br>
275800s390x:Autodetectcacheinfo(part2)<br>
280271Valgrindreportspossiblememoryleaksonstill-reachablestd::string<br>
284540Memcheckshouldn'tcountsuppressionsmatchingstill-reachable[..]<br>
289578BacktraceswithARMunwindtables(stackscanflags)<br>
296311Wrongstacktracesdueto-fomit-frame-pointer(x86)<br>
304832ppc32:buildfailure<br>
305431Usefind_buildidshdrfallbackforseparate.debugfiles<br>
305728AddsupportforAVX2instructions<br>
305948ppc64:codegenerationforShlD64/ShrD64asserts<br>
306035s390x:FixIRgenerationforLAAGandfriends<br>
306054s390x:Conditioncodecomputationforconvert-to-int/logical<br>
306098s390x:alternateopcodeformforconvertto/fromfixed<br>
306587FixcachelinedetectionfromauxiliaryvectorforPPC.<br>
306783Mipsunhandledsyscall:4025/4079/4182<br>
307038DWARF2CFIreader:unhandledDW_OP_opcode0x8(DW_OP_const1uetal)<br>
307082HGfalsepositive:pthread_cond_destroy:destructionofunknownCV<br>
307101sys_capgetsecondargumentcanbeNULL<br>
307103sys_openat:Ifpathnameisabsolute,thendirfdisignored.<br>
307106amd64-&gt;IR:f00fc002(lockxaddbyte)<br>
307113s390x:DFPsupport<br>
307141valgrinddoes'tworkinmips-linuxsystem<br>
307155filter_gdbshouldfilteroutsyscall-template.ST_PSEUDO<br>
307285x86_amd64featuretestforavxintestsuiteiswrong<br>
307290memcheckoverlaptestcaseneedsmemcpyversionfilter<br>
307463Pleaseadd"&amp;limit=0"tothe"allopenbugs"link<br>
307465--show-possibly-lost=noshouldreducetheerrorcount/exitcode<br>
307557LeaksonMacOSX10.7.5librariesatImageLoader::recursiveInit[..]<br>
307729pkgconfigsupportbrokenvalgrind.pc<br>
307828MemcheckfalseerrorsSSEoptimizedwcscpy,wcscmp,wcsrchr,wcschr<br>
307955Buildingvalgrind3.7.0-r4failsinGentooAMD64whenusingclang<br>
308089Unhandledsyscallonppc64:prctl<br>
308135PPC32MPC8xxhas16bytescachesize<br>
308321testsuitememcheckfilterinterfereswithgdb_filter<br>
308333==307106<br>
308341vgdbshouldreportprocessexit(orfatalsignal)<br>
308427s390memcheckreportstsearchcjump/cmovedependsonuninit<br>
308495RemovebuilddependencyoninstalledXenheaders<br>
308573Internalerroron64-bitinstructionexecutedin32-bitmode<br>
308626==308627<br>
308627pmovmskbvaliditybitpropagationisimprecise<br>
308644vgdbcommandforhavingtheinfoforthetrack-fdsoption<br>
308711givemoreinfoaboutaspacemgrandarenasinout_of_memory<br>
308717ARM:implementfixed-pointVCVT.F64.[SU]32<br>
308718ARMimplementSMLALBBfamilyofinstructions<br>
308886MissingsupportforPTRACE_SET/GETREGSET<br>
308930syscallname_to_handle_at(303onamd64)nothandled<br>
309229V-bittesterdoesnotreportnumberoftestsgenerated<br>
309323printunrecognizedinstuctiononMIPS<br>
309425Providea--sigill-diagnosticsflagtosuppressillegal[..]<br>
309427SSEoptimizedstpncpytriggeruninitialisedvalue[..]errors<br>
309430Selfhostingppc64encountersavasserterroronoperandtype<br>
309600valgrindisabitconfusedabout0-sizedsections<br>
309823Generateerrorsforstillreachableblocks<br>
309921PCMPISTRIvaliditybitpropagationisimprecise<br>
309922none/tests/ppc64/test_dfp5sometimesfails<br>
310169TheIop_CmpORDclassofIopsisnotsupportedbythevbitchecker.<br>
310424--read-var-infodoesnotproperlydescribestaticvariables<br>
310792searchadditionalpathfordebugsymbols<br>
310931s390x:Message-securityassist(MSA)instructionextension[..]<br>
311100PPCDFPimplementationoftheintegeroperandsisinconsistent[..]<br>
311318ARM:"128-bitconstantisnotimplemented"errormessage<br>
311407ssse3bcopy(actuallyconvertedmemcpy)causesinvalidread[..]<br>
311690Vcrashesbecauseitredirectsbranchesinsideofaredirectedfunction<br>
311880x86_64:makeregtesthangsatshell_valid1<br>
311922WARNING:unhandledsyscall:170<br>
311933==251569<br>
312171ppc:insnselectionforDFP<br>
312571RoundingmodecallwrongfortheDFPIops[..]<br>
312620ChangetoIop_D32toD64[..]fors390DFPsupportbrokeppc[..]<br>
312913Danglingpointerserrorshouldalsoreporttheallocstacktrace<br>
312980BuildingonMountainLiongeneratessomecompilerwarnings<br>
313267AddingMIPS64/LinuxporttoValgrind<br>
313348==251569<br>
313354==251569<br>
313811Bufferoverflowinassert_fail<br>
314099coveritypointedouterrorinVEXguest_ppc_toIR.cinsn_suffix<br>
314269ppc:deadcodeininsnselection<br>
314718ARM:implementintegerdivideinstruction(sdivandudiv)<br>
315345cl-format.xmlandcallgrind/dump.cdon'tagreeonusingcfl=orcfi=<br>
315441sendmsgsyscallshouldignoreunsetmsghdrmsg_flags<br>
315534msgrcvinsideathreadcausesvalgrindtohang(block)<br>
315545Assertion'(UChar*)sec-&gt;tt[tteNo].tcptr&lt;=(UChar*)hcode'failed<br>
315689disInstr(thumb):unhandledinstruction:0xF8520x0E10(LDRT)<br>
315738disInstr(arm):unhandledinstruction:0xEEBE0BEE(vcvt.s32.f64)<br>
315959valgrindmanpagehasbogusSGCHECK(andnoBBV)OPTIONSsection<br>
316144valgrind.1manpagecontainsunknown???strings[..]<br>
316145callgrindcommandlineoptionsinmanpagereference(unknown)[..]<br>
316145callgrindcommandlineoptionsinmanpagereference[..]<br>
316181drd:Fixeda4xslowdownforcertainapplications<br>
316503ValgrinddoesnotsupportSSE4"movntdqa"instruction<br>
316535Useof|signedint|insteadof|size_t|invalgrindmessages<br>
316696fluidanimateprogramofparsec2.1stuck<br>
316761syscallopen_by_handle_at(304onamd64,342onx86)nothandled<br>
317091Use-Wl,-Ttext-segmentwhenstaticlinkingifpossible[..]<br>
317186"Impossiblehappens"whenoccursVCVTinstructiononARM<br>
317318SupportforThreadingBuildingBlocks"scalable_malloc"<br>
317444amd64-&gt;IR:0xC40x410x2C0xC20xD20x8(vcmpeq_uqps)<br>
317461FixBMIassemblerconfigurecheckandavx2/bmi/fmavgtestprereqs<br>
317463bmitestcaseIRSANITYCHECKFAILURE<br>
317506memcheck/tests/vbit-testfailswithunknownopcodeafter[..]<br>
318050libmpiwrapfailstocompilewithout-of-sourcebuild<br>
318203setsockopthandlingneedstohandleSOL_SOCKET/SO_ATTACH_FILTER<br>
318643annotate_trace_memorytestsinfinitelooponarmandppc[..]<br>
318773amd64-&gt;IR:0xF30x480x0F0xBC0xC20xC30x660x0F<br>
318929Crashwith:disInstr(thumb):0xF3210x0001(ssat16)<br>
318932AddmissingPPC64andPPC32systemcallsupport<br>
319235--db-attach=yesisbrokenwithYama(ptracescoping)enabled<br>
319395CrashwithunhandledinstructiononSTRT(Thumb)instructions<br>
319494VEXMakefile-gccstandalonebuildupdateafterr2702<br>
319505[MIPSEL]Crash:unhandledUNRAYoperator.<br>
319858disInstr(thumb):unhandledinstructiononinstructionSTRBT<br>
319932disInstr(thumb):unhandledinstructiononinstructionSTRHT<br>
320057Problemswhenwetrytommapmorethan12memorypagesonMIPS32<br>
320063MemoryfromPTRACE_GET_THREAD_AREAisreporteduninitialised<br>
320083disInstr(thumb):unhandledinstructiononinstructionLDRBT<br>
320116bindonAF_BLUETOOTHproduceswarningsbecauseofsockaddr_rcpadding<br>
320131WARNING:unhandledsyscall:369onARM(prlimit64)<br>
320211Stackbufferoverflowin./coregrind/m_main.cwithhugeTMPDIR<br>
320661vgModuleLocal_read_elf_debug_info():"Assertion'!di-&gt;soname'<br>
320895addfanotifysupport(patchincluded)<br>
320998vexamd64-&gt;IRpcmpestriandpcmpestrmSSE4.2instruction<br>
321065ValgrindupdatesforXen4.3<br>
321148Unhandledinstruction:PLI(Thumb1,2,3)<br>
321363Unhandledinstruction:SSAX(ARM+Thumb)<br>
321364Unhandledinstruction:SXTAB16(ARM+Thumb)<br>
321466Unhandledinstruction:SHASX(ARM+Thumb)<br>
321467Unhandledinstruction:SHSAX(ARM+Thumb)<br>
321468Unhandledinstruction:SHSUB16(ARM+Thumb)<br>
321619Unhandledinstruction:SHSUB8(ARM+Thumb)<br>
321620Unhandledinstruction:UASX(ARM+Thumb)<br>
321621Unhandledinstruction:USAX(ARM+Thumb)<br>
321692Unhandledinstruction:UQADD16(ARM+Thumb)<br>
321693Unhandledinstruction:LDRSBT(Thumb)<br>
321694Unhandledinstruction:UQASX(ARM+Thumb)<br>
321696Unhandledinstruction:UQSAX(Thumb+ARM)<br>
321697Unhandledinstruction:UHASX(ARM+Thumb)<br>
321703Unhandledinstruction:UHSAX(ARM+Thumb)<br>
321704Unhandledinstruction:REVSH(ARM+Thumb)<br>
321730Addcg_diffandcg_mergemanpages<br>
321738Addvgdbandvalgrind-listenermanpages<br>
321814==315545<br>
321891Unhandledinstruction:LDRHT(Thumb)<br>
321960pthread_create()thenalloca()causinginvalidstackwriteerrors<br>
321969ppc32andppc64don'tsupport[lf]setxattr<br>
322254Showthreadnametogetherwithtidifsetbyapplication<br>
322294AddinitialsupportforIBMPowerISA2.07<br>
322368Assertionfailureinwqthread_hijackunderOSX10.8<br>
322563vexmips-&gt;IR:0x700x830xF00x3A<br>
322807VALGRIND_PRINTF_BACKTRACEwritescallstacktoxmlandtexttostderr<br>
3228510bXXXbinaryliteralsyntaxisnotstandard<br>
323035Unhandledinstruction:LDRSHT(Thumb)<br>
323036Unhandledinstruction:SMMLS(ARMandThumb)<br>
323116Thememcheck/tests/ppc64/power_ISA2_05.cfailstobuild[..]<br>
323175Unhandledinstruction:SMLALD(ARM+Thumb)<br>
323177Unhandledinstruction:SMLSLD(ARM+Thumb)<br>
323432Callingpthread_cond_destroy()orpthread_mutex_destroy()[..]<br>
323437Phase2supportforIBMPowerISA2.07<br>
323713Supportmmxext(integersse)subsetoni386(athlon)<br>
323803TransactionalmemoryinstructionsarenotsupportedforPower<br>
323893SSE3notavailableonamdcpusinvalgrind<br>
323905ProbablefalsepositivefromValgrind/drdonclose()<br>
323912valgrind.hheaderisn'tcompatibleformingw64<br>
324047Valgrinddoesn'tsupport[LDR,ST]{S}[B,H]TARMinstructions<br>
324149helgrind:Whenpthread_cond_timedwaitreturnsETIMEDOUT[..]<br>
324181mmapdoesnothandleMAP_32BIT<br>
324227memcheckfalsepositiveleakwhenathreadcallsexit+block[..]<br>
324421SupportforfanotifyAPIonARMarchitecture<br>
324514gdbservermonitorcmdoutputbehaviourconsistency[..]<br>
324518ppc64:Emulationofdcbtinstructionsdoesnothandle[..]<br>
324546none/tests/ppc32test_isa_2_07_part2requests-m64<br>
324582Whenaccessismadetofreedmemory,reportbothallocation[..]<br>
324594FixoverflowcomputationforPowerISA2.06insns:mulldo/mulldo.<br>
324765ppc64:illegalinstructionwhenexecutingnone/tests/ppc64/jm-misc<br>
324816IncorrectVEXimplementationforxscvspdp/xvcvspdpforSNaNinputs<br>
324834UnhandledinstructionsinMicrosoftCrun-timeforx86_64<br>
324894Phase3supportforIBMPowerISA2.07<br>
326091drd:Avoidfalseracereportsfromoptimizedstrlen()impls<br>
326113valgrindlibvexhwcapserroronAMD64<br>
n-i-bzSomewrongcommandlineoptionscouldbeignored<br>
n-i-bzpatchtoallowfair-schedonandroid<br>
n-i-bzreporterrorforvgdbsnapshotrequestedbeforeexecution<br>
n-i-bzsameas303624(fixedin3.8.0),butforx86android<br>
<br>
(3.9.0:31October2013,vexr2796,valgrindr13708)<br>
<br>
<br>
<br>
Release3.8.1(19September2012)<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
3.8.1isabugfixrelease.Itfixessomeassertionfailuresin3.8.0<br>
thatoccurmoderatelyfrequentlyinrealusecases,addssupportfor<br>
somemissinginstructionsonARM,andfixesadeadlockconditionon<br>
MacOSX.Ifyoupackageordeliver3.8.0forotherstouse,youmight<br>
wanttoconsiderupgradingto3.8.1instead.<br>
<br>
Thefollowingbugshavebeenfixedorresolved.Notethat"n-i-bz"<br>
standsfor"notinbugzilla"--thatis,abugthatwasreportedtous<br>
butnevergotabugzillaentry.Weencourageyoutofilebugsin<br>
bugzilla(https://bugs.kde.org/enter_bug.cgi?product=valgrind)rather<br>
thanmailingthedevelopers(ormailinglists)directly--bugsthat<br>
arenotenteredintobugzillatendtogetforgottenaboutorignored.<br>
<br>
Toseedetailsofagivenbug,visit<br>
https://bugs.kde.org/show_bug.cgi?id=XXXXXX<br>
whereXXXXXXisthebugnumberaslistedbelow.<br>
<br>
284004==301281<br>
289584Unhandledinstruction:0xF0x290xE5(MOVAPS)<br>
295808amd64-&gt;IR:0xF30xF0xBC0xC0(TZCNT)<br>
298281wcslencausesfalse(?)uninitialisedvaluewarnings<br>
301281valgrindhangsonOSXwhentheprocesscallssystem()<br>
304035disInstr(arm):unhandledinstruction0xE1023053<br>
304867implementMOVBEinstructioninx86mode<br>
304980Assertion'lo&lt;=hi'failedinvgModuleLocal_find_rx_mapping<br>
305042amd64:implement0F7Fencodingofmovqbetweentworegisters<br>
305199ARM:implementQDADDandQDSUB<br>
305321amd64-&gt;IR:0xF0xD0xC(prefetchw)<br>
305513killedbyfatalsignal:SIGSEGV<br>
305690DRDreportinginvalidsemaphorewhensem_trywaitfails<br>
305926InvalidalignmentchecksforsomeAVXinstructions<br>
306297disInstr(thumb):unhandledinstruction0xE8830x000C<br>
3063103.8.0releasetarballmissingsomefiles<br>
306612RHEL6glibc-2.Xdefaultsuppressionsneed/lib*/libc-*patterns<br>
306664vexamd64-&gt;IR:0x660xF0x3A0x620xD10x460x660xF<br>
n-i-bzshmatofasegment&gt;4Gbdoesnotwork<br>
n-i-bzsimulate_control_cscriptwrongUSR1signalnumberonmips<br>
n-i-bzvgdbptracecallswrongonmips[...]<br>
n-i-bzFixesformoreMPIfalsepositives<br>
n-i-bzexp-sgcheck'smemcpycausesprogramstosegfault<br>
n-i-bzOSXbuildw/clang:assertsatstartup<br>
n-i-bzIncorrectundef'dnesspropforIop_DPBtoBCDandIop_BCDtoDPB<br>
n-i-bzfixacoupleofuniontag-vs-fieldmixups<br>
n-i-bzOSX:use__NR_poll_nocancelratherthan__NR_poll<br>
<br>
Thefollowingbugswerefixedin3.8.0butnotlistedinthisNEWS<br>
fileatthetime:<br>
<br>
254088ValgrindshouldknowaboutUD2instruction<br>
301280==254088<br>
301902==254088<br>
304754NEWSblowsTeX'slittlemind<br>
<br>
(3.8.1:19September2012,vexr2537,valgrindr12996)<br>
<br>
<br>
<br>
Release3.8.0(10August2012)<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
3.8.0isafeaturereleasewithmanyimprovementsandtheusual<br>
collectionofbugfixes.<br>
<br>
ThisreleasesupportsX86/Linux,AMD64/Linux,ARM/Linux,PPC32/Linux,<br>
PPC64/Linux,S390X/Linux,MIPS/Linux,ARM/Android,X86/Android,<br>
X86/MacOSX10.6/10.7andAMD64/MacOSX10.6/10.7.Supportforrecent<br>
distrosandtoolchaincomponents(glibc2.16,gcc4.7)hasbeenadded.<br>
ThereisinitialsupportforMacOSX10.8,butitisnotusablefor<br>
seriousworkatpresent.<br>
<br>
*==================PLATFORMCHANGES=================<br>
<br>
*SupportforMIPS32platformsrunningLinux.Valgrindhasbeen<br>
testedonMIPS32andMIPS32r2platformsrunningdifferentDebian<br>
SqueezeandMeeGodistributions.Bothlittle-endianandbig-endian<br>
coresaresupported.ThetoolsMemcheck,MassifandLackeyhave<br>
beentestedandareknowntowork.SeeREADME.mipsformoredetails.<br>
<br>
*PreliminarysupportforAndroidrunningonx86.<br>
<br>
*Preliminary(as-yetlargelyunusable)supportforMacOSX10.8.<br>
<br>
*SupportforIntelAVXinstructionsandforAESinstructions.This<br>
supportisavailableonlyfor64bitcode.<br>
<br>
*SupportforPOWERDecimalFloatingPointinstructions.<br>
<br>
*====================TOOLCHANGES====================<br>
<br>
*Non-libcmallocimplementationsarenowsupported.Thisisuseful<br>
fortoolsthatreplacemalloc(Memcheck,Massif,DRD,Helgrind).<br>
Usingthenewoption--soname-synonyms,suchtoolscanbeinformed<br>
thatthemallocimplementationiseitherlinkedstaticallyintothe<br>
executable,orispresentinsomeothersharedlibrarydifferent<br>
fromlibc.so.Thismakesitpossibletoprocessstaticallylinked<br>
programs,andprogramsusingothermalloclibraries,forexample<br>
TCMallocorJEMalloc.<br>
<br>
*Fortoolsthatprovidetheirownreplacementformallocetal,the<br>
option--redzone-size=&lt;number&gt;allowsuserstospecifythesizeof<br>
thepaddingblocks(redzones)addedbeforeandaftereachclient<br>
allocatedblock.Smallerredzonesdecreasethememoryneededby<br>
Valgrind.Biggerredzonesincreasethechancetodetectblocks<br>
overrunorunderrun.Priortothischange,theredzonesizewas<br>
hardwiredto16bytesinMemcheck.<br>
<br>
*Memcheck:<br>
<br>
-Theleak_checkGDBservermonitorcommandnowcan<br>
controlthemaximumnroflossrecordstooutput.<br>
<br>
-Reductionofmemoryuseforapplicationsallocating<br>
manyblocksand/orhavingmanypartiallydefinedbytes.<br>
<br>
-AdditionofGDBservermonitorcommand'block_list'thatlists<br>
theaddresses/sizesoftheblocksofaleaksearchlossrecord.<br>
<br>
-AdditionofGDBservermonitorcommand'who_points_at'thatlists<br>
thelocationspointingatablock.<br>
<br>
-Ifaredzonesize&gt;0isgiven,VALGRIND_MALLOCLIKE_BLOCKnowwill<br>
detectaninvalidaccessoftheseredzones,bymarkingthem<br>
noaccess.Similarly,ifaredzonesizeisgivenforamemory<br>
pool,VALGRIND_MEMPOOL_ALLOCwillmarktheredzonesnoaccess.<br>
Thisstillallowstofindsomebugsiftheuserhasforgottento<br>
markthepoolsuperblocknoaccess.<br>
<br>
-Performanceofmemoryleakcheckhasbeenimproved,especiallyin<br>
caseswheretherearemanyleakedblocksand/ormanysuppression<br>
rulesusedtosuppressleakreports.<br>
<br>
-Reducednoise(falsepositive)levelonMacOSX10.6/10.7,dueto<br>
morepreciseanalysis,whichisimportantforLLVM/Clang<br>
generatedcode.Thisisatthecostofsomewhatreduced<br>
performance.Notethereisnochangetoanalysisprecisionor<br>
costsonLinuxtargets.<br>
<br>
*DRD:<br>
<br>
-Addedevenmorefacilitiesthatcanhelpfindingthecauseofadata<br>
race,namelythecommand-lineoption--ptrace-addrandthemacro<br>
DRD_STOP_TRACING_VAR(x).Moreinformationcanbefoundinthemanual.<br>
<br>
-Fixedasubtlebugthatcouldcausefalsepositivedataracereports.<br>
<br>
*====================OTHERCHANGES====================<br>
<br>
*TheC++demanglerhasbeenupdatedsoastoworkwellwithC++<br>
compiledbyuptoatleastg++4.6.<br>
<br>
*Tooldeveloperscanmakereplacement/wrappingmoreflexiblethanks<br>
tothenewoption--soname-synonyms.Thiswasreportedabove,but<br>
infactisverygeneralandappliestoallfunction<br>
replacement/wrapping,notjusttomalloc-familyfunctions.<br>
<br>
*Round-robinschedulingofthreadscanbeselected,usingthenew<br>
option--fair-sched=yes.Priortothischange,thepipe-based<br>
threadserialisationmechanism(whichisstillthedefault)could<br>
giveveryunfairscheduling.--fair-sched=yesimproves<br>
responsivenessofinteractivemultithreadedapplications,and<br>
improvesrepeatabilityofresultsfromthethreadcheckersHelgrind<br>
andDRD.<br>
<br>
*Fortooldevelopers:supporttorunValgrindonValgrindhasbeen<br>
improved.WecannowroutinelyValgrindonHelgrindorMemcheck.<br>
<br>
*gdbservernowshowsthefloatshadowregistersasinteger<br>
ratherthanfloatvalues,astheshadowvaluesaremostly<br>
usedasbitpatterns.<br>
<br>
*Increasedlimitforthe--num-callerscommandlineflagto500.<br>
<br>
*Performanceimprovementsforerrormatchingwhentherearemany<br>
suppressionrecordsinuse.<br>
<br>
*ImprovedsupportforDWARF4debugginginformation(bug284184).<br>
<br>
*InitialsupportforDWZcompressedDwarfdebuginfo.<br>
<br>
*ImprovedcontrolovertheIRoptimiser'shandlingofthetradeoff<br>
betweenperformanceandprecisionofexceptions.Specifically,<br>
--vex-iropt-precise-memory-exnshasbeenremovedandreplacedby<br>
--vex-iropt-register-updates,withextendedfunctionality.This<br>
allowstheValgrindgdbservertoalwaysshowuptodateregister<br>
valuestoGDB.<br>
<br>
*Modestperformancegainsthroughtheuseoftranslationchainingfor<br>
JIT-generatedcode.<br>
<br>
*====================FIXEDBUGS====================<br>
<br>
Thefollowingbugshavebeenfixedorresolved.Notethat"n-i-bz"<br>
standsfor"notinbugzilla"--thatis,abugthatwasreportedtous<br>
butnevergotabugzillaentry.Weencourageyoutofilebugsin<br>
bugzilla(https://bugs.kde.org/enter_bug.cgi?product=valgrind)rather<br>
thanmailingthedevelopers(ormailinglists)directly--bugsthat<br>
arenotenteredintobugzillatendtogetforgottenaboutorignored.<br>
<br>
Toseedetailsofagivenbug,visit<br>
https://bugs.kde.org/show_bug.cgi?id=XXXXXX<br>
whereXXXXXXisthebugnumberaslistedbelow.<br>
<br>
197914Buildingvalgrindfromsvnnowrequiresautomake-1.10<br>
203877increaseto16Mbmaximumallowedalignmentformemalignetal<br>
219156Handlestaticallylinkedmallocorothermalloclib(e.g.tcmalloc)<br>
247386makeperfdoesnotrunallperformancetests<br>
270006Valgrindschedulerunfair<br>
270777AddingMIPS/LinuxporttoValgrind<br>
270796s390x:RemovedbrokensupportfortheTSinsn<br>
271438FixconfigureforproperSSE4.2detection<br>
273114s390x:SupportTR,TRE,TROO,TROT,TRTO,andTRTTinstructions<br>
273475AddsupportforAVXinstructions<br>
274078improvedconfigurelogicformpicc<br>
276993fixmremap'nothrashchecks'<br>
278313Fedora15/x64:errreaddebuginfowith--read-var-info=yesflag<br>
281482memcheckincorrectbyteallocationcountinrealloc()forsillyargument<br>
282230groupallocatorforsmallfixedsize,useitforMC_Chunk/SEcvbit<br>
283413Fixwrongsanitycheck<br>
283671RobustizealignmentcomputationinLibVEX_Alloc<br>
283961AddingsupportforsomeHCIIOCTLs<br>
284124parse_type_DIE:confusedby:DWARF4<br>
284864==273475(AddsupportforAVXinstructions)<br>
285219Too-restrictiveconstraintsforThumb2"SPplus/minusregister"<br>
285662(MacOSX):Memcheckneedstoreplacememcpy/memmove<br>
285725==273475(AddsupportforAVXinstructions)<br>
286261addwrapperforlinuxI2C_RDWRioctl<br>
286270vgpreloadisnotfriendlyto64-&gt;32bitexecs,givesld.sowarnings<br>
286374Runningcachegrindwith--branch-sim=yeson64-bitPowerPCprogramfails<br>
286384configurefails"checkingforasupportedversionofgcc"<br>
286497==273475(AddsupportforAVXinstructions)<br>
286596==273475(AddsupportforAVXinstructions)<br>
286917disInstr(arm):unhandledinstruction:QADD(alsoQSUB)<br>
287175ARM:scalarVFPfixed-pointVCVTinstructionsnothandled<br>
287260Incorrectconditionaljumpormovedependsonuninitialisedvalue(s)<br>
287301vexamd64-&gt;IR:0x660xF0x380x410xC00xB80x00x0(PHMINPOSUW)<br>
287307==273475(AddsupportforAVXinstructions)<br>
287858VG_(strerror):unknownerror<br>
288298(MacOSX)unhandledsyscallshm_unlink<br>
288995==273475(AddsupportforAVXinstructions)<br>
289470LoadingoflargeMach-Othinbinariesfails.<br>
289656==273475(AddsupportforAVXinstructions)<br>
289699vgdbconnectioninrelaymodeerroneouslyclosedduetobufferoverrun<br>
289823==293754(PCMPxSTRxnotimplementedfor16-bitcharacters)<br>
289839s390x:Providesupportforunicodeconversioninstructions<br>
289939monitorcmd'leak_check'withdetailsaboutleakedorreachableblocks<br>
290006memcheckdoesn'tmark%xmmasinitializedafter"pcmpeqw%xmm%xmm"<br>
290655AddsupportforAESKEYGENASSISTinstruction<br>
290719valgrind-3.7.0failswithautomake-1.11.2dueto"pkglibdir"usage<br>
290974vgdbmustalignpagestoVKI_SHMLBA(16KB)onARM<br>
291253ESregisternotinitialisedinvalgrindsimulation<br>
291568Fix3DNOW-relatedcrasheswithbaselinex86_64CPU(wpatch)<br>
291865s390x:Supportthe"CompareDoubleandSwap"familyofinstructions<br>
292300==273475(AddsupportforAVXinstructions)<br>
292430unrecognizedinstructionin__intel_get_new_mem_ops_cpuid<br>
292493==273475(AddsupportforAVXinstructions)<br>
292626MissingfcntlF_SETOWN_EXandF_GETOWN_EXsupport<br>
292627MissingsupportforsomeSCSIioctls<br>
292628none/tests/x86/bug125959-x86.ctriggersundefinedbehavior<br>
292841==273475(AddsupportforAVXinstructions)<br>
292993implementthegetcpusyscallonamd64-linux<br>
292995Implementthe&#8220;crossmemoryattach&#8221;syscallsintroducedinLinux3.2<br>
293088AddsomeVEXsanitychecksforppc64unhandledinstructions<br>
293751==290655(AddsupportforAESKEYGENASSISTinstruction)<br>
293754PCMPxSTRxnotimplementedfor16-bitcharacters<br>
293755==293754(NotestsforPCMPxSTRxon16-bitcharacters)<br>
293808CLFLUSHnotsupportedbylatestVEXforamd64<br>
294047valgrinddoesnotcorrectlyemulateprlimit64(...,RLIMIT_NOFILE,...)<br>
294048MPSADBWinstructionnotimplemented<br>
294055regtestnone/tests/shellfailswhenlocaleisnotsettoC<br>
294185INT0x44(andothers)notsupportedonx86guest,butusedbyJikesRVM<br>
294190--vgdb-error=xxxcanbeoutofsyncwitherrorsshowntotheuser<br>
294191amd64:fnsave/frstorand0x66sizeprefixesonFPinstructions<br>
294260disInstr_AMD64:disInstrmiscalculatednext%rip<br>
294523--partial-loads-ok=yescausesfalsenegatives<br>
294617vexamd64-&gt;IR:0x660xF0x3A0xDF0xD10x10xE80x6A<br>
294736vexamd64-&gt;IR:0x480xF0xD70xD60x480x83<br>
294812patchallowingtorun(onx86atleast)helgrind/drdontool.<br>
295089cannotannotatesourceforbothhelgrindanddrd<br>
295221POWERProcessordecimalfloatingpointinstructionsupportmissing<br>
295427buildingfori386withclangondarwin11requires"-new_linkerlinker"<br>
295428coregrind/m_main.chasincorrectx86assemblyfordarwin<br>
295590Helgrind:Assertion'cvi-&gt;nWaiters&gt;0'failed<br>
295617ARM-Addsomemissingsyscalls<br>
295799Missing\nwithget_vbitsingdbserverwhenlineis%80[...]<br>
296229Linuxuserinputdeviceioctlsmissingwrappers<br>
296318ELFDebuginfoimprovements(morethanonerx/rwmapping)<br>
296422Addtranslationchainingsupport<br>
296457vexamd64-&gt;IR:0x660xF0x3A0xDF0xD10x10xE80x6A(dupofAES)<br>
296792valgrind3.7.0:addSIOCSHWTSTAMP(0x89B0)ioctlwrapper<br>
296983Fixbuildissuesonx86_64/ppc64without32-bittoolchains<br>
297078gdbserversignalhandlingproblems[..]<br>
297147drdfalsepositivesonnewlyallocatedmemory<br>
297329disallowdecodingofIBMPowerDFPinsnsonsomemachines<br>
297497POWERProcessordecimalfloatingpointinstructionsupportmissing<br>
297701Anotheraliasforstrncasecmp_linlibc-2.13.so<br>
297911'invalidwrite'notreportedwhenusingAPIsforcustommemallocators.<br>
297976s390x:revisitEXimplementation<br>
297991Valgrindinterfereswithmmap()+ftell()<br>
297992SupportsystemsmissingWIFCONTINUED(e.g.pre-2.6.10Linux)<br>
297993Fixcompilationofvalgrindwithgcc-g3.<br>
298080POWERProcessorDFPsupportmissing,part3<br>
298227==273475(AddsupportforAVXinstructions)<br>
298335==273475(AddsupportforAVXinstructions)<br>
298354UnhandledARMThumbinstruction0xEB0D0x0585(streq)<br>
298394s390x:Don'tbailoutonanunknownmachinemodel.[..]<br>
298421accept4()syscall(366)supportismissingforARM<br>
298718vexamd64-&gt;IR:0xF0xB10xCB0x9C0x8F0x45<br>
298732valgrindinstallationprobleminubuntuwithkernelversion3.x<br>
298862POWERProcessorDFPinstructionsupportmissing,part4<br>
298864DWARFreadermis-parsesDW_FORM_ref_addr<br>
298943massifassertswith--pages-as-heap=yeswhenbrkischanging[..]<br>
299053SupportDWARF4DW_AT_high_pcconstantform<br>
299104==273475(AddsupportforAVXinstructions)<br>
299316Helgrind:hg_main.c:628(map_threads_lookup):Assertion'thr'failed.<br>
299629dup3()syscall(358)supportismissingforARM<br>
299694POWERProcessorDFPinstructionsupportmissing,part5<br>
299756Ignore--free-fillforMEMPOOL_FREEandFREELIKEclientrequests<br>
299803==273475(AddsupportforAVXinstructions)<br>
299804==273475(AddsupportforAVXinstructions)<br>
299805==273475(AddsupportforAVXinstructions)<br>
300140ARM-Missing(T1)SMMUL<br>
300195==296318(ELFDebuginfoimprovements(morethanonerx/rwmapping))<br>
300389Assertion`are_valid_hwcaps(VexArchAMD64,[..])'failed.<br>
300414FCOMandFCOMPunimplementedforamd64guest<br>
301204infiniteloopincanonicaliseSymtabwithifuncsymbol<br>
301229==203877(increaseto16Mbmaximumallowedalignmentformemalignetc)<br>
301265addx86supporttoAndroidbuild<br>
301984configurescriptdoesn'tdetectcertainversionsofclang<br>
302205FixcompilerwarningsforPOWERVEXcodeandPOWERtestcases<br>
302287UnhandledmovbeinstructiononAtomprocessors<br>
302370PPC:fnmadd,fnmsub,fnmadds,fnmsubsinsnsalwaysnegatetheresult<br>
302536FixforthePOWERValgrindregressiontest:memcheck-ISA2.0.<br>
302578Unrecognizedisntruction0xc50x320xc20xca0x09vcmpngess<br>
302656==273475(AddsupportforAVXinstructions)<br>
302709valgrindforARMneedsextratlssupportforandroidemulator[..]<br>
302827addwrapperforCDROM_GET_CAPABILITY<br>
302901Valgrindcrasheswithdwzoptimizeddebuginfo<br>
302918Enabletestingofthevmaddfpandvnsubfpinstructionsinthetestsuite<br>
303116AddsupportforthePOWERinstructionpopcntb<br>
303127Powertestsuitefixesforfrsqrte,vrefp,andvrsqrtefpinstructions.<br>
303250Assertion`instrs_in-&gt;arr_used&lt;=10000'failedw/OpenSSLcode<br>
303466==273475(AddsupportforAVXinstructions)<br>
303624segmentationfaultonAndroid4.1(e.g.onGalaxyNexusOMAP)<br>
303963strstr()functionproduceswrongresultsundervalgrindcallgrind<br>
304054CALL_FN_xxmacrosneedtoenforcestackalignment<br>
304561teesystemcallnotsupported<br>
715750(MacOSX):Incorrectinvalid-addresserrorsnear0xFFFFxxxx(mozbug#)<br>
n-i-bzAddmissinggdbserverxmlfilesforshadowregistersforppc32<br>
n-i-bzBypassgcc4.4/4.5codegenbugscausingoutofmemoryorasserts<br>
n-i-bzFixassertingdbserverforwatchpointswatchingthesameaddress<br>
n-i-bzFixfalsepositiveinsys_cloneonamd64whenoptionalargs[..]<br>
n-i-bzs390x:Shadowregisterscannowbeexaminedusingvgdb<br>
<br>
(3.8.0-TEST3:9August2012,vexr2465,valgrindr12865)<br>
(3.8.0:10August2012,vexr2465,valgrindr12866)<br>
<br>
<br>
<br>
Release3.7.0(5November2011)<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
3.7.0isafeaturereleasewithmanysignificantimprovementsandthe<br>
usualcollectionofbugfixes.<br>
<br>
ThisreleasesupportsX86/Linux,AMD64/Linux,ARM/Linux,PPC32/Linux,<br>
PPC64/Linux,S390X/Linux,ARM/Android,X86/DarwinandAMD64/Darwin.<br>
Supportforrecentdistrosandtoolchaincomponents(glibc2.14,gcc<br>
4.6,MacOSX10.7)hasbeenadded.<br>
<br>
*==================PLATFORMCHANGES=================<br>
<br>
*SupportforIBMz/Architecture(s390x)runningLinux.Valgrindcan<br>
analyse64-bitprogramsrunningonz/Architecture.Mostuserspace<br>
instructionsuptoandincludingz10aresupported.Valgrindhas<br>
beentestedextensivelyonz9,z10,andz196machinesrunningSLES<br>
10/11,RedHat5/6m,andFedora.TheMemcheckandMassiftoolsare<br>
knowntoworkwell.Callgrind,Helgrind,andDRDworkreasonably<br>
wellonz9andlatermodels.SeeREADME.s390formoredetails.<br>
<br>
*PreliminarysupportforMacOSX10.7andXCode4.Both32-and<br>
64-bitprocessesaresupported.Somecomplexthreadedapplications<br>
(Firefox)areobservedtohangwhenrunas32bitapplications,<br>
whereas64-bitversionsrunOK.Thecauseisunknown.Memcheck<br>
willlikelyreportsomefalseerrors.Ingeneral,expectsomerough<br>
spots.ThisreleasealsosupportsMacOSX10.6,butdropssupport<br>
for10.5.<br>
<br>
*PreliminarysupportforAndroid(onARM).Valgrindcannowrun<br>
largeapplications(eg,Firefox)on(eg)aSamsungNexusS.See<br>
README.androidformoredetails,plusinstructionsonhowtoget<br>
started.<br>
<br>
*SupportfortheIBMPowerISA2.06(Power7instructions)<br>
<br>
*GeneralcorrectnessandperformanceimprovementsforARM/Linux,and,<br>
byextension,ARM/Android.<br>
<br>
*FurthersolidificationofsupportforSSE4.2in64-bitmode.AVX<br>
instructionsetsupportisunderdevelopmentbutisnotavailablein<br>
thisrelease.<br>
<br>
*SupportforAIX5hasbeenremoved.<br>
<br>
*====================TOOLCHANGES====================<br>
<br>
*Memcheck:someincrementalchanges:<br>
<br>
-reductionofmemoryuseinsomecircumstances<br>
<br>
-improvedhandlingoffreedmemory,whichinsomecircumstances<br>
cancausedetectionofuse-after-freethatwouldpreviouslyhave<br>
beenmissed<br>
<br>
-fixofalongstandingbugthatcouldcausefalsenegatives(missed<br>
errors)inprogramsdoingvectorsaturatednarrowinginstructions.<br>
<br>
*Helgrind:performanceimprovementsandmajormemoryusereductions,<br>
particularlyforlarge,longrunningapplicationswhichperformmany<br>
synchronisation(lock,unlock,etc)events.Plusmanysmaller<br>
changes:<br>
<br>
-displayoflocksetsforboththreadsinvolvedinarace<br>
<br>
-generalimprovementsinformatting/clarityoferrormessages<br>
<br>
-additionoffacilitiesanddocumentationregardingannotation<br>
ofthreadsafereferencecountedC++classes<br>
<br>
-newflag--check-stack-refs=no|yes[yes],todisableracechecking<br>
onthreadstacks(aperformancehack)<br>
<br>
-newflag--free-is-write=no|yes[no],toenabledetectionofraces<br>
whereonethreadaccessesheapmemorybutanotheronefreesit,<br>
withoutanycoordinatingsynchronisationevent<br>
<br>
*DRD:enabledXMLoutput;addedsupportfordelayedthreaddeletion<br>
inordertodetectracesthatoccurclosetotheendofathread<br>
(--join-list-vol);fixedamemoryleaktriggeredbyrepeatedclient<br>
memoryallocatationanddeallocation;improvedDarwinsupport.<br>
<br>
*exp-ptrcheck:thistoolhasbeenrenamedtoexp-sgcheck<br>
<br>
*exp-sgcheck:thistoolhasbeenreducedinscopesoastoimprove<br>
performanceandremovecheckingthatMemcheckdoesbetter.<br>
Specifically,theabilitytocheckforoverrunsforstackandglobal<br>
arraysisunchanged,buttheabilitytocheckforoverrunsofheap<br>
blockshasbeenremoved.Thetoolhasaccordinglybeenrenamedto<br>
exp-sgcheck("StackandGlobalArrayChecking").<br>
<br>
*====================OTHERCHANGES====================<br>
<br>
*GDBserver:ValgrindnowhasanembeddedGDBserver.Thatmeansit<br>
ispossibletocontrolaValgrindrunfromGDB,doingalltheusual<br>
thingsthatGDBcando(singlestepping,breakpoints,examining<br>
data,etc).Tool-specificfunctionalityisalsoavailable.For<br>
example,itispossibletoquerythedefinednessstateofvariables<br>
ormemoryfromwithinGDBwhenrunningMemcheck;arbitrarilylarge<br>
memorywatchpointsaresupported,etc.TousetheGDBserver,start<br>
Valgrindwiththeflag--vgdb-error=0andfollowtheon-screen<br>
instructions.<br>
<br>
*Improvedsupportforunfriendlyself-modifyingcode:anewoption<br>
--smc-check=all-non-fileisavailable.Thisaddstherelevant<br>
consistencychecksonlytocodethatoriginatesinnon-file-backed<br>
mappings.Ineffectthisconfinestheconsistencycheckingonlyto<br>
codethatisormightbeJITgenerated,andavoidschecksoncode<br>
thatmusthavebeencompiledaheadoftime.Thissignificantly<br>
improvesperformanceonapplicationsthatgeneratecodeatruntime.<br>
<br>
*ItisnowpossibletobuildaworkingValgrindusingClang-2.9on<br>
Linux.<br>
<br>
*newclientrequestsVALGRIND_{DISABLE,ENABLE}_ERROR_REPORTING.<br>
Theseenableanddisableerrorreportingonaper-thread,and<br>
nestable,basis.Thisisusefulforhidingerrorsinparticularly<br>
troublesomepiecesofcode.TheMPIwrapperlibrary(libmpiwrap.c)<br>
nowusesthisfacility.<br>
<br>
*Addedthe--mod-funcnameoptiontocg_diff.<br>
<br>
*====================FIXEDBUGS====================<br>
<br>
Thefollowingbugshavebeenfixedorresolved.Notethat"n-i-bz"<br>
standsfor"notinbugzilla"--thatis,abugthatwasreportedtous<br>
butnevergotabugzillaentry.Weencourageyoutofilebugsin<br>
bugzilla(http://bugs.kde.org/enter_valgrind_bug.cgi)ratherthan<br>
mailingthedevelopers(ormailinglists)directly--bugsthatare<br>
notenteredintobugzillatendtogetforgottenaboutorignored.<br>
<br>
Toseedetailsofagivenbug,visit<br>
https://bugs.kde.org/show_bug.cgi?id=XXXXXX<br>
whereXXXXXXisthebugnumberaslistedbelow.<br>
<br>
79311mallocsillyargwarningdoesnotgivestacktrace<br>
210935portvalgrind.h(notvalgrind)towin32tosupportclientrequests<br>
214223valgrindSIGSEGVonstartupgcc4.4.1ppc32(G4)Ubuntu9.10<br>
243404PorttozSeries<br>
243935Helgrind:incorrecthandlingofANNOTATE_HAPPENS_BEFORE()/AFTER()<br>
247223non-x86:Suppresswarning:'regparm'attributedirectiveignored<br>
250101huge"free"memoryusageduetom_mallocfree.cfragmentation<br>
253206Somefixesforthefaultstatustestcase<br>
255223capgettestcasefailswhenrunningasroot<br>
256703xlc_dbl_u32.ctestcasebroken<br>
256726Helgrindtestshavebrokeninlineasm<br>
259977==214223(Valgrindsegfaultsdoing__builtin_longjmp)<br>
264800testcasecompilefailureonzseries<br>
265762makepublicVEXheaderscompilablebyG++3.x<br>
265771assertioninjumps.c(r11523)failswithglibc-2.3<br>
266753configurescriptdoesnotgivetheusertheoptiontonotuseQtCore<br>
266931gen_insn_test.plisbroken<br>
266961ld-linux.so.2i?86-linuxstrlenissues<br>
266990setnsinstructioncausesfalsepositive<br>
267020Makedirectoryfortemporaryfilesconfigurableatrun-time.<br>
267342==267997(segmentationfaultonMacOS10.6)<br>
267383Assertion'vgPlain_strlen(dir)+vgPlain_strlen(file)+1&lt;256'failed<br>
267413Assertion'DRD_(g_threadinfo)[tid].synchr_nesting&gt;=1'failed.<br>
267488regtest:darwinsupportfor64-bitbuild<br>
267552SIGSEGV(misaligned_stack_error)withDRD,butnotwithothertools<br>
267630AddsupportforIBMPowerISA2.06--stage1<br>
267769==267997(Darwin:memchecktriggerssegmentationfault)<br>
267819Addclientrequestforinformingthecoreaboutreallocation<br>
267925laogdatastructurequadraticforasinglesequenceoflock<br>
267968drd:(vgDrd_thread_set_joinable):Assertion'0&lt;=(int)tid..'failed<br>
267997MacOSX:64-bitVsegfaultsonlaunchwhenbuiltwithXcode4.0.1<br>
268513missedoptimizationsinfold_Expr<br>
268619s390x:fpr-gprtransferfacility<br>
268620s390x:reconsider"longdisplacement"requirement<br>
268621s390x:improveIRgenerationforXC<br>
268715s390x:FLOGRisnotuniversallyavailable<br>
268792==267997(valgrindsegfaultsonstartupwhencompiledwithXcode4)<br>
268930s390x:MHYisnotuniversallyavailable<br>
269078arm-&gt;IR:unhandledinstructionSUB(SPminusimmediate/register)<br>
269079SupportptracesystemcallonARM<br>
269144missing"Badoption"errormessage<br>
269209conditionalloadandstorefacility(z196)<br>
269354Shiftbyzeroonx86canincorrectlyclobberCC_NDEP<br>
269641==267997(valgrindsegfaultsimmediately(segmentationfault))<br>
269736s390x:minorcodegenerationtweaks<br>
269778==272986(valgrind.h:swaprolesofVALGRIND_DO_CLIENT_REQUEST()..)<br>
269863s390x:removeunusedfunctionparameters<br>
269864s390x:tweaks390_emit_load_cc<br>
269884==250101(overheadforhugeblocksexhaustsspacetoosoon)<br>
270082s390x:MakesuretopointthePSWaddresstothenextaddressonSIGILL<br>
270115s390x:rewritesometestcases<br>
270309==267997(valgrindcrashonstartup)<br>
270320addsupportforLinuxFIOQSIZEioctl()call<br>
270326segfaultwhiletryingtosanitizetheenvironmentpassedtoexecle<br>
270794IBMPOWER7supportpatchcausesregressioninnone/tests<br>
270851IBMPOWER7fcfidusinstructioncausesmemchecktofail<br>
270856IBMPOWER7xsnmaddadpinstructioncausesmemchecktofailon32bitapp<br>
270925hyper-optimizedstrspn()in/lib64/libc-2.13.soneedsfix<br>
270959s390x:invaliduseofR0asbaseregister<br>
271042VSXconfigurecheckfailswhenitshouldnot<br>
271043Valgrindbuildfailswithassemblererroronppc64withbinutils2.21<br>
271259s390x:fixcodeconfusion<br>
271337==267997(ValgrindsegfaultsonMacOSX)<br>
271385s390x:ImplementIst_MBE<br>
271501s390x:misccleanups<br>
271504s390x:promotelikelyandunlikely<br>
271579ppc:usingwrongenumtype<br>
271615unhandledinstruction"popcnt"(arch=amd10h)<br>
271730Fixbugwhencheckingioctls:duplicatecheck<br>
271776s390x:provideSTFLEinstructionsupport<br>
271779s390x:provideclockinstructionslikeSTCK<br>
271799Darwin:ioctlswithoutanargreportamemoryerror<br>
271820arm:fixtypeconfusion<br>
271917pthread_cond_timedwaitfailureleadstonot-lockedfalsepositive<br>
272067s390x:fixDISP20macro<br>
272615Atypoindebugoutputinmc_leakcheck.c<br>
272661callgrind_annotatechokeswhenrunfrompathscontainingregexchars<br>
272893amd64-&gt;IR:0x660xF0x380x2B0xC10x660xF0x7F==(closedasdup)<br>
272955Unhandledsyscallerrorforpwrite64onppc64arch<br>
272967makedocumentationbuild-systemmorerobust<br>
272986Fixgcc-4.6warningswithvalgrind.h<br>
273318amd64-&gt;IR:0x660xF0x3A0x610xC10x38(missingPCMPxSTRxcase)<br>
273318unhandledPCMPxSTRxcase:vexamd64-&gt;IR:0x660xF0x3A0x610xC10x38<br>
273431valgrindsegfaultsinevalCfiExpr(debuginfo.c:2039)<br>
273465Callgrind:jumps.c:164(new_jcc):Assertion'(0&lt;=jmp)&amp;&amp;...'<br>
273536Builderror:multipledefinitionof`vgDrd_pthread_cond_initializer'<br>
273640ppc64-linux:unhandledsyscallssetresuid(164)andsetresgid(169)<br>
273729==283000(IllegalopcodeforSSE2"roundsd"instruction)<br>
273778exp-ptrcheck:unhandledsysno==259<br>
274089exp-ptrcheck:unhandledsysno==208<br>
274378s390x:Variousdispatchertweaks<br>
274447WARNING:unhandledsyscall:340<br>
274776amd64-&gt;IR:0x660xF0x380x2B0xC50x66<br>
274784==267997(valgrindls-lresultsinSegmentationFault)<br>
274926valgrinddoesnotbuildagainstlinux-3<br>
275148configureFAILwithglibc-2.14<br>
275151Fedora15/glibc-2.14'makeregtest'FAIL<br>
275168MakeValgrindworkforMacOSX10.7Lion<br>
275212==275284(lotsoffalsepositivesfrom__memcpy_ssse3_backetal)<br>
275278valgrinddoesnotbuildonLinuxkernel3.0.*duetosilly<br>
275284Valgrindmemcpy/memmoveredirectionstoppedworkinginglibc2.14/x86_64<br>
275308Fiximplementationforppc64fresinstruc<br>
275339s390x:fixtestcasecompilewarnings<br>
275517s390x:ProvidesupportforCKSMinstruction<br>
275710s390x:getridofredundantaddressmodecalculation<br>
275815==247894(Valgrinddoesn'tknowaboutLinuxreadahead(2)syscall)<br>
275852==250101(valgrindusesallswapspaceandiskilled)<br>
276784AddsupportforIBMPowerISA2.06--stage3<br>
276987gdbsrv:fixtestsfollowingrecentcommits<br>
277045ValgrindcrasheswithunhandledDW_OP_opcode0x2a<br>
277199Thetest_isa_2_06_part1.cinnone/tests/ppc64shouldbeasymlink<br>
277471Unhandledsyscall:340<br>
277610valgrindcrashesinVG_(lseek)(core_fd,phdrs[idx].p_offset,...)<br>
277653ARM:supportThumb2PLDinstruction<br>
277663ARM:NEONfloatVMULbyscalarincorrect<br>
277689ARM:testsforVSTnwithregisterpost-indexarebroken<br>
277694ARM:BLXLRinstructionbrokeninARMmode<br>
277780ARM:VMOV.F32(immediate)instructionisbroken<br>
278057fusefilesystemsyscalldeadlocks<br>
278078Unimplementedsyscall280onppc32<br>
278349F_GETPIPE_SZandF_SETPIPE_SZLinuxfcntlcommands<br>
278454VALGRIND_STACK_DEREGISTERhaswrongoutputtype<br>
278502==275284(Valgrindconfusesmemcpy()andmemmove())<br>
278892gdbsrv:factorizegdbversionhandling,fixdocandtypos<br>
279027SupportforMVCLandCLCLinstruction<br>
279027s390x:ProvidesupportforCLCLandMVCLinstructions<br>
279062Removearedundantcheckintheinsnselectorforppc.<br>
279071JDKcreatesPTESTwithredundantREX.Wprefix<br>
279212gdbsrv:addmonitorcmdv.infoscheduler.<br>
279378exp-ptrcheck:the'impossible'happenedonmkfifocall<br>
279698memcheckdiscardsvalid-bitsforpackuswb<br>
279795memcheckreportsuninitialisedvaluesformincoreonamd64<br>
279994AddsupportforIBMPowerISA2.06--stage3<br>
280083mempolicysyscallcheckerrors<br>
280290vexamd64-&gt;IR:0x660xF0x380x280xC10x660xF0x6F<br>
280710s390x:configfilesfornightlybuilds<br>
280757/tmpdirstillusedbyvalgrindevenifTMPDIRisspecified<br>
280965Valgrindbreaksfcntllockswhenprogramdoesmmap<br>
281138WARNING:unhandledsyscall:340<br>
281241==275168(valgrinduselessonMacos10.7.1Lion)<br>
281304==275168(Darwin:dyld"cannotloadinsertedlibrary")<br>
281305==275168(unhandledsyscall:unix:357onDarwin11.1)<br>
281468s390x:handledo_cloneandgccclonesincalltraces<br>
281488ARM:VFPregistercorruption<br>
281828==275284(falsememmovewarning:"Sourceanddestinationoverlap")<br>
281883s390x:Fixsystemcallwrapperfor"clone".<br>
282105generalise'reclaimSuperBlock'toalsoreclaimsplittablesuperblock<br>
282112Unhandledinstructionbytes:0xDE0xD90x9B0xDF(fcompp)<br>
282238SLES10:makecheckfails<br>
282979strcasestrneedsreplacementwithrecent(&gt;=2.12)glibc<br>
283000vexamd64-&gt;IR:0x660xF0x3A0xA0xC00x90xF30xF<br>
283243Regressioninppc64memchecktests<br>
283325==267997(Darwin:VsegfaultsonstartupwhenbuiltwithXcode4.0)<br>
283427re-connectepoll_pwaitsyscallonARMlinux<br>
283600gdbsrv:android:portvgdb.c<br>
283709none/tests/faultstatusneedstoaccountforpagesize<br>
284305filter_gdbneedsenhancementtoworkonppc64<br>
284384clang3.1-Wunused-valuewarningsinvalgrind.h,memcheck.h<br>
284472Thumb2ROR.WencodingT2notimplemented<br>
284621XML-escapeprocesscommandlineinXMLoutput<br>
n-i-bzcachegrind/callgrind:handleCPUIDinformationforCoreiXIntelCPUs<br>
thathavenon-power-of-2sizes(alsoAMDs)<br>
n-i-bzdon'tbespookedbylibrariesmashedbyelfhack<br>
n-i-bzdon'tbespookedbylibxul.solinkedwithgold<br>
n-i-bzimprovedcheckingforVALGRIND_CHECK_MEM_IS_DEFINED<br>
<br>
(3.7.0-TEST1:27October2011,vexr2228,valgrindr12245)<br>
(3.7.0.RC1:1November2011,vexr2231,valgrindr12257)<br>
(3.7.0:5November2011,vexr2231,valgrindr12258)<br>
<br>
<br>
<br>
Release3.6.1(16February2011)<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
3.6.1isabugfixrelease.ItaddssupportforsomeSSE4<br>
instructionsthatwereomittedin3.6.0duetolackoftime.Initial<br>
supportforglibc-2.13hasbeenadded.Anumberofbugscausing<br>
crashingorassertionfailureshavebeenfixed.<br>
<br>
Thefollowingbugshavebeenfixedorresolved.Notethat"n-i-bz"<br>
standsfor"notinbugzilla"--thatis,abugthatwasreportedtous<br>
butnevergotabugzillaentry.Weencourageyoutofilebugsin<br>
bugzilla(http://bugs.kde.org/enter_valgrind_bug.cgi)ratherthan<br>
mailingthedevelopers(ormailinglists)directly--bugsthatare<br>
notenteredintobugzillatendtogetforgottenaboutorignored.<br>
<br>
Toseedetailsofagivenbug,visit<br>
https://bugs.kde.org/show_bug.cgi?id=XXXXXX<br>
whereXXXXXXisthebugnumberaslistedbelow.<br>
<br>
188572ValgrindonMacshouldsuppresssetenv()memleak<br>
194402vexamd64-&gt;IR:0x480xF0xAE0x4(properFX{SAVE,RSTOR}support)<br>
210481vexamd64-&gt;IR:Assertion`sz==2||sz==4'failed(REX.WPOPQ)<br>
246152callgrindinternalerrorafterpthread_cancelon32BitLinux<br>
250038ppc64:AltivecLVSRandLVSLinstructionsfailtheirregtest<br>
254420memorypooltrackingbroken<br>
254957Testcodefailingtocompileduetochangesinmemcheck.h<br>
255009helgrind/drd:crashonchmodwithinvalidparameter<br>
255130readdwarf3.cparse_type_DIEconfusedbyGNATAdatypes<br>
255355helgrind/drd:crashonthreadedprogramsdoingfork<br>
255358==255355<br>
255418(SSE4.x)rintcallcompiledwithICC<br>
255822--gen-suppressionscancreateinvalidfiles:"toomanycallers[...]"<br>
255888closingvalgrindoutputtagoutputtedtolog-streamonerror<br>
255963(SSE4.x)vexamd64-&gt;IR:0x660xF0x3A0x90xDB0x0(ROUNDPD)<br>
255966Slownesswhenusingmempoolannotations<br>
256387vexx86-&gt;IR:0xD40xA0x20x7(AADandAAM)<br>
256600super-optimizedstrcasecmp()falsepositive<br>
256669vexamd64-&gt;IR:UnhandledLOOPNELinsnonamd64<br>
256968(SSE4.x)vexamd64-&gt;IR:0x660xF0x380x100xD30x66(BLENDVPx)<br>
257011(SSE4.x)vexamd64-&gt;IR:0x660xF0x3A0xE0xFD0xA0(PBLENDW)<br>
257063(SSE4.x)vexamd64-&gt;IR:0x660xF0x3A0x80xC00x0(ROUNDPS)<br>
257276Missingcaseinmemcheck--track-origins=yes<br>
258870(SSE4.x)AddsupportforEXTRACTPSSSE4.1instruction<br>
261966(SSE4.x)supportforCRC32BandCRC32Qislacking(alsoCRC32{W,L})<br>
262985VEXregressioninvalgrind3.6.0inhandlingPowerPCVMX<br>
262995(SSE4.x)crashwhentryingtovalgrindgcc-snapshot(PCMPxSTRx$0)<br>
263099callgrind_annotatecountsIrimproperly[...]<br>
263877undefinedcoprocessorinstructiononARMv7<br>
265964configureFAILwithglibc-2.13<br>
n-i-bzFixcompileerrorw/icc-12.xinguest_arm_toIR.c<br>
n-i-bzDocs:fixbogusdescriptionsforVALGRIND_CREATE_BLOCKetal<br>
n-i-bzMassif:don'tassertonshmat()with--pages-as-heap=yes<br>
n-i-bzBugfixesandmajorspeedupsfortheexp-DHATspaceprofiler<br>
n-i-bzDRD:disable--free-is-writeduetoimplementationdifficulties<br>
<br>
(3.6.1:16February2011,vexr2103,valgrindr11561).<br>
<br>
<br>
<br>
Release3.6.0(21October2010)<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
3.6.0isafeaturereleasewithmanysignificantimprovementsandthe<br>
usualcollectionofbugfixes.<br>
<br>
ThisreleasesupportsX86/Linux,AMD64/Linux,ARM/Linux,PPC32/Linux,<br>
PPC64/Linux,X86/DarwinandAMD64/Darwin.Supportforrecentdistros<br>
andtoolchaincomponents(glibc2.12,gcc4.5,OSX10.6)hasbeenadded.<br>
<br>
-------------------------<br>
<br>
Herearesomehighlights.Detailsareshownfurtherdown:<br>
<br>
*SupportforARM/Linux.<br>
<br>
*SupportforrecentLinuxdistros:Ubuntu10.10andFedora14.<br>
<br>
*SupportforMacOSX10.6,both32-and64-bitexecutables.<br>
<br>
*SupportfortheSSE4.2instructionset.<br>
<br>
*EnhancementstotheCallgrindprofiler,includingtheabilityto<br>
handleCPUswiththreelevelsofcache.<br>
<br>
*Anewexperimentalheapprofiler,DHAT.<br>
<br>
*Ahugenumberofbugfixesandsmallenhancements.<br>
<br>
-------------------------<br>
<br>
Herearedetailsoftheabovechanges,togetherwithdescriptionsof<br>
manyotherchanges,andalistoffixedbugs.<br>
<br>
*==================PLATFORMCHANGES=================<br>
<br>
*SupportforARM/Linux.ValgrindnowrunsonARMv7capableCPUs<br>
runningLinux.ItisknowntoworkonUbuntu10.04,Ubuntu10.10,<br>
andMaemo5,soyoucanrunValgrindonyourNokiaN900ifyouwant.<br>
<br>
ThisrequiresaCPUcapableofrunningtheARMv7-Ainstructionset<br>
(CortexA5,A8andA9).Valgrindprovidesfairlycompletecoverage<br>
oftheuserspaceinstructionset,includingARMandThumbinteger<br>
code,VFPv3,NEONandV6mediainstructions.TheMemcheck,<br>
CachegrindandMassiftoolsworkproperly;othertoolsworkto<br>
varyingdegrees.<br>
<br>
*SupportforrecentLinuxdistros(Ubuntu10.10andFedora14),along<br>
withsupportforrecentreleasesoftheunderlyingtoolchain<br>
components,notablygcc-4.5andglibc-2.12.<br>
<br>
*SupportforMacOSX10.6,both32-and64-bitexecutables.64-bit<br>
supportalsoworksmuchbetteronOSX10.5,andisassolidas<br>
32-bitsupportnow.<br>
<br>
*SupportfortheSSE4.2instructionset.SSE4.2issupportedin<br>
64-bitmode.In32-bitmode,supportisonlyavailableuptoand<br>
includingSSSE3.Someexceptions:SSE4.2AESinstructionsarenot<br>
supportedin64-bitmode,and32-bitmodedoesinfactsupportthe<br>
bareminimumSSE4instructionstoneededtorunprogramsonMacOSX<br>
10.6on32-bittargets.<br>
<br>
*SupportforIBMPOWER6cpushasbeenimproved.ThePowerISAupto<br>
andincludingversion2.05issupported.<br>
<br>
*====================TOOLCHANGES====================<br>
<br>
*Cachegrindhasanewprocessingscript,cg_diff,whichfindsthe<br>
differencebetweentwoprofiles.It'sveryusefulforevaluating<br>
theperformanceeffectsofachangeinaprogram.<br>
<br>
Relatedtothischange,themeaningofcg_annotate's(rarely-used)<br>
--thresholdoptionhaschanged;thisisunlikelytoaffectmany<br>
people,ifyoudouseitpleaseseetheusermanualfordetails.<br>
<br>
*Callgrindnowcandobranchpredictionsimulation,similarto<br>
Cachegrind.Inaddition,itoptionallycancountthenumberof<br>
executedglobalbusevents.Bothcanbeusedforabetter<br>
approximationofa"CycleEstimation"asderivedevent(youneedto<br>
updatetheeventformulainKCachegrindyourself).<br>
<br>
*CachegrindandCallgrindnowrefertotheLL(last-level)cache<br>
ratherthantheL2cache.Thisistoaccommodatemachineswith<br>
threelevelsofcaches--ifCachegrind/Callgrindauto-detectsthe<br>
cacheconfigurationofsuchamachineitwillrunthesimulationas<br>
iftheL2cacheisn'tpresent.Thismeanstheresultsareless<br>
likelytomatchthetrueresultforthemachine,but<br>
Cachegrind/Callgrind'sresultsarealreadyonlyapproximate,and<br>
shouldnotbeconsideredauthoritative.Theresultsarestill<br>
usefulforgivingageneralideaaboutaprogram'slocality.<br>
<br>
*Massifhasanewoption,--pages-as-heap,whichisdisabledby<br>
default.Whenenabled,insteadoftrackingallocationsatthelevel<br>
ofheapblocks(asallocatedwithmalloc/new/new[]),itinstead<br>
tracksmemoryallocationsatthelevelofmemorypages(asmappedby<br>
mmap,brk,etc).Eachmappedpageistreatedasitsownblock.<br>
Interpretingthepage-leveloutputisharderthantheheap-level<br>
output,butthisoptionisusefulifyouwanttoaccountforevery<br>
byteofmemoryusedbyaprogram.<br>
<br>
*DRDhastwonewcommand-lineoptions:--free-is-writeand<br>
--trace-alloc.Theformerallowstodetectreadingfromalreadyfreed<br>
memory,andthelatterallowstracingofallmemoryallocationsand<br>
deallocations.<br>
<br>
*DRDhasseveralnewannotations.Custombarrierimplementationscan<br>
nowbeannotated,aswellasbenignracesonstaticvariables.<br>
<br>
*DRD'shappensbefore/happensafterannotationshavebeenmademore<br>
powerful,sothattheycannowalsobeusedtoannotatee.g.asmart<br>
pointerimplementation.<br>
<br>
*Helgrind'sannotationsethasalsobeendrasticallyimproved,soas<br>
toprovidetousersageneralsetofannotationstodescribelocks,<br>
semaphores,barriersandconditionvariables.Annotationsto<br>
describethread-safereferencecountedheapobjectshavealsobeen<br>
added.<br>
<br>
*Memcheckhasanewcommand-lineoption,--show-possibly-lost,which<br>
isenabledbydefault.Whendisabled,theleakdetectorwillnot<br>
showpossibly-lostblocks.<br>
<br>
*Anewexperimentalheapprofiler,DHAT(DynamicHeapAnalysisTool),<br>
hasbeenadded.DHATkeepstrackofallocatedheapblocks,andalso<br>
inspectseverymemoryreferencetoseewhichblock(ifany)isbeing<br>
accessed.Thisgivesalotofinsightintoblocklifetimes,<br>
utilisation,turnover,liveness,andthelocationofhotandcold<br>
fields.YoucanuseDHATtodohot-fieldprofiling.<br>
<br>
*====================OTHERCHANGES====================<br>
<br>
*Improvedsupportforunfriendlyself-modifyingcode:theextra<br>
overheadincurredby--smc-check=allhasbeenreducedby<br>
approximatelyafactorof5ascomparedwith3.5.0.<br>
<br>
*Abilitytoshowdirectorynamesforsourcefilesinerrormessages.<br>
Thisiscombinedwithaflexiblemechanismforspecifyingwhich<br>
partsofthepathsshouldbeshown.Thisisenabledbythenewflag<br>
--fullpath-after.<br>
<br>
*Anewflag,--require-text-symbol,whichwillstoptherunifa<br>
specifiedsymbolisnotfounditagivensharedobjectwhenitis<br>
loadedintotheprocess.Thismakesadvancedworkingwithfunction<br>
interceptingandwrappingsaferandmorereliable.<br>
<br>
*ImprovedsupportfortheValkyrieGUI,version2.0.0.GUIoutput<br>
andcontrolofValgrindisnowavailableforthetoolsMemcheckand<br>
Helgrind.XMLoutputfromValgrindisavailableforMemcheck,<br>
Helgrindandexp-Ptrcheck.<br>
<br>
*Morereliablestackunwindingonamd64-linux,particularlyinthe<br>
presenceoffunctionwrappers,andwithgcc-4.5compiledcode.<br>
<br>
*Modestscalability(performanceimprovements)formassive<br>
long-runningapplications,particularlyforthosewithhugeamounts<br>
ofcode.<br>
<br>
*SupportforanalyzingprogramsrunningunderWinewithhasbeen<br>
improved.Theheaderfiles&lt;valgrind/valgrind.h&gt;,<br>
&lt;valgrind/memcheck.h&gt;and&lt;valgrind/drd.h&gt;cannowbeusedin<br>
Windows-programscompiledwithMinGWoroneoftheMicrosoftVisual<br>
Studiocompilers.<br>
<br>
*Ararebutseriouserrorinthe64-bitx86CPUsimulationwasfixed.<br>
The32-bitsimulatorwasnotaffected.Thisdidnotoccuroften,<br>
butwhenitdidwouldusuallycrashtheprogramundertest.<br>
Bug245925.<br>
<br>
*Alargenumberofbugswerefixed.Theseareshownbelow.<br>
<br>
*Anumberofbugswereinvestigated,andwerecandidatesforfixing,<br>
butarenotfixedin3.6.0,duetolackofdevelopertime.Theymay<br>
getfixedinlaterreleases.Theyare:<br>
<br>
194402vexamd64-&gt;IR:0x480xF0xAE0x40x240x49(FXSAVE64)<br>
212419falsepositive"lockorderviolated"(A+BvsA)<br>
213685Undefinedvaluepropagatespastdependencybreakinginstruction<br>
216837IncorrectinstrumentationofNSOperationQueueonDarwin<br>
237920valgrindsegfaultonforkfailure<br>
242137supportforcodecompiledbyLLVM-2.8<br>
242423AnotherunknownIntelcacheconfigvalue<br>
243232InconsistentLockOrderingsreportwithtrylock<br>
243483ppc:callgrindtriggersVEXassertionfailure<br>
243935Helgrind:implementationofANNOTATE_HAPPENS_BEFORE()iswrong<br>
244677Helgrindcrashhg_main.c:616(map_threads_lookup):Assertion<br>
'thr'failed.<br>
246152callgrindinternalerrorafterpthread_cancelon32BitLinux<br>
249435Analyzingwineprogramswithcallgrindtriggersacrash<br>
250038ppc64:Altiveclvsrandlvslinstructionsfailtheirregtest<br>
250065Handlinglargeallocations<br>
250101huge"free"memoryusageduetom_mallocfree.c<br>
"superblocksfragmentation"<br>
251569vexamd64-&gt;IR:0xF0x10xF90x8B0x4C0x24(RDTSCP)<br>
252091CallgrindonARMdoesnotdetectfunctionreturnscorrectly<br>
252600[PATCH]Allowlhstobeapointerforshl/shr<br>
254420memorypooltrackingbroken<br>
n-i-bzsupportforaddingsymbolsforJITgeneratedcode<br>
<br>
<br>
Thefollowingbugshavebeenfixedorresolved.Notethat"n-i-bz"<br>
standsfor"notinbugzilla"--thatis,abugthatwasreportedtous<br>
butnevergotabugzillaentry.Weencourageyoutofilebugsin<br>
bugzilla(http://bugs.kde.org/enter_valgrind_bug.cgi)ratherthan<br>
mailingthedevelopers(ormailinglists)directly--bugsthatare<br>
notenteredintobugzillatendtogetforgottenaboutorignored.<br>
<br>
Toseedetailsofagivenbug,visit<br>
https://bugs.kde.org/show_bug.cgi?id=XXXXXX<br>
whereXXXXXXisthebugnumberaslistedbelow.<br>
<br>
135264dcbzlinstructionmissing<br>
142688==250799<br>
153699Valgrindshouldreportunalignedreadswithmovdqa<br>
180217==212335<br>
190429Valgrindreportslostoferrorsinld.so<br>
withx86_642.9.90glibc<br>
197266valgrindappearstochokeonthexmmsinstruction<br>
"roundsd"onx86_64<br>
197988Crashwhendemanglingverylargesymbolnames<br>
202315unhandledsyscall:332(inotify_init1)<br>
203256Addpage-levelprofilingtoMassif<br>
205093dsymutil=yesneedsquotes,locking(partialfix)<br>
205241SnowLeopard10.6support(partialfix)<br>
206600Leakcheckerfailstoupgradeindirectblockswhentheir<br>
parentbecomesreachable<br>
210935portvalgrind.h(notvalgrind)towin32soappsrununder<br>
winecanmakeclientrequests<br>
211410vexamd64-&gt;IR:0x150xFF0xFF0x00x00x89<br>
withinLinuxip-stackchecksumfunctions<br>
212335unhandledinstructionbytes:0xF30xF0xBD0xC0<br>
(lzcnt%eax,%eax)<br>
213685Undefinedvaluepropagatespastdependencybreakinginstruction<br>
(partialfix)<br>
215914Valgrindinsertsbogusemptyenvironmentvariable<br>
217863==197988<br>
219538adjtimexsyscallwrapperwronginreadonlyadjtimemode<br>
222545shmatfailsundervalgindonsomearmtargets<br>
222560ARMNEONsupport<br>
230407==202315<br>
231076==202315<br>
232509Docsbuildfailswithformattinginside&lt;title&gt;&lt;/title&gt;elements<br>
232793==202315<br>
235642[PATCH]syswrap-linux.c:supportevdevEVIOCG*ioctls<br>
236546vexx86-&gt;IR:0x660xF0x3A0xA<br>
237202vexamd64-&gt;IR:0xF30xF0xB80xC00x490x3B<br>
237371bettersupportforVALGRIND_MALLOCLIKE_BLOCK<br>
237485symlink(syscall57)isnotsupportedonMacOS<br>
237723sysno==101exp-ptrcheck:the'impossible'happened:<br>
unhandledsyscall<br>
238208is_just_below_ESPdoesn'ttakeintoaccountred-zone<br>
238345valgrindpasseswrong$0whenexecutingashellscript<br>
238679mq_timedreceivesyscalldoesn'tflagthereceptionbuffer<br>
as"defined"<br>
238696fcntlcommandF_DUPFD_CLOEXECnotsupported<br>
238713unhandledinstructionbytes:0x660xF0x290xC6<br>
238713unhandledinstructionbytes:0x660xF0x290xC6<br>
2387453.5.0MakefailsonPPCAltivecopcodes,thoughconfigure<br>
says"Altivecoff"<br>
239992vexamd64-&gt;IR:0x480xF0xC40xC10x00x48<br>
240488==197988<br>
240639==212335<br>
241377==236546<br>
241903==202315<br>
241920==212335<br>
242606unhandledsyscall:setegid(inPtrcheck)<br>
242814Helgrind"Impossiblehashappened"during<br>
QApplication::initInstance();<br>
243064Valgrindattemptingtoreaddebuginformationfromiso<br>
243270MakestackunwindinginValgrindwrappersmorereliable<br>
243884exp-ptrcheck:the'impossiblehappened:unhandledsyscall<br>
sysno=277(mq_open)<br>
244009exp-ptrcheckunknownsyscallsinanalyzinglighttpd<br>
244493ARMVFPd16-d31registerssupport<br>
244670addsupportforaudit_session_selfsyscallonMacOS10.6<br>
244921Thexmlreportofhelgrindtoolisnotwellformat<br>
244923Inthexmlreportfile,the&lt;preamble&gt;notescapethe<br>
xmlchar,eg'&lt;','&amp;','&gt;'<br>
245535printfullpathnamesinplaintextreports<br>
245925x86-64redzonehandlingproblem<br>
246258Valgrindnotcatchingintegerunderruns+new[]s<br>
246311reg/regcmpxchgdoesn'tworkonamd64<br>
246549unhandledsyscallunix:277whiletesting32-bitDarwinapp<br>
246888ImproveMakefile.vex.am<br>
247510[OSX10.6]Memcheckreportsunaddressablebytespassed<br>
to[f]chmod_extended<br>
247526IBMPOWER6(ISA2.05)supportisincomplete<br>
247561Someleaktestcasesfailsduetoreachableaddressesin<br>
callersaveregs<br>
247875sizeofIRTypetohandleIty_I128<br>
247894[PATCH]unhandledsyscallsys_readahead<br>
247980Doesn'thonorCFLAGSpassedtoconfigure<br>
248373darwin10.suppisemptyinthetrunk<br>
248822LinuxFIBMAPioctlhasintparameterinsteadoflong<br>
248893[PATCH]makereaddwarf.cbigendianesssafetoenable<br>
unwindingonbigendiansystems<br>
249224Syscall336notsupported(SYS_proc_info)<br>
249359==245535<br>
249775IncorrectschemefordetectingNEONcapabilitiesofhostCPU<br>
249943jniJVMinitfailswhenusingvalgrind<br>
249991ValgrindincorrectlydeclaresAESKEYGENASSISTsupport<br>
sinceVEXr2011<br>
249996linux/arm:unhandledsyscall:181(__NR_pwrite64)<br>
250799frexp$fenv_access_offfunctiongeneratesSIGILL<br>
250998vexx86-&gt;IR:unhandledinstructionbytes:0x660x660x660x2E<br>
251251supportpclmulqdqinsn<br>
251362valgrind:ARM:attachtodebuggereitherfailsorprovokes<br>
kerneloops<br>
251674Unhandledsyscall294<br>
251818==254550<br>
<br>
254257Addsupportfordebugfilesfoundbybuild-id<br>
254550[PATCH]ImplementDW_ATE_UTF(DWARF4)<br>
254646WrappedfunctionscausestackmisalignmentonOSX<br>
(andpossiblyLinux)<br>
254556ARM:valgrindinganythingfailswithSIGSEGVfor0xFFFF0FA0<br>
<br>
(3.6.0:21October2010,vexr2068,valgrindr11471).<br>
<br>
<br>
<br>
Release3.5.0(19August2009)<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
3.5.0isafeaturereleasewithmanysignificantimprovementsandthe<br>
usualcollectionofbugfixes.ThemainimprovementisthatValgrind<br>
nowworksonMacOSX.<br>
<br>
ThisreleasesupportsX86/Linux,AMD64/Linux,PPC32/Linux,PPC64/Linux<br>
andX86/Darwin.Supportforrecentdistrosandtoolchaincomponents<br>
(glibc2.10,gcc4.5)hasbeenadded.<br>
<br>
-------------------------<br>
<br>
Hereisashortsummaryofthechanges.Detailsareshownfurther<br>
down:<br>
<br>
*SupportforMacOSX(10.5.x).<br>
<br>
*ImprovementsandsimplificationstoMemcheck'sleakchecker.<br>
<br>
*ClarificationandsimplificationsinvariousaspectsofValgrind's<br>
textoutput.<br>
<br>
*XMLoutputforHelgrindandPtrcheck.<br>
<br>
*PerformanceandstabilityimprovementsforHelgrindandDRD.<br>
<br>
*Genuinelyatomicsupportforx86/amd64/ppcatomicinstructions.<br>
<br>
*Anewexperimentaltool,BBV,usefulforcomputerarchitecture<br>
research.<br>
<br>
*ImprovedWinesupport,includingabilitytoreadWindowsPDB<br>
debuginfo.<br>
<br>
-------------------------<br>
<br>
Herearedetailsoftheabovechanges,followedbydescriptionsof<br>
manyotherminorchanges,andalistoffixedbugs.<br>
<br>
<br>
*ValgrindnowrunsonMacOSX.(NotethatMacOSXissometimes<br>
called"Darwin"becausethatisthenameoftheOScore,whichisthe<br>
levelthatValgrindworksat.)<br>
<br>
Supportedsystems:<br>
<br>
-ItrequiresOS10.5.x(Leopard).Portingto10.4.xisnotplanned<br>
becauseitwouldrequireworkand10.4isonlybecominglesscommon.<br>
<br>
-32-bitprogramsonx86andAMD64(a.k.ax86-64)machinesaresupported<br>
fairlywell.For10.5.x,32-bitprogramsarethedefaultevenon<br>
64-bitmachines,soithandlesmostcurrentprograms.<br>
<br>
-64-bitprogramsonx86andAMD64(a.k.ax86-64)machinesarenot<br>
officiallysupported,butsimpleprogramsatleastwillprobablywork.<br>
However,start-upisslow.<br>
<br>
-PowerPCmachinesarenotsupported.<br>
<br>
Thingsthatdon'twork:<br>
<br>
-ThePtrchecktool.<br>
<br>
-Objective-Cgarbagecollection.<br>
<br>
---db-attach=yes.<br>
<br>
-IfyouhaveRogueAmoeba's"InstantHijack"programinstalled,<br>
ValgrindwillfailwithaSIGTRAPatstart-up.See<br>
https://bugs.kde.org/show_bug.cgi?id=193917fordetailsanda<br>
simplework-around.<br>
<br>
Usagenotes:<br>
<br>
-Youwilllikelyfind--dsymutil=yesausefuloption,aserror<br>
messagesmaybeimprecisewithoutit.<br>
<br>
-MacOSXsupportisnewandthereforewillbelessrobustthanthe<br>
Linuxsupport.Pleasereportanybugsyoufind.<br>
<br>
-ThreadedprogramsmayrunmoreslowlythanonLinux.<br>
<br>
ManythankstoGregParkerfordevelopingthisportoverseveralyears.<br>
<br>
<br>
*Memcheck'sleakcheckerhasbeenimproved.<br>
<br>
-Theresultsfor--leak-check=summarynowmatchthesummaryresults<br>
for--leak-check=full.Previouslytheycoulddifferbecause<br>
--leak-check=summarycounted"indirectlylost"blocksand<br>
"suppressed"blocksas"definitelylost".<br>
<br>
-Blocksthatareonlyreachableviaatleastoneinterior-pointer,<br>
butaredirectlypointedtobyastart-pointer,werepreviously<br>
markedas"stillreachable".Theyarenowcorrectlymarkedas<br>
"possiblylost".<br>
<br>
-Thedefaultvalueforthe--leak-resolutionoptionhasbeen<br>
changedfrom"low"to"high".Ingeneral,thismeansthatmore<br>
leakreportswillbeproduced,buteachleakreportwilldescribe<br>
fewerleakedblocks.<br>
<br>
-With--leak-check=full,"definitelylost"and"possiblylost"<br>
leaksarenowconsideredaspropererrors,ie.theyarecounted<br>
forthe"ERRORSUMMARY"andaffectthebehaviourof<br>
--error-exitcode.Theseleaksarenotcountedaserrorsif<br>
--leak-check=summaryisspecified,however.<br>
<br>
-Documentationfortheleakcheckerhasbeenimproved.<br>
<br>
<br>
*VariousaspectsofValgrind'stextoutputhavechanged.<br>
<br>
-Valgrind'sstart-upmessagehaschanged.Itisshorterbutalso<br>
includesthecommandbeingrun,whichmakesiteasiertouse<br>
--trace-children=yes.Anexample:<br>
<br>
-Valgrind'sshut-downmessageshavealsochanged.Thisismost<br>
noticeablewithMemcheck,wheretheleaksummarynowoccursbefore<br>
theerrorsummary.Thischangewasnecessarytoallowleakstobe<br>
countedaspropererrors(seethedescriptionoftheleakchecker<br>
changesaboveformoredetails).Thiswasalsonecessarytofixa<br>
longstandingbuginwhichusesofsuppressionsagainstleakswere<br>
not"counted",leadingtodifficultiesinmaintainingsuppression<br>
files(seehttps://bugs.kde.org/show_bug.cgi?id=186790).<br>
<br>
-Behaviorof-vhaschanged.Inpreviousversions,-vprintedout<br>
amixtureofmarginally-user-usefulinformation,andtool/core<br>
statistics.Thestatisticsprintinghasnowbeenmovedtoitsown<br>
flag,--stats=yes.Thismeans-vislessverboseandmorelikely<br>
toconveyusefulend-userinformation.<br>
<br>
-Theformatofsome(non-XML)stacktraceentrieshaschangeda<br>
little.Previouslythereweresixpossibleforms:<br>
<br>
0x80483BF:really(a.c:20)<br>
0x80483BF:really(in/foo/a.out)<br>
0x80483BF:really<br>
0x80483BF:(within/foo/a.out)<br>
0x80483BF:???(a.c:20)<br>
0x80483BF:???<br>
<br>
Thethirdandfourthoftheseformshavebeenmademoreconsistent<br>
withtheothers.Thesixpossibleformsarenow:<br>
<br>
0x80483BF:really(a.c:20)<br>
0x80483BF:really(in/foo/a.out)<br>
0x80483BF:really(in???)<br>
0x80483BF:???(in/foo/a.out)<br>
0x80483BF:???(a.c:20)<br>
0x80483BF:???<br>
<br>
Stacktracesproducedwhen--xml=yesisspecifiedaredifferent<br>
andunchanged.<br>
<br>
<br>
*HelgrindandPtrchecknowsupportXMLoutput,sotheycanbeused<br>
fromGUItools.Also,theXMLoutputmechanismhasbeen<br>
overhauled.<br>
<br>
-TheXMLformathasbeenoverhauledandgeneralised,soitismore<br>
suitableforerrorreportingtoolsingeneral.TheMemcheck<br>
specificaspectsofithavebeenremoved.Thenewformat,which<br>
isanevolutionoftheoldformat,isdescribedin<br>
docs/internals/xml-output-protocol4.txt.<br>
<br>
-Memcheckhasbeenupdatedtousethenewformat.<br>
<br>
-HelgrindandPtrcheckarenowabletoemitoutputinthisformat.<br>
<br>
-TheXMLoutputmechanismhasbeenoverhauled.XMLisnowoutput<br>
toitsownfiledescriptor,whichmeansthat:<br>
<br>
*ValgrindcanoutputtextandXMLindependently.<br>
<br>
*ThelongstandingproblemofXMLoutputbeingcorruptedby<br>
unexpectedun-taggedtextmessagesissolved.<br>
<br>
Asbefore,thedestinationfortextoutputisspecifiedusing<br>
--log-file=,--log-fd=or--log-socket=.<br>
<br>
Asbefore,XMLoutputforatoolisenabledusing--xml=yes.<br>
<br>
Becausethere'sanewXMLoutputchannel,theXMLoutput<br>
destinationisnowspecifiedby--xml-file=,--xml-fd=or<br>
--xml-socket=.<br>
<br>
Initialfeedbackhasshownthiscausessomeconfusion.To<br>
clarify,thetwoenvisagedusagescenariosare:<br>
<br>
(1)Normaltextoutput.Inthiscase,donotspecify--xml=yes<br>
noranyof--xml-file=,--xml-fd=or--xml-socket=.<br>
<br>
(2)XMLoutput.Inthiscase,specify--xml=yes,andoneof<br>
--xml-file=,--xml-fd=or--xml-socket=toselecttheXML<br>
destination,oneof--log-file=,--log-fd=or--log-socket=<br>
toselectthedestinationforanyremainingtextmessages,<br>
and,importantly,-q.<br>
<br>
-qmakesValgrindcompletelysilentonthetextchannel,<br>
exceptinthecaseofcriticalfailures,suchasValgrind<br>
itselfsegfaulting,orfailingtoreaddebugginginformation.<br>
Hence,inthisscenario,itsufficestocheckwhetherornot<br>
anyoutputappearedonthetextchannel.Ifyes,thenitis<br>
likelytobeacriticalerrorwhichshouldbebroughttothe<br>
attentionoftheuser.Ifno(thetextchannelproducedno<br>
output)thenitcanbeassumedthattherunwassuccessful.<br>
<br>
ThisallowsGUIstomakethecriticaldistinctiontheyneedto<br>
make(didtherunfailornot?)withouthavingtosearchor<br>
filterthetextoutputchannelinanyway.<br>
<br>
Itisalsorecommendedtouse--child-silent-after-fork=yesin<br>
scenario(2).<br>
<br>
<br>
*ImprovementsandchangesinHelgrind:<br>
<br>
-XMLoutput,asdescribedabove<br>
<br>
-Checksforconsistentassociationbetweenpthreadcondition<br>
variablesandtheirassociatedmutexesarenowperformed.<br>
<br>
-pthread_spinlockfunctionsaresupported.<br>
<br>
-Modestperformanceimprovements.<br>
<br>
-Initial(skeletal)supportfordescribingthebehaviourof<br>
non-POSIXsynchronisationobjectsthroughThreadSanitizer<br>
compatibleANNOTATE_*macros.<br>
<br>
-Morecontrollabletradeoffsbetweenperformanceandthelevelof<br>
detailof"previous"accessesinarace.Therearenowthree<br>
settings:<br>
<br>
*--history-level=full.Thisisthedefault,andwasalsothe<br>
defaultin3.4.x.Itshowsbothstacksinvolvedinarace,but<br>
requiresalotofmemoryandcanbeveryslowinprogramsthat<br>
domanyinter-threadsynchronisationevents.<br>
<br>
*--history-level=none.Thisonlyshowsthelaterstackinvolved<br>
inarace.Thiscanbemuchfasterthan--history-level=full,<br>
butmakesitmuchmoredifficulttofindtheotheraccess<br>
involvedintherace.<br>
<br>
Thenewintermediatesettingis<br>
<br>
*--history-level=approx<br>
<br>
Fortheearlier(other)access,twostacksarepresented.The<br>
earlieraccessisguaranteedtobesomewhereinbetweenthetwo<br>
programpointsdenotedbythosestacks.Thisisnotasuseful<br>
asshowingtheexactstackforthepreviousaccess(asper<br>
--history-level=full),butitisbetterthannothing,andit's<br>
almostasfastas--history-level=none.<br>
<br>
<br>
*NewfeaturesandimprovementsinDRD:<br>
<br>
-TheerrormessagesprintedbyDRDarenoweasiertointerpret.<br>
Insteadofusingtwodifferentnumberstoidentifyeachthread<br>
(ValgrindthreadIDandDRDthreadID),DRDdoesnowidentify<br>
threadsviaasinglenumber(theDRDthreadID).Furthermore<br>
"firstobservedat"informationisnowprintedforallerror<br>
messagesrelatedtosynchronizationobjects.<br>
<br>
-Addedsupportfornamedsemaphores(sem_open()andsem_close()).<br>
<br>
-Raceconditionsbetweenpthread_barrier_wait()and<br>
pthread_barrier_destroy()callsarenowreported.<br>
<br>
-Addedsupportforcustomallocatorsthroughthemacros<br>
VALGRIND_MALLOCLIKE_BLOCK()VALGRIND_FREELIKE_BLOCK()(definedin<br>
in&lt;valgrind/valgrind.h&gt;).Analternativeforthesetwomacrosis<br>
thenewclientrequestVG_USERREQ__DRD_CLEAN_MEMORY(definedin<br>
&lt;valgrind/drd.h&gt;).<br>
<br>
-Addedsupportforannotatingnon-POSIXsynchronizationobjects<br>
throughseveralnewANNOTATE_*()macros.<br>
<br>
-OpenMP:addedsupportfortheOpenMPruntime(libgomp)included<br>
withgccversions4.3.0and4.4.0.<br>
<br>
-Fasteroperation.<br>
<br>
-Addedtwonewcommand-lineoptions(--first-race-onlyand<br>
--segment-merging-interval).<br>
<br>
<br>
*Genuinelyatomicsupportforx86/amd64/ppcatomicinstructions<br>
<br>
Valgrindwillnowpreserve(memory-access)atomicityofLOCK-<br>
prefixedx86/amd64instructions,andanyothersimplyingaglobal<br>
buslock.DittoforPowerPCl{w,d}arx/st{w,d}cx.instructions.<br>
<br>
ThismeansthatValgrindedprocesseswill"playnicely"in<br>
situationswherecommunicationwithotherprocesses,orthekernel,<br>
isdonethroughsharedmemoryandcoordinatedwithsuchatomic<br>
instructions.Priortothischange,sucharrangementsusually<br>
resultedinhangs,racesorothersynchronisationfailures,because<br>
Valgrinddidnothonouratomicityofsuchinstructions.<br>
<br>
<br>
*Anewexperimentaltool,BBV,hasbeenadded.BBVgeneratesbasic<br>
blockvectorsforusewiththeSimPointanalysistool,whichallows<br>
aprogram'soverallbehaviourtobeapproximatedbyrunningonlya<br>
fractionofit.Thisisusefulforcomputerarchitecture<br>
researchers.YoucanrunBBVbyspecifying--tool=exp-bbv(the<br>
"exp-"prefixisshortfor"experimental").BBVwaswrittenby<br>
VinceWeaver.<br>
<br>
<br>
*ModestlyimprovedsupportforrunningWindowsapplicationsunder<br>
Wine.Inparticular,initialsupportforreadingWindows.PDBdebug<br>
informationhasbeenadded.<br>
<br>
<br>
*AnewMemcheckclientrequestVALGRIND_COUNT_LEAK_BLOCKShasbeen<br>
added.ItissimilartoVALGRIND_COUNT_LEAKSbutcountsblocks<br>
insteadofbytes.<br>
<br>
<br>
*TheValgrindclientrequestsVALGRIND_PRINTFand<br>
VALGRIND_PRINTF_BACKTRACEhavebeenchangedslightly.Previously,<br>
thestringwasalwaysprintedimmediatelyonitsownline.Now,the<br>
stringwillbeaddedtoabufferbutnotprinteduntilanewlineis<br>
encountered,orotherValgrindoutputisprinted(notethatfor<br>
VALGRIND_PRINTF_BACKTRACE,theback-traceitselfisconsidered<br>
"otherValgrindoutput").Thisallowsyoutousemultiple<br>
VALGRIND_PRINTFcallstobuildupasingleoutputline,andalsoto<br>
printmultipleoutputlineswithasinglerequest(byembedding<br>
multiplenewlinesinthestring).<br>
<br>
<br>
*ThegraphsdrawnbyMassif'sms_printprogramhavechangedslightly:<br>
<br>
-Thehalf-heightchars'.'and','arenolongerdrawn,because<br>
theyareconfusing.The--yoptioncanbeusedifthedefault<br>
y-resolutionisnothighenough.<br>
<br>
-Horizontallinesarenowdrawnafterthetopofasnapshotif<br>
thereisagapuntilthenextsnapshot.Thismakesitclearthat<br>
thememoryusagehasnotdroppedtozerobetweensnapshots.<br>
<br>
<br>
*Somethingthathappenedin3.4.0,butwasn'tclearlyannounced:the<br>
option--read-var-info=yescanbeusedbysometools(Memcheck,<br>
HelgrindandDRD).Whenenabled,itcausesValgrindtoreadDWARF3<br>
variabletypeandlocationinformation.Thismakesthosetools<br>
startupmoreslowlyandincreasesmemoryconsumption,but<br>
descriptionsofdataaddressesinerrormessagesbecomemore<br>
detailed.<br>
<br>
<br>
*exp-Omega,anexperimentalinstantaneousleak-detectingtool,was<br>
disabledin3.4.0duetoalackofinterestandmaintenance,<br>
althoughthesourcecodewasstillinthedistribution.Thesource<br>
codehasnowbeenremovedfromthedistribution.Foranyone<br>
interested,theremovaloccurredinSVNrevisionr10247.<br>
<br>
<br>
*Somechangeshavebeenmadetothebuildsystem.<br>
<br>
-VEX/isnowintegratedproperlyintothebuildsystem.Thismeans<br>
thatdependencytrackingwithinVEX/nowworksproperly,"make<br>
install"willworkwithoutrequiring"make"beforeit,and<br>
parallelbuilds(ie.'make-j')nowwork(previouslya<br>
.NOTPARALLELdirectivewasusedtoserializebuilds,ie.'make-j'<br>
waseffectivelyignored).<br>
<br>
-The--with-vexconfigureoptionhasbeenremoved.Itwasof<br>
littleuseandremovingitsimplifiedthebuildsystem.<br>
<br>
-Thelocationofsomeinstallfileshaschanged.Thisshouldnot<br>
affectmostusers.Thosewhomightbeaffected:<br>
<br>
*ForpeoplewhouseValgrindwithMPIprograms,theinstalled<br>
libmpiwrap.solibraryhasmovedfrom<br>
$(INSTALL)/&lt;platform&gt;/libmpiwrap.soto<br>
$(INSTALL)/libmpiwrap-&lt;platform&gt;.so.<br>
<br>
*ForpeoplewhodistributestandaloneValgrindtools,the<br>
installedlibrariessuchas$(INSTALL)/&lt;platform&gt;/libcoregrind.a<br>
havemovedto$(INSTALL)/libcoregrind-&lt;platform&gt;.a.<br>
<br>
Thesechangessimplifythebuildsystem.<br>
<br>
-Previously,allthedistributedsuppression(*.supp)fileswere<br>
installed.Now,onlydefault.suppisinstalled.Thisshouldnot<br>
affectusersastheotherinstalledsuppressionfileswerenot<br>
read;thefactthattheywereinstalledwasamistake.<br>
<br>
<br>
*KNOWNLIMITATIONS:<br>
<br>
-MemcheckisunusablewiththeIntelcompilersuiteversion11.1,<br>
whenitgeneratescodeforSSE2-and-abovecapabletargets.This<br>
isbecauseoficc'suseofhighlyoptimisedinlinedstrlen<br>
implementations.ItcausesMemchecktoreporthugenumbersof<br>
falseerrorseveninsimpleprograms.HelgrindandDRDmayalso<br>
haveproblems.<br>
<br>
Versions11.0andearliermaybeOK,butthishasnotbeen<br>
properlytested.<br>
<br>
<br>
Thefollowingbugshavebeenfixedorresolved.Notethat"n-i-bz"<br>
standsfor"notinbugzilla"--thatis,abugthatwasreportedtous<br>
butnevergotabugzillaentry.Weencourageyoutofilebugsin<br>
bugzilla(http://bugs.kde.org/enter_valgrind_bug.cgi)ratherthan<br>
mailingthedevelopers(ormailinglists)directly--bugsthatare<br>
notenteredintobugzillatendtogetforgottenaboutorignored.<br>
<br>
Toseedetailsofagivenbug,visit<br>
https://bugs.kde.org/show_bug.cgi?id=XXXXXX<br>
whereXXXXXXisthebugnumberaslistedbelow.<br>
<br>
84303HowaboutaLockChecktool?<br>
91633dereferenceofnullptrinvgPlain_st_basetype<br>
97452Valgrinddoesn'treportanypthreadsproblems<br>
100628leak-checkgetsassertionfailurewhenusing<br>
VALGRIND_MALLOCLIKE_BLOCKonmalloc()edmemory<br>
108528NPTLpthreadcleanuphandlersnotcalled<br>
110126Valgrind2.4.1configure.intramplesCFLAGS<br>
110128mallinfoisnotimplemented...<br>
110770VEX:Generatedfilesnotalwaysupdatedwhenmakingvalgrind<br>
111102Memcheck:problemswithlarge(memoryfootprint)applications<br>
115673Vex'sdecodershouldneverassert<br>
117564Falsepositive:Syscallparamclone(child_tidptr)contains<br>
uninitialisedbyte(s)<br>
119404executingsshfrominsidevalgrindfails<br>
133679Callgrinddoesnotwritepathnamestosourceswithdwarfdebug<br>
info<br>
135847configure.inproblemwithnongnucompilers(andpossiblefix)<br>
136154threads.c:273(vgCallgrind_post_signal):Assertion<br>
'*(vgCallgrind_current_fn_stack.top)==0'failed.<br>
136230memcheckreports"possiblylost",shouldbe"stillreachable"<br>
137073NULLargtoMALLOCLIKE_BLOCKcausescrash<br>
137904ValgrindreportsamemoryleakwhenusingPOSIXthreads,<br>
whileitshouldn't<br>
139076valgrindVT_GETSTATEerror<br>
142228complaintofelf_dynamic_do_relaintrivialusage<br>
145347spuriouswarningwithUSBDEVFS_REAPURB<br>
148441(wine)can'tfindmemoryleakinWine,win32binary<br>
executablefile.<br>
148742Leak-checkfailsassertonexit<br>
149878add(proper)checkforcallocintegeroverflow<br>
150606Callgraphisbrokenwhenusingcallgrindcontrol<br>
152393leakerrorsproduceanexitcodeof0.Ineedsomewayto<br>
causeleakerrorstoresultinanonzeroexitcode.<br>
157154documentation(leak-resolutiondocspeaksaboutnum-callers<br>
def=4)+whatisalossrecord<br>
159501incorrecthandlingofALSAioctls<br>
162020Valgrindinganempty/zero-bytefilecrashesvalgrind<br>
162482ppc:Valgrindcrasheswhilereadingstabsinformation<br>
162718x86:avoidsegmentselector0insys_set_thread_area()<br>
163253(wine)canonicaliseSymtabforgotsomefieldsinDiSym<br>
163560VEX/test_main.cismissingfromvalgrind-3.3.1<br>
164353malloc_usable_size()doesn'treturnausablesize<br>
165468Inconsistentformattinginmemcheckmanual--pleasefix<br>
169505main.c:286(endOfInstr):<br>
Assertion'ii-&gt;cost_offset==*cost_offset'failed<br>
177206Generatedefault.suppduringcompileinsteadofconfigure<br>
177209Configurevalt_load_addressbasedonarch+os<br>
177305eventfd/syscall323patchlost<br>
179731Testsfailtobuildbecauseofinliningofnon-localasmlabels<br>
181394helgrind:libhb_core.c:3762(msm_write):Assertion<br>
'ordxx==POrd_EQ||ordxx==POrd_LT'failed.<br>
181594Boguswarningforemptytextsegment<br>
181707dwarfdoesn'trequireenumerationstohavename<br>
185038exp-ptrcheck:"unhandledsyscall:285"(fallocate)onx86_64<br>
185050exp-ptrcheck:sg_main.c:727(add_block_to_GlobalTree):<br>
Assertion'!already_present'failed.<br>
185359exp-ptrcheck:unhandledsyscallgetresuid()<br>
185794"WARNING:unhandledsyscall:285"(fallocate)onx86_64<br>
185816Valgrindisunabletohandledebuginfoforfileswithsplit<br>
debuginfothatareprelinkedafterwards<br>
185980[darwin]unhandledsyscall:sem_open<br>
186238bbToIR_AMD64:disInstrmiscalculatednext%rip<br>
186507exp-ptrcheckunhandledsyscallsprctl,etc.<br>
186790Suppressionpatternusedforleaksarenotreported<br>
186796Symbolswithlength&gt;200insuppressionfilesareignored<br>
187048drd:mutexPTHREAD_PROCESS_SHAREDattributemissinterpretation<br>
187416exp-ptrcheck:supportfor__NR_{setregid,setreuid,setresuid}<br>
188038helgrind:hg_main.c:926:mk_SHVAL_fail:the'impossible'happened<br>
188046bashismsintheconfigurescript<br>
188127amd64-&gt;IR:unhandledinstructionbytes:0xF00xF0xB00xA<br>
188161memcheck:--track-origins=yesasserts"mc_machine.c:672<br>
(get_otrack_shadow_offset_wrk):the'impossible'happened."<br>
188248helgrind:pthread_cleanup_push,pthread_rwlock_unlock,<br>
assertionfail"!lock-&gt;heldBy"<br>
188427Addsupportforepoll_create1(withpatch)<br>
188530SupportforSIOCGSTAMPNS<br>
188560Includevalgrind.specinthetarball<br>
188572ValgrindonMacshouldsuppresssetenv()memleak<br>
189054Valgrindfailstobuildbecauseofduplicatenon-localasmlabels<br>
189737vexamd64-&gt;IR:unhandledinstructionbytes:0xAC<br>
189762epoll_createsyscallnothandled(--tool=exp-ptrcheck)<br>
189763drdassertionfailure:s_threadinfo[tid].is_recording<br>
190219unhandledsyscall:328(x86-linux)<br>
190391dupof181394;seeabove<br>
190429Valgrindreportslotsoferrorsinld.sowithx86_642.9.90glibc<br>
190820Nodebuginformationonpowerpc-linux<br>
191095PATCH:Improveusbdevfsioctlhandling<br>
191182memcheck:VALGRIND_LEAK_CHECKquadraticwhenbignrofchunks<br>
orbignroferrors<br>
191189--xml=yesshouldobey--gen-suppressions=all<br>
191192syslog()needsasuppressiononmacosx<br>
191271DARWIN:WARNING:unhandledsyscall:33554697a.k.a.:265<br>
191761getrlimitonMacOSX<br>
191992multiple--fn-skiponlyworkssometimes;dependentonorder<br>
192634V.reports"aspacemsync_check_mapping_callback:<br>
segmentmismatch"onDarwin<br>
192954__extension__missingon2clientrequests<br>
194429Crashatstart-upwithglibc-2.10.1andlinux-2.6.29<br>
194474"INSTALL"filehasdifferentbuildinstructionsthan"README"<br>
194671Unhandledsyscall(sem_wait?)frommacvalgrind<br>
195069memcheck:reportsleak(memorystillreachable)for<br>
printf("%d',x)<br>
195169drd:(vgDrd_barrier_post_wait):<br>
Assertion'r-&gt;sg[p-&gt;post_iteration]'failed.<br>
195268valgrind--log-filedoesn'taccept~/...<br>
195838VEXabort:LibVEX_N_SPILL_BYTEStoosmallforCPUIDboilerplate<br>
195860WARNING:unhandledsyscall:unix:223<br>
196528needaerrorsuppressionforpthread_rwlock_initunderosx?<br>
197227Supportaio_*syscallsonDarwin<br>
197456valgrindshouldreject--suppressions=(directory)<br>
197512DWARF2CFIreader:unhandledCFIinstruction0:10<br>
197591unhandledsyscall27(mincore)<br>
197793MergeDCASbranchtothetrunk==85756,142103<br>
197794AvoidduplicatefilenamesinVex<br>
197898makecheckfailsoncurrentSVN<br>
197901makecheckfailsalsounderexp-ptrcheckincurrentSVN<br>
197929Make--leak-resolution=highthedefault<br>
197930Reducespacingbetweenleakreports<br>
197933Printcommandlineofclientatstart-up,andshortenpreamble<br>
197966unhandledsyscall205(x86-linux,--tool=exp-ptrcheck)<br>
198395addBBVtothedistributionasanexperimentaltool<br>
198624MissingsyscallsonDarwin:82,167,281,347<br>
198649callgrind_annotatedoesn'tcumulatecounters<br>
199338callgrind_annotatesorting/thresholdsarebrokenforallbutIr<br>
199977Valgrindcomplainsaboutanunrecognizedinstructioninthe<br>
atomic_incstestprogram<br>
200029valgrindisn'tabletoreadFedora12debuginfo<br>
200760darwinunhandledsyscall:unix:284<br>
200827DRDdoesn'tworkonMacOSX<br>
200990VG_(read_millisecond_timer)()doesnotworkcorrectly<br>
201016Valgrinddoesnotsupportpthread_kill()onMacOS<br>
201169Document--read-var-info<br>
201323Pre-3.5.0performancesanitychecking<br>
201384Reviewusermanualforthe3.5.0release<br>
201585mfpvrnotimplementedonppc<br>
201708testsfailingbecausex86directionflagisleftset<br>
201757Valgrinddoesn'thandleanyrecentsys_futexadditions<br>
20437764-bitvalgrindcannotstartashellscript<br>
(with#!/path/to/shell)iftheshellisa32-bitexecutable<br>
n-i-bzdrd:fixedassertionfailuretriggeredbymutexreinitialization.<br>
n-i-bzdrd:fixedabugthatcausedincorrectmessagestobeprinted<br>
aboutmemoryallocationeventswithmemoryaccesstracingenabled<br>
n-i-bzdrd:fixedamemoryleaktriggeredbyvectorclockdeallocation<br>
<br>
(3.5.0:19Aug2009,vexr1913,valgrindr10846).<br>
<br>
<br>
<br>
Release3.4.1(28February2009)<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
3.4.1isabug-fixreleasethatfixessomeregressionsandassertion<br>
failuresindebuginforeadingin3.4.0,mostnotablyincorrectstack<br>
tracesonamd64-linuxonolder(glibc-2.3based)systems.Various<br>
otherdebuginfoproblemsarealsofixed.Anumberofbugsinthe<br>
exp-ptrchecktoolintroducedin3.4.0havebeenfixed.<br>
<br>
Inviewofthefactthat3.4.0containsuser-visibleregressions<br>
relativeto3.3.x,upgradingto3.4.1isrecommended.Packagersare<br>
encouragedtoship3.4.1inpreferenceto3.4.0.<br>
<br>
Thefixedbugsareasfollows.Notethat"n-i-bz"standsfor"notin<br>
bugzilla"--thatis,abugthatwasreportedtousbutnevergota<br>
bugzillaentry.Weencourageyoutofilebugsinbugzilla<br>
(http://bugs.kde.org/enter_valgrind_bug.cgi)ratherthanmailingthe<br>
developers(ormailinglists)directly--bugsthatarenotentered<br>
intobugzillatendtogetforgottenaboutorignored.<br>
<br>
n-i-bzFixvariousbugsreadingicc-11generateddebuginfo<br>
n-i-bzFixvariousbugsreadinggcc-4.4generateddebuginfo<br>
n-i-bzPreliminarysupportforglibc-2.10/Fedora11<br>
n-i-bzCachegrindandCallgrind:handlenon-power-of-twocachesizes,<br>
soastosupport(eg)24kAtomD1andCore2with3/6/12MBL2.<br>
179618exp-ptrcheckcrashed/exitprematurely<br>
179624helgrind:falsepositiveraceswithpthread_createand<br>
recv/open/close/read<br>
134207pkg-configoutputcontains@VG_PLATFORM@<br>
176926floatingpointexceptionatvalgrindstartupwithPPC440EPX<br>
181594Boguswarningforemptytextsegment<br>
173751amd64-&gt;IR:0x480xF0x6F0x45(evenmoreredundantrexprefixes)<br>
181707Dwarf3doesn'trequireenumerationstohavename<br>
185038exp-ptrcheck:"unhandledsyscall:285"(fallocate)onx86_64<br>
185050exp-ptrcheck:sg_main.c:727(add_block_to_GlobalTree):<br>
Assertion'!already_present'failed.<br>
185359exp-ptrcheckunhandledsyscallgetresuid()<br>
<br>
(3.4.1.RC1:24Feb2008,vexr1884,valgrindr9253).<br>
(3.4.1:28Feb2008,vexr1884,valgrindr9293).<br>
<br>
<br>
<br>
Release3.4.0(2January2009)<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
3.4.0isafeaturereleasewithmanysignificantimprovementsandthe<br>
usualcollectionofbugfixes.ThisreleasesupportsX86/Linux,<br>
AMD64/Linux,PPC32/LinuxandPPC64/Linux.Supportforrecentdistros<br>
(usinggcc4.4,glibc2.8and2.9)hasbeenadded.<br>
<br>
3.4.0bringssomesignificanttoolimprovements.Memcheckcannow<br>
reporttheoriginofuninitialisedvalues,thethreadcheckers<br>
HelgrindandDRDaremuchimproved,andwehaveanewexperimental<br>
tool,exp-Ptrcheck,whichisabletodetectoverrunsofstackand<br>
globalarrays.Indetail:<br>
<br>
*Memcheckisnowabletotracktheoriginofuninitialisedvalues.<br>
Whenitreportsanuninitialisedvalueerror,itwilltrytoshow<br>
theoriginofthevalue,aseitheraheaporstackallocation.<br>
Origintrackingisexpensiveandsoisnotenabledbydefault.To<br>
useit,specify--track-origins=yes.Memcheck'sspeedwillbe<br>
essentiallyhalved,andmemoryusagewillbesignificantly<br>
increased.Neverthelessitcandrasticallyreducetheeffort<br>
requiredtoidentifytherootcauseofuninitialisedvalueerrors,<br>
andsoisoftenaprogrammerproductivitywin,despiterunningmore<br>
slowly.<br>
<br>
*Aversion(1.4.0)oftheValkyrieGUI,thatworkswithMemcheckin<br>
3.4.0,willbereleasedshortly.<br>
<br>
*Helgrind'sracedetectionalgorithmhasbeencompletelyredesigned<br>
andreimplemented,toaddressusabilityandscalabilityconcerns:<br>
<br>
-Thenewalgorithmhasalowerfalse-errorrate:itismuchless<br>
likelytoreportracesthatdonotreallyexist.<br>
<br>
-Helgrindwilldisplayfullcallstacksforbothaccessesinvolved<br>
inarace.Thismakesiteasiertoidentifytherootcausesof<br>
races.<br>
<br>
-Limitationsonthesizeofprogramthatcanrunhavebeenremoved.<br>
<br>
-Performancehasbeenmodestlyimproved,althoughthatisvery<br>
workload-dependent.<br>
<br>
-DirectsupportforQt4threadinghasbeenadded.<br>
<br>
-pthread_barriersarenowdirectlysupported.<br>
<br>
-HelgrindworkswellonallsupportedLinuxtargets.<br>
<br>
*TheDRDthreaddebuggingtoolhasseenmajorimprovements:<br>
<br>
-Greatlyimprovedperformanceandsignificantlyreducedmemory<br>
usage.<br>
<br>
-Supportforseveralmajorthreadinglibraries(Boost.Thread,Qt4,<br>
glib,OpenMP)hasbeenadded.<br>
<br>
-Supportforatomicinstructions,POSIXsemaphores,barriersand<br>
reader-writerlockshasbeenadded.<br>
<br>
-WorksnowonPowerPCCPUstoo.<br>
<br>
-Addedsupportforprintingthreadstackusageatthreadexittime.<br>
<br>
-Addedsupportfordebugginglockcontention.<br>
<br>
-AddedamanualforDrd.<br>
<br>
*Anewexperimentaltool,exp-Ptrcheck,hasbeenadded.Ptrcheck<br>
checksformisusesofpointers.Inthatsenseitisabitlike<br>
Memcheck.However,PtrcheckcandothingsMemcheckcan't:itcan<br>
detectoverrunsofstackandglobalarrays,itcandetect<br>
arbitrarilyfarout-of-boundsaccessestoheapblocks,anditcan<br>
detectaccessesheapblocksthathavebeenfreedaverylongtime<br>
ago(millionsofblocksinthepast).<br>
<br>
Ptrcheckcurrentlyworksonlyonx86-linuxandamd64-linux.Touse<br>
it,use--tool=exp-ptrcheck.Asimplemanualisprovided,aspart<br>
ofthemainValgrinddocumentation.Asthisisanexperimental<br>
tool,wewouldbeparticularlyinterestedinhearingaboutyour<br>
experienceswithit.<br>
<br>
*exp-Omega,anexperimentalinstantaneousleak-detectingtool,isno<br>
longerbuiltbydefault,althoughthecoderemainsintherepository<br>
andthetarball.Thisisduetothreefactors:aperceivedlackof<br>
users,alackofmaintenance,andconcernsthatitmaynotbe<br>
possibletoachievereliableoperationusingtheexistingdesign.<br>
<br>
*Asusual,supportforthelatestLinuxdistrosandtoolchain<br>
componentshasbeenadded.ItshouldworkwellonFedoraCore10,<br>
OpenSUSE11.1andUbuntu8.10.gcc-4.4(initscurrentpre-release<br>
state)issupported,asisglibc-2.9.TheC++demanglerhasbeen<br>
updatedsoastoworkwellwithC++compiledbyeventhemostrecent<br>
g++'s.<br>
<br>
*Youcannowuseframe-levelwildcardsinsuppressions.Thiswasa<br>
frequently-requestedenhancement.Aline"..."inasuppressionnow<br>
matcheszeroormoreframes.Thismakesiteasiertowrite<br>
suppressionswhicharepreciseyetinsensitivetochangesin<br>
inliningbehaviour.<br>
<br>
*3.4.0addssupportonx86/amd64fortheSSSE3instructionset.<br>
<br>
*VerybasicsupportforIBMPower6hasbeenadded(64-bitprocessesonly).<br>
<br>
*Valgrindisnowcross-compilable.Forexample,itispossibleto<br>
crosscompileValgrindonanx86/amd64-linuxhost,sothatitruns<br>
onappc32/64-linuxtarget.<br>
<br>
*Youcansetthemainthread'sstacksizeatstartupusingthe<br>
new--main-stacksize=flag(subjectofcoursetoulimitsettings).<br>
Thisisusefulforrunningappsthatneedalotofstackspace.<br>
<br>
*Thelimitationthatyoucan'tuse--trace-children=yestogether<br>
with--db-attach=yeshasbeenremoved.<br>
<br>
*Thefollowingbugshavebeenfixed.Notethat"n-i-bz"standsfor<br>
"notinbugzilla"--thatis,abugthatwasreportedtousbut<br>
nevergotabugzillaentry.Weencourageyoutofilebugsin<br>
bugzilla(http://bugs.kde.org/enter_valgrind_bug.cgi)ratherthan<br>
mailingthedevelopers(ormailinglists)directly.<br>
<br>
n-i-bzMakereturntypesforsomeclientrequests64-bitclean<br>
n-i-bzglibc2.9support<br>
n-i-bzignoreunsafe.valgrindrc's(CVE-2008-4865)<br>
n-i-bzMPI_Init(0,0)isvalidbutlibmpiwrap.csegfaults<br>
n-i-bzBuildinginanenvwithoutgdbgivesbogusgdbattach<br>
92456Tracingtheoriginofuninitialisedmemory<br>
106497ValgrinddoesnotdemanglesomeC++templatesymbols<br>
162222==106497<br>
151612Suppressionwith"..."(frame-levelwildcardsin.suppfiles)<br>
156404UnabletostartoocalcundermemcheckonopenSUSE10.3(64-bit)<br>
159285unhandledsyscall:25(stime,onx86-linux)<br>
159452unhandledioctl0x8B01on"valgrindiwconfig"<br>
160954ppcbuildofvalgrindcrasheswithillegalinstruction(isel)<br>
160956mallinfoimplementation,w/patch<br>
162092Valgrindfailstostartgnome-system-monitor<br>
162819malloc_free_filltestdoesn'tpassonglibc2.8x86<br>
163794assertionfailurewith"--track-origins=yes"<br>
163933sigcontext.errand.trapnomustbesettogether<br>
163955removeconstraint!(--db-attach=yes&amp;&amp;--trace-children=yes)<br>
164476Missingkernelmoduleloadingsystemcalls<br>
164669SVNregression:mmap()dropsposixfilelocks<br>
166581Callgrindoutputcorruptionwhenprogramforks<br>
167288PatchfileformissingsystemcallsonCellBE<br>
168943unsupportedscasinstructionpentium<br>
171645Unrecognisedinstruction(MOVSD,non-binutilsencoding)<br>
172417x86-&gt;IR:0x82...<br>
172563amd64-&gt;IR:0xD90xF5-fprem1<br>
173099.ldslinkerscriptgenerationerror<br>
173177[x86_64]syscalls:125/126/179(capget/capset/quotactl)<br>
173751amd64-&gt;IR:0x480xF0x6F0x45(evenmoreredundantprefixes)<br>
174532==173751<br>
174908--log-filevaluenotexpandedcorrectlyforcorefile<br>
175044Addlookup_dcookieforamd64<br>
175150x86-&gt;IR:0xF20xF0x110xC1(movssnon-binutilsencoding)<br>
<br>
Developer-visiblechanges:<br>
<br>
*Valgrind'sdebug-inforeadingmachineryhasbeenmajorlyoverhauled.<br>
ItcannowcorrectlyestablishtheaddressesforELFdatasymbols,<br>
whichissomethingthathasneverworkedproperlybeforenow.<br>
<br>
Also,ValgrindcannowreadDWARF3typeandlocationinformationfor<br>
stackandglobalvariables.Thismakesitpossibletousethe<br>
frameworktobuildtoolsthatrelyonknowingthetypeandlocations<br>
ofstackandglobalvariables,forexampleexp-Ptrcheck.<br>
<br>
Readingofsuchinformationisdisabledbydefault,becausemost<br>
toolsdon'tneedit,andbecauseitisexpensiveinspaceandtime.<br>
However,youcanforceValgrindtoreadit,usingthe<br>
--read-var-info=yesflag.Memcheck,HelgrindandDRDareableto<br>
makeuseofsuchinformation,ifpresent,toprovidesource-level<br>
descriptionsofdataaddressesintheerrormessagestheycreate.<br>
<br>
(3.4.0.RC1:24Dec2008,vexr1878,valgrindr8882).<br>
(3.4.0:3Jan2009,vexr1878,valgrindr8899).<br>
<br>
</p></div>
</div>
<div>
<br><table class="nav" width="100%" cellspacing="3" cellpadding="2" border="0" summary="Navigation footer">
<tr>
<td rowspan="2" width="40%" align="left">
<a accesskey="p" href="dist.authors.html">&lt;&lt;1.AUTHORS</a></td>
<td width="20%" align="center"><a accesskey="u" href="dist.html">Up</a></td>
<td rowspan="2" width="40%" align="right"><a accesskey="n" href="dist.news.old.html">3.OLDER NEWS&gt;&gt;</a>
</td>
</tr>
<tr><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td></tr>
</table>
</div>
</body>
</html>