{"id":274,"date":"2015-01-14T10:13:07","date_gmt":"2015-01-14T09:13:07","guid":{"rendered":"http:\/\/blog.mozilla.org\/jseward\/?p=274"},"modified":"2015-01-14T10:13:07","modified_gmt":"2015-01-14T09:13:07","slug":"valgrind-support-for-macos-x-10-10-yosemite","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/jseward\/2015\/01\/14\/valgrind-support-for-macos-x-10-10-yosemite\/","title":{"rendered":"Valgrind support for MacOS X 10.10 (Yosemite)"},"content":{"rendered":"<p>Valgrind support on Yosemite has improved significantly in the past few months. It is now feasible to run Firefox on Valgrind on Yosemite. Support for 10.9 (Mavericks) has also improved, but 64-bit Yosemite remains the primary focus of support work.<\/p>\n<p>For various reasons, MacOS is a difficult target for Valgrind. So you&#8217;ll find it little slower, and possibly more flaky, than running on Linux. Occasionally, the MacOS kernel will panic, for unknown reasons.\u00a0 But it does work.<\/p>\n<p>Full details of running Firefox on Valgrind on Yosemite are at <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Mozilla\/Testing\/Valgrind\">https:\/\/developer.mozilla.org\/en-US\/docs\/Mozilla\/Testing\/Valgrind<\/a>.\u00a0 For serious use, you need to read that page.\u00a0 In the meantime, here is the minimal getting-started recipe.<\/p>\n<p>First, build Valgrind. You&#8217;ll need to use the trunk, since Yosemite support didn&#8217;t make it in time for the current stable (3.10.x) line.<\/p>\n<pre>  svn co svn:\/\/svn.valgrind.org\/valgrind\/trunk valgrind-trunk\r\n  cd valgrind-trunk\r\n  .\/autogen.sh &amp;&amp; .\/configure --prefix=`pwd`\/Inst\r\n  make -j8 &amp;&amp; make -j8 install<\/pre>\n<p>Make the headers available for building Firefox:<\/p>\n<pre>  cd \/usr\/include\r\n  sudo ln -s \/path\/to\/valgrind-trunk\/Inst\/include\/valgrind .<\/pre>\n<p>Now build your Firefox tree. I recommend a mozconfig containing<br \/>\nthese:<\/p>\n<pre>  ac_add_options --disable-debug\r\n  ac_add_options --enable-optimize=\"-g -O2\"\r\n  ac_add_options --disable-jemalloc\r\n  ac_add_options --enable-valgrind<\/pre>\n<p>And run, being sure to run the real binary (firefox-bin):<\/p>\n<pre>  \/path\/to\/valgrind-trunk\/Inst\/bin\/valgrind --smc-check=all-non-file \\\r\n   --vex-iropt-register-updates=allregs-at-mem-access --dsymutil=yes \\\r\n   .\/objdir\/dist\/Nightly.app\/Contents\/MacOS\/firefox-bin<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Valgrind support on Yosemite has improved significantly in the past few months. It is now feasible to run Firefox on Valgrind on Yosemite. Support for 10.9 (Mavericks) has also improved, but 64-bit Yosemite remains the primary focus of support work. &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/jseward\/2015\/01\/14\/valgrind-support-for-macos-x-10-10-yosemite\/\">Continue reading<\/a><\/p>\n","protected":false},"author":240,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/jseward\/wp-json\/wp\/v2\/posts\/274"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/jseward\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/jseward\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/jseward\/wp-json\/wp\/v2\/users\/240"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/jseward\/wp-json\/wp\/v2\/comments?post=274"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/jseward\/wp-json\/wp\/v2\/posts\/274\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/jseward\/wp-json\/wp\/v2\/media?parent=274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/jseward\/wp-json\/wp\/v2\/categories?post=274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/jseward\/wp-json\/wp\/v2\/tags?post=274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}