mirror of
https://github.com/Relintai/godot-mono-builds.git
synced 2024-11-12 10:25:10 +01:00
Add patch to fix Linux kernel regression with mmap and MAP_32BIT
This commit is contained in:
parent
8767196960
commit
d496154ab1
47
files/patches/mono-linux-disable-mmap-MAP_32BIT.diff
Normal file
47
files/patches/mono-linux-disable-mmap-MAP_32BIT.diff
Normal file
@ -0,0 +1,47 @@
|
||||
From e019d4ac4735e774d0a3c15bb36d5eb3ebfa3053 Mon Sep 17 00:00:00 2001
|
||||
From: Raphael Robatsch <raphael-git@tapesoftware.net>
|
||||
Date: Tue, 9 May 2023 11:55:02 +0200
|
||||
Subject: [PATCH] Disable mmap(MAP_32BIT) support
|
||||
|
||||
mmap(2) with flag MAP_32BIT can erroneously return ENOMEM on recent
|
||||
kernels. Disable MAP_32BIT support for now.
|
||||
|
||||
Reference: https://lore.kernel.org/linux-mm/cb8dc31a-fef2-1d09-f133-e9f7b9f9e77a@sony.com/
|
||||
Reference: https://lore.kernel.org/all/20230414185919.4175572-1-Liam.Howlett@oracle.com/T/#m00a0ac8a72bf2f26711b7f8cc56612a8ef62c3d0
|
||||
---
|
||||
mono/mini/mini-amd64.h | 2 --
|
||||
mono/utils/mono-codeman.c | 4 ----
|
||||
2 files changed, 6 deletions(-)
|
||||
|
||||
diff --git a/mono/mini/mini-amd64.h b/mono/mini/mini-amd64.h
|
||||
index b321743b67d..0a81bb4bd6b 100644
|
||||
--- a/mono/mini/mini-amd64.h
|
||||
+++ b/mono/mini/mini-amd64.h
|
||||
@@ -390,9 +390,7 @@ typedef struct {
|
||||
|
||||
#endif /* !HOST_WIN32 */
|
||||
|
||||
-#if !defined(__linux__)
|
||||
#define MONO_ARCH_NOMAP32BIT 1
|
||||
-#endif
|
||||
|
||||
#ifdef TARGET_WIN32
|
||||
#define MONO_AMD64_ARG_REG1 AMD64_RCX
|
||||
diff --git a/mono/utils/mono-codeman.c b/mono/utils/mono-codeman.c
|
||||
index 234aac4b0ca..5eccda92bd0 100644
|
||||
--- a/mono/utils/mono-codeman.c
|
||||
+++ b/mono/utils/mono-codeman.c
|
||||
@@ -68,11 +68,7 @@ static const MonoCodeManagerCallbacks *code_manager_callbacks;
|
||||
#define MAX_WASTAGE 32
|
||||
#define MIN_BSIZE 32
|
||||
|
||||
-#ifdef __x86_64__
|
||||
-#define ARCH_MAP_FLAGS MONO_MMAP_32BIT
|
||||
-#else
|
||||
#define ARCH_MAP_FLAGS 0
|
||||
-#endif
|
||||
|
||||
#define MONO_PROT_RWX (MONO_MMAP_READ|MONO_MMAP_WRITE|MONO_MMAP_EXEC|MONO_MMAP_JIT)
|
||||
|
||||
--
|
||||
2.40.1
|
@ -35,6 +35,7 @@ def main(raw_args):
|
||||
'btls-cmake-args-linux-mingw.diff',
|
||||
'btls-cmake-arm64.diff',
|
||||
'xcode_13_14_fix.diff',
|
||||
'mono-linux-disable-mmap-MAP_32BIT.diff',
|
||||
]
|
||||
|
||||
if os.path.isfile(os.path.join(mono_source_root, 'mono/tools/offsets-tool/offsets-tool.py')):
|
||||
|
Loading…
Reference in New Issue
Block a user