• Home
  • Raw
  • Download

Lines Matching +full:ia32 +full:- +full:3 +full:a

1 /* SPDX-License-Identifier: GPL-2.0 */
27 #define R_386_GOT32 3
46 /* x86-64 relocation types */
50 #define R_X86_64_GOT32 3 /* 32 bit GOT entry */
64 #define R_X86_64_PC64 24 /* Place relative 64-bit signed */
88 (((x)->e_machine == EM_386) || ((x)->e_machine == EM_486))
97 /* SVR4/i386 ABI (pages 3-31, 3-32) says that when the program starts %edx
98 contains a pointer to a function which might be registered using `atexit'.
99 This provides a mean for the dynamic linker to call DT_FINI functions for
102 A value of 0 tells we have no such handler.
109 _r->bx = 0; _r->cx = 0; _r->dx = 0; \
110 _r->si = 0; _r->di = 0; _r->bp = 0; \
111 _r->ax = 0; \
121 pr_reg[0] = regs->bx; \
122 pr_reg[1] = regs->cx; \
123 pr_reg[2] = regs->dx; \
124 pr_reg[3] = regs->si; \
125 pr_reg[4] = regs->di; \
126 pr_reg[5] = regs->bp; \
127 pr_reg[6] = regs->ax; \
128 pr_reg[7] = regs->ds; \
129 pr_reg[8] = regs->es; \
130 pr_reg[9] = regs->fs; \
131 pr_reg[11] = regs->orig_ax; \
132 pr_reg[12] = regs->ip; \
133 pr_reg[13] = regs->cs; \
134 pr_reg[14] = regs->flags; \
135 pr_reg[15] = regs->sp; \
136 pr_reg[16] = regs->ss; \
151 #define ELF_PLATFORM (utsname()->machine)
160 ((x)->e_machine == EM_X86_64)
164 (IS_ENABLED(CONFIG_X86_X32_ABI) && (x)->e_machine == EM_X86_64))
174 /*regs->ax = */ regs->bx = regs->cx = regs->dx = 0; in elf_common_init()
175 regs->si = regs->di = regs->bp = 0; in elf_common_init()
176 regs->r8 = regs->r9 = regs->r10 = regs->r11 = 0; in elf_common_init()
177 regs->r12 = regs->r13 = regs->r14 = regs->r15 = 0; in elf_common_init()
178 t->fsbase = t->gsbase = 0; in elf_common_init()
179 t->fsindex = t->gsindex = 0; in elf_common_init()
180 t->ds = t->es = ds; in elf_common_init()
184 elf_common_init(&current->thread, _r, 0)
187 elf_common_init(&current->thread, regs, __USER_DS)
207 (pr_reg)[0] = (regs)->r15; \
208 (pr_reg)[1] = (regs)->r14; \
209 (pr_reg)[2] = (regs)->r13; \
210 (pr_reg)[3] = (regs)->r12; \
211 (pr_reg)[4] = (regs)->bp; \
212 (pr_reg)[5] = (regs)->bx; \
213 (pr_reg)[6] = (regs)->r11; \
214 (pr_reg)[7] = (regs)->r10; \
215 (pr_reg)[8] = (regs)->r9; \
216 (pr_reg)[9] = (regs)->r8; \
217 (pr_reg)[10] = (regs)->ax; \
218 (pr_reg)[11] = (regs)->cx; \
219 (pr_reg)[12] = (regs)->dx; \
220 (pr_reg)[13] = (regs)->si; \
221 (pr_reg)[14] = (regs)->di; \
222 (pr_reg)[15] = (regs)->orig_ax; \
223 (pr_reg)[16] = (regs)->ip; \
224 (pr_reg)[17] = (regs)->cs; \
225 (pr_reg)[18] = (regs)->flags; \
226 (pr_reg)[19] = (regs)->sp; \
227 (pr_reg)[20] = (regs)->ss; \
236 /* I'm not sure if we can use '-' here */
249 * 64-bit, this is above 4GB to leave the entire 32-bit address
250 * space open for things that want to use the area for 32-bit pointers.
253 (DEFAULT_MAP_WINDOW / 3 * 2))
255 /* This yields a mask that user programs can use to figure out what
270 /* This yields a string that ld.so will use to load implementation
285 *              CPU: | lacks NX*  | has NX, ia32     | has NX, x86_64 |
287 * ---------------------|------------|------------------|----------------|
288 * missing PT_GNU_STACK | exec-all   | exec-all         | exec-none      |
289 * PT_GNU_STACK == RWX  | exec-stack | exec-stack       | exec-stack     |
290 * PT_GNU_STACK == RW   | exec-none  | exec-none        | exec-none      |
292 * exec-all : all PROT_READ user mappings are executable, except when
293 * backed by files on a noexec-filesystem.
294 * exec-none : only PROT_EXEC user mappings are executable.
295 * exec-stack: only the stack and PROT_EXEC user mappings are executable.
317 * True on X86_32 or when emulating IA32 on X86_64
350 (unsigned long __force)current->mm->context.vdso); \
353 /* As a historical oddity, the x32 and x86_64 vDSOs are controlled together. */
358 (unsigned long __force)current->mm->context.vdso); \
373 #define VDSO_CURRENT_BASE ((unsigned long)current->mm->context.vdso)
376 ((unsigned long)current->mm->context.vdso + \