Commit a2218983 by Olivier Hainque Committed by Olivier Hainque

aix-unwind.h (ucontext_for): Handle AIX 7.1 specificities.

2016-01-05  Olivier Hainque  <hainque@adacore.com>

	* config/rs6000/aix-unwind.h (ucontext_for): Handle AIX 7.1
	specificities.

From-SVN: r232082
parent 0d19c66d
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> 2016-01-04 Jakub Jelinek <jakub@redhat.com>
Update copyright years. Update copyright years.
......
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
#endif #endif
/* Now on to MD_FALLBACK_FRAME_STATE_FOR. /* 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 <stdlib.h>
#include <stddef.h> #include <stddef.h>
...@@ -128,8 +128,9 @@ ucontext_for (struct _Unwind_Context *context) ...@@ -128,8 +128,9 @@ ucontext_for (struct _Unwind_Context *context)
{ {
const unsigned int * ra = context->ra; const unsigned int * ra = context->ra;
/* AIX 5.2 and 5.3, threaded or not, share common patterns and feature /* AIX 5.2, 5.3 and 7.1, threaded or not, share common patterns
variants depending on the configured kernel (unix_mp or unix_64). */ and feature variants depending on the configured kernel (unix_mp
or unix_64). */
if (*(ra - 5) == 0x4c00012c /* isync */ if (*(ra - 5) == 0x4c00012c /* isync */
&& *(ra - 4) == 0x80ec0000 /* lwz r7,0(r12) */ && *(ra - 4) == 0x80ec0000 /* lwz r7,0(r12) */
...@@ -150,6 +151,10 @@ ucontext_for (struct _Unwind_Context *context) ...@@ -150,6 +151,10 @@ ucontext_for (struct _Unwind_Context *context)
/* AIX 5.3 */ /* AIX 5.3 */
case 0x835a0570: /* lwz r26,1392(r26) */ case 0x835a0570: /* lwz r26,1392(r26) */
return (ucontext_t *)(context->cfa + 0x40); return (ucontext_t *)(context->cfa + 0x40);
/* AIX 7.1 */
case 0x2c1a0000: /* cmpwi r26,0 */
return (ucontext_t *)(context->cfa + 0x40);
default: default:
return 0; return 0;
......
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