Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/llvm/llvm-project.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-11-10[libunwind][NFC] Fix typo in libunwind debug stringjinge90
Reviewed By: mstorsjo Differential Revision: https://reviews.llvm.org/D137529 Signed-off-by: jinge90 <ge.jin@intel.com>
2022-11-09[libunwind] Check corrupted return address in unwind_phase2 when CET is enabled.jinge90
If CET shadow stack is enabled, we count the number of stack frames skipped and adjust CET shadow stack based on the number in libunwind unwind_phase2. At the same time, we can enhance security via comparing the return address in normal stack against counterpart in CET shadow stack, if they don't match, it means the return address stored in normal stack has been corrupted and we will return _URC_FATAL_PHASE2_ERROR in that case. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D136667 Signed-off-by: jinge90 <ge.jin@intel.com>
2022-11-08[CMake] Fix -Wstrict-prototypesSam James
Fixes warnings (or errors, if someone injects -Werror in their build system, which happens in fact with some folks vendoring LLVM too) with Clang 16: ``` +/var/tmp/portage.notmp/portage/sys-devel/llvm-15.0.4/work/llvm_build-abi_x86_64.amd64/CMakeFiles/CMakeTmp/src.c:3:9: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] -/var/tmp/portage.notmp/portage/sys-devel/llvm-14.0.4/work/llvm_build-abi_x86_64.amd64/CMakeFiles/CMakeTmp/src.c:3:9: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] int main() {return 0;} ^ void ``` Differential Revision: https://reviews.llvm.org/D137503
2022-10-27[libunwind] Add module maps for libunwindIan Anderson
Add module maps for the libunwind headers. unwind_arm_ehabi.h and unwind_itanium.h aren't covered because they don't get installed on all platforms. Reviewed By: #libunwind, MaskRay Differential Revision: https://reviews.llvm.org/D135345
2022-10-19[CMake] Fix LIBUNWIND_ENABLE_CET build after D110005jinge90
D110005 renamed LIBUNWIND_SUPPORTS_* to CXX_SUPPORTS_*. Reviewed By: MaskRay, #libunwind, mstorsjo Differential Revision: https://reviews.llvm.org/D136131
2022-10-12Revert "[runtimes] Always define cxx_shared, cxx_static & other targets"Haowei Wu
This reverts commit 79ee0342dbf025bc70f237bdfe9ccb4e10a592ce which breaks the LLVM TSan bots.
2022-10-12[runtimes] Always define cxx_shared, cxx_static & other targetsLouis Dionne
However, mark them as EXCLUDE_FROM_ALL when we don't want to build them. Simply declaring the targets should be of no harm, and it allows other projects to mention these targets regardless of whether they end up being built or not. While the diff may not make that obvious, this patch basically moves the definition of e.g. `cxx_shared` out of the `if (LIBCXX_ENABLE_SHARED)` and instead marks it as `EXCLUDE_FROM_ALL` conditionally on whether LIBCXX_ENABLE_SHARED is passed. It then does the same for libunwind and libc++abi targets. Differential Revision: https://reviews.llvm.org/D134221
2022-10-11[runtimes] Add the ability to customize the output name of libc++, libc++abi ↵Louis Dionne
and libunwind We already had the ability to do that for libc++.dylib, so this only adds consistency for all the runtime libraries. This should allow working around difficulties on AIX as described in https://llvm.org/D134221. Differential Revision: https://reviews.llvm.org/D135669
2022-10-11[libunwind] Install the headers by defaultLouis Dionne
Just like we install libc++ and libc++abi headers by default when we install the library, it makes sense to install the libunwind headers by default when we build libunwind. In the current state of things, there is an increased risk that folks are using older (previously installed) libunwind headers along with a recent libunwind dylib, which is not ideal. Differential Revision: https://reviews.llvm.org/D135663
2022-09-30[libunwind] Fix compile error with CROSS_UNWINDINGFlorian Mayer
Reviewed By: #libunwind, MaskRay, mgorny Differential Revision: https://reviews.llvm.org/D134969
2022-09-30[runtimes] Remove all traces of the legacy testing configuration systemLouis Dionne
Now that all jobs have moved over to the new style of Lit configuration, we can remove all traces of the legacy testing configuration system. This includes: - Cache settings that are not honored or useful anymore - Several CMake options that were only useful in the context of the legacy Lit configuration system - A bunch of Python support code that is not used anymore - The legacy lit.cfg.in files themselves Differential Revision: https://reviews.llvm.org/D134650
2022-09-22[libunwind] Handle G in personality stringFlorian Mayer
Tested with the following program: ``` static volatile int* x = nullptr; void throws() __attribute__((noinline)) { if (getpid() == 0) return; throw "error"; } void maybe_throws() __attribute__((noinline)) { volatile int y = 1; x = &y; throws(); y = 2; } int main(int argc, char** argv) { int y; try { maybe_throws(); } catch (const char* e) { //printf("Caught\n"); } y = *x; printf("%d\n", y); // should be MTE failure. return 0; } ``` Built using `clang++ -c -O2 -target aarch64-linux -fexceptions -march=armv8-a+memtag -fsanitize=memtag-heap,memtag-stack` Currently only Android implements runtime support for MTE stack tagging. Without this change, we crash on `__cxa_get_globals` when trying to catch the exception (because the stack frame __cxa_get_globals frame will fail due to tags left behind on the stack). With this change, we crash on the `y = *x;` as expected, because the stack frame has been untagged, but the pointer hasn't. Reviewed By: #libunwind, compnerd, MaskRay Differential Revision: https://reviews.llvm.org/D128998
2022-09-16[libunwind] Fix usage of `_dl_find_object` on 32-bit x86Adrian Vogelsgesang
On 32-bit x86, `_dl_find_object` also returns a `dlfo_eh_dbase` address. So far, compiling against a version of `_dl_find_object` which returns a `dlfo_eh_dbase` was blocked using a `#if` + `#error`. This commit now removes this compile time assertion and simply ignores the returned `dlfo_eh_dbase`. All test cases are passing on a 32-bit build now. According to https://www.gnu.org/software/libc/manual/html_node/Dynamic-Linker-Introspection.html, `dlfo_eh_dbase` should be the base address for all DW_EH_PE_datarel relocations. However, glibc/elf/dl-find_object.h says that eh_dbase is the relocated DT_PLTGOT value. I don't understand how those two statements fit together, but to fix 32-bit x86, ignoring `dlfo_eh_dbase` seems to be good enough. Fixes #57733 Differential Revision: https://reviews.llvm.org/D133846
2022-09-08[libunwind] Fix a few libunwind includesRyan Prichard
In UnwindCursor.hpp, include config.h before checking _LIBUNWIND_SUPPORT_SEH_UNWIND. Include libunwind_ext.h for UNW_STEP_SUCCESS. Differential Revision: https://reviews.llvm.org/D86766
2022-08-21[libunwind] Fixed a number of typosGabriel Ravier
I went over the output of the following mess of a command: `(ulimit -m 2000000; ulimit -v 2000000; git ls-files -z | parallel --xargs -0 cat | aspell list --mode=none --ignore-case | grep -E '^[A-Za-z][a-z]*$' | sort | uniq -c | sort -n | grep -vE '.{25}' | aspell pipe -W3 | grep : | cut -d' ' -f2 | less)` and proceeded to spend a few days looking at it to find probable typos and fixed a few hundred of them in all of the llvm project (note, the ones I found are not anywhere near all of them, but it seems like a good start). Reviewed By: #libunwind, MaskRay Differential Revision: https://reviews.llvm.org/D130948
2022-08-19Revert "[cmake] Use `CMAKE_INSTALL_LIBDIR` too"John Ericson
This reverts commit f7a33090a91015836497c75f173775392ab0304d. Unfortunately this causes a number of failures that didn't show up in my local build.
2022-08-18[cmake] Use `CMAKE_INSTALL_LIBDIR` tooJohn Ericson
We held off on this before as `LLVM_LIBDIR_SUFFIX` conflicted with it. Now we return this. `LLVM_LIBDIR_SUFFIX` is kept as a deprecated way to set `CMAKE_INSTALL_LIBDIR`. The other `*_LIBDIR_SUFFIX` are just removed entirely. I imagine this is too potentially-breaking to make LLVM 15. That's fine. I have a more minimal version of this in the disto (NixOS) patches for LLVM 15 (like previous versions). This more expansive version I will test harder after the release is cut. Reviewed By: sebastian-ne, ldionne, #libc, #libc_abi Differential Revision: https://reviews.llvm.org/D130586
2022-08-17[compiler-rt][libunwind][runtimes] Recategorize `llvm_check_linker_flag` langsJohn Ericson
Done according to @phosek's comments in D117537, but not done then to separate pure refactor (that) from possible behavior change (this). Wasn't working before, but I think that was due to an issue of mismatched variable names fixed in D110005. Reviewed By: phosek, #libunwind, #libc_abi Differential Revision: https://reviews.llvm.org/D117833
2022-08-13[libunwind][AIX] Implement _Unwind_FindEnclosingFunction() using traceback ↵Xing Xue
table on AIX Summary: The implementation of _Unwind_FindEnclosingFunction(void *ip) takes the context of itself and then uses the context to get the info of the function enclosing ip. This approach does not work for AIX because on AIX, the TOC base in GPR2 is used as the base for calculating relative addresses. Since _Unwind_FindEnclosingFunction() may be in a different shared lib than the function containing ip, their TOC bases can be different. Therefore, using the value of GPR2 in the context from _Unwind_FindEnclosingFunction() as the base results in incorrect addresses. On the other hand, the start address of a function is available in the traceback table following the instructions of each function on AIX. To get to the traceback table, search a word of 0 starting from ip and the traceback table is located after the word 0. This patch implements _Unwind_FindEnclosingFunction() for AIX by obtaining the function start address from its traceback table. Reviewed by: compnerd, MaskRay, libunwind Differential Revision: https://reviews.llvm.org/D131709
2022-08-12[libunwind] Remove __ANDROID_API__ < 18 workaroundFangrui Song
https://github.com/android/ndk/wiki/Changelog-r24 shows that the NDK has moved forward to at least a minimum target API of 19. Remove old workaround. Reviewed By: #libunwind, danalbert Differential Revision: https://reviews.llvm.org/D131792
2022-08-10[libunwind] Use `_dl_find_object` if availableAdrian Vogelsgesang
As shown in P2544R0 [1] and the accompanying benchmark [2], the current unwinding logic does not scale for multi-threaded programs. This is because `dl_iterate_phdr` takes a global lock. glibc 2.35 added `_dl_find_object` which directly returns the unwind info for a given target address. `_dl_find_object` is fully lock-free and hence allows parallel exception unwinding on multiple threads. With this commit, libunwind now takes advantage of `_dl_find_object`. Thereby, this commit improves libunwind's performance on benchmark [2] for unwinding exception on 20 threads from 1103ms to 78ms. (measured on Intel Xeon Silver 4114 with 20 physical cores) [1] https://isocpp.org/files/papers/P2544R0.html [2] https://github.com/neumannt/exceptionperformance Detailed performance numbers from the benchmark: Before: > Testing unwinding performance: sqrt computation with occasional errors > > testing baseline using 1 2 4 8 16 20 threads > failure rate 0%: 34 35 34 35 35 36 > testing exceptions using 1 2 4 8 16 20 threads > failure rate 0%: 16 32 33 34 35 36 > failure rate 0.1%: 16 32 34 36 35 36 > failure rate 1%: 20 40 40 43 90 113 > failure rate 10%: 59 92 140 304 880 1103 > [...] > > Testing invocation overhead: recursive fib with occasional errors > > testing exceptions using 1 2 4 8 16 20 threads > failure rate 0%: 19 32 37 38 39 36 > failure rate 0.1%: 22 32 40 40 39 34 > failure rate 1%: 20 28 38 39 48 40 > failure rate 10%: 25 39 44 50 92 113 After: > Testing unwinding performance: sqrt computation with occasional errors > > testing baseline using 1 2 4 8 16 20 threads > failure rate 0%: 19 30 35 38 39 35 > testing baseline using 1 2 4 8 16 20 threads > failure rate 0%: 32 35 33 34 34 36 > testing exceptions using 1 2 4 8 16 20 threads > failure rate 0%: 16 35 33 37 35 35 > failure rate 0.1%: 16 32 36 33 34 37 > failure rate 1%: 21 37 39 40 40 41 > failure rate 10%: 72 75 76 80 80 78 > [...] > > Testing invocation overhead: recursive fib with occasional errors > > testing baseline using 1 2 4 8 16 20 threads > failure rate 0%: 18 35 37 34 38 37 > testing exceptions using 1 2 4 8 16 20 threads > failure rate 0%: 19 33 40 40 41 39 > failure rate 0.1%: 21 33 39 38 39 38 > failure rate 1%: 20 36 39 40 41 40 > failure rate 10%: 25 45 41 42 44 43 Differential Revision: https://reviews.llvm.org/D130668
2022-08-09[libunwind][AIX] Save/restore errno before/after system calls ↵Xing Xue
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-05[libunwind] undef NDEBUG for assert.h in tests.Florian Mayer
This makes sure the assertions also get verified in optimized builds. This matches what is already done in bad_unwind_info.pass.cpp. Reviewed By: #libunwind, MaskRay Differential Revision: https://reviews.llvm.org/D131210
2022-08-03[libunwind] Remove unused substitution in AIX libunwind configLouis Dionne
It must have been a copy-paste error, since cxx-include is never defined by the libunwind config. Differential Revision: https://reviews.llvm.org/D131030
2022-07-29Update references to mailing lists that have moved to Discourse.tlattner
2022-07-27Bump the trunk major version to 16llvmorg-16-initTom Stellard
2022-07-18[libunwind][SystemZ] Use process_vm_readv to avoid potential segfaultsUlrich Weigand
Fix potential crashes during unwind when checking for signal frames and the current PC is invalid. The same bug was fixed for aarch64 in https://reviews.llvm.org/D126343. Reviewed by: MaskRay Differential Revision: https://reviews.llvm.org/D129856
2022-06-27[libunwind,EHABI,ARM] Fix get/set of RA_AUTH_CODE.Simon Tatham
According to EHABI32 §8.5.2, the PAC for the return address of a function described in an exception table is supposed to be addressed in the _Unwind_VRS_{Get,Set} API by setting regclass=_UVRSC_PSEUDO and regno=0. (The space of 'regno' values is independent for each regclass, and for _UVRSC_PSEUDO, there is only one valid regno so far.) That is indeed what libunwind's _Unwind_VRS_{Get,Set} functions expect to receive. But at two call sites, the wrong values are passed in: regno is being set to UNW_ARM_RA_AUTH_CODE (0x8F) instead of 0, and in one case, regclass is _UVRSC_CORE instead of _UVRSC_PSEUDO. As a result, those calls to _Unwind_VRS_{Get,Set} return _UVRSR_FAILED, which their callers ignore. So if you compile in the AUTG instruction that actually validates the PAC, it will try to validate what's effectively an uninitialised register as an authentication code, and trigger a CPU fault even on correct exception unwinding. Reviewed By: danielkiss Differential Revision: https://reviews.llvm.org/D128522
2022-06-20[libunwind] Ensure test/libunwind_01.pass is not completely inlinedAlex Richardson
By adding noinline and calling fprintf before returning we ensure that every function will have a distinct call frame and that the return address will always be saved instead of saving the target in main as the result. Before this change all backtraces were always backtrace -> main -> _start, i.e. always exactly three entries. This happenend because all calls were inlined in main() and the test just happenend to pass because there is at least _start before main. I found this while fixing some bugs in libunwind for CHERI and noticed that the test was passing even though the code was completely broken. Obtained from: https://github.com/CTSRD-CHERI/llvm-project Reviewed By: #libunwind, ldionne, MaskRay Differential Revision: https://reviews.llvm.org/D126611
2022-06-06[libunwind] Don't store a predecremented PC when using SEHMartin Storsjö
This fixes unwinding in boundary cases on ARM with SEH. In the case of ARM/Thumb, disp->ControlPc points at the following instruction, with the thumb bit set. Thus by decrementing 1, it still points at the next instruction. To achieve the desired effect of pointing at the previous instruction, one first has to strip out the thumb bit, then do the decrement by 1 to reach the previous instruction. When libcxxabi looks for call site ranges, it already does `_Unwind_GetIP(context) - 1` (in `scan_eh_tab` in libcxxabi/src/cxa_personality.cpp), so we shouldn't do the corresponding `- 1` multiple times. In the case of libcxxabi on Thumb, `funcStart` (still in `scan_eh_tab`) may have the thumb bit set. If the program counter address is decremented both in libunwind (first removing the thumb bit, then decremented), and then libcxxabi decrements it further, and compares with a `funcStart` with the thumb bit set, it could point to one byte before the start of the call site. Thus: This modification makes libunwind with SEH work with libcxxabi on Thumb, in settings where libunwind and libcxxabi worked fine with Dwarf before. For existing cases with libunwind with SEH (on x86_64 and aarch64), this modification doesn't break any of my testcases. Differential Revision: https://reviews.llvm.org/D126869
2022-06-06[libunwind] Remove unused ARM SEH placeholder codeMartin Storsjö
There's no such corresponding code for ARM64 (which has been working in production for years). The SEH version of the Unwind functions (e.g. `_Unwind_GetLanguageSpecificData`) doesn't use these fields. The `_Unwind_ForcedUnwind` function would need these bits though, but that's not used in normal C++ exception unwinding. Differential Revision: https://reviews.llvm.org/D126868
2022-06-06[libunwind] Fix SEH unwinding on ARMMartin Storsjö
Check `__SEH__` when checking if ARM EHABI should be implied, similarly to 4a3722a2c3dff1fe885cc38bf43d3c095c9851e7 / D126866. Fix a warning by using the right format specifier (PRIxPTR instead of PRIx64), and add a double->float cast in a codepath that hasn't been built so far. This is enough to make SEH unwinding of itanium ABI exceptions on ARM mostly work - one specific issue is fixed in a separate follow-up patch. Differential Revision: https://reviews.llvm.org/D126867
2022-06-04[NFC] [libunwind] turn assert into static_assertFlorian Mayer
Reviewed By: #libunwind, MaskRay Differential Revision: https://reviews.llvm.org/D126987
2022-06-02[libunwind][ci][AIX] Add libunwind to buildbot CIXing Xue
Summary: This patch changes scripts to add libunwind CI on AIX. Test config file ibm-libunwind-shared.cfg.in is introduced for testing on AIX. Reviewed by: ldionne, MaskRay, libunwind, ibc++abi Differential Revision: https://reviews.llvm.org/D126017
2022-06-02[libunwind] Add more information to eh_frame_hdr version errorFlorian Mayer
This makes it easier to find the offending ELF file. Reviewed By: #libunwind, MaskRay Differential Revision: https://reviews.llvm.org/D126841
2022-05-27[runtimes] Officially deprecate the legacy testing configuration systemLouis Dionne
Add a warning and tweak the release note to explain that the deprecation targets libc++, libc++abi and libuwnind as well. Also, as a fly-by, ensure that our CI runs the legacy testing configuration for libc++, libc++abi and libunwind. This doesn't matter too much since it's deprecated, but we might as well test it properly. Differential Revision: https://reviews.llvm.org/D126478
2022-05-27[libunwind][CMake] Fix name of LIBUNWIND_SUPPORTS_NODEFAULTLIBS_FLAGPavel Samolysov
The CMake variable LIBUNWIND_SUPPORTS_NODEFAULTLIBS_FLAG has been renamed into C_SUPPORTS_NODEFAULTLIBS_FLAG because the last one is used in the confix-ix.cmake file while the variable with the original name is not used at al. Differential Revision: https://reviews.llvm.org/D126466
2022-05-26[libunwind] Tidy-up the testing configuration for libunwindLouis Dionne
Start testing Apple backdeployment with older libunwinds, and stop explicitly specifying the libunwind testing config, since it is already selected correctly by default. Differential Revision: https://reviews.llvm.org/D126470
2022-05-26[libunwind] Use process_vm_readv to avoid potential segfaultsShoaib Meenai
We've observed segfaults in libunwind when attempting to check for the Linux aarch64 sigreturn frame, presumably because of bad unwind info leading to an incorrect PC that we attempt to read from. Use process_vm_readv to read the memory safely instead. The s390x code path should likely follow suit, but I don't have the hardware to be able to test that, so I didn't modify it here either. Reviewed By: MaskRay, rprichard, #libunwind Differential Revision: https://reviews.llvm.org/D126343
2022-05-26[libunwind] Factor out sigreturn check condition. NFCShoaib Meenai
Create a macro for this instead of duplicating the architecture checks everywhere. (It's a little redundant to use it when we're checking for a specific architecture, but I'm also applying it there for consistency.) Reviewed By: rprichard, MaskRay, #libunwind Differential Revision: https://reviews.llvm.org/D126342
2022-05-20[libunwind] Introduce a cmake-bridge.cfg.in file to reduce test config ↵Louis Dionne
duplication Differential Revision: https://reviews.llvm.org/D125981
2022-05-19[libunwind] Remove unused _LIBUNWIND_HAS_NO_THREADS macro in testsLouis Dionne
The _LIBUNWIND_HAS_NO_THREADS macro is only picked up by libunwind inside its sources, so it is only required when it builds. It doesn't need to be defined when running the tests.
2022-05-19[runtimes] Fix the build of merged ABI/unwinder librariesLouis Dionne
Also, add a CI job that tests this configuration. The exact configuration is that we build a shared libc++ and merge objects for the ABI library and the unwinder library into it. Differential Revision: https://reviews.llvm.org/D125903
2022-05-19[libunwind] Remove -Wsign-conversion warningDaniel Kiss
Reland after dependent change reland.
2022-05-18[runtimes] Default LIB*_HERMETIC_STATIC_LIBRARY to ON on WindowsMartin Storsjö
(In the case of libunwind, the cmake option is called LIBUNWIND_HIDE_SYMBOLS, but it has the same effect as LIBCXX_HERMETIC_STATIC_LIBRARY and LIBCXXABI_HERMETIC_STATIC_LIBRARY.) Previously, the same issue was dealt with by setting a project wide define (_LIBUNWIND_HIDE_SYMBOLS, _LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS and _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS) if only building a static library. If building both static and shared at the same time, this wasn't set, and the static library would contain dllexport directives. The LIB*_HERMETIC_STATIC_LIBRARY and LIBUNWIND_HIDE_SYMBOLS cmake options only apply the defines to the static library in the build, even if building both static and shared at the same time. (This could only be done use after the object libraries were enabled, as a shared libcxx needs libcxxabi object files built with dllexports included.) This allows removing inelegant code for deciding how to build the libcxxabi static library and a TODO comment that suggested that users should need to start setting an option, which they shouldn't need to. Finally, this gets rid of two XFAILs in tests. Differential Revision: https://reviews.llvm.org/D125715
2022-05-18[libunwind][AArch64] Add support for DWARF expression for RA_SIGN_STATE.Daniel Kiss
Program may set the RA_SIGN_STATE pseudo register by expressions. Libunwind expected only the DW_CFA_AARCH64_negate_ra_state could change the value of the register which leads to runtime errors on PAC enabled systems. In the recent version of the aadwarf64[1] a limitation is added[2] to forbid the mixing the DW_CFA_AARCH64_negate_ra_state with other DWARF Register Rule Instructions. [1] https://github.com/ARM-software/abi-aa/releases/tag/2022Q1 [2] https://github.com/ARM-software/abi-aa/pull/129 Reviewed By: #libunwind, MaskRay Differential Revision: https://reviews.llvm.org/D123692 Reland: test moved because it depends on exceptions.
2022-05-16[runtimes] Introduce object librariesLouis Dionne
This is a variant of D116689 rebased on top of the new (proposed) ABI refactoring in D120727. It should conserve the basic properties of the original patch by @phosek, except it also allows cleaning up the merging of libc++abi into libc++ from the libc++ side. Differential Revision: https://reviews.llvm.org/D125393
2022-05-15Revert "[libunwind][AArch64] Add support for DWARF expression for ↵Daniel Kiss
RA_SIGN_STATE." This reverts commit f6366ef7f4f3cf1182fd70e0c50a9fa54374b612.
2022-05-13[runtimes][NFC] Remove dead code for Standalone buildsLouis Dionne
Standalone builds have been deprecated and then removed for a while now. Trying to use standalone builds leads to a fatal CMake error, so this code is all dead. Remove it to clean things up. Differential Revision: https://reviews.llvm.org/D125561
2022-05-13[libunwind] Remove -Wsign-conversion warningLouis Dionne