Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2023-01-17 00:20:48 +0300
committerCorinna Vinschen <corinna@vinschen.de>2023-01-17 21:49:39 +0300
commit1e854c18e5b2261e159671f6c09de593f3618ca2 (patch)
tree1962bb4474e266b383d63c732c5b192d779ecf4e /winsup
parent62f11a5a57043404719cc5d81f3d2ebbf8142b29 (diff)
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 <corinna@vinschen.de>
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/local_includes/memory_layout.h18
-rw-r--r--winsup/cygwin/mm/shared.cc2
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
};