From be68937be28ad63bd6f7a75d0fa5c851ba4afc2b Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 11 Dec 2018 20:50:59 +0000 Subject: runtime: use _URC_FAILURE on ARM32 ARM32 EABI unwinder does not define _URC_NORMAL_STOP. Instead, it has _URC_FAILURE. Use _URC_FAILURE there. Should fix ARM32 build. Reviewed-on: https://go-review.googlesource.com/c/153417 From-SVN: r267033 --- libgo/runtime/go-unwind.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'libgo') diff --git a/libgo/runtime/go-unwind.c b/libgo/runtime/go-unwind.c index a1a9558..c44755f 100644 --- a/libgo/runtime/go-unwind.c +++ b/libgo/runtime/go-unwind.c @@ -392,6 +392,12 @@ parse_lsda_header (struct _Unwind_Context *context, const unsigned char *p, #define CONTINUE_UNWINDING return _URC_CONTINUE_UNWIND #endif +#ifdef __ARM_EABI_UNWINDER__ +#define STOP_UNWINDING _URC_FAILURE +#else +#define STOP_UNWINDING _URC_NORMAL_STOP +#endif + #ifdef __USING_SJLJ_EXCEPTIONS__ #define PERSONALITY_FUNCTION __gccgo_personality_sj0 #define __builtin_eh_return_data_regno(x) x @@ -751,7 +757,7 @@ scanstackwithmap_callback (struct _Unwind_Context *context, void *arg) // TODO: print gp, pc, sp runtime_throw ("no stack map"); } - return _URC_NORMAL_STOP; + return STOP_UNWINDING; } case FOUND: break; @@ -799,7 +805,7 @@ probestackmaps_callback (struct _Unwind_Context *context, // Found a stack map. No need to keep unwinding. runtime_usestackmaps = true; - return _URC_NORMAL_STOP; + return STOP_UNWINDING; } // Try to find a stack map, store the result in global variable runtime_usestackmaps. -- cgit v1.1