diff options
author | Ian Lance Taylor <iant@golang.org> | 2020-04-03 15:01:34 -0700 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2020-04-03 15:01:34 -0700 |
commit | 00eb71c43c74cc5143b60d470450c3981037ed3c (patch) | |
tree | 66833e46153e7869903229adb39ebb1a86c86169 /gcc/ada | |
parent | 213caedb0104ed919b67b3446a53f06054d62fec (diff) | |
parent | ff229375721d1763a18ec76403aa1215b2932fb3 (diff) | |
download | gcc-00eb71c43c74cc5143b60d470450c3981037ed3c.zip gcc-00eb71c43c74cc5143b60d470450c3981037ed3c.tar.gz gcc-00eb71c43c74cc5143b60d470450c3981037ed3c.tar.bz2 |
Merge from trunk revision ff229375721d1763a18ec76403aa1215b2932fb3
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ada/raise-gcc.c | 10 |
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 7601fe2..64b2572 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2020-02-06 Alexandre Oliva <oliva@adacore.com> + + * raise-gcc.c (personality_body) [__ARM_EABI_UNWINDER__]: + Initialize barrier_cache.sp when ending phase1. + 2020-01-04 Eric Botcazou <ebotcazou@adacore.com> * gnatvsn.ads: Bump copyright year. diff --git a/gcc/ada/raise-gcc.c b/gcc/ada/raise-gcc.c index 1ba8af1..3b6c21f 100644 --- a/gcc/ada/raise-gcc.c +++ b/gcc/ada/raise-gcc.c @@ -1211,6 +1211,16 @@ personality_body (_Unwind_Action uw_phases, } else { +#ifdef __ARM_EABI_UNWINDER__ + /* Though we do not use this field ourselves, initializing + it is required by the ARM EH ABI before a personality + function in phase1 returns _URC_HANDLER_FOUND, so that + any personality function can use it in phase2 to test + whether the handler frame was reached. */ + uw_exception->barrier_cache.sp + = _Unwind_GetGR (uw_context, UNWIND_STACK_REG); +#endif + #ifndef CERT /* Trigger the appropriate notification routines before the second phase starts, when the stack is still intact. First install what |