llvm-project/libunwind
Martin Storsjo d27bec4854 Don't define unw_fpreg_t to uint64_t for __ARM_DWARF_EH__
The existing typedef of unw_fpreg_t to uint64_t might work and be
correct for the ARM_EHABI case, but for dwarf, some cases in e.g.
DwarfInstructions.hpp convert between double and unw_fpreg_t.

When converting implicitly between double and unw_fpreg_t (uint64_t),
the values get interpreted as integers and converted to float and vice
versa, while the correct thing would be to keep the same bit pattern.

Avoid the whole issue by using the same definition of unw_fpreg_t
as all other architectures, when using dwarf unwinding on ARM.

Change assembler functions to take a void pointer instead of
unw_fpreg_t pointer, to avoid having a different mangled symbol name
depending on the actual value of this typedef.

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

llvm-svn: 352461
2019-01-29 09:00:32 +00:00
..
cmake Revert "[CMake] Use __libc_start_main rather than fopen when checking for C library" 2019-01-28 19:26:41 +00:00
docs Bump the trunk version to 9.0.0svn 2019-01-16 10:57:02 +00:00
include Don't define unw_fpreg_t to uint64_t for __ARM_DWARF_EH__ 2019-01-29 09:00:32 +00:00
src Don't define unw_fpreg_t to uint64_t for __ARM_DWARF_EH__ 2019-01-29 09:00:32 +00:00
test Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
.arcconfig [libunwind] Set up .arcconfig to point to new Diffusion UNW repository 2018-01-10 22:20:03 +00:00
.clang-format unwind: add a .clang-format 2015-05-07 19:50:18 +00:00
CMakeLists.txt Revert "[libunwind] Drop the dependency on <algorithm>, add placement new inline" 2019-01-28 20:55:12 +00:00
LICENSE.TXT Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00