diff options
author | Alex Shi <alex.shi@linaro.org> | 2017-07-22 12:02:03 +0800 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2017-07-22 12:02:03 +0800 |
commit | b017a97fcc4f4649ee687d568b7e856829aad6b5 (patch) | |
tree | 31b34798a048ab880a0e483b1e864a3bb4249881 /arch/s390 | |
parent | 5289d9c979092878f2bf741d8b365ef7565fb6db (diff) | |
parent | ece78cd779f4f306a869f217bc0236507b0fe5f5 (diff) |
Merge tag 'v4.4.78' into linux-linaro-lsk-v4.4
This is the 4.4.78 stable release
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/include/asm/elf.h | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/arch/s390/include/asm/elf.h b/arch/s390/include/asm/elf.h index bab6739a1154..b9eb7b1a49d2 100644 --- a/arch/s390/include/asm/elf.h +++ b/arch/s390/include/asm/elf.h @@ -154,14 +154,13 @@ extern unsigned int vdso_enabled; #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. 64-bit - tasks are aligned to 4GB. */ -#define ELF_ET_DYN_BASE (is_32bit_task() ? \ - (STACK_TOP / 3 * 2) : \ - (STACK_TOP / 3 * 2) & ~((1UL << 32) - 1)) +/* + * 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 (is_compat_task() ? 0x000400000UL : \ + 0x100000000UL) /* This yields a mask that user programs can use to figure out what instruction set this CPU supports. */ |