aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2022-10-26 22:04:41 +0200
committerCorinna Vinschen <corinna@vinschen.de>2022-10-28 16:26:53 +0200
commit49df152de7cba665e08a807e5cbc3dea846c88fa (patch)
tree6eb59e674fe25db0c2066945ad0e708dc837f0b9
parent0508e11f88f73df500f91f75e0314c3592c0526b (diff)
downloadnewlib-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.h14
-rw-r--r--winsup/cygwin/wincap.cc25
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,