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>=7.3.0w-20140611andgcc>=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<address>"<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=<address>"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->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->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<=last_bb->cjmp_count'failed<br>
327284s390x:Fixtranslationoftherisbginstruction<br>
327639vexamd64->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->IRpcmpestriSSE4.2instructionisunsupported0x14<br>
329612IncorrecthandlingofAT_BASEforimageexecution<br>
329694clangwarnsaboutusinguninitializedvariable<br>
329956valgrindcrasheswhenlmw/stmwinstructionsareusedonppc64<br>
330228mmapmustaligntoVKI_SHMLBAonmips32<br>
330257LLVMdoesnotsupport`-mno-dynamic-no-pic`option<br>
330319amd64->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->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->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->IR:f00fc002(lockxaddbyte)<br>
307113s390x:DFPsupport<br>
307141valgrinddoes'tworkinmips-linuxsystem<br>
307155filter_gdbshouldfilteroutsyscall-template.ST_PSEUDO<br>
307285x86_amd64featuretestforavxintestsuiteiswrong<br>
307290memcheckoverlaptestcaseneedsmemcpyversionfilter<br>
307463Pleaseadd"&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->tt[tteNo].tcptr<=(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->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->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->soname'<br>
320895addfanotifysupport(patchincluded)<br>
320998vexamd64->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->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->IR:0xF30xF0xBC0xC0(TZCNT)<br>
298281wcslencausesfalse(?)uninitialisedvaluewarnings<br>
301281valgrindhangsonOSXwhentheprocesscallssystem()<br>
304035disInstr(arm):unhandledinstruction0xE1023053<br>
304867implementMOVBEinstructioninx86mode<br>
304980Assertion'lo<=hi'failedinvgModuleLocal_find_rx_mapping<br>
305042amd64:implement0F7Fencodingofmovqbetweentworegisters<br>
305199ARM:implementQDADDandQDSUB<br>
305321amd64->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->IR:0x660xF0x3A0x620xD10x460x660xF<br>
n-i-bzshmatofasegment>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=<number>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>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->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->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“crossmemoryattach”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->IR:0x660xF0x3A0xDF0xD10x10xE80x6A<br>
294736vexamd64->IR:0x480xF0xD70xD60x480x83<br>
294812patchallowingtorun(onx86atleast)helgrind/drdontool.<br>
295089cannotannotatesourceforbothhelgrindanddrd<br>
295221POWERProcessordecimalfloatingpointinstructionsupportmissing<br>
295427buildingfori386withclangondarwin11requires"-new_linkerlinker"<br>
295428coregrind/m_main.chasincorrectx86assemblyfordarwin<br>
295590Helgrind:Assertion'cvi->nWaiters>0'failed<br>
295617ARM-Addsomemissingsyscalls<br>
295799Missing\nwithget_vbitsingdbserverwhenlineis%80[...]<br>
296229Linuxuserinputdeviceioctlsmissingwrappers<br>
296318ELFDebuginfoimprovements(morethanonerx/rwmapping)<br>
296422Addtranslationchainingsupport<br>
296457vexamd64->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->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->arr_used<=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<256'failed<br>
267413Assertion'DRD_(g_threadinfo)[tid].synchr_nesting>=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<=(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->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->IR:0x660xF0x380x2B0xC10x660xF0x7F==(closedasdup)<br>
272955Unhandledsyscallerrorforpwrite64onppc64arch<br>
272967makedocumentationbuild-systemmorerobust<br>
272986Fixgcc-4.6warningswithvalgrind.h<br>
273318amd64->IR:0x660xF0x3A0x610xC10x38(missingPCMPxSTRxcase)<br>
273318unhandledPCMPxSTRxcase:vexamd64->IR:0x660xF0x3A0x610xC10x38<br>
273431valgrindsegfaultsinevalCfiExpr(debuginfo.c:2039)<br>
273465Callgrind:jumps.c:164(new_jcc):Assertion'(0<=jmp)&&...'<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->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->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(>=2.12)glibc<br>
283000vexamd64->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->IR:0x480xF0xAE0x4(properFX{SAVE,RSTOR}support)<br>
210481vexamd64->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->IR:0x660xF0x3A0x90xDB0x0(ROUNDPD)<br>
255966Slownesswhenusingmempoolannotations<br>
256387vexx86->IR:0xD40xA0x20x7(AADandAAM)<br>
256600super-optimizedstrcasecmp()falsepositive<br>
256669vexamd64->IR:UnhandledLOOPNELinsnonamd64<br>
256968(SSE4.x)vexamd64->IR:0x660xF0x380x100xD30x66(BLENDVPx)<br>
257011(SSE4.x)vexamd64->IR:0x660xF0x3A0xE0xFD0xA0(PBLENDW)<br>
257063(SSE4.x)vexamd64->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<valgrind/valgrind.h>,<br>
<valgrind/memcheck.h>and<valgrind/drd.h>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->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->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->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<title></title>elements<br>
232793==202315<br>
235642[PATCH]syswrap-linux.c:supportevdevEVIOCG*ioctls<br>
236546vexx86->IR:0x660xF0x3A0xA<br>
237202vexamd64->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->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<preamble>notescapethe<br>
xmlchar,eg'<','&','>'<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->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<valgrind/valgrind.h>).Analternativeforthesetwomacrosis<br>
thenewclientrequestVG_USERREQ__DRD_CLEAN_MEMORY(definedin<br>
<valgrind/drd.h>).<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)/<platform>/libmpiwrap.soto<br>
$(INSTALL)/libmpiwrap-<platform>.so.<br>
<br>
*ForpeoplewhodistributestandaloneValgrindtools,the<br>
installedlibrariessuchas$(INSTALL)/<platform>/libcoregrind.a<br>
havemovedto$(INSTALL)/libcoregrind-<platform>.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->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>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->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->heldBy"<br>
188427Addsupportforepoll_create1(withpatch)<br>
188530SupportforSIOCGSTAMPNS<br>
188560Includevalgrind.specinthetarball<br>
188572ValgrindonMacshouldsuppresssetenv()memleak<br>
189054Valgrindfailstobuildbecauseofduplicatenon-localasmlabels<br>
189737vexamd64->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->sg[p->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->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&&--trace-children=yes)<br>
164476Missingkernelmoduleloadingsystemcalls<br>
164669SVNregression:mmap()dropsposixfilelocks<br>
166581Callgrindoutputcorruptionwhenprogramforks<br>
167288PatchfileformissingsystemcallsonCellBE<br>
168943unsupportedscasinstructionpentium<br>
171645Unrecognisedinstruction(MOVSD,non-binutilsencoding)<br>
172417x86->IR:0x82...<br>
172563amd64->IR:0xD90xF5-fprem1<br>
173099.ldslinkerscriptgenerationerror<br>
173177[x86_64]syscalls:125/126/179(capget/capset/quotactl)<br>
173751amd64->IR:0x480xF0x6F0x45(evenmoreredundantprefixes)<br>
174532==173751<br>
174908--log-filevaluenotexpandedcorrectlyforcorefile<br>
175044Addlookup_dcookieforamd64<br>
175150x86->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"><<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>></a>
</td>
</tr>
<tr><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td></tr>
</table>
</div>
</body>
</html>
|