www.archive-org-2014.com » ORG » V » VALGRIND

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".

    Archived pages: 74 . Archive date: 2014-06.

  • Title: Valgrind: Commercial Support
    Descriptive info: |.. This is a list of consultants who offer commercial support for specific Valgrind-related projects.. If you would like your company included in this list, contact us at.. Note.. : consultants are listed on this page at their own request, and are not rated or endorsed by www.. valgrind.. org, or any member thereof.. OpenWorks.. Contact:.. Url:.. http://www.. open-works.. net/.. Expertise:.. All aspects of Valgrind development, bug fixing, consultancy and support.. We have been intimately involved with Valgrind development right from the founding of the project.. Consultancy and development of the bzip2 data compressor and library (.. bzip..

    Original link path: /support/consultants.html
    Open archive

  • Title: Valgrind: Contributing
    Descriptive info: Contributing to Valgrind.. If you would like to contribute to Valgrind's development, there are a number of ways you can help.. Bug reports are good.. Good bug reports are even better.. They should be submitted to our Bugzilla site (instructions are.. here.. Please follow the guidelines about writing good bug reports.. Small sample programs that exhibit a bug are particularly helpful.. Valgrind's documentation is not always kept up to date.. Any documentation patches that help in this respect are welcome.. Please send them to the.. valgrind-developers.. list.. Software Infrastructure, Code and Research.. If you are interested  ...   Money.. Donations are welcome, large or small.. They help pay day-to-day running costs, such as bandwidth, web-hosting, electricity, and hardware maintenance, as well as helping with larger one-off costs such as buying new machines.. Individuals and companies can donate funds to support Valgrind by cheque or money order.. Please.. contact us.. if you wish to donate.. Equipment.. Equipment donations can be very useful.. If you wish to donate some equipment, please.. to find out if the equipment would be useful, and if so, to arrange its transport.. Other.. For any other questions about these matters, please..

    Original link path: /help/contributing.html
    Open archive

  • Title: Valgrind: Project Suggestions
    Descriptive info: This page gives a list of Valgrind projects that people might like to try.. They range from quite easy hacking projects to research-level problems.. If you plan to try one of these projects, you should subscribe to.. list, and also write to it to let us know you are doing the project (just in case someone else is working on it), and you can ask questions there also.. Please note that we are very conservative about adding new features.. Only features that are useful to many users, and that do not adversely affect the maintainability or correctness of the code base in adverse ways are likely to be accepted.. If you want to implement a feature not mentioned on the following list, please ask on the valgrind-developers list if it is likely to be incorporated before starting.. Also, please understand that there is no guarantee that code you write will be incorporated into Valgrind.. It depends on a number of factors: how well written it is, how important are the issues it addresses, how does it affect the code base's structure, and so on.. Such is the nature of all free software projects.. However, if you consistently submit high quality patches, you may be granted write access to the repository.. This is how most of the current developers got involved with Valgrind.. Using Valgrind in an Automated Test Suite.. Various people have managed to set up an automated test suite that uses Memcheck, and automatically reports if Memcheck finds any errors.. This usually relies on the VALGRIND_COUNT_ERRORS client request, but it is not totally straightforward.. It would be great to have a section in the manual that describes how to do this well.. This would be best written by someone who has actually set up such a test suite.. Software Infrastructure.. Improving the Performance Testing Suite.. We have a growing suite of performance benchmarks in the perf/ directory, which would benefit from more programs.. We have a mix of two kinds of programs:.. Real programs.. Ones like the SPEC2000 benchmarks would be ideal, but they are not free.. Artificial programs that stress performance-critical subsystems.. For example.. bug report #105039.. has an example program that does many malloc and free calls, and has many heap blocks live at one time.. This exposed a performance bug in Valgrind's heap allocator.. The programs should be fairly small (preferably a few thousand lines at most).. Any new programs added should add something to the suite that the current programs don't provide.. Programs showing performance bugs (ie.. cases where Valgrind does very badly) are particularly welcome.. (Added August 27, 2005; updated December 15, 2005).. Performance regression testing.. We currently have some scripts to run the regression tests nightly on a range of machines.. This is very useful for spotting correctness regressions.. Equally useful would be an automated system for spotting performance regressions (or improvements).. It would be nice to have scripts to run the performance benchmarks every night.. The nightly measurements should be kept and ideally there would be a system for producing graphs that show the performance changes over time.. You'd have to specify somehow where the previous measurements would be stored, perhaps that would be a command line argument to the script.. The scripts in nightly/ for doing the nightly regression tests would be the right place to start on this.. Regression test brittleness.. Valgrind's regression test suite (run with "make regtest") is extremely useful.. The scripts in nightly/ are used on various test machines to determine if regressions are introduced.. Unfortunately, some of the tests are too brittle -- they fail on some machines because of slight configuration differences.. On the eight test machines we use, we see up to about 10 or 15 failures that should not happen due to these differences.. Improving things will require either additional expected output files (the *.. stderr.. exp* and *.. stdout.. exp* files in the tests/ directories), or more clever output filters (the filters have names like filter_stderr).. If you attempt to improve the filters, you should be careful not to remove so much information that the test becomes weaker.. (Added August 27, 2005).. Regression test gaps.. The regression tests are great, but they have some gaps.. For example:.. The test memcheck/tests/x86/scalar.. c is a very thorough test for Memcheck's checking of system call arguments.. We would like similar tests for the other platforms (AMD64, PPC32).. Memcheck and Nulgrind (aka "none") have a good number of tests each.. The other tools have very few.. Adding more salient tests would be useful.. Fixing these gaps is not very hard, just tedious.. (Added August 27, 2005; updated November 15, 2005).. Unit regression tests.. The regression tests are good system-level tests, but we have almost no unit testing, which is bad.. We would like to pull out individual Valgrind modules into test harnesses.. These can then be tested like normal programs, using normal testing tools, such as gcov (for test coverage) and Valgrind itself.. The test memcheck/tests/oset_test.. c is one unit test we have.. It tests the.. m_oset module.. It uses some preprocessing hacks to replace calls to Valgrind-internal functions with calls to the standard versions, eg.. calling.. printf().. instead of.. VG_(printf)().. memcheck/tests/vgtest_ume.. c.. is another one, although it has some oddities that make it not such a good example.. (Note that when this test runs, the Valgrind built  ...   debugging information.. Currently, Valgrind unloads debugging information for shared objects when they are unloaded with dlclose().. If the shared object has a memory leak, the stack trace for Memcheck's error message at termination will be missing entries, which makes fixing the leak difficult.. This is described in.. bug report #79362.. One way to fix this would be to change things so that Valgrind records source-level information for stack traces, rather than code addresses.. It is not entirely clear how to do this in a way that avoids unnecessary debug information lookups, and nor how to avoid increasing the amount of memory used.. An implementation would help clarify the problem and show if this approach is feasible.. This project is of intermediate difficulty.. Ports to new platforms.. If you are interested in porting Valgrind to a new platform, please read.. porting priorities statement.. Note that porting is a big task and requires a great deal of knowledge about the targeted operating system and architecture.. Research.. Memcheck V-bit verification.. Nobody has ever properly tested how reliably Memcheck tracks definedness (V bits) through complicated integer operations, nor whether all shadow memory load/store operations work right when you take into account all permutations of operation size, alignment and endianness.. It would be useful to have a more formal idea of the properties of the scheme.. (An interesting case: there are two forms of V bit computation for addition, an exact one that Memcheck uses in certain crucial cases, and an approximation one that is used most of the time.. Cryptographic algorithms -- which do a lot of bit twiddling and have very long chains of dependent computations -- might be a good starting point (you could run a crypto algorithm with completely defined input, then run it gain with one undefined bit in the input, etc).. The Memcheck USENIX paper describes Memcheck's operations in some detail.. This could be a relatively easy, yet interesting, starter project, suitable for an advanced project for an undergraduate student.. Characterising the kernel interface.. The interface between Valgrind and the OS kernel is complex and important.. System calls, signals, threads and memory layout are all involved.. A document that carefully described all the interactions would be very useful, and might lead to improvements in the implementation.. This would not be easy, but would be a great way to learn about OS kernels and Valgrind's internals.. (Added August 27, 2005.. Cryptographic snooping.. Since a Valgrind tool can see every operation performed by a program, it is conceivable that a tool might be able to analyse some kind of cryptographic program as it runs to extract certain secret information, such as a key.. This may not be true at all, but it's an intriguing thought.. Assuming there is some truth to it, this might make a good research project for an honours undergraduate or Masters student, and could well be publishable if done well.. Detecting dangerous floating point inaccuracies.. Floating point arithmetic is difficult to get right.. It is easy to write programs whose outcome depend on incorrect assumptions about levels of precision.. One could imagine a tool that tracks this precision somehow, eg.. by tracking each floating point value with a plus/minus, and then complains if the program does an operation that relies on more precision than is present.. The exact details of how this would work remain unclear.. It would require a good knowledge of how floating point arithmetic works.. Also, Vex only provides 64-bit floating point accuracy, when x86 machines provide 80-bit floating point values; this would complicate things further.. This is a challenging project that might be suitable for part of a Masters or PhD project.. It would definitely be publishable if done well.. A better memory profiler.. Many memory profilers exist that can tell you how much memory your program uses; the Valgrind tool Massif is one example.. Other profilers can tell you about the cache utilisation of a program; Cachegrind is an example.. What other kinds of information about memory use might be useful? How else does memory use affect program performance? Perhaps measuring memory bandwidth use in some way would be useful -- does the program access memory in an even fashion, or is it bursty? When one part of a program writes values in memory and another part reads them, that area of memory can be thought of as a communication channel between the two fragments of code.. Is it possible to construct a tool which measures these through-memory communication rates between parts of a program?.. Can a tool identify inefficient uses of memory, such as copying values around unnecessarily? Perhaps a tool that measures page faults and helps programmers avoid them would be useful.. The first step is to identify what information a programmer would like to know to improve a program's memory usage.. This is harder than it sounds.. Analysing large programs that use memory intensively would be a good starting point.. The next step is to work out how a tool can provide this information, or a good approximation of it, reasonably efficiently.. This is all quite speculative, but I think there is a new kind of memory profiler waiting to be invented, and Valgrind would provide an excellent platform for developing it.. These questions could form part of a Masters or PhD project.. It would certainly be publishable if done well..

    Original link path: /help/projects.html
    Open archive

  • Title: Valgrind: Projects / Users
    Descriptive info: Projects Using Valgrind.. All the projects on this page use or have used Valgrind, eg.. Firefox, OpenOffice, StarOffice, AbiWord, Opera, KDE, GNOME, Qt, libstdc++, MySQL, PostgreSQL, Perl, Python, PHP, Samba, RenderMan, Nasa Mars Lander software, SAS, The GIMP, Ogg Vorbis, Unreal Tournament, Medal of Honour.. Contact.. if you are happy to have your project added to this list.. Please provide a URL and a short description of your project.. Office Software.. Web Browsers.. Databases and Search Engines.. Scientific.. Graphics and Visualization.. Simulation.. Programming Language Implementations.. Development Tools.. Development Environments and Libraries.. Audio/Video.. System.. Games.. Internet.. Messaging/Communications.. Business/Financial.. Valgrind has been used as the starting point for various research projects.. RISE:.. this University of New Mexico project used Valgrind to implement randomized instruction set emulation, in order to disrupt binary code injection attacks.. Daikon:.. MIT's invariant detection system uses Valgrind to implement a trace-gathering tool named Kvasir.. Taintcheck:.. CMU's exploit detector and analyser is implemented as a Valgrind tool.. OpenOffice:.. an open source multi-platform office productivity suite.. Examples.. of bugs found.. StarOffice:.. a commercial multi-platform office productivity suite, based on OpenOffice.. AbiWord:.. a multi-platform, full-featured and ultra-efficient word processor.. KOffice:.. a multi-application, integrated office suite.. Gnumeric:.. a replacement for proprietary spreadsheets.. Evolution:.. integrated email, calendar, scheduling, contact management and task-list system.. Mozilla Thunderbird:.. a powerful email and newsgroup client derived from the Mozilla suite.. Krita:.. a painting and image editing application.. Mozilla:.. web application suite, for browsing, email, IRC chat and HTML editing.. Mozilla Firefox:.. a lean, fast web browser derived from the Mozilla suite.. Opera:.. a fast, multi-platform web browser.. Konqueror:.. a web browser, file manager, and universal document viewing application.. Galeon:.. a web browser for GNOME that uses Mozilla's rendering engine.. Embrowser:.. a small extensible web browser for internet appliances.. MySQL:.. the World's most popular open source database.. (A.. thank you.. from MySQL.. PostgreSQL:.. the World's most advanced open source database.. SQLite:.. The most widely deployed database engine; a self-contained, zero-configuration, serverless in-process library.. Appreciation.. from SQLite.. Teratext Database System:.. a terabyte-capable text database.. MonetDB:.. a high performance database supporting complex queries over tables with hundreds of columns and multi-million rows.. Natix:.. a native XML database management system.. Teracruz dbAppliance:.. a database performance monitoring and acceleration tool.. Exalead:.. a search and navigation platform, including search engine, XML processing libraries, and statistical linguistics.. Cyberquery:.. a high performance ad-hoc query and production reporting system.. FAST Data Search:.. an enterprise real-time search and information retrieval system.. Xapian:.. an open source probabilistic information retrieval library.. NASA Mars Exploration Rover:.. navigation and vision systems.. Atlas.. and.. CMS.. experiments at.. CERN's.. Large Hadron Collider:.. Data acquisition, reconstruction, analysis, visualisation and simulation software.. ROOT:.. a widely-used data access, analysis and visualisation system.. SLURM:.. A highly scalable cluster resource manager.. PACX-MPI:.. a library for running parallel application on clusters connected through high-speed networks or the internet.. SHIPFLOW/Chapman:.. special purpose software for investigating marine vessel hydrodynamics.. Teem:.. a collection of C libraries for manipulating and visualizing structured scientific data.. Free Finite Element Package:.. numerical libraries for linear finite elements in two dimensions.. Cactus:.. a framework for parallel computation and collaborative code development.. Carpet:.. a mesh refinement driver for Cactus.. HarmonyWare:.. NURBS-based geometry translator tools.. MIRA Assembler:.. a whole genome shotgun and EST sequence assembler.. Parma Polyhedra Library:.. a modern C++ library for the manipulation of convex polyhedra.. VXL:.. C++ Libraries for computer vision research and implementation.. Beosim:.. a Beowulf grid simulator.. Zori:.. a GPL quantum Monte Carlo (QMC) program.. Babel:.. high performance language interoperability for scientific computing.. CATHEDRAL:.. a protein structure comparison algorithm.. Cubit:.. a geometry and mesh generation toolkit.. Allegro:.. a genetic linkage analysis package.. GDAL:.. a multiformat geospatial raster/vector translator library.. R:.. a free software environment for statistical computing and graphics.. statist:.. a small and portable statistics program.. MbDyn:.. a free software multibody dynamics analysis system.. Magma:.. an algebra, number theory, geometry and combinatorics package.. McQSAR:.. a quantitative structure-activity relationships engine used for computer-aided drug design.. ObjCryst/Fox:.. tools for crystal structure determination from X-ray powder diffraction data.. CP2K:.. a molecular simulation package.. OMW:.. a package for tactical maritime surveillance of ships, oil slicks, and sea state from synthetic aperture RADAR satellite imagery.. RenderMan:.. rendering package used for all of Pixar's movies, The Lord of the Rings, The Matrix Trilogy, the Star Wars prequels, etc.. The GIMP:.. the GNU Image Manipulation Program.. Blender:.. a free open source 3D content creation suite.. OpenSG:.. a portable scenegraph  ...   Mixxx:.. digital DJ software.. AIDO:.. a home entertainment media system, complete with servers, clients, and protocols, handling any TV-presentable content.. Kdenlive:.. video editing suite.. amaroK:.. a KDE media player.. Speex:.. a patent-free voice codec.. libcdio:.. the GNU compact disc input and control library.. VCDImager:.. a full-featured mastering suite for video CDs and super video CDs.. FLAC:.. A free lossless audio codec.. Buzztard:.. A modular "Tracker"-style audio sequencer.. Ardour:.. A digital audio workstation.. libsndfile:.. a library for reading/writing sound files.. libsamplerate:.. an audio sample rate converter.. Annodex:.. an open source system for video surfing.. Samba:.. an open source suite providing seamless file and print services to SMB/CIFS clients.. Common UNIX Printing System (CUPS):.. a portable printing layer for UNIX-based operating systems.. Xinetd:.. a secure and powerful replacement for inetd, the internet services daemon.. ntop:.. a network traffic probe that shows network usage.. Prelude IDS:.. a hybrid intrusion detection system for network/host security.. SynCE:.. a WinCE communications layer.. Gutenprint:.. printer drivers for use with Ghostscript, CUPS, Foomatic, and The GIMP.. NX:.. X Window compression software.. Xsupplicant:.. an 802.. 1X client for Linux.. ICPLD:.. A network connection performance monitor.. Unreal Tournament (inc.. UT2003, UT2004):.. a multiplayer first-person shooter.. Medal of Honour:.. World War II first-person shooter.. America's Army: Operations:.. the official US Army game.. Call of Duty:.. a World War II first-person shooter.. Battlefield 1942:.. Serious Sam:.. an arcade-action shooter.. Postal 2:.. a 3D-perspective shooter.. netPanzer:.. an online multi-player tactical warfare game.. Anarchy Online:.. an award-winning massive multiplayer online roleplaying game (MMORPG).. SuperTux:.. a 2D platform game.. LinCity-NG:.. a city simulation game.. Glest:.. a 3D real-time strategy game.. Battle for Wesnoth:.. a turn-based strategy game with a fantasy theme.. MikkiMUD 3.. 2:.. an online multi-user dimension.. Crystal Space:.. a portable 3D game engine.. ScummVM:.. a virtual machine for classic graphical adventure games.. QSDK:.. a high performance cross-platform game engine for Windows, Linux, PS2 and XBox.. Free for non-console development.. Ca3D-Engine:.. a multi-player, multi-platform, real-time 3D engine.. Worldforge:.. an engine for online roleplaying games.. PvPGN:.. a battle.. net emulation server.. Xfire:.. an instant messenger for gamers.. PokerTH:.. an open source Texas Hold'em poker engine for Linux, Mac OS X and Windows.. Squid:.. a full-featured web proxy cache.. PowerDNS:.. a modern, advanced and high performance authoritative-only nameserver.. Pan:.. a newsreader supporting offline newsreading, article filtering, and multiple connections.. Psi:.. a cross-platform Jabber client designed for the Jabber power user.. GNUnet:.. a secure peer-to-peer file sharing framework.. Gtk-Gnutella:.. a P2P application for the Gnutella network that aims for high uptimes.. ripMIME:.. an email decoding engine and library.. Bidwatcher:.. an eBay auction listing tracker.. QSF:.. a small fast statistical spam filter.. JMBA:.. a junk mail buffering agent (email challenge/response system).. URL filter:.. a URL database and internet filter.. Polipo:.. a small and fast caching web proxy.. libSPF:.. Sender Policy Framework (SPF) library employing a form of SMTP anti-forgery.. MyServer:.. a powerful and easy to configure web server.. Yahoo! Messenger:.. a free instant messaging service.. naim:.. an instant messaging console client for AIM, ICQ, IRC, and The lily CMC.. Kadu:.. an IM client for the Gadu-Gadu network.. InspIRCd:.. a modular C++ IRC server.. GNU Gatekeeper:.. a free H.. 323 gatekeeper to manage VoIP networks.. SAS:.. a 25 MLOC integrated data management, business intelligence and analysis system.. SmartASR:.. a billing system.. Eurocontrol/CFMU's.. ETFMS:.. air traffic flow management for Europe; and.. IFPS.. : a flight plan validation and distribution system for all flights flying in/over Europe.. Dia:.. a diagram creator, particularly suited to drawing simple circuit diagrams, and more.. SportVision:.. various tools for virtual enhancements to live TV sports broadcasts.. ORINOCO:.. a tool to estimate the power dissipation of hardware/ASIC designs.. xmlBlaster:.. a publish/subscribe and PtP message oriented middleware with easy access from C, C++, Java, Perl, Python.. Papaya:.. a GTK+-2.. 0 MUD client for UNIX and Windows.. LibMSWrite:.. a free, platform-independent library that reads and writes the MS Write 3.. 0/3.. 1 document format.. Mnet:.. a distributed file store.. Speed Dragon Tools:.. programming tools for the Speed Dragon ISDN PBX.. libExtractor:.. a library for extracting metadata from files.. MICO:.. a freely available and fully compliant C++ implementation of the CORBA standard.. Citadel:.. An open source, standalone, groupware and collaboration server.. ArahWeave:.. a dobby and jacquard weaving CAD/CAM program.. Survex:.. an open source cave-surveying software package.. xfce4-xmms2-client:.. a GUI client for xmms2.. ClamAV:.. an open source (GPL) anti-virus toolkit for UNIX, designed especially for e-mail scanning on mail gateways..

    Original link path: /gallery/users.html
    Open archive

  • Title: Valgrind: Press / Media
    Descriptive info: Articles about Valgrind.. Open Source Awards 2004: Julian Seward for Valgrind.. Rex Baldazo, Builder.. com, January 15, 2004.. Interview with Julian Seward, covering Valgrind's origins.. Compile Time: Debugging Memory Problems.. Steve Best.. Linux Magazine, May 2003.. Articles mentioning Valgrind.. Developing Reliable Linux Code.. Jim Brooks.. Sabal Software, October 2003.. Memory leak detection in C++.. Carl  ...   Used To Be?.. Madhu M Kurup.. Linux Gazette, Issue 81, August 2002.. Presentations about Valgrind.. Understanding Code With Valgrind (.. OpenOffice.. ,.. PowerPoint.. Linux Bangalore 2003.. Announcements concerning Valgrind.. Open Source Awards 2004.. Slashdot, January 17, 2004.. Cache Optimization Now Made Easy, And Pretty.. Slashdot, April 26, 2003.. Valgrind 1.. 0 Released.. Slashdot, July 28, 2002..

    Original link path: /gallery/press_media.html
    Open archive

  • Title: Valgrind: Awards
    Descriptive info: May 2008: Valgrind won TrollTech's inaugural Qt Open Source Development Award for the best open source development tool.. July 2006: Julian Seward won a Google-O'Reilly Open Source Award for "Best Toolmaker" for his work on Valgrind.. January 2004: Valgrind won a merit (bronze) Open Source Award..

    Original link path: /gallery/awards.html
    Open archive

  • Title: Valgrind: Surveys
    Descriptive info: Survey 2 : September/October 2005.. We ran our second survey in September/October 2005, and received 179 responses.. Thanks to all those who participated.. Read the short.. summary.. , or the full.. report.. We look forward to improving Valgrind based on the information gained from this survey.. Ongoing Surveys : December 2003-August 2005.. We had an ongoing survey on the Valgrind website during this period.. The survey evolved greatly during this time.. We received around 40 responses, which gave us more information,  ...   all those who responded.. Survey 1 : November 2003.. We ran our first survey in November 2003.. The 116 responses gave us a huge amount of information, and taught us a great deal about how Valgrind is used.. Thanks to all those who responded.. Read the.. , and a list of some.. actions.. we've taken in direct response to the survey results.. Please note that this list does not show everything we've done, and we continue to address the issues raised..

    Original link path: /gallery/surveys.html
    Open archive

  • Title: Valgrind: Artwork / Clothing
    Descriptive info: The Artist.. The horse-rider-dragon picture was painted in watercolours by Rupert Lees, a London-based artist.. You can see more of Rupert's artwork on his website at.. www.. rupertlees.. com.. You may recognise the picture as a reference to the English legend of St George and the Dragon.. This is perhaps fitting given  ...   spread to all four corners of the globe.. Linking to www.. If you would like to include a link to valgrind.. org on your website, you are welcome to use these images.. Thanks to Stefan Kost for the last two.. Clothing.. You can buy Valgrind t-shirts, which feature the horse-rider and dragon, from..

    Original link path: /gallery/artwork.html
    Open archive

  • Title: Valgrind
    Descriptive info: Valgrind Distribution Documents.. 2.. NEWS.. Release 3.. 0 (31 October 2013).. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.. 3.. 0 is a feature release with many improvements and the usual.. collection of bug fixes.. This release supports X86/Linux, AMD64/Linux, ARM/Linux, PPC32/Linux,.. PPC64/Linux, S390X/Linux, MIPS32/Linux, MIPS64/Linux, ARM/Android,.. X86/Android, X86/MacOSX 10.. 7 and AMD64/MacOSX 10.. 7.. Support for.. MacOSX 10.. 8 is significantly improved relative to the 3.. 8.. 0 release.. * ================== PLATFORM CHANGES =================.. * Support for MIPS64 LE and BE running Linux.. Valgrind has been.. tested on MIPS64 Debian Squeeze and Debian Wheezy distributions.. * Support for MIPS DSP ASE on MIPS32 platforms.. * Support for s390x Decimal Floating Point instructions on hosts that.. have the DFP facility installed.. * Support for POWER8 (Power ISA 2.. 07) instructions.. * Support for Intel AVX2 instructions.. This is available only on 64.. bit code.. * Initial support for Intel Transactional Synchronization Extensions,.. both RTM and HLE.. * Initial support for Hardware Transactional Memory on POWER.. * Improved support for MacOSX 10.. 8 (64-bit only).. Memcheck can now.. run large GUI apps tolerably well.. * ==================== TOOL CHANGES ====================.. * Memcheck:.. - Improvements in handling of vectorised code, leading to.. significantly fewer false error reports.. You need to use the flag.. --partial-loads-ok=yes to get the benefits of these changes.. - Better control over the leak checker.. It is now possible to.. specify which leak kinds (definite/indirect/possible/reachable).. should be displayed, which should be regarded as errors, and which.. should be suppressed by a given leak suppression.. This is done.. using the options --show-leak-kinds=kind1,kind2,.. ,.. --errors-for-leak-kinds=kind1,kind2,.. and an optional.. "match-leak-kinds:" line in suppression entries, respectively.. Note that generated leak suppressions contain this new line and.. are therefore more specific than in previous releases.. To get the.. same behaviour as previous releases, remove the "match-leak-kinds:".. line from generated suppressions before using them.. - Reduced "possible leak" reports from the leak checker by the use.. of better heuristics.. The available heuristics provide detection.. of valid interior pointers to std::stdstring, to new[] allocated.. arrays with elements having destructors and to interior pointers.. pointing to an inner part of a C++ object using multiple.. inheritance.. They can be selected individually using the.. option --leak-check-heuristics=heur1,heur2,.. - Better control of stacktrace acquisition for heap-allocated.. blocks.. Using the --keep-stacktraces option, it is possible to.. control independently whether a stack trace is acquired for each.. allocation and deallocation.. This can be used to create better.. "use after free" errors or to decrease Valgrind's resource.. consumption by recording less information.. - Better reporting of leak suppression usage.. The list of used.. suppressions (shown when the -v option is given) now shows, for.. each leak suppressions, how many blocks and bytes it suppressed.. during the last leak search.. * Helgrind:.. - False errors resulting from the use of statically initialised.. mutexes and condition variables (PTHREAD_MUTEX_INITIALISER, etc).. have been removed.. - False errors resulting from the use of pthread_cond_waits that.. timeout, have been removed.. * ==================== OTHER CHANGES ====================.. * Some attempt to tune Valgrind's space requirements to the expected.. capabilities of the target:.. - The default size of the translation cache has been reduced from 8.. sectors to 6 on Android platforms, since each sector occupies.. about 40MB when using Memcheck.. - The default size of the translation cache has been increased to 16.. sectors on all other platforms, reflecting the fact that large.. applications require instrumentation and storage of huge amounts.. of code.. For similar reasons, the number of memory mapped.. segments that can be tracked has been increased by a factor of 6.. - In all cases, the maximum number of sectors in the translation.. cache can be controlled by the new flag --num-transtab-sectors.. * Changes in how debug info (line numbers, etc) is read:.. - Valgrind no longer temporarily mmaps the entire object to read.. from it.. Instead, reading is done through a small fixed sized.. buffer.. This avoids virtual memory usage spikes when Valgrind.. reads debuginfo from large shared objects.. - A new experimental remote debug info server.. Valgrind can read.. debug info from a different machine (typically, a build host).. where debuginfo objects are stored.. This can save a lot of time.. and hassle when running Valgrind on resource-constrained targets.. (phones, tablets) when the full debuginfo objects are stored.. somewhere else.. This is enabled by the --debuginfo-server=.. option.. - Consistency checking between main and debug objects can be.. disabled using the --allow-mismatched-debuginfo option.. * Stack unwinding by stack scanning, on ARM.. Unwinding by stack.. scanning can recover stack traces in some cases when the normal.. unwind mechanisms fail.. Stack scanning is best described as "a.. nasty, dangerous and misleading hack" and so is disabled by default.. Use --unw-stack-scan-thresh and --unw-stack-scan-frames to enable.. and control it.. * Detection and merging of recursive stack frame cycles.. When your.. program has recursive algorithms, this limits the memory used by.. Valgrind for recorded stack traces and avoids recording.. uninteresting repeated calls.. This is controlled by the command.. line option --merge-recursive-frame and by the monitor command.. "v.. set merge-recursive-frames".. * File name and line numbers for used suppressions.. suppressions (shown when the -v option is given) now shows, for each.. used suppression, the file name and line number where the suppression.. is defined.. * New and modified GDB server monitor features:.. - valgrind.. h has a new client request, VALGRIND_MONITOR_COMMAND,.. that can be used to execute gdbserver monitor commands from the.. client program.. - A new monitor command, "v.. info open_fds", that gives the list of.. open file descriptors and additional details.. - An optional message in the "v.. info n_errs_found" monitor command,.. for example "v.. info n_errs_found test 1234 finished", allowing a.. comment string to be added to the process output, perhaps for the.. purpose of separating errors of different tests or test phases.. - A new monitor command "v.. info execontext" that shows information.. about the stack traces recorded by Valgrind.. do expensive_sanity_check_general" to run.. some internal consistency checks.. * New flag --sigill-diagnostics to control whether a diagnostic.. message is printed when the JIT encounters an instruction it can't.. translate.. The actual behavior -- delivery of SIGILL to the.. application -- is unchanged.. * The maximum amount of memory that Valgrind can use on 64 bit targets.. has been increased from 32GB to 64GB.. This should make it possible.. to run applications on Memcheck that natively require up to about 35GB.. * ==================== FIXED BUGS ====================.. The following bugs have been fixed or resolved.. Note that "n-i-bz".. stands for "not in bugzilla" -- that is, a bug that was reported to us.. but never got a bugzilla entry.. We encourage you to file bugs in.. bugzilla (https://bugs.. kde.. org/enter_bug.. cgi?product=valgrind) rather.. than mailing the developers (or mailing lists) directly -- bugs that.. are not entered into bugzilla tend to get forgotten about or ignored.. To see details of a given bug, visit.. https://bugs.. org/show_bug.. cgi?id=XXXXXX.. where XXXXXX is the bug number as listed below.. 123837 system call: 4th argument is optional, depending on cmd.. 135425 memcheck should tell you where Freed blocks were Mallocd.. 164485 VG_N_SEGNAMES and VG_N_SEGMENTS are (still) too small.. 207815 Adds some of the drm ioctls to syswrap-linux.. c.. 251569 vex amd64- IR: 0xF 0x1 0xF9 0xBF 0x90 0xD0 0x3 0x0 (RDTSCP).. 252955 Impossible to compile with ccache.. 253519 Memcheck reports auxv pointer accesses as invalid reads.. 263034 Crash when loading some PPC64 binaries.. 269599 Increase deepest backtrace.. 274695 s390x: Support "compare to/from logical" instructions (z196).. 275800 s390x: Autodetect cache info (part 2).. 280271 Valgrind reports possible memory leaks on still-reachable std::string.. 284540 Memcheck shouldn't count suppressions matching still-reachable [.. ].. 289578 Backtraces with ARM unwind tables (stack scan flags).. 296311 Wrong stack traces due to -fomit-frame-pointer (x86).. 304832 ppc32: build failure.. 305431 Use find_buildid shdr fallback for separate.. debug files.. 305728 Add support for AVX2 instructions.. 305948 ppc64: code generation for ShlD64 / ShrD64 asserts.. 306035 s390x: Fix IR generation for LAAG and friends.. 306054 s390x: Condition code computation for convert-to-int/logical.. 306098 s390x: alternate opcode form for convert to/from fixed.. 306587 Fix cache line detection from auxiliary vector for PPC.. 306783 Mips unhandled syscall : 4025 / 4079 / 4182.. 307038 DWARF2 CFI reader: unhandled DW_OP_ opcode 0x8 (DW_OP_const1u et al).. 307082 HG false positive: pthread_cond_destroy: destruction of unknown CV.. 307101 sys_capget second argument can be NULL.. 307103 sys_openat: If pathname is absolute, then dirfd is ignored.. 307106 amd64- IR: f0 0f c0 02 (lock xadd byte).. 307113 s390x: DFP support.. 307141 valgrind does't work in mips-linux system.. 307155 filter_gdb should filter out syscall-template.. S T_PSEUDO.. 307285 x86_amd64 feature test for avx in test suite is wrong.. 307290 memcheck overlap testcase needs memcpy version filter.. 307463 Please add " limit=0" to the "all open bugs" link.. 307465 --show-possibly-lost=no should reduce the error count / exit code.. 307557 Leaks on Mac OS X 10.. 5 libraries at ImageLoader::recursiveInit[.. 307729 pkgconfig support broken valgrind.. pc.. 307828 Memcheck false errors SSE optimized wcscpy, wcscmp, wcsrchr, wcschr.. 307955 Building valgrind 3.. 0-r4 fails in Gentoo AMD64 when using clang.. 308089 Unhandled syscall on ppc64: prctl.. 308135 PPC32 MPC8xx has 16 bytes cache size.. 308321 testsuite memcheck filter interferes with gdb_filter.. 308333 == 307106.. 308341 vgdb should report process exit (or fatal signal).. 308427 s390 memcheck reports tsearch cjump/cmove depends on uninit.. 308495 Remove build dependency on installed Xen headers.. 308573 Internal error on 64-bit instruction executed in 32-bit mode.. 308626 == 308627.. 308627 pmovmskb validity bit propagation is imprecise.. 308644 vgdb command for having the info for the track-fds option.. 308711 give more info about aspacemgr and arenas in out_of_memory.. 308717 ARM: implement fixed-point VCVT.. F64.. [SU]32.. 308718 ARM implement SMLALBB family of instructions.. 308886 Missing support for PTRACE_SET/GETREGSET.. 308930 syscall name_to_handle_at (303 on amd64) not handled.. 309229 V-bit tester does not report number of tests generated.. 309323 print unrecognized instuction on MIPS.. 309425 Provide a --sigill-diagnostics flag to suppress illegal [.. 309427 SSE optimized stpncpy trigger uninitialised value [.. ] errors.. 309430 Self hosting ppc64 encounters a vassert error on operand type.. 309600 valgrind is a bit confused about 0-sized sections.. 309823 Generate errors for still reachable blocks.. 309921 PCMPISTRI validity bit propagation is imprecise.. 309922 none/tests/ppc64/test_dfp5 sometimes fails.. 310169 The Iop_CmpORD class of Iops is not supported by the vbit checker.. 310424 --read-var-info does not properly describe static variables.. 310792 search additional path for debug symbols.. 310931 s390x: Message-security assist (MSA) instruction extension [.. 311100 PPC DFP implementation of the integer operands is inconsistent [.. 311318 ARM: "128-bit constant is not implemented" error message.. 311407 ssse3 bcopy (actually converted memcpy) causes invalid read [.. 311690 V crashes because it redirects branches inside of a redirected function.. 311880 x86_64: make regtest hangs at shell_valid1.. 311922 WARNING: unhandled syscall: 170.. 311933 == 251569.. 312171 ppc: insn selection for DFP.. 312571 Rounding mode call wrong for the DFP Iops [.. 312620 Change to Iop_D32toD64 [.. ] for s390 DFP support broke ppc [.. 312913 Dangling pointers error should also report the alloc stack trace.. 312980 Building on Mountain Lion generates some compiler warnings.. 313267 Adding MIPS64/Linux port to Valgrind.. 313348 == 251569.. 313354 == 251569.. 313811 Buffer overflow in assert_fail.. 314099 coverity pointed out error in VEX guest_ppc_toIR.. c insn_suffix.. 314269 ppc: dead code in insn selection.. 314718 ARM: implement integer divide instruction (sdiv and udiv).. 315345 cl-format.. xml and callgrind/dump.. c don't agree on using cfl= or cfi=.. 315441 sendmsg syscall should ignore unset msghdr msg_flags.. 315534 msgrcv inside a thread causes valgrind to hang (block).. 315545 Assertion '(UChar*)sec- tt[tteNo].. tcptr = (UChar*)hcode' failed.. 315689 disInstr(thumb): unhandled instruction: 0xF852 0x0E10 (LDRT).. 315738 disInstr(arm): unhandled instruction: 0xEEBE0BEE (vcvt.. s32.. f64).. 315959 valgrind man page has bogus SGCHECK (and no BBV) OPTIONS section.. 316144 valgrind.. 1 manpage contains unknown ??? strings [.. 316145 callgrind command line options in manpage reference (unknown) [.. 316145 callgrind command line options in manpage reference [.. 316181 drd: Fixed a 4x slowdown for certain applications.. 316503 Valgrind does not support SSE4 "movntdqa" instruction.. 316535 Use of |signed int| instead of |size_t| in valgrind messages.. 316696 fluidanimate program of parsec 2.. 1 stuck.. 316761 syscall open_by_handle_at (304 on amd64, 342 on x86) not handled.. 317091 Use -Wl,-Ttext-segment when static linking if possible [.. 317186 "Impossible happens" when occurs VCVT instruction on ARM.. 317318 Support for Threading Building Blocks "scalable_malloc".. 317444 amd64- IR: 0xC4 0x41 0x2C 0xC2 0xD2 0x8 (vcmpeq_uqps).. 317461 Fix BMI assembler configure check and avx2/bmi/fma vgtest prereqs.. 317463 bmi testcase IR SANITY CHECK FAILURE.. 317506 memcheck/tests/vbit-test fails with unknown opcode after [.. 318050 libmpiwrap fails to compile with out-of-source build.. 318203 setsockopt handling needs to handle SOL_SOCKET/SO_ATTACH_FILTER.. 318643 annotate_trace_memory tests infinite loop on arm and ppc [.. 318773 amd64- IR: 0xF3 0x48 0x0F 0xBC 0xC2 0xC3 0x66 0x0F.. 318929 Crash with: disInstr(thumb): 0xF321 0x0001 (ssat16).. 318932 Add missing PPC64 and PPC32 system call support.. 319235 --db-attach=yes is broken with Yama (ptrace scoping) enabled.. 319395 Crash with unhandled instruction on STRT (Thumb) instructions.. 319494 VEX Makefile-gcc standalone build update after r2702.. 319505 [MIPSEL] Crash: unhandled UNRAY operator.. 319858 disInstr(thumb): unhandled instruction on instruction STRBT.. 319932 disInstr(thumb): unhandled instruction on instruction STRHT.. 320057 Problems when we try to mmap more than 12 memory pages on MIPS32.. 320063 Memory from PTRACE_GET_THREAD_AREA is reported uninitialised.. 320083 disInstr(thumb): unhandled instruction on instruction LDRBT.. 320116 bind on AF_BLUETOOTH produces warnings because of sockaddr_rc padding.. 320131 WARNING: unhandled syscall: 369 on ARM (prlimit64).. 320211 Stack buffer overflow in.. /coregrind/m_main.. c with huge TMPDIR.. 320661 vgModuleLocal_read_elf_debug_info(): "Assertion '!di- soname'.. 320895 add fanotify support (patch included).. 320998 vex amd64- IR pcmpestri and pcmpestrm SSE4.. 2 instruction.. 321065 Valgrind updates for Xen 4.. 321148 Unhandled instruction: PLI (Thumb 1, 2, 3).. 321363 Unhandled instruction: SSAX (ARM + Thumb).. 321364 Unhandled instruction: SXTAB16 (ARM + Thumb).. 321466 Unhandled instruction: SHASX (ARM + Thumb).. 321467 Unhandled instruction: SHSAX (ARM + Thumb).. 321468 Unhandled instruction: SHSUB16 (ARM + Thumb).. 321619 Unhandled instruction: SHSUB8 (ARM + Thumb).. 321620 Unhandled instruction: UASX (ARM + Thumb).. 321621 Unhandled instruction: USAX (ARM + Thumb).. 321692 Unhandled instruction: UQADD16 (ARM + Thumb).. 321693 Unhandled instruction: LDRSBT (Thumb).. 321694 Unhandled instruction: UQASX (ARM + Thumb).. 321696 Unhandled instruction: UQSAX (Thumb + ARM).. 321697 Unhandled instruction: UHASX (ARM + Thumb).. 321703 Unhandled instruction: UHSAX (ARM + Thumb).. 321704 Unhandled instruction: REVSH (ARM + Thumb).. 321730 Add cg_diff and cg_merge man pages.. 321738 Add vgdb and valgrind-listener man pages.. 321814 == 315545.. 321891 Unhandled instruction: LDRHT (Thumb).. 321960 pthread_create() then alloca() causing invalid stack write errors.. 321969 ppc32 and ppc64 don't support [lf]setxattr.. 322254 Show threadname together with tid if set by application.. 322294 Add initial support for IBM Power ISA 2.. 07.. 322368 Assertion failure in wqthread_hijack under OS X 10.. 322563 vex mips- IR: 0x70 0x83 0xF0 0x3A.. 322807 VALGRIND_PRINTF_BACKTRACE writes callstack to xml and text to stderr.. 322851 0bXXX binary literal syntax is not standard.. 323035 Unhandled instruction: LDRSHT(Thumb).. 323036 Unhandled instruction: SMMLS (ARM and Thumb).. 323116 The memcheck/tests/ppc64/power_ISA2_05.. c fails to build [.. 323175 Unhandled instruction: SMLALD (ARM + Thumb).. 323177 Unhandled instruction: SMLSLD (ARM + Thumb).. 323432 Calling pthread_cond_destroy() or pthread_mutex_destroy() [.. 323437 Phase 2 support for IBM Power ISA 2.. 323713 Support mmxext (integer sse) subset on i386 (athlon).. 323803 Transactional memory instructions are not supported for Power.. 323893 SSE3 not available on amd cpus in valgrind.. 323905 Probable false positive from Valgrind/drd on close().. 323912 valgrind.. h header isn't compatible for mingw64.. 324047 Valgrind doesn't support [LDR,ST]{S}[B,H]T ARM instructions.. 324149 helgrind: When pthread_cond_timedwait returns ETIMEDOUT [.. 324181 mmap does not handle MAP_32BIT.. 324227 memcheck false positive leak when a thread calls exit+block [.. 324421 Support for fanotify API on ARM architecture.. 324514 gdbserver monitor cmd output behaviour consistency [.. 324518 ppc64: Emulation of dcbt instructions does not handle [.. 324546 none/tests/ppc32 test_isa_2_07_part2 requests -m64.. 324582 When access is made to freed memory, report both allocation [.. 324594 Fix overflow computation for Power ISA 2.. 06 insns: mulldo/mulldo.. 324765 ppc64: illegal instruction when executing none/tests/ppc64/jm-misc.. 324816 Incorrect VEX implementation for xscvspdp/xvcvspdp for SNaN inputs.. 324834 Unhandled instructions in Microsoft C run-time for x86_64.. 324894 Phase 3 support for IBM Power ISA 2.. 326091 drd: Avoid false race reports from optimized strlen() impls.. 326113 valgrind libvex hwcaps error on AMD64.. n-i-bz Some wrong command line options could be ignored.. n-i-bz patch to allow fair-sched on android.. n-i-bz report error for vgdb snapshot requested before execution.. n-i-bz same as 303624 (fixed in 3.. 0), but for x86 android.. (3.. 0: 31 October 2013, vex r2796, valgrind r13708).. 1 (19 September 2012).. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.. 1 is a bug fix release.. It fixes some assertion failures in 3.. that occur moderately frequently in real use cases, adds support for.. some missing instructions on ARM, and fixes a deadlock condition on.. MacOSX.. If you package or deliver 3.. 0 for others to use, you might.. want to consider upgrading to 3.. 1 instead.. 284004 == 301281.. 289584 Unhandled instruction: 0xF 0x29 0xE5 (MOVAPS).. 295808 amd64- IR: 0xF3 0xF 0xBC 0xC0 (TZCNT).. 298281 wcslen causes false(?) uninitialised value warnings.. 301281 valgrind hangs on OS X when the process calls system().. 304035 disInstr(arm): unhandled instruction 0xE1023053.. 304867 implement MOVBE instruction in x86 mode.. 304980 Assertion 'lo = hi' failed in vgModuleLocal_find_rx_mapping.. 305042 amd64: implement 0F 7F encoding of movq between two registers.. 305199 ARM: implement QDADD and QDSUB.. 305321 amd64- IR: 0xF 0xD 0xC (prefetchw).. 305513 killed by fatal signal: SIGSEGV.. 305690 DRD reporting invalid semaphore when sem_trywait fails.. 305926 Invalid alignment checks for some AVX instructions.. 306297 disInstr(thumb): unhandled instruction 0xE883 0x000C.. 306310 3.. 0 release tarball missing some files.. 306612 RHEL 6 glibc-2.. X default suppressions need /lib*/libc-*patterns.. 306664 vex amd64- IR: 0x66 0xF 0x3A 0x62 0xD1 0x46 0x66 0xF.. n-i-bz shmat of a segment 4Gb does not work.. n-i-bz simulate_control_c script wrong USR1 signal number on mips.. n-i-bz vgdb ptrace calls wrong on mips [.. n-i-bz Fixes for more MPI false positives.. n-i-bz exp-sgcheck's memcpy causes programs to segfault.. n-i-bz OSX build w/ clang: asserts at startup.. n-i-bz Incorrect undef'dness prop for Iop_DPBtoBCD and Iop_BCDtoDPB.. n-i-bz fix a couple of union tag-vs-field mixups.. n-i-bz OSX: use __NR_poll_nocancel rather than __NR_poll.. The following bugs were fixed in 3.. 0 but not listed in this NEWS.. file at the time:.. 254088 Valgrind should know about UD2 instruction.. 301280 == 254088.. 301902 == 254088.. 304754 NEWS blows TeX's little mind.. 1: 19 September 2012, vex r2537, valgrind r12996).. 0 (10 August 2012).. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.. PPC64/Linux, S390X/Linux, MIPS/Linux, ARM/Android, X86/Android,.. X86/MacOSX 10.. 6/10.. Support for recent.. distros and toolchain components (glibc 2.. 16, gcc 4.. 7) has been added.. There is initial support for MacOSX 10.. 8, but it is not usable for.. serious work at present.. * Support for MIPS32 platforms running Linux.. tested on MIPS32 and MIPS32r2 platforms running different Debian.. Squeeze and MeeGo distributions.. Both little-endian and big-endian.. cores are supported.. The tools Memcheck, Massif and Lackey have.. been tested and are known to work.. See README.. mips for more details.. * Preliminary support for Android running on x86.. * Preliminary (as-yet largely unusable) support for MacOSX 10.. * Support for Intel AVX instructions and for AES instructions.. This.. support is available only for 64 bit code.. * Support for POWER Decimal Floating Point instructions.. * Non-libc malloc implementations are now supported.. This is useful.. for tools that replace malloc (Memcheck, Massif, DRD, Helgrind).. Using the new option --soname-synonyms, such tools can be informed.. that the malloc implementation is either linked statically into the.. executable, or is present in some other shared library different.. from libc.. so.. This makes it possible to process statically linked.. programs, and programs using other malloc libraries, for example.. TCMalloc or JEMalloc.. * For tools that provide their own replacement for malloc et al, the.. option --redzone-size= number allows users to specify the size of.. the padding blocks (redzones) added before and after each client.. allocated block.. Smaller redzones decrease the memory needed by.. Valgrind.. Bigger redzones increase the chance to detect blocks.. overrun or underrun.. Prior to this change, the redzone size was.. hardwired to 16 bytes in Memcheck.. - The leak_check GDB server monitor command now can.. control the maximum nr of loss records to output.. - Reduction of memory use for applications allocating.. many blocks and/or having many partially defined bytes.. - Addition of GDB server monitor command 'block_list' that lists.. the addresses/sizes of the blocks of a leak search loss record.. - Addition of GDB server monitor command 'who_points_at' that lists.. the locations pointing at a block.. - If a redzone size 0 is given, VALGRIND_MALLOCLIKE_BLOCK now will.. detect an invalid access of these redzones, by marking them.. noaccess.. Similarly, if a redzone size is given for a memory.. pool, VALGRIND_MEMPOOL_ALLOC will mark the redzones no access.. This still allows to find some bugs if the user has forgotten to.. mark the pool superblock noaccess.. - Performance of memory leak check has been improved, especially in.. cases where there are many leaked blocks and/or many suppression.. rules used to suppress leak reports.. - Reduced noise (false positive) level on MacOSX 10.. 7, due to.. more precise analysis, which is important for LLVM/Clang.. generated code.. This is at the cost of somewhat reduced.. performance.. Note there is no change to analysis precision or.. costs on Linux targets.. * DRD:.. - Added even more facilities that can help finding the cause of a data.. race, namely the command-line option --ptrace-addr and the macro.. DRD_STOP_TRACING_VAR(x).. More information can be found in the manual.. - Fixed a subtle bug that could cause false positive data race reports.. * The C++ demangler has been updated so as to work well with C++.. compiled by up to at least g++ 4.. * Tool developers can make replacement/wrapping more flexible thanks.. to the new option --soname-synonyms.. This was reported above, but.. in fact is very general and applies to all function.. replacement/wrapping, not just to malloc-family functions.. * Round-robin scheduling of threads can be selected, using the new.. option --fair-sched= yes.. Prior to this change, the pipe-based.. thread serialisation mechanism (which is still the default) could.. give very unfair scheduling.. --fair-sched=yes improves.. responsiveness of interactive multithreaded applications, and.. improves repeatability of results from the thread checkers Helgrind.. and DRD.. * For tool developers: support to run Valgrind on Valgrind has been.. improved.. We can now routinely Valgrind on Helgrind or Memcheck.. * gdbserver now shows the float shadow registers as integer.. rather than float values, as the shadow values are mostly.. used as bit patterns.. * Increased limit for the --num-callers command line flag to 500.. * Performance improvements for error matching when there are many.. suppression records in use.. * Improved support for DWARF4 debugging information (bug 284184).. * Initial support for DWZ compressed Dwarf debug info.. * Improved control over the IR optimiser's handling of the tradeoff.. between performance and precision of exceptions.. Specifically,.. --vex-iropt-precise-memory-exns has been removed and replaced by.. --vex-iropt-register-updates, with extended functionality.. allows the Valgrind gdbserver to always show up to date register.. values to GDB.. * Modest performance gains through the use of translation chaining for.. JIT-generated code.. 197914 Building valgrind from svn now requires automake-1.. 10.. 203877 increase to 16Mb maximum allowed alignment for memalign et al.. 219156 Handle statically linked malloc or other malloc lib (e.. tcmalloc).. 247386 make perf does not run all performance tests.. 270006 Valgrind scheduler unfair.. 270777 Adding MIPS/Linux port to Valgrind.. 270796 s390x: Removed broken support for the TS insn.. 271438 Fix configure for proper SSE4.. 2 detection.. 273114 s390x: Support TR, TRE, TROO, TROT, TRTO, and TRTT instructions.. 273475 Add support for AVX instructions.. 274078 improved configure logic for mpicc.. 276993 fix mremap 'no thrash checks'.. 278313 Fedora 15/x64: err read debug info with --read-var-info=yes flag.. 281482 memcheck incorrect byte allocation count in realloc() for silly argument.. 282230 group allocator for small fixed size, use it for MC_Chunk/SEc vbit.. 283413 Fix wrong sanity check.. 283671 Robustize alignment computation in LibVEX_Alloc.. 283961 Adding support for some HCI IOCTLs.. 284124 parse_type_DIE: confused by: DWARF 4.. 284864 == 273475 (Add support for AVX instructions).. 285219 Too-restrictive constraints for Thumb2 "SP plus/minus register".. 285662 (MacOSX): Memcheck needs to replace memcpy/memmove.. 285725 == 273475 (Add support for AVX instructions).. 286261 add wrapper for linux I2C_RDWR ioctl.. 286270 vgpreload is not friendly to 64- 32 bit execs, gives ld.. so warnings.. 286374 Running cachegrind with --branch-sim=yes on 64-bit PowerPC program fails.. 286384 configure fails "checking for a supported version of gcc".. 286497 == 273475 (Add support for AVX instructions).. 286596 == 273475 (Add support for AVX instructions).. 286917 disInstr(arm): unhandled instruction: QADD (also QSUB).. 287175 ARM: scalar VFP fixed-point VCVT instructions not handled.. 287260 Incorrect conditional jump or move depends on uninitialised value(s).. 287301 vex amd64- IR: 0x66 0xF 0x38 0x41 0xC0 0xB8 0x0 0x0 (PHMINPOSUW).. 287307 == 273475 (Add support for AVX instructions).. 287858 VG_(strerror): unknown error.. 288298 (MacOSX) unhandled syscall shm_unlink.. 288995 == 273475 (Add support for AVX instructions).. 289470 Loading of large Mach-O thin binaries fails.. 289656 == 273475 (Add support for AVX instructions).. 289699 vgdb connection in relay mode erroneously closed due to buffer overrun.. 289823 == 293754 (PCMPxSTRx not implemented for 16-bit characters).. 289839 s390x: Provide support for unicode conversion instructions.. 289939 monitor cmd 'leak_check' with details about leaked or reachable blocks.. 290006 memcheck doesn't mark %xmm as initialized after "pcmpeqw %xmm %xmm".. 290655 Add support for AESKEYGENASSIST instruction.. 290719 valgrind-3.. 0 fails with automake-1.. 11.. 2 due to"pkglibdir" usage.. 290974 vgdb must align pages to VKI_SHMLBA (16KB) on ARM.. 291253 ES register not initialised in valgrind simulation.. 291568 Fix 3DNOW-related crashes with baseline x86_64 CPU (w patch).. 291865 s390x: Support the "Compare Double and Swap" family of instructions.. 292300 == 273475 (Add support for AVX instructions).. 292430 unrecognized instruction in __intel_get_new_mem_ops_cpuid.. 292493 == 273475 (Add support for AVX instructions).. 292626 Missing fcntl F_SETOWN_EX and F_GETOWN_EX support.. 292627 Missing support for some SCSI ioctls.. 292628 none/tests/x86/bug125959-x86.. c triggers undefined behavior.. 292841 == 273475 (Add support for AVX instructions).. 292993 implement the getcpu syscall on amd64-linux.. 292995 Implement the cross memory attach syscalls introduced in Linux 3.. 2.. 293088 Add some VEX sanity checks for ppc64 unhandled instructions.. 293751 == 290655 (Add support for AESKEYGENASSIST instruction).. 293754 PCMPxSTRx not implemented for 16-bit characters.. 293755 == 293754 (No tests for PCMPxSTRx on 16-bit characters).. 293808 CLFLUSH not supported by latest VEX for amd64.. 294047 valgrind does not correctly emulate prlimit64(.. , RLIMIT_NOFILE,.. 294048 MPSADBW instruction not implemented.. 294055 regtest none/tests/shell fails when locale is not set to C.. 294185 INT 0x44 (and others) not supported on x86 guest, but used by Jikes RVM.. 294190 --vgdb-error=xxx can be out of sync with errors shown to the user.. 294191 amd64: fnsave/frstor and 0x66 size prefixes on FP instructions.. 294260 disInstr_AMD64: disInstr miscalculated next %rip.. 294523 --partial-loads-ok=yes causes false negatives.. 294617 vex amd64- IR: 0x66 0xF 0x3A 0xDF 0xD1 0x1 0xE8 0x6A.. 294736 vex amd64- IR: 0x48 0xF 0xD7 0xD6 0x48 0x83.. 294812 patch allowing to run (on x86 at least) helgrind/drd on tool.. 295089 can not annotate source for both helgrind and drd.. 295221 POWER Processor decimal floating point instruction support missing.. 295427 building for i386 with clang on darwin11 requires "-new_linker linker".. 295428 coregrind/m_main.. c has incorrect x86 assembly for darwin.. 295590 Helgrind: Assertion 'cvi- nWaiters 0' failed.. 295617 ARM - Add some missing syscalls.. 295799 Missing \n with get_vbits in gdbserver when line is % 80 [.. 296229 Linux user input device ioctls missing wrappers.. 296318 ELF Debug info improvements (more than one rx/rw mapping).. 296422 Add translation chaining support.. 296457 vex amd64- IR: 0x66 0xF 0x3A 0xDF 0xD1 0x1 0xE8 0x6A (dup of AES).. 296792 valgrind 3.. 0: add SIOCSHWTSTAMP (0x89B0) ioctl wrapper.. 296983 Fix build issues on x86_64/ppc64 without 32-bit toolchains.. 297078 gdbserver signal handling problems [.. 297147 drd false positives on newly allocated memory.. 297329 disallow decoding of IBM Power DFP insns on some machines.. 297497 POWER Processor decimal floating point instruction support missing.. 297701 Another alias for strncasecmp_l in libc-2.. 13.. 297911 'invalid write' not reported when using APIs for custom mem allocators.. 297976 s390x: revisit EX implementation.. 297991 Valgrind interferes with mmap()+ftell().. 297992 Support systems missing WIFCONTINUED (e.. pre-2.. 10 Linux).. 297993 Fix compilation of valgrind with  ...   x).. * Improvements and simplifications to Memcheck's leak checker.. * Clarification and simplifications in various aspects of Valgrind's.. text output.. * XML output for Helgrind and Ptrcheck.. * Performance and stability improvements for Helgrind and DRD.. * Genuinely atomic support for x86/amd64/ppc atomic instructions.. * A new experimental tool, BBV, useful for computer architecture.. research.. * Improved Wine support, including ability to read Windows PDB.. debuginfo.. Here are details of the above changes, followed by descriptions of.. many other minor changes, and a list of fixed bugs.. * Valgrind now runs on Mac OS X.. (Note that Mac OS X is sometimes.. called "Darwin" because that is the name of the OS core, which is the.. level that Valgrind works at.. Supported systems:.. - It requires OS 10.. x (Leopard).. Porting to 10.. x is not planned.. because it would require work and 10.. 4 is only becoming less common.. - 32-bit programs on x86 and AMD64 (a.. k.. a x86-64) machines are supported.. fairly well.. For 10.. x, 32-bit programs are the default even on.. 64-bit machines, so it handles most current programs.. - 64-bit programs on x86 and AMD64 (a.. a x86-64) machines are not.. officially supported, but simple programs at least will probably work.. However, start-up is slow.. - PowerPC machines are not supported.. Things that don't work:.. - The Ptrcheck tool.. - Objective-C garbage collection.. - --db-attach=yes.. - If you have Rogue Amoeba's "Instant Hijack" program installed,.. Valgrind will fail with a SIGTRAP at start-up.. cgi?id=193917 for details and a.. simple work-around.. Usage notes:.. - You will likely find --dsymutil=yes a useful option, as error.. messages may be imprecise without it.. - Mac OS X support is new and therefore will be less robust than the.. Linux support.. Please report any bugs you find.. - Threaded programs may run more slowly than on Linux.. Many thanks to Greg Parker for developing this port over several years.. * Memcheck's leak checker has been improved.. - The results for --leak-check=summary now match the summary results.. for --leak-check=full.. Previously they could differ because.. --leak-check=summary counted "indirectly lost" blocks and.. "suppressed" blocks as "definitely lost".. - Blocks that are only reachable via at least one interior-pointer,.. but are directly pointed to by a start-pointer, were previously.. marked as "still reachable".. They are now correctly marked as.. "possibly lost".. - The default value for the --leak-resolution option has been.. changed from "low" to "high".. In general, this means that more.. leak reports will be produced, but each leak report will describe.. fewer leaked blocks.. - With --leak-check=full, "definitely lost" and "possibly lost".. leaks are now considered as proper errors, ie.. they are counted.. for the "ERROR SUMMARY" and affect the behaviour of.. --error-exitcode.. These leaks are not counted as errors if.. --leak-check=summary is specified, however.. - Documentation for the leak checker has been improved.. * Various aspects of Valgrind's text output have changed.. - Valgrind's start-up message has changed.. It is shorter but also.. includes the command being run, which makes it easier to use.. --trace-children=yes.. An example:.. - Valgrind's shut-down messages have also changed.. This is most.. noticeable with Memcheck, where the leak summary now occurs before.. the error summary.. This change was necessary to allow leaks to be.. counted as proper errors (see the description of the leak checker.. changes above for more details).. This was also necessary to fix a.. longstanding bug in which uses of suppressions against leaks were.. not "counted", leading to difficulties in maintaining suppression.. files (see https://bugs.. cgi?id=186790).. - Behavior of -v has changed.. In previous versions, -v printed out.. a mixture of marginally-user-useful information, and tool/core.. statistics.. The statistics printing has now been moved to its own.. flag, --stats=yes.. This means -v is less verbose and more likely.. to convey useful end-user information.. - The format of some (non-XML) stack trace entries has changed a.. little.. Previously there were six possible forms:.. 0x80483BF: really (a.. c:20).. 0x80483BF: really (in /foo/a.. out).. 0x80483BF: really.. 0x80483BF: (within /foo/a.. 0x80483BF: ??? (a.. 0x80483BF: ???.. The third and fourth of these forms have been made more consistent.. with the others.. The six possible forms are now:.. 0x80483BF: really (in ???).. 0x80483BF: ??? (in /foo/a.. Stack traces produced when --xml=yes is specified are different.. and unchanged.. * Helgrind and Ptrcheck now support XML output, so they can be used.. from GUI tools.. Also, the XML output mechanism has been.. overhauled.. - The XML format has been overhauled and generalised, so it is more.. suitable for error reporting tools in general.. The Memcheck.. specific aspects of it have been removed.. The new format, which.. is an evolution of the old format, is described in.. docs/internals/xml-output-protocol4.. txt.. - Memcheck has been updated to use the new format.. - Helgrind and Ptrcheck are now able to emit output in this format.. - The XML output mechanism has been overhauled.. XML is now output.. to its own file descriptor, which means that:.. * Valgrind can output text and XML independently.. * The longstanding problem of XML output being corrupted by.. unexpected un-tagged text messages is solved.. As before, the destination for text output is specified using.. --log-file=, --log-fd= or --log-socket=.. As before, XML output for a tool is enabled using --xml=yes.. Because there's a new XML output channel, the XML output.. destination is now specified by --xml-file=, --xml-fd= or.. --xml-socket=.. Initial feedback has shown this causes some confusion.. To.. clarify, the two envisaged usage scenarios are:.. (1) Normal text output.. In this case, do not specify --xml=yes.. nor any of --xml-file=, --xml-fd= or --xml-socket=.. (2) XML output.. In this case, specify --xml=yes, and one of.. --xml-file=, --xml-fd= or --xml-socket= to select the XML.. destination, one of --log-file=, --log-fd= or --log-socket=.. to select the destination for any remaining text messages,.. and, importantly, -q.. -q makes Valgrind completely silent on the text channel,.. except in the case of critical failures, such as Valgrind.. itself segfaulting, or failing to read debugging information.. Hence, in this scenario, it suffices to check whether or not.. any output appeared on the text channel.. If yes, then it is.. likely to be a critical error which should be brought to the.. attention of the user.. If no (the text channel produced no.. output) then it can be assumed that the run was successful.. This allows GUIs to make the critical distinction they need to.. make (did the run fail or not?) without having to search or.. filter the text output channel in any way.. It is also recommended to use --child-silent-after-fork=yes in.. scenario (2).. * Improvements and changes in Helgrind:.. - XML output, as described above.. - Checks for consistent association between pthread condition.. variables and their associated mutexes are now performed.. - pthread_spinlock functions are supported.. - Modest performance improvements.. - Initial (skeletal) support for describing the behaviour of.. non-POSIX synchronisation objects through ThreadSanitizer.. compatible ANNOTATE_* macros.. - More controllable tradeoffs between performance and the level of.. detail of "previous" accesses in a race.. There are now three.. settings:.. * --history-level=full.. This is the default, and was also the.. default in 3.. It shows both stacks involved in a race, but.. requires a lot of memory and can be very slow in programs that.. do many inter-thread synchronisation events.. * --history-level=none.. This only shows the later stack involved.. in a race.. This can be much faster than --history-level=full,.. but makes it much more difficult to find the other access.. involved in the race.. The new intermediate setting is.. * --history-level=approx.. For the earlier (other) access, two stacks are presented.. The.. earlier access is guaranteed to be somewhere in between the two.. program points denoted by those stacks.. This is not as useful.. as showing the exact stack for the previous access (as per.. --history-level=full), but it is better than nothing, and it's.. almost as fast as --history-level=none.. * New features and improvements in DRD:.. - The error messages printed by DRD are now easier to interpret.. Instead of using two different numbers to identify each thread.. (Valgrind thread ID and DRD thread ID), DRD does now identify.. threads via a single number (the DRD thread ID).. Furthermore.. "first observed at" information is now printed for all error.. messages related to synchronization objects.. - Added support for named semaphores (sem_open() and sem_close()).. - Race conditions between pthread_barrier_wait() and.. pthread_barrier_destroy() calls are now reported.. - Added support for custom allocators through the macros.. VALGRIND_MALLOCLIKE_BLOCK() VALGRIND_FREELIKE_BLOCK() (defined in.. in valgrind/valgrind.. h ).. An alternative for these two macros is.. the new client request VG_USERREQ__DRD_CLEAN_MEMORY (defined in.. valgrind/drd.. - Added support for annotating non-POSIX synchronization objects.. through several new ANNOTATE_*() macros.. - OpenMP: added support for the OpenMP runtime (libgomp) included.. with gcc versions 4.. 0 and 4.. - Faster operation.. - Added two new command-line options (--first-race-only and.. --segment-merging-interval).. Valgrind will now preserve (memory-access) atomicity of LOCK-.. prefixed x86/amd64 instructions, and any others implying a global.. bus lock.. Ditto for PowerPC l{w,d}arx/st{w,d}cx.. This means that Valgrinded processes will "play nicely" in.. situations where communication with other processes, or the kernel,.. is done through shared memory and coordinated with such atomic.. Prior to this change, such arrangements usually.. resulted in hangs, races or other synchronisation failures, because.. Valgrind did not honour atomicity of such instructions.. * A new experimental tool, BBV, has been added.. BBV generates basic.. block vectors for use with the SimPoint analysis tool, which allows.. a program's overall behaviour to be approximated by running only a.. fraction of it.. This is useful for computer architecture.. researchers.. You can run BBV by specifying --tool=exp-bbv (the.. "exp-" prefix is short for "experimental").. BBV was written by.. Vince Weaver.. * Modestly improved support for running Windows applications under.. Wine.. In particular, initial support for reading Windows.. PDB debug.. information has been added.. * A new Memcheck client request VALGRIND_COUNT_LEAK_BLOCKS has been.. It is similar to VALGRIND_COUNT_LEAKS but counts blocks.. instead of bytes.. * The Valgrind client requests VALGRIND_PRINTF and.. VALGRIND_PRINTF_BACKTRACE have been changed slightly.. Previously,.. the string was always printed immediately on its own line.. Now, the.. string will be added to a buffer but not printed until a newline is.. encountered, or other Valgrind output is printed (note that for.. VALGRIND_PRINTF_BACKTRACE, the back-trace itself is considered.. "other Valgrind output").. This allows you to use multiple.. VALGRIND_PRINTF calls to build up a single output line, and also to.. print multiple output lines with a single request (by embedding.. multiple newlines in the string).. * The graphs drawn by Massif's ms_print program have changed slightly:.. - The half-height chars '.. ' and ',' are no longer drawn, because.. they are confusing.. The --y option can be used if the default.. y-resolution is not high enough.. - Horizontal lines are now drawn after the top of a snapshot if.. there is a gap until the next snapshot.. This makes it clear that.. the memory usage has not dropped to zero between snapshots.. * Something that happened in 3.. 0, but wasn't clearly announced: the.. option --read-var-info=yes can be used by some tools (Memcheck,.. Helgrind and DRD).. When enabled, it causes Valgrind to read DWARF3.. variable type and location information.. This makes those tools.. start up more slowly and increases memory consumption, but.. descriptions of data addresses in error messages become more.. detailed.. * exp-Omega, an experimental instantaneous leak-detecting tool, was.. disabled in 3.. 0 due to a lack of interest and maintenance,.. although the source code was still in the distribution.. The source.. code has now been removed from the distribution.. For anyone.. interested, the removal occurred in SVN revision r10247.. * Some changes have been made to the build system.. - VEX/ is now integrated properly into the build system.. This means.. that dependency tracking within VEX/ now works properly, "make.. install" will work without requiring "make" before it, and.. parallel builds (ie.. 'make -j') now work (previously a.. NOTPARALLEL directive was used to serialize builds, ie.. 'make -j'.. was effectively ignored).. - The --with-vex configure option has been removed.. It was of.. little use and removing it simplified the build system.. - The location of some install files has changed.. This should not.. affect most users.. Those who might be affected:.. * For people who use Valgrind with MPI programs, the installed.. libmpiwrap.. so library has moved from.. $(INSTALL)/ platform /libmpiwrap.. so to.. $(INSTALL)/libmpiwrap- platform.. * For people who distribute standalone Valgrind tools, the.. installed libraries such as $(INSTALL)/ platform /libcoregrind.. a.. have moved to $(INSTALL)/libcoregrind- platform.. These changes simplify the build system.. - Previously, all the distributed suppression (*.. supp) files were.. installed.. Now, only default.. supp is installed.. affect users as the other installed suppression files were not.. read; the fact that they were installed was a mistake.. * KNOWN LIMITATIONS:.. - Memcheck is unusable with the Intel compiler suite version 11.. 1,.. when it generates code for SSE2-and-above capable targets.. is because of icc's use of highly optimised inlined strlen.. implementations.. It causes Memcheck to report huge numbers of.. false errors even in simple programs.. Helgrind and DRD may also.. have problems.. Versions 11.. 0 and earlier may be OK, but this has not been.. properly tested.. 84303 How about a LockCheck tool?.. 91633 dereference of null ptr in vgPlain_st_basetype.. 97452 Valgrind doesn't report any pthreads problems.. 100628 leak-check gets assertion failure when using.. VALGRIND_MALLOCLIKE_BLOCK on malloc()ed memory.. 108528 NPTL pthread cleanup handlers not called.. 110126 Valgrind 2.. 1 configure.. in tramples CFLAGS.. 110128 mallinfo is not implemented.. 110770 VEX: Generated files not always updated when making valgrind.. 111102 Memcheck: problems with large (memory footprint) applications.. 115673 Vex's decoder should never assert.. 117564 False positive: Syscall param clone(child_tidptr) contains.. uninitialised byte(s).. 119404 executing ssh from inside valgrind fails.. 133679 Callgrind does not write path names to sources with dwarf debug.. info.. 135847 configure.. in problem with non gnu compilers (and possible fix).. 136154 threads.. c:273 (vgCallgrind_post_signal): Assertion.. '*(vgCallgrind_current_fn_stack.. top) == 0' failed.. 136230 memcheck reports "possibly lost", should be "still reachable".. 137073 NULL arg to MALLOCLIKE_BLOCK causes crash.. 137904 Valgrind reports a memory leak when using POSIX threads,.. while it shouldn't.. 139076 valgrind VT_GETSTATE error.. 142228 complaint of elf_dynamic_do_rela in trivial usage.. 145347 spurious warning with USBDEVFS_REAPURB.. 148441 (wine) can't find memory leak in Wine, win32 binary.. executable file.. 148742 Leak-check fails assert on exit.. 149878 add (proper) check for calloc integer overflow.. 150606 Call graph is broken when using callgrind control.. 152393 leak errors produce an exit code of 0.. I need some way to.. cause leak errors to result in a nonzero exit code.. 157154 documentation (leak-resolution doc speaks about num-callers.. def=4) + what is a loss record.. 159501 incorrect handling of ALSA ioctls.. 162020 Valgrinding an empty/zero-byte file crashes valgrind.. 162482 ppc: Valgrind crashes while reading stabs information.. 162718 x86: avoid segment selector 0 in sys_set_thread_area().. 163253 (wine) canonicaliseSymtab forgot some fields in DiSym.. 163560 VEX/test_main.. c is missing from valgrind-3.. 1.. 164353 malloc_usable_size() doesn't return a usable size.. 165468 Inconsistent formatting in memcheck manual -- please fix.. 169505 main.. c:286 (endOfInstr):.. Assertion 'ii- cost_offset == *cost_offset' failed.. 177206 Generate default.. supp during compile instead of configure.. 177209 Configure valt_load_address based on arch+os.. 177305 eventfd / syscall 323 patch lost.. 179731 Tests fail to build because of inlining of non-local asm labels.. 181394 helgrind: libhb_core.. c:3762 (msm_write): Assertion.. 'ordxx == POrd_EQ || ordxx == POrd_LT' failed.. 181594 Bogus warning for empty text segment.. 181707 dwarf doesn't require enumerations to have name.. 185038 exp-ptrcheck: "unhandled syscall: 285" (fallocate) on x86_64.. 185050 exp-ptrcheck: sg_main.. c:727 (add_block_to_GlobalTree):.. Assertion '!already_present' failed.. 185359 exp-ptrcheck: unhandled syscall getresuid().. 185794 "WARNING: unhandled syscall: 285" (fallocate) on x86_64.. 185816 Valgrind is unable to handle debug info for files with split.. debug info that are prelinked afterwards.. 185980 [darwin] unhandled syscall: sem_open.. 186238 bbToIR_AMD64: disInstr miscalculated next %rip.. 186507 exp-ptrcheck unhandled syscalls prctl, etc.. 186790 Suppression pattern used for leaks are not reported.. 186796 Symbols with length 200 in suppression files are ignored.. 187048 drd: mutex PTHREAD_PROCESS_SHARED attribute missinterpretation.. 187416 exp-ptrcheck: support for __NR_{setregid,setreuid,setresuid}.. 188038 helgrind: hg_main.. c:926: mk_SHVAL_fail: the 'impossible' happened.. 188046 bashisms in the configure script.. 188127 amd64- IR: unhandled instruction bytes: 0xF0 0xF 0xB0 0xA.. 188161 memcheck: --track-origins=yes asserts "mc_machine.. c:672.. (get_otrack_shadow_offset_wrk): the 'impossible' happened.. ".. 188248 helgrind: pthread_cleanup_push, pthread_rwlock_unlock,.. assertion fail "!lock- heldBy".. 188427 Add support for epoll_create1 (with patch).. 188530 Support for SIOCGSTAMPNS.. 188560 Include valgrind.. spec in the tarball.. 188572 Valgrind on Mac should suppress setenv() mem leak.. 189054 Valgrind fails to build because of duplicate non-local asm labels.. 189737 vex amd64- IR: unhandled instruction bytes: 0xAC.. 189762 epoll_create syscall not handled (--tool=exp-ptrcheck).. 189763 drd assertion failure: s_threadinfo[tid].. is_recording.. 190219 unhandled syscall: 328 (x86-linux).. 190391 dup of 181394; see above.. 190429 Valgrind reports lots of errors in ld.. so with x86_64 2.. 190820 No debug information on powerpc-linux.. 191095 PATCH: Improve usbdevfs ioctl handling.. 191182 memcheck: VALGRIND_LEAK_CHECK quadratic when big nr of chunks.. or big nr of errors.. 191189 --xml=yes should obey --gen-suppressions=all.. 191192 syslog() needs a suppression on macosx.. 191271 DARWIN: WARNING: unhandled syscall: 33554697 a.. : 265.. 191761 getrlimit on MacOSX.. 191992 multiple --fn-skip only works sometimes; dependent on order.. 192634 V.. reports "aspacem sync_check_mapping_callback:.. segment mismatch" on Darwin.. 192954 __extension__ missing on 2 client requests.. 194429 Crash at start-up with glibc-2.. 1 and linux-2.. 29.. 194474 "INSTALL" file has different build instructions than "README".. 194671 Unhandled syscall (sem_wait?) from mac valgrind.. 195069 memcheck: reports leak (memory still reachable) for.. printf("%d', x).. 195169 drd: (vgDrd_barrier_post_wait):.. Assertion 'r- sg[p- post_iteration]' failed.. 195268 valgrind --log-file doesn't accept ~/.. 195838 VEX abort: LibVEX_N_SPILL_BYTES too small for CPUID boilerplate.. 195860 WARNING: unhandled syscall: unix:223.. 196528 need a error suppression for pthread_rwlock_init under os x?.. 197227 Support aio_* syscalls on Darwin.. 197456 valgrind should reject --suppressions=(directory).. 197512 DWARF2 CFI reader: unhandled CFI instruction 0:10.. 197591 unhandled syscall 27 (mincore).. 197793 Merge DCAS branch to the trunk == 85756, 142103.. 197794 Avoid duplicate filenames in Vex.. 197898 make check fails on current SVN.. 197901 make check fails also under exp-ptrcheck in current SVN.. 197929 Make --leak-resolution=high the default.. 197930 Reduce spacing between leak reports.. 197933 Print command line of client at start-up, and shorten preamble.. 197966 unhandled syscall 205 (x86-linux, --tool=exp-ptrcheck).. 198395 add BBV to the distribution as an experimental tool.. 198624 Missing syscalls on Darwin: 82, 167, 281, 347.. 198649 callgrind_annotate doesn't cumulate counters.. 199338 callgrind_annotate sorting/thresholds are broken for all but Ir.. 199977 Valgrind complains about an unrecognized instruction in the.. atomic_incs test program.. 200029 valgrind isn't able to read Fedora 12 debuginfo.. 200760 darwin unhandled syscall: unix:284.. 200827 DRD doesn't work on Mac OS X.. 200990 VG_(read_millisecond_timer)() does not work correctly.. 201016 Valgrind does not support pthread_kill() on Mac OS.. 201169 Document --read-var-info.. 201323 Pre-3.. 0 performance sanity checking.. 201384 Review user manual for the 3.. 0 release.. 201585 mfpvr not implemented on ppc.. 201708 tests failing because x86 direction flag is left set.. 201757 Valgrind doesn't handle any recent sys_futex additions.. 204377 64-bit valgrind can not start a shell script.. (with #!/path/to/shell) if the shell is a 32-bit executable.. n-i-bz drd: fixed assertion failure triggered by mutex reinitialization.. n-i-bz drd: fixed a bug that caused incorrect messages to be printed.. about memory allocation events with memory access tracing enabled.. n-i-bz drd: fixed a memory leak triggered by vector clock deallocation.. 0: 19 Aug 2009, vex r1913, valgrind r10846).. 1 (28 February 2009).. 1 is a bug-fix release that fixes some regressions and assertion.. failures in debug info reading in 3.. 0, most notably incorrect stack.. traces on amd64-linux on older (glibc-2.. 3 based) systems.. Various.. other debug info problems are also fixed.. A number of bugs in the.. exp-ptrcheck tool introduced in 3.. 0 have been fixed.. In view of the fact that 3.. 0 contains user-visible regressions.. relative to 3.. x, upgrading to 3.. 1 is recommended.. Packagers are.. encouraged to ship 3.. 1 in preference to 3.. The fixed bugs are as follows.. Note that "n-i-bz" stands for "not in.. bugzilla" -- that is, a bug that was reported to us but never got a.. bugzilla entry.. We encourage you to file bugs in bugzilla.. (http://bugs.. cgi) rather than mailing the.. developers (or mailing lists) directly -- bugs that are not entered.. into bugzilla tend to get forgotten about or ignored.. n-i-bz Fix various bugs reading icc-11 generated debug info.. n-i-bz Fix various bugs reading gcc-4.. 4 generated debug info.. n-i-bz Preliminary support for glibc-2.. 10 / Fedora 11.. n-i-bz Cachegrind and Callgrind: handle non-power-of-two cache sizes,.. so as to support (eg) 24k Atom D1 and Core2 with 3/6/12MB L2.. 179618 exp-ptrcheck crashed / exit prematurely.. 179624 helgrind: false positive races with pthread_create and.. recv/open/close/read.. 134207 pkg-config output contains @VG_PLATFORM@.. 176926 floating point exception at valgrind startup with PPC 440EPX.. 181594 Bogus warning for empty text segment.. 173751 amd64- IR: 0x48 0xF 0x6F 0x45 (even more redundant rex prefixes).. 181707 Dwarf3 doesn't require enumerations to have name.. 185038 exp-ptrcheck: "unhandled syscall: 285" (fallocate) on x86_64.. 185359 exp-ptrcheck unhandled syscall getresuid().. RC1: 24 Feb 2008, vex r1884, valgrind r9253).. 1: 28 Feb 2008, vex r1884, valgrind r9293).. 0 (2 January 2009).. This release supports X86/Linux,.. AMD64/Linux, PPC32/Linux and PPC64/Linux.. (using gcc 4.. 4, glibc 2.. 8 and 2.. 9) has been added.. 0 brings some significant tool improvements.. report the origin of uninitialised values, the thread checkers.. Helgrind and DRD are much improved, and we have a new experimental.. tool, exp-Ptrcheck, which is able to detect overruns of stack and.. global arrays.. In detail:.. * Memcheck is now able to track the origin of uninitialised values.. When it reports an uninitialised value error, it will try to show.. the origin of the value, as either a heap or stack allocation.. Origin tracking is expensive and so is not enabled by default.. use it, specify --track-origins=yes.. Memcheck's speed will be.. essentially halved, and memory usage will be significantly.. increased.. Nevertheless it can drastically reduce the effort.. required to identify the root cause of uninitialised value errors,.. and so is often a programmer productivity win, despite running more.. slowly.. * A version (1.. 0) of the Valkyrie GUI, that works with Memcheck in.. 0, will be released shortly.. * Helgrind's race detection algorithm has been completely redesigned.. and reimplemented, to address usability and scalability concerns:.. - The new algorithm has a lower false-error rate: it is much less.. likely to report races that do not really exist.. - Helgrind will display full call stacks for both accesses involved.. This makes it easier to identify the root causes of.. races.. - Limitations on the size of program that can run have been removed.. - Performance has been modestly improved, although that is very.. workload-dependent.. - Direct support for Qt4 threading has been added.. - pthread_barriers are now directly supported.. - Helgrind works well on all supported Linux targets.. * The DRD thread debugging tool has seen major improvements:.. - Greatly improved performance and significantly reduced memory.. usage.. - Support for several major threading libraries (Boost.. Thread, Qt4,.. glib, OpenMP) has been added.. - Support for atomic instructions, POSIX semaphores, barriers and.. reader-writer locks has been added.. - Works now on PowerPC CPUs too.. - Added support for printing thread stack usage at thread exit time.. - Added support for debugging lock contention.. - Added a manual for Drd.. * A new experimental tool, exp-Ptrcheck, has been added.. Ptrcheck.. checks for misuses of pointers.. In that sense it is a bit like.. However, Ptrcheck can do things Memcheck can't: it can.. detect overruns of stack and global arrays, it can detect.. arbitrarily far out-of-bounds accesses to heap blocks, and it can.. detect accesses heap blocks that have been freed a very long time.. ago (millions of blocks in the past).. Ptrcheck currently works only on x86-linux and amd64-linux.. To use.. it, use --tool=exp-ptrcheck.. A simple manual is provided, as part.. of the main Valgrind documentation.. As this is an experimental.. tool, we would be particularly interested in hearing about your.. experiences with it.. * exp-Omega, an experimental instantaneous leak-detecting tool, is no.. longer built by default, although the code remains in the repository.. and the tarball.. This is due to three factors: a perceived lack of.. users, a lack of maintenance, and concerns that it may not be.. possible to achieve reliable operation using the existing design.. * As usual, support for the latest Linux distros and toolchain.. components has been added.. It should work well on Fedora Core 10,.. OpenSUSE 11.. 1 and Ubuntu 8.. gcc-4.. 4 (in its current pre-release.. state) is supported, as is glibc-2.. The C++ demangler has been.. updated so as to work well with C++ compiled by even the most recent.. g++'s.. * You can now use frame-level wildcards in suppressions.. This was a.. frequently-requested enhancement.. A line ".. " in a suppression now.. matches zero or more frames.. This makes it easier to write.. suppressions which are precise yet insensitive to changes in.. inlining behaviour.. * 3.. 0 adds support on x86/amd64 for the SSSE3 instruction set.. * Very basic support for IBM Power6 has been added (64-bit processes only).. * Valgrind is now cross-compilable.. For example, it is possible to.. cross compile Valgrind on an x86/amd64-linux host, so that it runs.. on a ppc32/64-linux target.. * You can set the main thread's stack size at startup using the.. new --main-stacksize= flag (subject of course to ulimit settings).. This is useful for running apps that need a lot of stack space.. * The limitation that you can't use --trace-children=yes together.. with --db-attach=yes has been removed.. * The following bugs have been fixed.. Note that "n-i-bz" stands for.. "not in bugzilla" -- that is, a bug that was reported to us but.. never got a bugzilla entry.. mailing the developers (or mailing lists) directly.. n-i-bz Make return types for some client requests 64-bit clean.. n-i-bz glibc 2.. 9 support.. n-i-bz ignore unsafe.. valgrindrc's (CVE-2008-4865).. n-i-bz MPI_Init(0,0) is valid but libmpiwrap.. c segfaults.. n-i-bz Building in an env without gdb gives bogus gdb attach.. 92456 Tracing the origin of uninitialised memory.. 106497 Valgrind does not demangle some C++ template symbols.. 162222 ==106497.. 151612 Suppression with ".. " (frame-level wildcards in.. supp files).. 156404 Unable to start oocalc under memcheck on openSUSE 10.. 3 (64-bit).. 159285 unhandled syscall:25 (stime, on x86-linux).. 159452 unhandled ioctl 0x8B01 on "valgrind iwconfig".. 160954 ppc build of valgrind crashes with illegal instruction (isel).. 160956 mallinfo implementation, w/ patch.. 162092 Valgrind fails to start gnome-system-monitor.. 162819 malloc_free_fill test doesn't pass on glibc2.. 8 x86.. 163794 assertion failure with "--track-origins=yes".. 163933 sigcontext.. err and.. trapno must be set together.. 163955 remove constraint !(--db-attach=yes --trace-children=yes).. 164476 Missing kernel module loading system calls.. 164669 SVN regression: mmap() drops posix file locks.. 166581 Callgrind output corruption when program forks.. 167288 Patch file for missing system calls on Cell BE.. 168943 unsupported scas instruction pentium.. 171645 Unrecognised instruction (MOVSD, non-binutils encoding).. 172417 x86- IR: 0x82.. 172563 amd64- IR: 0xD9 0xF5 - fprem1.. 173099.. lds linker script generation error.. 173177 [x86_64] syscalls: 125/126/179 (capget/capset/quotactl).. 173751 amd64- IR: 0x48 0xF 0x6F 0x45 (even more redundant prefixes).. 174532 == 173751.. 174908 --log-file value not expanded correctly for core file.. 175044 Add lookup_dcookie for amd64.. 175150 x86- IR: 0xF2 0xF 0x11 0xC1 (movss non-binutils encoding).. Developer-visible changes:.. * Valgrind's debug-info reading machinery has been majorly overhauled.. It can now correctly establish the addresses for ELF data symbols,.. which is something that has never worked properly before now.. Also, Valgrind can now read DWARF3 type and location information for.. stack and global variables.. This makes it possible to use the.. framework to build tools that rely on knowing the type and locations.. of stack and global variables, for example exp-Ptrcheck.. Reading of such information is disabled by default, because most.. tools don't need it, and because it is expensive in space and time.. However, you can force Valgrind to read it, using the.. --read-var-info=yes flag.. Memcheck, Helgrind and DRD are able to.. make use of such information, if present, to provide source-level.. descriptions of data addresses in the error messages they create.. RC1: 24 Dec 2008, vex r1878, valgrind r8882).. 0: 3 Jan 2009, vex r1878, valgrind r8899).. 1.. AUTHORS.. Up.. OLDER NEWS.. Home..

    Original link path: /docs/manual/dist.news.html
    Open archive

  • Title: Valgrind: Table of Contents
    Descriptive info: Valgrind Documentation.. 0 10 August 2012.. Copyright © 2000-2012.. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.. 2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts.. A copy of the license is included in  ...   level of Valgrind's documentation tree.. The documentation is contained in six logically separate documents, as listed in the following Table of Contents.. To get started quickly, read the Valgrind Quick Start Guide.. For full documentation on Valgrind, read the Valgrind User Manual.. The Valgrind Quick Start Guide.. Valgrind User Manual.. Valgrind FAQ.. Valgrind Technical Documentation.. GNU Licenses.. The Valgrind Quick Start Guide..

    Original link path: /docs/
    Open archive

  • Title: Valgrind
    Descriptive info: Variants and Patches.. Several other Valgrind tools have been created.. Some of these can plug directly into an existing Valgrind installation, but some require downloading a whole Valgrind distribution which contains a specially modified core.. Please note that some of these are experimental, and may not work 100%.. Back.. Nick Nethercote's Tools.. Bounds Checker:.. valgrind-annelid (tar.. bz2).. [722Kb] - Jan 31 2005.. A version of the Valgrind distribution containing an extra tool, Annelid, that detects some kinds of pointer misuse.. Valgrind's default tool, Memcheck, can find a lot of memory errors.. In particular, it can find small overruns/underruns of heap blocks thanks to the redzones with which it pads heap blocks.. But if you overrun by a larger amount, your access may unluckily fall into a different heap block, which Memcheck can't detect.. It also can't detect static or stack variable overruns.. Annelid is a tool designed to detect these cases.. It tracks the bounds of every heap block, and pointers to heap blocks are associated with a particular block.. If a pointer is used to access memory outside of its assigned block, a warning is given.. Like Memcheck, it also warns if a freed heap block is accessed, but it can detect long-delayed accesses to freed blocks that Memcheck can't.. Also, because Annelid tracks pointers, it can also find some type errors, such as if you add or multiply two heap pointers.. I hope to eventually take advantage of debug information to extend the bounds-checking to static arrays and structs, stack frames, and possibly stack-allocated arrays and structs.. This would  ...   Lots of programs don't get this right; Vim, for example --.. look here.. at all the non-reentrant functions it calls when you send it a.. USR1.. signal.. Naughty naughty.. This kind of problem can persist for a long time because most programs don't receive many signals.. Some programs, such as daemons, do receive many signals so this sort of thing is more critical.. Crocus identifies when a program's signal handler calls one of a number of common non-reentrant functions.. It also identifies when a signal handler doesn't preserve.. errno.. as it should.. To run this tool, use the.. --tool=crocus.. It's a little bit experimental, but has been tested reasonably well.. Thanks to Steve Grubb for the original idea and testing it on a variety of programs.. Data Flow Tracer:.. valgrind-redux (tar.. [836Kb] - Jan 31 2005.. This (quite old) Valgrind distribution includes the data flow tracing tool, Redux.. Redux is in a very prototypical state, ie.. it crashes frequently.. I've heard that using static linking can help avoid some of the crashes.. I make this code available because a number of people have asked for it.. It is not good quality code, and please don't ask me for help with it.. But it may be instructive if you want to build a Valgrind tool that does something similar.. Interactive Mode:.. valgrind-interactive (tar.. [640Kb] - Jan 31 2005.. A version of the distribution that adds support for a GDB-like debugging interface that lets you set breakpoints, inspect values, and so on.. Run with the.. --interactive=yes.. option at startup.. Note that it's quite experimental..

    Original link path: /downloads/variants.html?njn
    Open archive

  • Archived pages: 74