History log of /external/libunwind_llvm/src/libunwind.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
375a366e031393e10095228a6679aa1c1e0408a3 12-Dec-2017 John Baldwin <jhb@FreeBSD.org> [libunwind][MIPS]: Add support for unwinding in O32 and N64 processes.

This supports the soft-float ABI only and has been tested with both clang
and gcc on FreeBSD.

Reviewed By: sdardis, compnerd

Differential Revision: https://reviews.llvm.org/D38110


git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@320528 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libunwind_llvm/src/libunwind.cpp
23a943b524c63c5bd970e82c8fd678d03b501f96 02-Nov-2017 Martin Storsjo <martin@martin.st> Fix building for ARM with dwarf exception handling

The previous definition of _LIBUNWIND_HIGHEST_DWARF_REGISTER seems
to be a copy of the ARM64 value (introduced in SVN r276128); since
the code actually hasn't compiled properly for arm in dwarf mode
before, this hasn't actually been used. Set it to the correct value
based on the UNW_ARM_* enum values.

The iwmmx control variables have to be made mutable, since they are
touched from within getRegister (which previously wasn't const), and
getRegister is used on a const Registers object in DwarfInstructions.hpp.

Differential Revision: https://reviews.llvm.org/D39251

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@317192 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libunwind_llvm/src/libunwind.cpp
85f4cfd80c9122541992ab7e19c189f1ef67fec7 30-Oct-2017 Martin Storsjo <martin@martin.st> Change unw_word_t to always have the same size as the pointer size

This matches the original libunwind API. This also unifies the
type between ARM EHABI and the other configurations, and allows
getting rid of a number of casts in log messages.

The cursor size updates for ppc and or1k are untested, but
unw_proc_info_t shrinks by 4 uint64_t units on i386 at least.

Differential Revision: https://reviews.llvm.org/D39365

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@316942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libunwind_llvm/src/libunwind.cpp
e53dc3f92c82bd2b8810881a5724a557fc246659 26-Sep-2017 Martin Storsjo <martin@martin.st> Skip building unused parts when targeting SJLJ

When SJLJ exceptions are used, those functions aren't used.

This fixes build failures on ARM with SJLJ enabled (e.g. on armv7/iOS)
when built using the CMake project files.

Differential Revision: https://reviews.llvm.org/D38249

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@314197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libunwind_llvm/src/libunwind.cpp
7d6741381d02cee797a01c1ffa5ab10bae4dbe66 31-Mar-2017 Ranjeet Singh <Ranjeet.Singh@arm.com> [libunwind] Clean up macro usage.

Convention in libunwind is to use !defined(FOOT) not !FOO.

Differential Revision: https://reviews.llvm.org/D31078



git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@299225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libunwind_llvm/src/libunwind.cpp
188f3c7c17139dfb77518a1b52dfa482d9e1ced2 09-Mar-2017 Ed Schouten <ed@nuxi.nl> Fix up the places where AddressSpace.hpp is included.

The AddressSpace.hpp header declares two classes: LocalAddressSpace and
RemoteAddressSpace. These classes are only used in a very small number
of source files, but passed in as template arguments to many other
classes.

Let's go ahead and only include AddressSpace.hpp in source files where
at least one of these two classes is mentioned. This gets rid of a
cyclic header dependency that was already present, but only caused
breakage on macOS until recently.

Reported by: Marshall Clow


git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@297364 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libunwind_llvm/src/libunwind.cpp
e1d4b2e9d9e63002e91d53db3f249c17ac7534e2 21-Jan-2017 Saleem Abdulrasool <compnerd@compnerd.org> DWARF: allow enabling tracing at runtime

Introduce `logDWARF` and the associated environment variable
`LIBUNWIND_PRINT_DWARF` to trace the CFI instructions.

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@292722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libunwind_llvm/src/libunwind.cpp
fa05468d85e3397c975516c3d89cf0687dee40bd 21-Jan-2017 Saleem Abdulrasool <compnerd@compnerd.org> rename OtherAddressSpace to RemoteAddressSpace; NFC

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@292719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libunwind_llvm/src/libunwind.cpp
adc29082bd13b95aa5d741df0e67eff66819c185 30-Aug-2016 Ed Maste <emaste@freebsd.org> consistently add \n to log and trace messages

Previously most messages included a newline in the string, but a few of
them were missing. Fix these and simplify by just adding the newline in
the _LIBUNWIND_LOG macro itself.

Differential Revision: https://reviews.llvm.org/D24026


git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@280103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libunwind_llvm/src/libunwind.cpp
17473fd6fcba8ac95ce7246eedafadab27844f27 30-Aug-2016 Ed Maste <emaste@freebsd.org> libunwind: correct 'libuwind' typo

There were several instances of libuwind (missing an "n"), dating to
the initial import of libunwind.


git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@280086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libunwind_llvm/src/libunwind.cpp
63469ffb83da03e4fd54185bf14384221dc3b1c5 19-Jul-2016 Ed Maste <emaste@freebsd.org> libunwind: Use conventional DWARF capitalization in comments and errors


git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@275996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libunwind_llvm/src/libunwind.cpp
d2d1ea9d75dfc4f55540f7e3cf940c6a1d6674cc 25-May-2016 Asiri Rathnayake <asiri.rathnayake@arm.com> Introduce a native-only unwinder build.

Currently libunwind is built to support cross-unwinding [1] by default, which
requires the buffers unw_context_t and unw_cursor_t to be large enough to hold
the vritual register set (VRS) of any supported architecture. This is not
desirable for some platforms where the stack usage of the unwinder needs
to be kept to a minimum (e.g. bare-metal targets). The current patch introduces
a native-only (-DLIBUNWIND_ENABLE_CROSS_UNWINDING=OFF) unwinder variant that
adopts strict sizes for the buffers unw_context_t and unw_cursor_t depending
on the target architecture.

[1] http://www.nongnu.org/libunwind/man/libunwind(3).html#section_4

Change-Id: I380fff9a56c16a0fc520e3b1d8454a34b4a48373

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@270692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libunwind_llvm/src/libunwind.cpp
db1c263b9da7dde1b154cde25e145533b4a090f8 26-Sep-2015 Vasileios Kalintiris <Vasileios.Kalintiris@imgtec.com> unwind: Allow the building of libunwind for MIPS.

Summary:
Currently, libunwind doesn't support MIPS. However, with this patch
we do allow the library to build, and we warn the user about the lack of
support for MIPS. Also, the dummy unw_getcontext() implementation for MIPS just
traps on function entry in order to avoid any confusion with silent/weird
failures at runtime.

This allows us to test an LLVM-based toolchain without the dependency on a
GCC toolchain. Of course, C++ exception handling and other things that depend
on stack unwinding will not work until we add a proper implementation of the
stub functions.

Reviewers: compnerd, logan

Subscribers: dsanders, llvm-commits

Differential Revision: http://reviews.llvm.org/D13160

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@248673 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libunwind_llvm/src/libunwind.cpp
d4255ab516c2fb7e0cb2cc0685e5f8f1e6769912 31-Aug-2015 Peter Zotov <whitequark@whitequark.org> [libunwind] Add support for OpenRISC 1000.

This patch makes no assumptions on ABI past the ABI defined in
the OpenRISC 1000 spec except that the DWARF register numbers will
be 0-31 for registers r0-r31, which is true for both gcc and
clang at the moment.

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@246413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libunwind_llvm/src/libunwind.cpp
a3e613de71af050c07199eaa53c3675708268dab 27-Aug-2015 Peter Zotov <whitequark@whitequark.org> [libunwind] Remove unused includes.

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@246143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libunwind_llvm/src/libunwind.cpp
40377de0186cf63e7024b535d56d6f740cb8fc83 13-Aug-2015 Ed Maste <emaste@freebsd.org> Enable zero-cost exceptions on non-Apple arm64 platforms

Use the canonical __aarch64__ predefined macro for 64-bit ARM. Apple-
specific cases are left as __arm64__. Also add an #error for unsupported
architectures to catch this sort of case in the future.

Differential Revision: http://reviews.llvm.org/D12005


git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@244893 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libunwind_llvm/src/libunwind.cpp
61278584b5c84c422ff5da10f46c3235c54636c9 19-Jul-2015 Logan Chien <tzuhsiang.chien@gmail.com> libunwind: Introduce __libunwind_config.h.

Introduce __libunwind_config.h to avoid cross repository circular
dependency with libcxxabi.


git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@242642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libunwind_llvm/src/libunwind.cpp
a802ef422d0c2c660bc7ffb8982dd37d55ffe422 11-May-2015 Saleem Abdulrasool <compnerd@compnerd.org> unwind: permit building against libstdc++

Include algorithm early as otherwise you get a number of particularly unhelpful
messages about failed static assertions. This fixes compilation on Linux with
gcc.

git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@237002 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libunwind_llvm/src/libunwind.cpp
675df58e9b2f6c4218ef7d19bfe405772ada5444 24-Apr-2015 Saleem Abdulrasool <compnerd@compnerd.org> unwind: move src/Unwind, include/, and test/ unwind content

This moves the majority of the unwind sources into the new project layout for
libunwind. This was previously discussed on llvmdev at [1]. This is a
purely movement related change, with the build infrastructure currently still
residing in the libc++abi repository.

[1] http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-January/081507.html



git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@235758 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libunwind_llvm/src/libunwind.cpp