| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
As the title says... also, fix all the ARM asm return sequences so that they
work on processors without the BX instruction.
http://reviews.llvm.org/D5314
llvm-svn: 218869
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes the bad argument that GAS accepted but the IAS didn't,
ie. {#0x20}, moving it to {0x20} which both accept. It also makes the
ARMv7+ save/restore correct by using VFP instructions rather than old
co-processor ones.
Fixes PR20529.
llvm-svn: 217585
|
|
|
|
|
|
| |
Feedback was 'this could use better comments'.
llvm-svn: 217459
|
|
|
|
| |
llvm-svn: 217341
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Since the personality functions do the actual unwinding on ARM,
and will also stop unwinding when they encounter a handler, we invoke
_Unwind_VRS_Interpret() directly form _Unwind_Backtrace().
To simplify, the logic for decoding an EHT is moved out of
unwindOneFrame() and into its own function, decode_eht_entry(). Unlike
unwindOneFrame(), which could only handle ARM's compact personality
function entries (section 6.3) decode_eht_entry() can handle the generic
entries (section 6.2).
Reviewers: jroelofs
Reviewed By: jroelofs
Subscribers: piman, aemerson, cfe-commits
Differential Revision: http://reviews.llvm.org/D5112
llvm-svn: 216730
|
|
|
|
|
|
| |
http://reviews.llvm.org/D4993
llvm-svn: 216202
|
|
|
|
|
|
|
| |
Patch by Ismail Donmez
http://reviews.llvm.org/D4953
llvm-svn: 215950
|
|
|
|
| |
llvm-svn: 214873
|
|
|
|
|
|
|
|
|
|
| |
linker knows how to link them.
This fixes an interworking problem when the unwinder/libcxxabi is built for
Thumb. When unw_getcontext is not marked as a function, 'bl' is used for the
branch instead of 'bx'.
llvm-svn: 214573
|
|
|
|
|
|
|
|
|
|
|
| |
The cmake files for libc++abi and the unwinder weren't linking against
libpthread or an unwind library. If the tests were linked with
-Wl,--as-needed, these libraries wouldn't be linked, causing them to
fail.
Patch contributed by İsmail Dönmez.
llvm-svn: 212958
|
|
|
|
|
|
|
|
| |
This is useful for distros installing under /usr/lib64.
Patch from İsmail Dönmez.
llvm-svn: 212826
|
|
|
|
|
|
|
| |
Note: The unwinder currently only works on Darwin and on ARM Linux.
Non-ARM Linux support is not yet implemented, and will fail to build.
llvm-svn: 212824
|
|
|
|
| |
llvm-svn: 212232
|
|
|
|
| |
llvm-svn: 211912
|
|
|
|
| |
llvm-svn: 211790
|
|
|
|
|
|
|
|
|
| |
* Replace strlcpy with snprintf since strlcpy is not available
in glibc.
* Replace __LINUX__ with __linux__.
llvm-svn: 211784
|
|
|
|
| |
llvm-svn: 211775
|
|
|
|
| |
llvm-svn: 211751
|
|
|
|
|
|
|
|
|
|
|
| |
This was written by:
Albert Wong <ajwong@chromium.org>
Antoine Labour <piman@chromium.org>
Dana Jansen <danakj@chromium.org
Jonathan Roelofs <jonathan@codesourcery.com>
Nico Weber <thakis@chromium.org>
llvm-svn: 211743
|
|
|
|
|
|
|
|
| |
The new code will be behind a LIBCXXABI_ARM_EHABI define (so that platforms
that don't want it can continue using e.g. SJLJ). This commit mostly just
adds the LIBCXXABI_ARM_EHABI define.
llvm-svn: 211739
|
|
|
|
| |
llvm-svn: 207469
|
|
|
|
|
|
| |
DwarfInstructions::lastRestoreReg() to Register::lastDwarfRegNum().
llvm-svn: 207467
|
|
|
|
| |
llvm-svn: 207463
|
|
|
|
| |
llvm-svn: 207170
|
|
|
|
| |
llvm-svn: 207169
|
|
|
|
|
|
|
| |
Fixes compiler complaint about:
src/Unwind/UnwindCursor.hpp:366:25: error: 'libunwind::AbstractUnwindCursor' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor]
llvm-svn: 206942
|
|
|
|
|
|
|
| |
Darwin and the BSDs define a tagged struct dl_info typedef'd as Dl_info. glibc
and bionic typedef an anonymous struct as Dl_info.
llvm-svn: 206939
|
|
|
|
|
|
| |
... so that we can use newlib as the c library.
llvm-svn: 206427
|
|
|
|
| |
llvm-svn: 206122
|
|
|
|
| |
llvm-svn: 206121
|
|
|
|
|
|
| |
in the wild on SH3.
llvm-svn: 205756
|
|
|
|
| |
llvm-svn: 205573
|
|
|
|
| |
llvm-svn: 204292
|
|
|
|
|
|
|
|
|
|
|
| |
opcode is VAX. A function call pushes the number of arguments given onto
the stack and "ret" will pop it automatically. The FDE of the caller
contains the amount of stack space used for arguments (and possibly
extra padding), so unwinding has to compensate for this when "returning"
from a function. This is exactly the case when step() is done. The
existing handling in unw_set_reg no longer makes sense.
llvm-svn: 204290
|
|
|
|
|
|
|
| |
programs. Initialize lsdaEncoding to DW_EH_PE_omit and check for that
value to decide whether a value should be decoded.
llvm-svn: 203626
|
|
|
|
| |
llvm-svn: 199941
|
|
|
|
| |
llvm-svn: 199915
|
|
|
|
| |
llvm-svn: 199860
|
|
|
|
| |
llvm-svn: 199859
|
|
|
|
|
|
| |
unwinding.
llvm-svn: 197591
|
|
|
|
|
|
|
| |
This is in preparation for landing an implementation of unw_getcontext
on a system where it's mangled 'unw_getcontext', not '_unw_getcontext'.
llvm-svn: 197523
|
|
|
|
|
|
| |
These files require preprocessing, so their name should end with a capital S.
llvm-svn: 196555
|
|
|
|
|
|
| |
These files require preprocessing, so their name should end with a capital S.
llvm-svn: 196554
|
|
|
|
|
|
|
| |
According to kledzik, this constructor isn't live code, so no functionality
change.
llvm-svn: 196550
|
|
|
|
| |
llvm-svn: 196436
|
|
|
|
| |
llvm-svn: 193840
|
|
|
|
|
|
| |
parameter to match other implementations
llvm-svn: 192248
|
|
|
|
| |
llvm-svn: 192245
|
|
|
|
|
|
| |
architectures
llvm-svn: 192241
|
|
|
|
| |
llvm-svn: 192180
|