Separate mmap area from program loading (relocation) area
We need to separate the two because the heap of a PIE is created in the area to which it is mapped. Related commits:b1309a5d: PIE is mapped at map_end instead of at user_startc4219655: Interpreter is mapped to map_start to make a system call that dereferences a NULL pointer fail [dominique.martinet@cea.fr: Also add ULONG_MAX and friend macroes, used for data_min] [ken.sato.ty@hitachi-solutions.com: fix execve] Change-Id: I8ecaf22b7965090ab67bebece57c68283ba23664
This commit is contained in:
committed by
Dominique Martinet
parent
97e0219f50
commit
4d215de641
@ -57,6 +57,7 @@ extern char _end[];
|
||||
|
||||
#if (VA_BITS == 39 && GRANULE_SIZE == _SZ4KB)
|
||||
#
|
||||
# define LD_TASK_UNMAPPED_BASE UL(0x0000000400000000)
|
||||
# define TASK_UNMAPPED_BASE UL(0x0000000800000000)
|
||||
# define USER_END UL(0x0000002000000000)
|
||||
# define MAP_VMAP_START UL(0xffffffbdc0000000)
|
||||
@ -67,6 +68,7 @@ extern char _end[];
|
||||
#
|
||||
#elif (VA_BITS == 42 && GRANULE_SIZE == _SZ64KB)
|
||||
#
|
||||
# define LD_TASK_UNMAPPED_BASE UL(0x0000002000000000)
|
||||
# define TASK_UNMAPPED_BASE UL(0x0000004000000000)
|
||||
# define USER_END UL(0x0000010000000000)
|
||||
# define MAP_VMAP_START UL(0xfffffdfee0000000)
|
||||
@ -77,6 +79,7 @@ extern char _end[];
|
||||
#
|
||||
#elif (VA_BITS == 48 && GRANULE_SIZE == _SZ4KB)
|
||||
#
|
||||
# define LD_TASK_UNMAPPED_BASE UL(0x0000080000000000)
|
||||
# define TASK_UNMAPPED_BASE UL(0x0000100000000000)
|
||||
# define USER_END UL(0x0000400000000000)
|
||||
# define MAP_VMAP_START UL(0xffff7bffc0000000)
|
||||
@ -87,6 +90,7 @@ extern char _end[];
|
||||
#
|
||||
#elif (VA_BITS == 48 && GRANULE_SIZE == _SZ64KB)
|
||||
#
|
||||
# define LD_TASK_UNMAPPED_BASE UL(0x0000080000000000)
|
||||
# define TASK_UNMAPPED_BASE UL(0x0000100000000000)
|
||||
# define USER_END UL(0x0000400000000000)
|
||||
# define MAP_VMAP_START UL(0xffff780000000000)
|
||||
|
||||
Reference in New Issue
Block a user