<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Dec 4, 2013, at 3:18 PM, Nico Weber <<a href="mailto:thakis@chromium.org">thakis@chromium.org</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">On Wed, Dec 4, 2013 at 2:44 PM, Nick Kledzik <span dir="ltr"><<a href="mailto:kledzik@apple.com" target="_blank">kledzik@apple.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div class="im"><br><div><div>On Dec 4, 2013, at 12:56 PM, Nico Weber <<a href="mailto:thakis@chromium.org" target="_blank">thakis@chromium.org</a>> wrote:</div>
<br><blockquote type="cite"><blockquote class="gmail_quote" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div><br>> 3.) r192136 didn’t add any test – how should testing of unwinding code work? Is running the exception tests in the libc++ suite enough?<br></div>The Darwin libunwind project (<a href="http://opensource.apple.com/source/libunwind/libunwind-35.3/" target="_blank">http://opensource.apple.com/source/libunwind/libunwind-35.3/</a>) on which this was based had some a small test suite, but it did not fit into the existing libcxxabi test suite which assumes target==host and every test is one .cpp file.<br>
</blockquote><div><br></div></div><div>Ok. I tried running at least the libc++abi test suite to make sure we don't completely break exception handling on darwin, but it looks like the buildit script doesn't build libunwind, and if I try to get it to compile (attached), the compiler complains about mach-o/dyld_priv.h – is it currently possible to run libc++abi tests for the Unwind bits of libc++abi on darwin?</div>
</div></div></div></blockquote><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<br></div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
If I copy <a href="http://www.opensource.apple.com/source/dyld/dyld-132.13/include/mach-o/dyld_priv.h?txt" target="_blank">http://www.opensource.apple.com/source/dyld/dyld-132.13/include/mach-o/dyld_priv.h?txt</a><span> </span>to include/mach-o/dyld_priv.h and build with the attached script, I'm able to build a libunwind.dylib that passes the tests and that fails them if I add an early return to _Unwind_RaiseException. Would adding dyld_priv.h and landing the attached patch be a good first step?</div>
</blockquote><br></div></div><div>Regarding dyld_priv.h, since it is always on my system in /usr/local/include, I had not realized the unwinder had that dependency.  I posted a patch earlier to get the unwinder building on older darwins which did not have dyld support.  I can update that patch so that the unwinder never need dyld_priv.h.</div>
</div></blockquote><div><br></div><div>Oh, and this would be appreciated :-)</div></div></div></div></blockquote><div>I just sent a proposed patch to the cfe-commits list.  Let me know if that works for you.</div><div><br></div><div>-Nick</div><div><br></div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">
<div><br></div><div>Regarding the build system, I think it brings up the bigger issue of what sort of build system we want for libcxxabi.  The script is a quick way to get building.  But, it is not how Apple actual builds the shipping libunwind (which is a local xcode project).  What sort of build system would others like?</div>
<span class="HOEnZb"><font color="#888888"><div><br></div><div>-Nick</div><div><br></div><div><br></div></font></span></div></blockquote></div><br></div></div>
</blockquote></div><br></body></html>