{"id":82,"date":"2009-04-17T17:07:01","date_gmt":"2009-04-17T06:07:01","guid":{"rendered":"http:\/\/blog.mozilla.org\/nnethercote\/?p=82"},"modified":"2009-05-05T13:38:14","modified_gmt":"2009-05-05T02:38:14","slug":"valgrind-mac-os-x-update-april-17-2009","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/nnethercote\/2009\/04\/17\/valgrind-mac-os-x-update-april-17-2009\/","title":{"rendered":"Valgrind + Mac OS X update (April 17, 2009)"},"content":{"rendered":"<div class=\"entry\">\n<div class=\"entry\">\n<p>It&#8217;s time for the April update on the progress of the Mac OS X port of Valgrind.\u00a0 It&#8217;s been a quieter month because I was on vacation for over 3 weeks, and Julian Seward hasn&#8217;t had a great deal of time to work on the port either.\u00a0 Even still, in that time 77 commits have been made to the DARWIN branch.<\/p>\n<p>Here are the current (as of r9567) values of the metrics <a href=\"http:\/\/blog.mozilla.org\/nnethercote\/2009\/03\/17\/valgrind-mac-os-x-update-march-17-2009\/\">I have been using<\/a> as a means of tracking progress.<\/p>\n<ul>\n<li>The number of regression test failures on Mac was<strong> 422\/172\/41\/0.<\/strong> It&#8217;s now <strong>418\/128\/43\/0<span style=\"color: #888888;\">. <\/span><\/strong>I.e. the number of failures went from <strong>213<\/strong> to <strong>171<\/strong>.\u00a0 If we ignore the tools Helgrind, DRD and exp-Ptrcheck (which are not widely used and still completely broken on the branch) the number of failures dropped from <strong>92<\/strong> to <strong>50<\/strong>.\u00a0 So the functionality of the branch is progressing well.<\/li>\n<li>The size of the diff between the trunk and the branch was<strong> <\/strong><strong>38,248<\/strong> <strong>lines (1.3MB)<\/strong>. It&#8217;s now <strong>39,027 lines (1.3MB).<\/strong> However, 2,223 of these lines are code that was cut, but was put in a text file for reference.\u00a0 So the more realistic number would be <strong>36,804 lines (1.2MB)<\/strong>.\u00a0 This metric was intended to indicate how close the branch is to being ready to merge with the trunk, but it doesn&#8217;t do that very well, so I will stop using it in the future.<\/li>\n<li>Instead, I&#8217;m going to use a new metric:\u00a0 the number of &#8220;FIXME&#8221;-style marker comments that indicate something in the code that needs to be fixed.\u00a0 A lot of these mark Darwin-specific code that works correctly, but hasn&#8217;t been abstracted cleanly.\u00a0 When this approaches zero, it will mean that the branch should be very close to merge-ready.\u00a0 (Actually, the branch may be merge-ready before it reaches zero.)\u00a0 The current number of these <strong>274<\/strong>.\u00a0 (The task-tracking used within Valgrind is mostly pretty informal, you can get away with it when there&#8217;s only a handful of frequent contributors!) That number is quite high, but a lot of those will be easy to fix.<\/li>\n<\/ul>\n<p>Functionality improvements are as follows.<\/p>\n<ul>\n<li>The build system now works with older versions of automake (pre 1.10).\u00a0 automake&#8217;s handling of assembly code files (specifically, whether AM_CPPFLAGS is used for them) changed in 1.10, and the build system wasn&#8217;t working with older versions.<\/li>\n<li>Some extra system calls are handled, enough that iTunes apparently now runs (although I haven&#8217;t tried it myself).<\/li>\n<li>-mdynamic-no-pic is now used for compilation of Valgrind.\u00a0 This turns off position-independent code, which (strangely enough) is the default for GCC on Darwin.\u00a0 This speeds up most programs at least a little, and in some cases up to 30%.<\/li>\n<li>Some more signal-handling improvements.<\/li>\n<\/ul>\n<p>So things are still moving along well.<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s time for the April update on the progress of the Mac OS X port of Valgrind.\u00a0 It&#8217;s been a quieter month because I was on vacation for over 3 weeks, and Julian Seward hasn&#8217;t had a great deal of time to work on the port either.\u00a0 Even still, in that time 77 commits have [&hellip;]<\/p>\n","protected":false},"author":139,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[487,484],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/82"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/users\/139"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/comments?post=82"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/posts\/82\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/media?parent=82"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/categories?post=82"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/nnethercote\/wp-json\/wp\/v2\/tags?post=82"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}