diff options
Diffstat (limited to 'arch/x86/include/asm/elf.h')
| -rw-r--r-- | arch/x86/include/asm/elf.h | 13 | 
1 files changed, 7 insertions, 6 deletions
diff --git a/arch/x86/include/asm/elf.h b/arch/x86/include/asm/elf.h index e8ab9a46bc68..1c18d83d3f09 100644 --- a/arch/x86/include/asm/elf.h +++ b/arch/x86/include/asm/elf.h @@ -245,12 +245,13 @@ extern int force_personality32;  #define CORE_DUMP_USE_REGSET  #define ELF_EXEC_PAGESIZE	4096 -/* This is the location that an ET_DYN program is loaded if exec'ed.  Typical -   use of this is to invoke "./ld.so someprog" to test out a new version of -   the loader.  We need to make sure that it is out of the way of the program -   that it will "exec", and that there is sufficient room for the brk.  */ - -#define ELF_ET_DYN_BASE		(TASK_SIZE / 3 * 2) +/* + * This is the base location for PIE (ET_DYN with INTERP) loads. On + * 64-bit, this is raised to 4GB to leave the entire 32-bit address + * space open for things that want to use the area for 32-bit pointers. + */ +#define ELF_ET_DYN_BASE		(mmap_is_ia32() ? 0x000400000UL : \ +						  0x100000000UL)  /* This yields a mask that user programs can use to figure out what     instruction set this CPU supports.  This could be done in user space,  | 
