hc
2024-05-10 cde9070d9970eef1f7ec2360586c802a16230ad8
kernel/tools/perf/util/genelf.h
....@@ -29,6 +29,15 @@
2929 #elif defined(__powerpc__)
3030 #define GEN_ELF_ARCH EM_PPC
3131 #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
3241 #else
3342 #error "unsupported architecture"
3443 #endif
....@@ -41,8 +50,10 @@
4150
4251 #if GEN_ELF_CLASS == ELFCLASS64
4352 #define elf_newehdr elf64_newehdr
53
+#define elf_newphdr elf64_newphdr
4454 #define elf_getshdr elf64_getshdr
4555 #define Elf_Ehdr Elf64_Ehdr
56
+#define Elf_Phdr Elf64_Phdr
4657 #define Elf_Shdr Elf64_Shdr
4758 #define Elf_Sym Elf64_Sym
4859 #define ELF_ST_TYPE(a) ELF64_ST_TYPE(a)
....@@ -50,8 +61,10 @@
5061 #define ELF_ST_VIS(a) ELF64_ST_VISIBILITY(a)
5162 #else
5263 #define elf_newehdr elf32_newehdr
64
+#define elf_newphdr elf32_newphdr
5365 #define elf_getshdr elf32_getshdr
5466 #define Elf_Ehdr Elf32_Ehdr
67
+#define Elf_Phdr Elf32_Phdr
5568 #define Elf_Shdr Elf32_Shdr
5669 #define Elf_Sym Elf32_Sym
5770 #define ELF_ST_TYPE(a) ELF32_ST_TYPE(a)