Commit 345f8f34 authored by Martin Schwidefsky's avatar Martin Schwidefsky

s390: revert ELF_ET_DYN_BASE base changes

This reverts commit a73dc537.

Reducing the base address for 31-bit PIE executables from
(STACK_TOP/3)*2 to 4MB broke several compat programs which
use -fpie to move the executable out of the lower 16MB.

Cc: <stable@vger.kernel.org> # 4.13+
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent fec37202
...@@ -194,13 +194,14 @@ struct arch_elf_state { ...@@ -194,13 +194,14 @@ struct arch_elf_state {
#define CORE_DUMP_USE_REGSET #define CORE_DUMP_USE_REGSET
#define ELF_EXEC_PAGESIZE PAGE_SIZE #define ELF_EXEC_PAGESIZE PAGE_SIZE
/* /* This is the location that an ET_DYN program is loaded if exec'ed. Typical
* This is the base location for PIE (ET_DYN with INTERP) loads. On use of this is to invoke "./ld.so someprog" to test out a new version of
* 64-bit, this is raised to 4GB to leave the entire 32-bit address the loader. We need to make sure that it is out of the way of the program
* space open for things that want to use the area for 32-bit pointers. 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_compat_task() ? 0x000400000UL : \ #define ELF_ET_DYN_BASE (is_compat_task() ? \
0x100000000UL) (STACK_TOP / 3 * 2) : \
(STACK_TOP / 3 * 2) & ~((1UL << 32) - 1))
/* This yields a mask that user programs can use to figure out what /* This yields a mask that user programs can use to figure out what
instruction set this CPU supports. */ instruction set this CPU supports. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment