Lines 247-257
extern int force_personality32;
Link Here
|
247 |
|
247 |
|
248 |
/* |
248 |
/* |
249 |
* This is the base location for PIE (ET_DYN with INTERP) loads. On |
249 |
* This is the base location for PIE (ET_DYN with INTERP) loads. On |
250 |
* 64-bit, this is above 4GB to leave the entire 32-bit address |
250 |
* 64-bit, this is raised to 4GB to leave the entire 32-bit address |
251 |
* space open for things that want to use the area for 32-bit pointers. |
251 |
* space open for things that want to use the area for 32-bit pointers. |
252 |
*/ |
252 |
*/ |
253 |
#define ELF_ET_DYN_BASE (mmap_is_ia32() ? 0x000400000UL : \ |
253 |
#define ELF_ET_DYN_BASE (mmap_is_ia32() ? 0x000400000UL : \ |
254 |
(DEFAULT_MAP_WINDOW / 3 * 2)) |
254 |
0x100000000UL) |
255 |
|
255 |
|
256 |
/* This yields a mask that user programs can use to figure out what |
256 |
/* This yields a mask that user programs can use to figure out what |
257 |
instruction set this CPU supports. This could be done in user space, |
257 |
instruction set this CPU supports. This could be done in user space, |
Lines 333-340
extern unsigned long get_sigframe_size(void);
Link Here
|
333 |
|
333 |
|
334 |
#ifdef CONFIG_X86_32 |
334 |
#ifdef CONFIG_X86_32 |
335 |
|
335 |
|
336 |
#define __STACK_RND_MASK(is32bit) (0x7ff) |
336 |
#define __STACK_RND_MASK(is32bit) ((1UL << mmap_rnd_bits) - 1) |
337 |
#define STACK_RND_MASK (0x7ff) |
337 |
#define STACK_RND_MASK ((1UL << mmap_rnd_bits) - 1) |
338 |
|
338 |
|
339 |
#define ARCH_DLINFO ARCH_DLINFO_IA32 |
339 |
#define ARCH_DLINFO ARCH_DLINFO_IA32 |
340 |
|
340 |
|
Lines 343-349
extern unsigned long get_sigframe_size(void);
Link Here
|
343 |
#else /* CONFIG_X86_32 */ |
343 |
#else /* CONFIG_X86_32 */ |
344 |
|
344 |
|
345 |
/* 1GB for 64bit, 8MB for 32bit */ |
345 |
/* 1GB for 64bit, 8MB for 32bit */ |
346 |
#define __STACK_RND_MASK(is32bit) ((is32bit) ? 0x7ff : 0x3fffff) |
346 |
#ifdef CONFIG_COMPAT |
|
|
347 |
#define __STACK_RND_MASK(is32bit) ((is32bit) ? (1UL << mmap_rnd_compat_bits) - 1 : (1UL << mmap_rnd_bits) - 1) |
348 |
#else |
349 |
#define __STACK_RND_MASK(is32bit) ((1UL << mmap_rnd_bits) - 1) |
350 |
#endif |
347 |
#define STACK_RND_MASK __STACK_RND_MASK(mmap_is_ia32()) |
351 |
#define STACK_RND_MASK __STACK_RND_MASK(mmap_is_ia32()) |
348 |
|
352 |
|
349 |
#define ARCH_DLINFO \ |
353 |
#define ARCH_DLINFO \ |
Lines 407-411
struct va_alignment {
Link Here
|
407 |
} ____cacheline_aligned; |
411 |
} ____cacheline_aligned; |
408 |
|
412 |
|
409 |
extern struct va_alignment va_align; |
413 |
extern struct va_alignment va_align; |
410 |
extern unsigned long align_vdso_addr(unsigned long); |
|
|
411 |
#endif /* _ASM_X86_ELF_H */ |
414 |
#endif /* _ASM_X86_ELF_H */ |
Line 266
Link Here
|