[libunwind][rfc] Switch to native-only unwinding by default

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[libunwind][rfc] Switch to native-only unwinding by default

Neil Nelson via cfe-dev
Hi All,

r27092 [1] landed a patch for libunwind making it possible to build libunwind without support for cross-unwinding [2]. It simply tightens the bounds of the buffers unw_context_t and unw_cursor_t depending on the target architecture being compiled for - which in turn reduces the stack usage of the unwinder across all the targets.

I'm proposing to make this the default build configuration. This allows us to maintain the tight bounds of unw_context_t and unw_cursor_t as any changes to a VRS (UnwindCursor and Registers_xxx classes) will cause the builds to fail on that architecture (unless if the bounds are correctly adjusted in __libunwind_config.h). We are not losing anything since if the native-only unwinder is happy, correctness of the cross-unwinding version will follow (just larger buffer sizes).

If there are no objections, I will make this switch over the next weekend and monitor the bots (I think I've calculated the tight-bounds for unw_context_t and unw_cursor_t for each architecture correctly, but in case if I missed something, I will have time to adjust them a bit).


/ Asiri

[1] http://llvm.org/viewvc/llvm-project?view=revision&revision=270692
[2] http://www.nongnu.org/libunwind/man/libunwind(3).html#section_4

cfe-dev mailing list
[hidden email]