It’s time for the May update on the progress of the Mac OS X port of Valgrind. In the last month, 133 commits have been made to the DARWIN branch by Julian Seward and myself.
Here are the current (as of r9898) values of the metrics I have been using as a means of tracking progress.
- The number of regression test failures on Mac was 418/128/43/0. It’s now 421/102/15/0. I.e. the number of failures went from 171 to 117. If we ignore the tools Helgrind, DRD and exp-Ptrcheck (which are not widely used and still mostly broken on the branch) the number of failures dropped from 50 to 13. That’s a similar number to what we get on some Linux systems, and we’re in real diminishing-returns territory — the failing tests are all testing very obscure things. So we can basically declare victory on that front.
- The number of “FIXME”-style marker comments that indicate something in the code that needs to be fixed was 274. It’s now 260. Furthermore, the method I used last month to count “FIXME”-style comments was flawed, so the number has actually gone down by more than 14; the comparison next month will be reliable. But a lot of these comments are for very obscure things that won’t need to be fixed even before a release, so you shouldn’t be worried by the high number!
Functionality improvements from the last month are as follows.
- Some extra system calls are handled.
- Some more signal-handling improvements.
- Some debug info reading improvements.
- File descriptor tracking (–track-fds) now works.
- The –auto-run-dsymutil option was added. When used, it makes Valgrind run dsymutil to generate debug info for any files that need it.
- Helgrind sort of works; some of its tests pass. But it’s still probably not usable.
Things are going well enough that we should be ready to merge the branch to the trunk soon! That will be a significant milestone, and will make life easier as I won’t have to maintain the branch in parallel with the trunk. I’m currently going through the branch/trunk differences carefully in order to get ready for the merged, with luck it will happen by the end of this week.
Update, March 19: fixed some HTML tags.