llvm-project/libunwind
Xing Xue cc8edbea7a [libunwind][AIX] Save/restore errno before/after system calls dlopen/dlsym/dlclose
Summary:
libunwind on AIX calls dlopen()/dlsym()/dlclose() to dynamically load libc++abi and get the personality for state table EH when it is running against the legacy xlcang++ compiler genereated applications. dlopen() sets errno to 0 when it is successful, which clobbers the value in errno from the user code. This seems to be an AIX bug that it should not set errno to 0 according to POSIX. We will open a bug report to AIX but in the mean time there won't be time line when AIX will have a fix and even AIX does fix it, it won't help earlier AIX releases in the field. This patch saves and restores errno before and after these calls so that user code can work as expected.

Reviewed by: compnerd, libunwind

Differential Revision: https://reviews.llvm.org/D131292
2022-08-08 17:21:30 -04:00
..
cmake [libunwind][CMake] Fix name of LIBUNWIND_SUPPORTS_NODEFAULTLIBS_FLAG 2022-05-27 09:20:57 +03:00
docs Update references to mailing lists that have moved to Discourse. 2022-07-28 16:54:58 -07:00
include [libunwind] Fix SEH unwinding on ARM 2022-06-06 23:23:35 +03:00
src [libunwind][AIX] Save/restore errno before/after system calls dlopen/dlsym/dlclose 2022-08-08 17:21:30 -04:00
test [libunwind] undef NDEBUG for assert.h in tests. 2022-08-04 19:55:40 -07:00
.clang-format
CMakeLists.txt [runtimes] Default LIB*_HERMETIC_STATIC_LIBRARY to ON on Windows 2022-05-18 20:31:51 +03:00
LICENSE.TXT Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00