From 1e854c18e5b2261e159671f6c09de593f3618ca2 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Mon, 16 Jan 2023 22:20:48 +0100 Subject: [PATCH] Cygwin: Move shared regions, rename PINFO... to MYSELF_REGION_ADDRESS Fix comments accordingly. This is in preparation for a change in open_shared, handling shared regions more cleanly. Signed-off-by: Corinna Vinschen --- winsup/cygwin/local_includes/memory_layout.h | 18 ++++++++++-------- winsup/cygwin/mm/shared.cc | 2 +- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/winsup/cygwin/local_includes/memory_layout.h b/winsup/cygwin/local_includes/memory_layout.h index 83ccf8f65..a3a0cae70 100644 --- a/winsup/cygwin/local_includes/memory_layout.h +++ b/winsup/cygwin/local_includes/memory_layout.h @@ -16,14 +16,16 @@ details. */ dynamicbase is accidentally not set in the PE/COFF header of the DLL. */ #define CYGWIN_DLL_ADDRESS 0x180040000UL -/* New with ASLR: We need a fixed place for the global shared memory areas. - Prior to ASLR, the addresses were relative to the address the Cygwin DLL - was loaded to. */ -#define SHARED_REGIONS_ADDRESS_LOW 0x1f0000000UL -#define CYGWIN_REGION_ADDRESS 0x1f0000000UL -#define USER_REGION_ADDRESS 0x1f2000000UL -#define PINFO_REGION_ADDRESS 0x1f4000000UL -#define SHARED_CONSOLE_REGION_ADDRESS 0x1f6000000UL +/* Default addresses of required standard shared regions (Cygwin shared, + user shared, myself, shared console). */ +#define CYGWIN_REGION_ADDRESS 0x1a0000000UL +#define USER_REGION_ADDRESS 0x1a1000000UL +#define MYSELF_REGION_ADDRESS 0x1a2000000UL +#define SHARED_CONSOLE_REGION_ADDRESS 0x1a3000000UL + +/* Area for non-fixed-address Cygwin-specific shared memory regions. Fallback + for standard shared regions if the can't load at their default address. */ +#define SHARED_REGIONS_ADDRESS_LOW 0x1a4000000UL #define SHARED_REGIONS_ADDRESS_HIGH 0x200000000UL /* Rebased DLLs are located in this 16 Gigs arena. Will be kept for diff --git a/winsup/cygwin/mm/shared.cc b/winsup/cygwin/mm/shared.cc index 351d314af..aa9997c75 100644 --- a/winsup/cygwin/mm/shared.cc +++ b/winsup/cygwin/mm/shared.cc @@ -118,7 +118,7 @@ static uintptr_t region_address[] = { CYGWIN_REGION_ADDRESS, /* SH_CYGWIN_SHARED */ USER_REGION_ADDRESS, /* SH_USER_SHARED */ - PINFO_REGION_ADDRESS, /* SH_MYSELF */ + MYSELF_REGION_ADDRESS, /* SH_MYSELF */ SHARED_CONSOLE_REGION_ADDRESS, /* SH_SHARED_CONSOLE */ 0 }; -- 2.43.5