summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-12-11[SEH] Zero-initialize EXCEPTION_RECORD and UNWIND_HISTORY_TABLE before ↵Martin Storsjo
calling RtlUnwindEx This fixes PR39935. git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@348836 91177308-0d34-0410-b5e6-96231b3b80d8
2018-12-11Don't export assembly functions when function visibility annotations are ↵Martin Storsjo
disabled Patch by Peiyuan Song! Differential Revision: https://reviews.llvm.org/D55537 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@348832 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-14[CMake] Passthrough CFLAGS when checking the compiler-rt pathPetr Hosek
This is needed when cross-compiling for a different target since CFLAGS may contain additional flags like -resource-dir which change the location in which compiler-rt builtins are found. Differential Revision: https://reviews.llvm.org/D54371 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@346820 91177308-0d34-0410-b5e6-96231b3b80d8
2018-10-24[automerger skipped] Merge pie-platform-release to aosp-master - DO NOT ↵Bill Yi
MERGE am: 6611fedd1a -s ours am: c06aaeb792 -s ours am: 4b2199279b -s ours Change-Id: Ia4d3b1edec629b285463b9ca363f69dc65a01e57
2018-10-24[automerger skipped] Merge pie-platform-release to aosp-master - DO NOT ↵Bill Yi
MERGE am: 6611fedd1a -s ours am: c06aaeb792 -s ours Change-Id: I9f56a7ec78b3d204232a4702440b9595c8aa4537
2018-10-24[automerger skipped] Merge pie-platform-release to aosp-master - DO NOT MERGEBill Yi
am: 6611fedd1a -s ours Change-Id: I628a0bdafac5e24a6333d281809502c2af4c8489
2018-10-24Merge pie-platform-release to aosp-master - DO NOT MERGEandroid-wear-8.0.0_r2android-o-mr1-iot-release-smart-display-r9android-o-mr1-iot-release-smart-display-r8android-o-mr1-iot-release-smart-display-r5android-o-mr1-iot-release-smart-display-r40.1Jandroid-o-mr1-iot-release-smart-display-r4android-o-mr1-iot-release-smart-display-r39android-o-mr1-iot-release-smart-display-r30android-o-mr1-iot-release-smart-display-r22android-o-mr1-iot-release-smart-display-r14android-o-mr1-iot-release-smart-clock-r6android-o-mr1-iot-release-smart-clock-r2android-o-mr1-iot-release-smart-clock-fsiandroid-o-mr1-iot-release-smart-clock-fcsandroid-o-mr1-iot-release-cube_r2android-o-mr1-iot-release-cube-fsiandroid-o-mr1-iot-release-cube-fcsandroid-o-mr1-iot-release-1.0.8android-o-mr1-iot-release-1.0.7android-n-iot-release-ihome-igv1nougat-iot-releaseBill Yi
Change-Id: I6087925e9eb08e04c52ac24cdd04bd7ed6070057
2018-10-24[automerger skipped] Merge pi-platform-release to stage-aosp-master - DO NOT ↵Bill Yi
MERGE am: 4116756992 -s ours am: e0702dd416 -s ours Change-Id: I94eadb5b85112e076e87398a1661e39b513b992d
2018-10-24[automerger skipped] Merge pi-platform-release to stage-aosp-master - DO NOT ↵Bill Yi
MERGE am: 4116756992 -s ours Change-Id: I9854cf4f7a3053fb9f1efc9b714be5dcfd557bf4
2018-10-24Merge pi-platform-release to stage-aosp-master - DO NOT MERGEBill Yi
Change-Id: I119a29e55cf54867e5b87ad40cc3a384fc0810e8
2018-10-08[CMake] Link to compiler-rt if LIBUNWIND_USE_COMPILER_RT is ON.Charles Davis
Summary: If `-nodefaultlibs` is given, we weren't actually linking to it. This was true irrespective of passing `-rtlib=compiler-rt` (see previous patch). Now we explicitly link it to handle that case. I wonder if we should be linking these libraries only if we're using `-nodefaultlibs`... Reviewers: beanz Subscribers: dberris, mgorny, christof, chrib, cfe-commits Differential Revision: https://reviews.llvm.org/D51657 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@343990 91177308-0d34-0410-b5e6-96231b3b80d8
2018-10-01Revert "Never enable LTO for libunwind_llvm" am: a8fb6ce7e1 am: 4d7a726f71Yi Kong
am: c396d4e03c Change-Id: Idb37f82689d229d01ed053b344c87581ead358f6
2018-10-01Revert "Never enable LTO for libunwind_llvm" am: a8fb6ce7e1Yi Kong
am: 4d7a726f71 Change-Id: I8ca323b3e1e6c089deaf0ecf1bc586bbd8fa6c2f
2018-10-01Revert "Never enable LTO for libunwind_llvm"Yi Kong
am: a8fb6ce7e1 Change-Id: I7e84228928f079aa028ba36c52faec1c062b1d87
2018-10-01Revert "Never enable LTO for libunwind_llvm"android-o-mr1-iot-release-smart-display-r3android-o-mr1-iot-release-1.0.5oreo-mr1-1.2-iot-releasemaster-cuttlefish-testing-releaseYi Kong
New toolchain update has fixed the underlying issue, workaround no longer needed. This reverts commit 34ed2ea33c5cbd8799e8658080a0017fc702e538. Bug: 78627089 Test: Test: Verify that libmemunreachable.so with LTO has hidden visibility for _Unwind_VRS_Set Change-Id: Ifae3107d6507b86022ef31912baa43d96a0d259a
2018-09-24Reverting r342895Luke Cheeseman
- The used builtins do not compile for pre arm v8.3a targets with gcc git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@342901 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-24[AArch64] Unwinding support for return address signingLuke Cheeseman
- When return address signing is enabled, the LR may be signed on function entry - When an exception is thrown the return address is inspected used to unwind the call stack - Before this happens, the return address must be correctly authenticated to avoid causing an abort by dereferencing the signed pointer Differential Revision: https://reviews.llvm.org/D51432 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@342895 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-22[libunwind][NFC] Suppress unused parameter warningsLouis Dionne
Reviewers: EricWF Subscribers: christof, chrib, dexonsmith, cfe-commits Differential Revision: https://reviews.llvm.org/D52393 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@342811 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-04Suppress -Wimplicit-fallthrough. am: 6136ec05d9 am: 2ed8ddac2cChih-Hung Hsieh
am: 827ea31227 Change-Id: Ic9c0334acdebdffc9321ace4d12a3571c9fcef91
2018-09-04Suppress -Wimplicit-fallthrough. am: 6136ec05d9Chih-Hung Hsieh
am: 2ed8ddac2c Change-Id: Ic6e06602a91017161150c3935711e4a45e121d2c
2018-09-04Suppress -Wimplicit-fallthrough.Chih-Hung Hsieh
am: 6136ec05d9 Change-Id: I0db4a69c16ac46a84aeafc1aaade569d4dc42070
2018-09-04Suppress -Wimplicit-fallthrough.android-o-mr1-iot-release-1.0.4Chih-Hung Hsieh
-Wimplicit-fallthrough will be enabled globally. Test: build with global -Wimplicit-fallthrough. Change-Id: I234ecdd32c9cc8e4b7b8c26e9af7604e66dc3991
2018-09-04[CMake] Don't use -rtlib=compiler-rt with -nodefaultlibs.Charles Davis
Summary: This switch only has an effect at link time. It changes the default compiler support library to `compiler-rt`. With `-nodefaultlibs`, this library won't get linked anyway; Clang actually warns about that. Reviewers: mstorsjo, rnk Subscribers: dberris, mgorny, christof, cfe-commits Differential Revision: https://reviews.llvm.org/D51645 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@341404 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-04[CMake] Remove variable reference that isn't used.Charles Davis
Summary: This variable is never defined, so its value is always empty. Since `libunwind` is needed to build the C++ ABI library in the first place, it should never be linked to the C++ ABI library anyway. Reviewers: mstorsjo, rnk Subscribers: mgorny, christof, cfe-commits Differential Revision: https://reviews.llvm.org/D51644 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@341388 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31Export public functions implemented in assembly on Windows.Charles Davis
Summary: By default, symbols aren't visible outside of the module that defines them. To make them visible, they must be exported. The easiest way to do that is to embed an `-export:symname` directive into the object file. Reviewers: mstorsjo, rnk Subscribers: christof, cfe-commits Differential Revision: https://reviews.llvm.org/D51508 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@341232 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31Fix existing code for SEH on ARM to compile correctlyMartin Storsjo
Even though SEH for ARM is incomplete, make what code already exists at least compile correctly. The _LIBUNWIND_CURSOR_SIZE wasn't correct. ARM (and AArch64) have a DISPATCHER_CONTEXT field named TargetPc instead of TargetIp. For the libunwind.h UNW_* constants, there is no UNW_ARM_PC, only UNW_ARM_IP. Don't use 'r' as loop variable when 'r' already is a Registers_arm member. Differential Revision: https://reviews.llvm.org/D51530 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@341217 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-31[AddressSpace] Use the macro to set hidden visibility on LocalAddressSpace.Charles Davis
Summary: That attribute has no effect on Windows anyway--classes are hidden by default. Reviewers: mstorsjo, rnk Subscribers: christof, cfe-commits Differential Revision: https://reviews.llvm.org/D51509 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@341210 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-30Add support for SEH unwinding on Windows.Charles Davis
Summary: I've tested this implementation on x86-64 to ensure that it works. All `libc++abi` tests pass, as do all `libc++` exception-related tests. ARM still remains to be implemented (@compnerd?). Special thanks to KJK::Hyperion for his excellent series of articles on how EH works on x86-64 Windows. (Seriously, check it out. It's awesome.) I'm actually not sure if this should go in as is. I particularly don't like that I duplicated the UnwindCursor class for this special case. Reviewers: mstorsjo, rnk, compnerd, smeenai, javed.absar Subscribers: mgorny, kristof.beyls, christof, chrib, cfe-commits, compnerd, llvm-commits Differential Revision: https://reviews.llvm.org/D50564 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@341125 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-16NFC: Test commit accessJordan Rupprecht
Testing commit access from a new machine, so using this as an opportunity to revert my old test access commit (r336006) that I never cleaned up. git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@339899 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-16[libunwind][mips] Include gcc_s for linkageStefan Maksimovic
When compiling with optimizations, mips requires various helper routines(__ashldi3 and the like) contained in libgcc_s. Conditionally include libgcc_s in the set of libraries to be linked to. Differential Revision: https://reviews.llvm.org/D50243 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@339878 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-16[libunwind][mips] Guard accumulator registersStefan Maksimovic
Mipsr6 does not possess HI and LO accumulator registers, adjust validRegister functions to respect that. Differential Revision: https://reviews.llvm.org/D50244 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@339849 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-16[libunwind][mips] Modify the __mips_fpr macro checkStefan Maksimovic
The __mips_fpr macro can take the value of 0 as well, change to account for that case. Differential Revision: https://reviews.llvm.org/D50245 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@339848 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-14[cmake] Add MINGW_LIBRARIES to the linker flagsMartin Storsjo
This is essential when building with -nodefaultlibs. In some CMake versions (noticed in 3.5.1), the same libraries are picked up from CMAKE_REQUIRED_LIBRARIES in some exceptional situations (if CXX probing failed, due to libc++ not being built yet, the libraries from CMAKE_REQUIRED_LIBRARIES are used for linking the target library), but not at all in other newer CMake versions (3.10). This is similar to what already is done in libcxxabi in SVN r302760 and libcxx in SVN r312498. Differential Revision: https://reviews.llvm.org/D50663 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@339642 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-08Remove unneeded preprocessor condition.Charles Davis
git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@339259 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-08[libunwind][include] Add SEH declarations to <unwind.h>.Charles Davis
Summary: Make the `_Unwind_Exception` struct correct under SEH. Add a declaration of `_GCC_specific_handler()`, which is used by SEH versions of Itanium personality handlers to do common setup. Roughly corresponds to Clang's D50380. Reviewers: mstorsjo, rnk, compnerd, smeenai Subscribers: christof, chrib, cfe-commits, llvm-commits Differential Revision: https://reviews.llvm.org/D50414 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@339258 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-08[libunwind] Fix pointer-to-integer cast warnings on LLP64.Charles Davis
Summary: `long` is too short on LLP64. We have to use `intptr_t` to avoid truncating pointers. Reviewers: mstorsjo, rnk, compnerd, smeenai Subscribers: christof, cfe-commits, llvm-commits Differential Revision: https://reviews.llvm.org/D50412 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@339217 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-03[CMake] Allow building standalone without any llvm-config availableMartin Storsjo
This is the same as libcxxabi/libcxx do. Differential Revision: https://reviews.llvm.org/D50135 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@338819 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-01Bump version number to 8.0.0svnHans Wennborg
git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@338570 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-01Update docs version and clear release notes after 8.0.0 version bumpHans Wennborg
git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@338561 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-24[CMake] Include CMakeDependentOption in libunwindPetr Hosek
This should resolve the breakage introduced in r337867 which introduced the use of cmake_dependent_option without include the necessary file. git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@337868 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-24[CMake] Option to control whether shared/static library is installedPetr Hosek
Currently it's only possible to control whether shared or static library build of libc++, libc++abi and libunwind is enabled or disabled and whether to install everything we've built or not. However, it'd be useful to have more fine grained control, e.g. when static libraries are merged together into libc++.a we don't need to install libc++abi.a and libunwind.a. This change adds this option. Differential Revision: https://reviews.llvm.org/D49573 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@337867 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-17The semantics of DW_CFA_GNU_args_size have changed subtile over theJoerg Sonnenberger
years. Adopt the new convention that it is call-site specific and that it should be applied before moving the IP by personality routines, but not during normal unwinding. Differential Revision: https://reviews.llvm.org/D38680 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@337312 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-10[CMake] Set per-runtime library directory suffix in runtimes buildPetr Hosek
Do not use LLVM_RUNTIMES_LIBDIR_SUFFIX variable which is an internal variable used by the runtimes build from individual runtimes, instead set per-runtime librarhy directory suffix variable which is necessary for the sanitized runtimes build to install libraries into correct location. Differential Revision: https://reviews.llvm.org/D49121 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@336713 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-29Introduce a separate preprocessor macro, _LIBUNWIND_USE_DLADDR, for directly ↵Jordan Rupprecht
controlling a dependency on dladdr(). This will allow us to use libunwind without adding a libdl dependency. Reviewers: saugustine Subscribers: christof, chrib, cfe-commits, echristo Differential Revision: https://reviews.llvm.org/D48733 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@336014 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-29Revert "Revert "Support for multiarch runtimes layout""Eric Christopher
This reverts commit r336005 that was accidentally committed. git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@336012 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-29Add a blank line to docs/README.txt test commit accessJordan Rupprecht
Subscribers: christof, cfe-commits Differential Revision: https://reviews.llvm.org/D48785 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@336006 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-29Revert "Support for multiarch runtimes layout"Jordan Rupprecht
This reverts commit 0c7cea3c0c6338b99e30c13201365a3dd4edc6f4. git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@336005 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-28Support for multiarch runtimes layoutPetr Hosek
This change adds a support for multiarch style runtimes layout, so in addition to the existing layout where runtimes get installed to: lib/clang/$version/lib/$os Clang now allows runtimes to be installed to: lib/clang/$version/$target/lib This also includes libc++, libc++abi and libunwind; today those are assumed to be in Clang library directory built for host, with the new layout it is possible to install libc++, libc++abi and libunwind into the runtime directory built for different targets. The use of new layout is enabled by setting the LLVM_ENABLE_RUNTIME_TARGET_DIR CMake variable and is supported by both projects and runtimes layouts. The runtimes CMake build has been further modified to use the new layout when building runtimes for multiple targets. Differential Revision: https://reviews.llvm.org/D45604 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@335809 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-20[CMake] Convert paths to the right form in standalone builds on WindowsMartin Storsjo
The paths output from llvm-config --cmakedir and from clang --print-libgcc-file-name can contain backslashes, while CMake can't handle the paths in this form. This matches what compiler-rt already does (since SVN r203789 and r293195). Differential Revision: https://reviews.llvm.org/D48353 git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@335169 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-18Update copyright year to 2018.Paul Robinson
git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@334936 91177308-0d34-0410-b5e6-96231b3b80d8