From c2ec6ce65c50bb9ad2ed0d1a6e7ae7c2c35c34fd Mon Sep 17 00:00:00 2001 From: Martin Storsjo Date: Fri, 29 Sep 2017 06:09:09 +0000 Subject: [PATCH] Skip building x86 parts of UnwindRegisters*.S when targeting SjLj This extends SVN r314197 from the arm parts to the whole file. Differential Revision: https://reviews.llvm.org/D38381 llvm-svn: 314492 --- libunwind/src/UnwindRegistersRestore.S | 6 +++++- libunwind/src/UnwindRegistersSave.S | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/libunwind/src/UnwindRegistersRestore.S b/libunwind/src/UnwindRegistersRestore.S index e629e25..a90d5f5 100644 --- a/libunwind/src/UnwindRegistersRestore.S +++ b/libunwind/src/UnwindRegistersRestore.S @@ -11,6 +11,8 @@ .text +#if !defined(__APPLE__) && !defined(__USING_SJLJ_EXCEPTIONS__) + #if defined(__i386__) DEFINE_LIBUNWIND_PRIVATE_FUNCTION(_ZN9libunwind13Registers_x866jumptoEv) # @@ -308,7 +310,7 @@ DEFINE_LIBUNWIND_PRIVATE_FUNCTION(_ZN9libunwind15Registers_arm646jumptoEv) ldp x0, x1, [x0, #0x000] // restore x0,x1 ret x30 // jump to pc -#elif defined(__arm__) && !(defined(__APPLE__) || defined(__USING_SJLJ_EXCEPTIONS__)) +#elif defined(__arm__) #if !defined(__ARM_ARCH_ISA_ARM) .thumb @@ -491,5 +493,7 @@ DEFINE_LIBUNWIND_PRIVATE_FUNCTION(_ZN9libunwind14Registers_or1k6jumptoEv) #endif +#endif /* !defined(__APPLE__) && !defined(__USING_SJLJ_EXCEPTIONS__) */ + NO_EXEC_STACK_DIRECTIVE diff --git a/libunwind/src/UnwindRegistersSave.S b/libunwind/src/UnwindRegistersSave.S index a0f864e..7f5a9ac 100644 --- a/libunwind/src/UnwindRegistersSave.S +++ b/libunwind/src/UnwindRegistersSave.S @@ -11,6 +11,8 @@ .text +#if !defined(__APPLE__) && !defined(__USING_SJLJ_EXCEPTIONS__) + #if defined(__i386__) # @@ -289,7 +291,7 @@ DEFINE_LIBUNWIND_FUNCTION(unw_getcontext) mov x0, #0 // return UNW_ESUCCESS ret -#elif defined(__arm__) && !(defined(__APPLE__) || defined(__USING_SJLJ_EXCEPTIONS__)) +#elif defined(__arm__) #if !defined(__ARM_ARCH_ISA_ARM) .thumb @@ -471,5 +473,7 @@ DEFINE_LIBUNWIND_FUNCTION(unw_getcontext) l.sw 124(r3), r31 #endif +#endif /* !defined(__APPLE__) && !defined(__USING_SJLJ_EXCEPTIONS__) */ + NO_EXEC_STACK_DIRECTIVE -- 2.7.4