<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>Dana,</div><div><br></div><div>Is this a separate implementation of ARM EHABI than what Logan proposed 4/13/2014?  Or is this this same, but broken into steps?</div><div><br></div><div><br></div><div><br></div><div><div></div><blockquote type="cite"><div>+  }</div><div>+  #define _LIBUNWIND_BUILD_ZERO_COST_APIS (__i386__ || __x86_64__ || __arm64__ || __arm__)</div><div>+  #define _LIBUNWIND_BUILD_SJLJ_APIS      0</div><div>+  #define _LIBUNWIND_SUPPORT_FRAME_APIS   (__i386__ || __x86_64__)</div><div>+  #define _LIBUNWIND_EXPORT               __attribute__((visibility("default")))</div><div>+  #define _LIBUNWIND_HIDDEN               __attribute__((visibility("hidden")))</div><div>+  #define _LIBUNWIND_LOG(msg, ...) fprintf(stderr, "libuwind: " msg, __VA_ARGS__)</div><div>+  #define _LIBUNWIND_ABORT(msg) assert_rtn(__func__, __FILE__, __LINE__, msg)</div><div>+</div><div>+  #define _LIBUNWIND_SUPPORT_COMPACT_UNWIND   0</div><div>+  #define _LIBUNWIND_SUPPORT_DWARF_UNWIND     0</div><div>+  #define _LIBUNWIND_SUPPORT_DWARF_INDEX      0</div><div>+  #define _LIBUNWIND_SUPPORT_ARM_EHABI_UNWIND 1</div><div> #endif</div></blockquote><div> </div></div><div>There will be three unwinding models: zero-cost, sj-lj, and EHABI.  So there should be three mutually exclusive build settings:</div><div>  _LIBUNWIND_BUILD_ZERO_COST_APIS</div><div>  _LIBUNWIND_BUILD_SJLJ_APIS</div><div>  _LIBUNWIND_BUILD_ARM_EHABI_APIS</div><div><br></div><div>The SUPPORT_{COMPACT_UNWIND,DWARF_UNWIND,DWARF_INDEX} were intended as ways that zero-cost unwind information could be encoded. </div><div><br></div><div>The patch above turns on both _LIBUNWIND_BUILD_ZERO_COST_APIS for all architectures, which is wrong.  It also leaves _LIBUNWIND_BUILD_ZERO_COST_APIS true for __arm__ which is probably wrong too.</div><div><br></div><div>-Nick</div><div><br></div><br><div><div>On Jun 2, 2014, at 5:48 AM, Dana Jansens <<a href="mailto:danakj@google.com">danakj@google.com</a>> wrote:</div><blockquote type="cite"><div dir="ltr">Hi Nick,<div><br></div><div>Can you please take a look at this patch? With this, we define an UnwindInfoSections for ARM EHABI and are able to populate it.</div><div><br></div><div>We'll start making use of this in future patches, as Albert laid out here: <a href="http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20140526/106670.html">http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20140526/106670.html</a></div>

<div><br></div><div>This patch builds and passes tests on Mac.</div><div><br></div><div>Thanks,</div><div>Dana</div></div>
<span><ehabi_address_space.diff></span></blockquote></div><br></body></html>