Go to the documentation of this file.
7 #ifndef __ASMS390_ELF_H
8 #define __ASMS390_ELF_H
21 #define R_390_GLOB_DAT 10
22 #define R_390_JMP_SLOT 11
23 #define R_390_RELATIVE 12
24 #define R_390_GOTOFF32 13
25 #define R_390_GOTPC 14
26 #define R_390_GOT16 15
28 #define R_390_PC16DBL 17
29 #define R_390_PLT16DBL 18
30 #define R_390_PC32DBL 19
31 #define R_390_PLT32DBL 20
32 #define R_390_GOTPCDBL 21
35 #define R_390_GOT64 24
36 #define R_390_PLT64 25
37 #define R_390_GOTENT 26
38 #define R_390_GOTOFF16 27
39 #define R_390_GOTOFF64 28
40 #define R_390_GOTPLT12 29
41 #define R_390_GOTPLT16 30
42 #define R_390_GOTPLT32 31
43 #define R_390_GOTPLT64 32
44 #define R_390_GOTPLTENT 33
45 #define R_390_PLTOFF16 34
46 #define R_390_PLTOFF32 35
47 #define R_390_PLTOFF64 36
48 #define R_390_TLS_LOAD 37
49 #define R_390_TLS_GDCALL 38
51 #define R_390_TLS_LDCALL 39
53 #define R_390_TLS_GD32 40
55 #define R_390_TLS_GD64 41
57 #define R_390_TLS_GOTIE12 42
59 #define R_390_TLS_GOTIE32 43
61 #define R_390_TLS_GOTIE64 44
63 #define R_390_TLS_LDM32 45
65 #define R_390_TLS_LDM64 46
67 #define R_390_TLS_IE32 47
69 #define R_390_TLS_IE64 48
71 #define R_390_TLS_IEENT 49
73 #define R_390_TLS_LE32 50
75 #define R_390_TLS_LE64 51
77 #define R_390_TLS_LDO32 52
79 #define R_390_TLS_LDO64 53
81 #define R_390_TLS_DTPMOD 54
82 #define R_390_TLS_DTPOFF 55
83 #define R_390_TLS_TPOFF 56
86 #define R_390_GOT20 58
87 #define R_390_GOTPLT20 59
88 #define R_390_TLS_GOTIE20 60
94 #define HWCAP_S390_ESAN3 1
95 #define HWCAP_S390_ZARCH 2
96 #define HWCAP_S390_STFLE 4
97 #define HWCAP_S390_MSA 8
98 #define HWCAP_S390_LDISP 16
99 #define HWCAP_S390_EIMM 32
100 #define HWCAP_S390_DFP 64
101 #define HWCAP_S390_HPAGE 128
102 #define HWCAP_S390_ETF3EH 256
103 #define HWCAP_S390_HIGH_GPRS 512
104 #define HWCAP_S390_TE 1024
110 #define ELF_CLASS ELFCLASS32
112 #define ELF_CLASS ELFCLASS64
114 #define ELF_DATA ELFDATA2MSB
115 #define ELF_ARCH EM_S390
121 #include <asm/ptrace.h>
122 #include <asm/user.h>
130 #include <linux/sched.h>
131 #include <asm/mmu_context.h>
133 #include <asm/vdso.h>
140 #define elf_check_arch(x) \
141 (((x)->e_machine == EM_S390 || (x)->e_machine == EM_S390_OLD) \
142 && (x)->e_ident[EI_CLASS] == ELF_CLASS)
143 #define compat_elf_check_arch(x) \
144 (((x)->e_machine == EM_S390 || (x)->e_machine == EM_S390_OLD) \
145 && (x)->e_ident[EI_CLASS] == ELF_CLASS)
146 #define compat_start_thread start_thread31
150 #define ELF_PLAT_INIT(_r, load_addr) \
155 #define CORE_DUMP_USE_REGSET
156 #define ELF_EXEC_PAGESIZE 4096
164 #define ELF_ET_DYN_BASE (randomize_et_dyn(STACK_TOP / 3 * 2))
170 #define ELF_HWCAP (elf_hwcap)
179 #define ELF_PLATFORM_SIZE 8
181 #define ELF_PLATFORM (elf_platform)
184 #define SET_PERSONALITY(ex) \
185 set_personality(PER_LINUX | (current->personality & (~PER_MASK)))
187 #define SET_PERSONALITY(ex) \
189 if (personality(current->personality) != PER_LINUX32) \
190 set_personality(PER_LINUX | \
191 (current->personality & ~PER_MASK)); \
192 if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \
193 set_thread_flag(TIF_31BIT); \
195 clear_thread_flag(TIF_31BIT); \
199 #define STACK_RND_MASK 0x7ffUL
201 #define ARCH_DLINFO \
204 NEW_AUX_ENT(AT_SYSINFO_EHDR, \
205 (unsigned long)current->mm->context.vdso_base); \
210 #define ARCH_HAS_SETUP_ADDITIONAL_PAGES 1
214 #define arch_randomize_brk arch_randomize_brk