diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2022-10-26 22:04:41 +0200 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2022-10-28 16:26:53 +0200 |
commit | 49df152de7cba665e08a807e5cbc3dea846c88fa (patch) | |
tree | 6eb59e674fe25db0c2066945ad0e708dc837f0b9 | |
parent | 0508e11f88f73df500f91f75e0314c3592c0526b (diff) | |
download | newlib-49df152de7cba665e08a807e5cbc3dea846c88fa.zip newlib-49df152de7cba665e08a807e5cbc3dea846c88fa.tar.gz newlib-49df152de7cba665e08a807e5cbc3dea846c88fa.tar.bz2 |
Cygwin: memory_layout.h: define absolute MMAP_STORAGE_HIGH values here
Use the symbolic values in wincap.cc.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
-rw-r--r-- | winsup/cygwin/local_includes/memory_layout.h | 14 | ||||
-rw-r--r-- | winsup/cygwin/wincap.cc | 25 |
2 files changed, 22 insertions, 17 deletions
diff --git a/winsup/cygwin/local_includes/memory_layout.h b/winsup/cygwin/local_includes/memory_layout.h index 18e7e4d..83ccf8f 100644 --- a/winsup/cygwin/local_includes/memory_layout.h +++ b/winsup/cygwin/local_includes/memory_layout.h @@ -52,8 +52,12 @@ details. */ so there's not much chance to meet unluckily. */ #define USERHEAP_START 0xa00000000UL -/* The memory region used for memory maps. - Up to Win 8 only 44 bit address space, 48 bit starting witrh 8.1, so - the max value is variable. */ -#define MMAP_STORAGE_LOW 0x001000000000L /* Leave ~32 Gigs for heap. */ -#define MMAP_STORAGE_HIGH wincap.mmap_storage_high () +/* The memory region used for memory maps. Mmaps grow downwards. + Set the lowest address to leave ~32 Gigs for heap. + + Up to Win 8 we only have a 44 bit address space, 48 bit address space + starting with 8.1, so the max value is a system-specific variable. */ +#define MMAP_STORAGE_LOW 0x001000000000UL +#define __MMAP_STORAGE_HIGH_LEGACY 0x070000000000UL +#define __MMAP_STORAGE_HIGH 0x700000000000UL +#define MMAP_STORAGE_HIGH wincap.mmap_storage_high () diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc index 30da7e1..7309516 100644 --- a/winsup/cygwin/wincap.cc +++ b/winsup/cygwin/wincap.cc @@ -11,6 +11,7 @@ details. */ #include "miscfuncs.h" #include "security.h" #include "ntdll.h" +#include "memory_layout.h" /* CV, 2008-10-23: All wincapc's have to be in the .cygwin_dll_common section, same as wincap itself. Otherwise the capability changes made in @@ -20,7 +21,7 @@ details. */ wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = { def_guard_pages:2, - mmap_storage_high:0x070000000000LL, + mmap_storage_high:__MMAP_STORAGE_HIGH_LEGACY, { is_server:false, needs_query_information:true, @@ -51,7 +52,7 @@ wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = { wincaps wincap_8 __attribute__((section (".cygwin_dll_common"), shared)) = { def_guard_pages:3, - mmap_storage_high:0x070000000000LL, + mmap_storage_high:__MMAP_STORAGE_HIGH_LEGACY, { is_server:false, needs_query_information:true, @@ -82,7 +83,7 @@ wincaps wincap_8 __attribute__((section (".cygwin_dll_common"), shared)) = { wincaps wincap_8_1 __attribute__((section (".cygwin_dll_common"), shared)) = { def_guard_pages:3, - mmap_storage_high:0x700000000000LL, + mmap_storage_high:__MMAP_STORAGE_HIGH, { is_server:false, needs_query_information:false, @@ -113,7 +114,7 @@ wincaps wincap_8_1 __attribute__((section (".cygwin_dll_common"), shared)) = { wincaps wincap_10_1507 __attribute__((section (".cygwin_dll_common"), shared)) = { def_guard_pages:3, - mmap_storage_high:0x700000000000LL, + mmap_storage_high:__MMAP_STORAGE_HIGH, { is_server:false, needs_query_information:false, @@ -144,7 +145,7 @@ wincaps wincap_10_1507 __attribute__((section (".cygwin_dll_common"), shared)) wincaps wincap_10_1607 __attribute__((section (".cygwin_dll_common"), shared)) = { def_guard_pages:3, - mmap_storage_high:0x700000000000LL, + mmap_storage_high:__MMAP_STORAGE_HIGH, { is_server:false, needs_query_information:false, @@ -175,7 +176,7 @@ wincaps wincap_10_1607 __attribute__((section (".cygwin_dll_common"), shared)) wincaps wincap_10_1703 __attribute__((section (".cygwin_dll_common"), shared)) = { def_guard_pages:3, - mmap_storage_high:0x700000000000LL, + mmap_storage_high:__MMAP_STORAGE_HIGH, { is_server:false, needs_query_information:false, @@ -206,7 +207,7 @@ wincaps wincap_10_1703 __attribute__((section (".cygwin_dll_common"), shared)) = wincaps wincap_10_1709 __attribute__((section (".cygwin_dll_common"), shared)) = { def_guard_pages:3, - mmap_storage_high:0x700000000000LL, + mmap_storage_high:__MMAP_STORAGE_HIGH, { is_server:false, needs_query_information:false, @@ -237,7 +238,7 @@ wincaps wincap_10_1709 __attribute__((section (".cygwin_dll_common"), shared)) = wincaps wincap_10_1803 __attribute__((section (".cygwin_dll_common"), shared)) = { def_guard_pages:3, - mmap_storage_high:0x700000000000LL, + mmap_storage_high:__MMAP_STORAGE_HIGH, { is_server:false, needs_query_information:false, @@ -268,7 +269,7 @@ wincaps wincap_10_1803 __attribute__((section (".cygwin_dll_common"), shared)) = wincaps wincap_10_1809 __attribute__((section (".cygwin_dll_common"), shared)) = { def_guard_pages:3, - mmap_storage_high:0x700000000000LL, + mmap_storage_high:__MMAP_STORAGE_HIGH, { is_server:false, needs_query_information:false, @@ -299,7 +300,7 @@ wincaps wincap_10_1809 __attribute__((section (".cygwin_dll_common"), shared)) = wincaps wincap_10_1903 __attribute__((section (".cygwin_dll_common"), shared)) = { def_guard_pages:3, - mmap_storage_high:0x700000000000LL, + mmap_storage_high:__MMAP_STORAGE_HIGH, { is_server:false, needs_query_information:false, @@ -330,7 +331,7 @@ wincaps wincap_10_1903 __attribute__((section (".cygwin_dll_common"), shared)) = wincaps wincap_10_2004 __attribute__((section (".cygwin_dll_common"), shared)) = { def_guard_pages:3, - mmap_storage_high:0x700000000000LL, + mmap_storage_high:__MMAP_STORAGE_HIGH, { is_server:false, needs_query_information:false, @@ -361,7 +362,7 @@ wincaps wincap_10_2004 __attribute__((section (".cygwin_dll_common"), shared)) = wincaps wincap_11 __attribute__((section (".cygwin_dll_common"), shared)) = { def_guard_pages:3, - mmap_storage_high:0x700000000000LL, + mmap_storage_high:__MMAP_STORAGE_HIGH, { is_server:false, needs_query_information:false, |