diff options
author | hainque <hainque@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-05 18:10:31 +0000 |
---|---|---|
committer | hainque <hainque@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-05 18:10:31 +0000 |
commit | 25cbccba6a01ceb40ebf54b6e64686e8f5029112 (patch) | |
tree | 94b150bbd4f014cb2b04c5492e00d5ca0c08e1ff /libgcc | |
parent | 5761e2776e02f9597608a03e0fb34d98d5ac6f8d (diff) | |
download | gcc-25cbccba6a01ceb40ebf54b6e64686e8f5029112.tar.gz |
2016-01-05 Olivier Hainque <hainque@adacore.com>
* config/rs6000/aix-unwind.h (ucontext_for): Handle AIX 7.1
specificities.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232082 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/ChangeLog | 5 | ||||
-rw-r--r-- | libgcc/config/rs6000/aix-unwind.h | 11 |
2 files changed, 13 insertions, 3 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 484c7268c6a..4a9b5d39b85 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2016-01-05 Olivier Hainque <hainque@adacore.com> + + * config/rs6000/aix-unwind.h (ucontext_for): Handle AIX 7.1 + specificities. + 2016-01-04 Jakub Jelinek <jakub@redhat.com> Update copyright years. diff --git a/libgcc/config/rs6000/aix-unwind.h b/libgcc/config/rs6000/aix-unwind.h index 16a1a9e1dc0..4edeaf4606b 100644 --- a/libgcc/config/rs6000/aix-unwind.h +++ b/libgcc/config/rs6000/aix-unwind.h @@ -64,7 +64,7 @@ #endif /* Now on to MD_FALLBACK_FRAME_STATE_FOR. - 32bit AIX 5.2 and 5.3 only at this stage. */ + 32bit AIX 5.2, 5.3 and 7.1 only at this stage. */ #include <stdlib.h> #include <stddef.h> @@ -128,8 +128,9 @@ ucontext_for (struct _Unwind_Context *context) { const unsigned int * ra = context->ra; - /* AIX 5.2 and 5.3, threaded or not, share common patterns and feature - variants depending on the configured kernel (unix_mp or unix_64). */ + /* AIX 5.2, 5.3 and 7.1, threaded or not, share common patterns + and feature variants depending on the configured kernel (unix_mp + or unix_64). */ if (*(ra - 5) == 0x4c00012c /* isync */ && *(ra - 4) == 0x80ec0000 /* lwz r7,0(r12) */ @@ -150,6 +151,10 @@ ucontext_for (struct _Unwind_Context *context) /* AIX 5.3 */ case 0x835a0570: /* lwz r26,1392(r26) */ return (ucontext_t *)(context->cfa + 0x40); + + /* AIX 7.1 */ + case 0x2c1a0000: /* cmpwi r26,0 */ + return (ucontext_t *)(context->cfa + 0x40); default: return 0; |