arch.h revision 76c61f15d7989bf7adffed2e46a44c34a80bd927
15bfb061c4c7cfac6e1882a586cf36c849d95fceaJuan Cespedes#define BREAKPOINT_VALUE { 0x7f, 0xe0, 0x00, 0x08 }
2f1bfe203f5f1c0e11a614f9d593a68406f5cb47eJuan Cespedes#define BREAKPOINT_LENGTH 4
3f1bfe203f5f1c0e11a614f9d593a68406f5cb47eJuan Cespedes#define DECR_PC_AFTER_BREAK 0
4d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedes
5d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedes#define LT_ELFCLASS	ELFCLASS32
6d914a206a11cc1011a45f00674b1e16988fae77fJuan Cespedes#define LT_ELF_MACHINE	EM_PPC
776c61f15d7989bf7adffed2e46a44c34a80bd927Paul Gilliam#ifdef __powerpc64__ // Says 'ltrace' is 64 bits, says nothing about target.
89a2ad351a1c3215dc596ff3e2e3fd4bc24445a6bIan Wienand#define LT_ELFCLASS2	ELFCLASS64
99a2ad351a1c3215dc596ff3e2e3fd4bc24445a6bIan Wienand#define LT_ELF_MACHINE2	EM_PPC64
109a2ad351a1c3215dc596ff3e2e3fd4bc24445a6bIan Wienand
11be3207721cb07e7d01a81fb3beecd0327201478cPaul Gilliam#define PLT_REINITALISATION_BP    "_start"
129a2ad351a1c3215dc596ff3e2e3fd4bc24445a6bIan Wienand
1376c61f15d7989bf7adffed2e46a44c34a80bd927Paul Gilliam#define PPC_NOP { 0x60, 0x00, 0x00, 0x00 }
1476c61f15d7989bf7adffed2e46a44c34a80bd927Paul Gilliam#define PPC_NOP_LENGTH 4
1576c61f15d7989bf7adffed2e46a44c34a80bd927Paul Gilliam
1676c61f15d7989bf7adffed2e46a44c34a80bd927Paul Gilliam#if (PPC_NOP_LENGTH != BREAKPOINT_LENGTH)
1776c61f15d7989bf7adffed2e46a44c34a80bd927Paul Gilliam#error "Length of the breakpoint value not equal to the length of a nop instruction"
1876c61f15d7989bf7adffed2e46a44c34a80bd927Paul Gilliam#endif
1976c61f15d7989bf7adffed2e46a44c34a80bd927Paul Gilliam
2076c61f15d7989bf7adffed2e46a44c34a80bd927Paul Gilliam
219a2ad351a1c3215dc596ff3e2e3fd4bc24445a6bIan Wienand#endif
22