| .. | .. |
|---|
| 29 | 29 | #elif defined(__powerpc__) |
|---|
| 30 | 30 | #define GEN_ELF_ARCH EM_PPC |
|---|
| 31 | 31 | #define GEN_ELF_CLASS ELFCLASS32 |
|---|
| 32 | +#elif defined(__sparc__) && defined(__arch64__) |
|---|
| 33 | +#define GEN_ELF_ARCH EM_SPARCV9 |
|---|
| 34 | +#define GEN_ELF_CLASS ELFCLASS64 |
|---|
| 35 | +#elif defined(__sparc__) |
|---|
| 36 | +#define GEN_ELF_ARCH EM_SPARC |
|---|
| 37 | +#define GEN_ELF_CLASS ELFCLASS32 |
|---|
| 38 | +#elif defined(__s390x__) |
|---|
| 39 | +#define GEN_ELF_ARCH EM_S390 |
|---|
| 40 | +#define GEN_ELF_CLASS ELFCLASS64 |
|---|
| 32 | 41 | #else |
|---|
| 33 | 42 | #error "unsupported architecture" |
|---|
| 34 | 43 | #endif |
|---|
| .. | .. |
|---|
| 41 | 50 | |
|---|
| 42 | 51 | #if GEN_ELF_CLASS == ELFCLASS64 |
|---|
| 43 | 52 | #define elf_newehdr elf64_newehdr |
|---|
| 53 | +#define elf_newphdr elf64_newphdr |
|---|
| 44 | 54 | #define elf_getshdr elf64_getshdr |
|---|
| 45 | 55 | #define Elf_Ehdr Elf64_Ehdr |
|---|
| 56 | +#define Elf_Phdr Elf64_Phdr |
|---|
| 46 | 57 | #define Elf_Shdr Elf64_Shdr |
|---|
| 47 | 58 | #define Elf_Sym Elf64_Sym |
|---|
| 48 | 59 | #define ELF_ST_TYPE(a) ELF64_ST_TYPE(a) |
|---|
| .. | .. |
|---|
| 50 | 61 | #define ELF_ST_VIS(a) ELF64_ST_VISIBILITY(a) |
|---|
| 51 | 62 | #else |
|---|
| 52 | 63 | #define elf_newehdr elf32_newehdr |
|---|
| 64 | +#define elf_newphdr elf32_newphdr |
|---|
| 53 | 65 | #define elf_getshdr elf32_getshdr |
|---|
| 54 | 66 | #define Elf_Ehdr Elf32_Ehdr |
|---|
| 67 | +#define Elf_Phdr Elf32_Phdr |
|---|
| 55 | 68 | #define Elf_Shdr Elf32_Shdr |
|---|
| 56 | 69 | #define Elf_Sym Elf32_Sym |
|---|
| 57 | 70 | #define ELF_ST_TYPE(a) ELF32_ST_TYPE(a) |
|---|