<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, May 29, 2014 at 8:27 PM, Jonathan Roelofs <span dir="ltr"><<a href="mailto:jonathan@codesourcery.com" target="_blank" class="cremed">jonathan@codesourcery.com</a>></span> wrote:<br>



<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
On 5/28/14, 9:08 AM, Dana Jansens wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
-    // Copy the address of _Unwind_Control_Block to r12 so that _Unwind_<u></u>GetLangauageSpecificData()<br>
-    // and _Unwind_GetRegionStart() can return correct address.<br>
-    _Unwind_SetGR(context, REG_UCB, reinterpret_cast<uint32_t>(<u></u>unwind_exception));</blockquote></blockquote><div><br></div><div>Hey! Thanks for the pointers.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




libgcc does in fact need us to pass the UCB in r12. See: gcc-trunk-4.8/libgcc/arm/pr-<u></u>support.c.<br></blockquote><div><br></div><div>It looks like we only need to call these methods on !ARM EHABI from our own libc++abi personality function. So I'm going to move them into that #if, along with the register setting, and avoided calling either method on ARM EHABI.</div>



<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
We should probably keep this, but put it under LIBCXXABI_USE_GLIBC for when using libgcc's unwinder with libc++abi, as our unwinder implementation doesn't do it that way.<br></blockquote><div><br></div><div>I think our local LIBCXXABI_USE_GLIBC is a mis-nomer and it's going to go away. We probably want to pull our unwind library out of libc++abi so that we can drop in GCC's if desired. It seems like our libc++abi shouldn't necessarily know what unwinder it will be using at compile time, but should just work with whichever gets used?</div>

<div><br></div><div>However, for now we aren't passing the needed data to the personality function on EHABI yet upstream so we need to keep calling these _Unwind methods there still also. So I'm going to hold off on this patch until we upstream some other dependent pieces for this to make more sense.</div>

<div><br></div><div>Thanks!</div><div>- Dana</div></div></div></div>