Age | Commit message (Collapse) | Author |
|
calling RtlUnwindEx
This fixes PR39935.
git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@348836 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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
|
|
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
|
|
MERGE am: 6611fedd1a -s ours am: c06aaeb792 -s ours
am: 4b2199279b -s ours
Change-Id: Ia4d3b1edec629b285463b9ca363f69dc65a01e57
|
|
MERGE am: 6611fedd1a -s ours
am: c06aaeb792 -s ours
Change-Id: I9f56a7ec78b3d204232a4702440b9595c8aa4537
|
|
am: 6611fedd1a -s ours
Change-Id: I628a0bdafac5e24a6333d281809502c2af4c8489
|
|
Change-Id: I6087925e9eb08e04c52ac24cdd04bd7ed6070057
|
|
MERGE am: 4116756992 -s ours
am: e0702dd416 -s ours
Change-Id: I94eadb5b85112e076e87398a1661e39b513b992d
|
|
MERGE
am: 4116756992 -s ours
Change-Id: I9854cf4f7a3053fb9f1efc9b714be5dcfd557bf4
|
|
Change-Id: I119a29e55cf54867e5b87ad40cc3a384fc0810e8
|
|
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
|
|
am: c396d4e03c
Change-Id: Idb37f82689d229d01ed053b344c87581ead358f6
|
|
am: 4d7a726f71
Change-Id: I8ca323b3e1e6c089deaf0ecf1bc586bbd8fa6c2f
|
|
am: a8fb6ce7e1
Change-Id: I7e84228928f079aa028ba36c52faec1c062b1d87
|
|
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
|
|
- 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
|
|
- 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
|
|
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
|
|
am: 827ea31227
Change-Id: Ic9c0334acdebdffc9321ace4d12a3571c9fcef91
|
|
am: 2ed8ddac2c
Change-Id: Ic6e06602a91017161150c3935711e4a45e121d2c
|
|
am: 6136ec05d9
Change-Id: I0db4a69c16ac46a84aeafc1aaade569d4dc42070
|
|
-Wimplicit-fallthrough will be enabled globally.
Test: build with global -Wimplicit-fallthrough.
Change-Id: I234ecdd32c9cc8e4b7b8c26e9af7604e66dc3991
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@339259 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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
|
|
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
|
|
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
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@338570 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@338561 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
This reverts commit 0c7cea3c0c6338b99e30c13201365a3dd4edc6f4.
git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@336005 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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
|
|
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
|
|
git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@334936 91177308-0d34-0410-b5e6-96231b3b80d8
|