arch.h revision b3f8fef12fccb0914b7b28725f42192c279d31c9
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
7b3f8fef12fccb0914b7b28725f42192c279d31c9Petr Machata
876c61f15d7989bf7adffed2e46a44c34a80bd927Paul Gilliam#ifdef __powerpc64__ // Says 'ltrace' is 64 bits, says nothing about target.
99a2ad351a1c3215dc596ff3e2e3fd4bc24445a6bIan Wienand#define LT_ELFCLASS2	ELFCLASS64
109a2ad351a1c3215dc596ff3e2e3fd4bc24445a6bIan Wienand#define LT_ELF_MACHINE2	EM_PPC64
11b3f8fef12fccb0914b7b28725f42192c279d31c9Petr Machata#define ARCH_SUPPORTS_OPD
127003feea8035a3c4ee661dc2556d158e9ba41d39Petr Machata#endif
139a2ad351a1c3215dc596ff3e2e3fd4bc24445a6bIan Wienand
14be3207721cb07e7d01a81fb3beecd0327201478cPaul Gilliam#define PLT_REINITALISATION_BP    "_start"
159a2ad351a1c3215dc596ff3e2e3fd4bc24445a6bIan Wienand
1676c61f15d7989bf7adffed2e46a44c34a80bd927Paul Gilliam#define PPC_NOP { 0x60, 0x00, 0x00, 0x00 }
1776c61f15d7989bf7adffed2e46a44c34a80bd927Paul Gilliam#define PPC_NOP_LENGTH 4
1876c61f15d7989bf7adffed2e46a44c34a80bd927Paul Gilliam
1976c61f15d7989bf7adffed2e46a44c34a80bd927Paul Gilliam#if (PPC_NOP_LENGTH != BREAKPOINT_LENGTH)
2076c61f15d7989bf7adffed2e46a44c34a80bd927Paul Gilliam#error "Length of the breakpoint value not equal to the length of a nop instruction"
2176c61f15d7989bf7adffed2e46a44c34a80bd927Paul Gilliam#endif
22