mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
0d19c66df4
commit
a22189835a
|
|
@ -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>
|
2016-01-04 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
Update copyright years.
|
Update copyright years.
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
{
|
{
|
||||||
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) */
|
||||||
|
|
@ -151,6 +152,10 @@ ucontext_for (struct _Unwind_Context *context)
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue