diff options
author | Ed Maste <emaste@FreeBSD.org> | 2016-07-05 18:00:23 +0000 |
---|---|---|
committer | Ed Maste <emaste@FreeBSD.org> | 2016-07-05 18:00:23 +0000 |
commit | e2fc5d984d0bcb0eba77ce5030f053dfc0eae2a2 (patch) | |
tree | b21dcab8cdbe07ded020ad2c036bd62d4b8d88ce /src/CompactUnwinder.hpp | |
parent | ca83053650e2c15214b17a869aae5d544c9a59da (diff) | |
download | src-vendor/llvm-libunwind/libunwind-r272680.tar.gz src-vendor/llvm-libunwind/libunwind-r272680.zip |
Import LLVM libunwind snapshot revision 272680vendor/llvm-libunwind/libunwind-r272680
Significant upstream revisions:
260595: [AArch64] Fix libunwind build when using GNU assembler
270692: Introduce a native-only unwinder build.
270972: Disable cross-unwinding by default.
271004: [libunwind] Improve unwinder stack usage - II
272680: [libunwind] Improve unwinder stack usage - III
Obtained from: https://llvm.org/svn/llvm-project/libunwind/trunk/
Diffstat (limited to 'src/CompactUnwinder.hpp')
-rw-r--r-- | src/CompactUnwinder.hpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/CompactUnwinder.hpp b/src/CompactUnwinder.hpp index cd9ce3e5ecd8..f528fba984db 100644 --- a/src/CompactUnwinder.hpp +++ b/src/CompactUnwinder.hpp @@ -27,6 +27,7 @@ namespace libunwind { +#if defined(_LIBUNWIND_TARGET_I386) /// CompactUnwinder_x86 uses a compact unwind info to virtually "step" (aka /// unwind) by modifying a Registers_x86 register set template <typename A> @@ -255,8 +256,10 @@ void CompactUnwinder_x86<A>::framelessUnwind( // old esp is before return address registers.setSP((uint32_t)returnAddressLocation + 4); } +#endif // _LIBUNWIND_TARGET_I386 +#if defined(_LIBUNWIND_TARGET_X86_64) /// CompactUnwinder_x86_64 uses a compact unwind info to virtually "step" (aka /// unwind) by modifying a Registers_x86_64 register set template <typename A> @@ -484,9 +487,11 @@ void CompactUnwinder_x86_64<A>::framelessUnwind(A &addressSpace, // old esp is before return address registers.setSP(returnAddressLocation + 8); } +#endif // _LIBUNWIND_TARGET_X86_64 +#if defined(_LIBUNWIND_TARGET_AARCH64) /// CompactUnwinder_arm64 uses a compact unwind info to virtually "step" (aka /// unwind) by modifying a Registers_arm64 register set template <typename A> @@ -686,6 +691,7 @@ int CompactUnwinder_arm64<A>::stepWithCompactEncodingFrame( return UNW_STEP_SUCCESS; } +#endif // _LIBUNWIND_TARGET_AARCH64 } // namespace libunwind |