Commit be68937b by Ian Lance Taylor

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
parent 582d2481
f0266d382f8965b7bcaa380aa963498c1884505e 4db15776701a7cfc1abcef08f7a98c63343d17e6
The first line of this file holds the git revision number of the last The first line of this file holds the git revision number of the last
merge done from the gofrontend repository. merge done from the gofrontend repository.
...@@ -392,6 +392,12 @@ parse_lsda_header (struct _Unwind_Context *context, const unsigned char *p, ...@@ -392,6 +392,12 @@ parse_lsda_header (struct _Unwind_Context *context, const unsigned char *p,
#define CONTINUE_UNWINDING return _URC_CONTINUE_UNWIND #define CONTINUE_UNWINDING return _URC_CONTINUE_UNWIND
#endif #endif
#ifdef __ARM_EABI_UNWINDER__
#define STOP_UNWINDING _URC_FAILURE
#else
#define STOP_UNWINDING _URC_NORMAL_STOP
#endif
#ifdef __USING_SJLJ_EXCEPTIONS__ #ifdef __USING_SJLJ_EXCEPTIONS__
#define PERSONALITY_FUNCTION __gccgo_personality_sj0 #define PERSONALITY_FUNCTION __gccgo_personality_sj0
#define __builtin_eh_return_data_regno(x) x #define __builtin_eh_return_data_regno(x) x
...@@ -751,7 +757,7 @@ scanstackwithmap_callback (struct _Unwind_Context *context, void *arg) ...@@ -751,7 +757,7 @@ scanstackwithmap_callback (struct _Unwind_Context *context, void *arg)
// TODO: print gp, pc, sp // TODO: print gp, pc, sp
runtime_throw ("no stack map"); runtime_throw ("no stack map");
} }
return _URC_NORMAL_STOP; return STOP_UNWINDING;
} }
case FOUND: case FOUND:
break; break;
...@@ -799,7 +805,7 @@ probestackmaps_callback (struct _Unwind_Context *context, ...@@ -799,7 +805,7 @@ probestackmaps_callback (struct _Unwind_Context *context,
// Found a stack map. No need to keep unwinding. // Found a stack map. No need to keep unwinding.
runtime_usestackmaps = true; runtime_usestackmaps = true;
return _URC_NORMAL_STOP; return STOP_UNWINDING;
} }
// Try to find a stack map, store the result in global variable runtime_usestackmaps. // Try to find a stack map, store the result in global variable runtime_usestackmaps.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment