On Tue Nov 21 18:21:47 2023 +0000, Alexandre Julliard wrote:
Out of curiosity, how does pthread_exit unwind work on ARM? Does it
not need any unwind info somehow? It does need it, I've added CFI info in v2. I'll leave the EHABI support to @mstorsjo since I'm not sure how to test it.
To test the ARM EHABI support, build without libunwind - most current ARM toolchains should produce EHABI unwind info. Also, alternatively, run with stripped .so files.
Since ARM uses EHABI for normal unwinding, the DWARF unwind info isn't in `.eh_frame` (which is loaded at runtime) as on other platforms, but in `.debug_frame`, which isn't loaded into memory by default, and is lost in stripped binaries. (Therefore, libunwind has to do ugly tricks to locate the corresponding files from disk, open them, locate `.debug_frame`, etc. Plus there were some bugs/regressions around this on ARM in latest libunwind in git in the last few years.)
To quicker get up to speed on what to fix here, I presume that the functions that are edited might need corresponding changes with `__ASM_EHABI()` directives. To test the change, is there anything specific to do, or is it enough to just check that processes shut down cleanly etc?