mirror of
https://github.com/godotengine/godot-mono-builds.git
synced 2026-01-03 01:48:53 +03:00
Compare commits
4 Commits
release-52
...
release-62
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6236e2ee74 | ||
|
|
d496154ab1 | ||
|
|
8767196960 | ||
|
|
a0e457e7c1 |
10
.github/workflows/build.yml
vendored
10
.github/workflows/build.yml
vendored
@@ -23,8 +23,8 @@ on:
|
||||
|
||||
env:
|
||||
# Use SHA or tag instead of the branch for caching purposes.
|
||||
MONO_TAG: mono-6.12.0.182
|
||||
PYTHON_VERSION: '3.10'
|
||||
MONO_TAG: mono-6.12.0.198
|
||||
PYTHON_VERSION: '3.11'
|
||||
# Should match the version that Mono supports.
|
||||
EMSDK_VERSION: 1.39.9
|
||||
# platform/iphone/detect.py
|
||||
@@ -523,7 +523,7 @@ jobs:
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
- name: Setup Emscripten SDK
|
||||
uses: mymindstorm/setup-emsdk@v11
|
||||
uses: mymindstorm/setup-emsdk@v12
|
||||
with:
|
||||
version: ${{ env.EMSDK_VERSION }}
|
||||
- name: Patch Mono
|
||||
@@ -733,7 +733,7 @@ jobs:
|
||||
if: success() && github.event_name == 'create' && startsWith(github.ref, 'refs/heads/release/')
|
||||
needs: [linux, windows, osx, ios, ios-cross, android, wasm, bcl]
|
||||
name: Create Release
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
release_upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
steps:
|
||||
@@ -760,7 +760,7 @@ jobs:
|
||||
if: success() && github.event_name == 'create' && startsWith(github.ref, 'refs/heads/release/')
|
||||
needs: create-release
|
||||
name: Upload Release Artifacts
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
artifact_name: [linux-x86, linux-x86_64, windows-x86, windows-x86_64, osx-arm64, osx-x86_64,
|
||||
|
||||
2
.github/workflows/static_checks.yml
vendored
2
.github/workflows/static_checks.yml
vendored
@@ -3,7 +3,7 @@ on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
@@ -9,7 +9,7 @@ This repository contains scripts for building the Mono runtime to use with Godot
|
||||
The scripts are tested against specific versions of the toolchains used by Godot.
|
||||
While they may work with other versions, you might have issues applying patches or compiling, so we recommend using the versions below.
|
||||
|
||||
- Mono: 6.12.0.182.
|
||||
- Mono: 6.12.0.198.
|
||||
- Emscripten: 1.39.9.
|
||||
- Android NDK: 23.2.8568313
|
||||
|
||||
|
||||
@@ -3,11 +3,11 @@ index e57a636ef4d..60c60a8fc17 100644
|
||||
--- a/mcs/build/rules.make
|
||||
+++ b/mcs/build/rules.make
|
||||
@@ -94,7 +94,7 @@ include $(topdir)/build/config-default.make
|
||||
|
||||
|
||||
include $(topdir)/build/platforms/$(BUILD_PLATFORM).make
|
||||
|
||||
|
||||
-PROFILE_PLATFORM = $(if $(PLATFORMS),$(if $(filter $(PLATFORMS),$(HOST_PLATFORM)),$(HOST_PLATFORM),$(error Unknown platform "$(HOST_PLATFORM)" for profile "$(PROFILE)")))
|
||||
+PROFILE_PLATFORM ?= $(if $(PLATFORMS),$(if $(filter $(PLATFORMS),$(HOST_PLATFORM)),$(HOST_PLATFORM),$(error Unknown platform "$(HOST_PLATFORM)" for profile "$(PROFILE)")))
|
||||
PROFILE_DIRECTORY = $(PROFILE)$(if $(PROFILE_PLATFORM),-$(PROFILE_PLATFORM))
|
||||
|
||||
|
||||
# Useful
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 088128e5e74..54693aace64 100644
|
||||
index 19b20127ca2..d07afde5e05 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -5918,6 +5918,8 @@ if test "x$enable_btls" = "xyes"; then
|
||||
@@ -5924,6 +5924,8 @@ if test "x$enable_btls" = "xyes"; then
|
||||
if test "x$HAVE_YASM" != "xyes"; then
|
||||
BTLS_CMAKE_ARGS="-DOPENSSL_NO_ASM=1"
|
||||
fi
|
||||
@@ -11,7 +11,7 @@ index 088128e5e74..54693aace64 100644
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
@@ -5929,6 +5931,8 @@ if test "x$enable_btls" = "xyes"; then
|
||||
@@ -5935,6 +5937,8 @@ if test "x$enable_btls" = "xyes"; then
|
||||
if test "x$HAVE_YASM" != "xyes"; then
|
||||
BTLS_CMAKE_ARGS="-DOPENSSL_NO_ASM=1"
|
||||
fi
|
||||
|
||||
59
files/patches/btls-cmake-arm64.diff
Normal file
59
files/patches/btls-cmake-arm64.diff
Normal file
@@ -0,0 +1,59 @@
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index d07afde5e05..2c052530f2c 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -4927,9 +4927,6 @@ if test "x$target_mach" = "xyes"; then
|
||||
CPPFLAGS_FOR_LIBGC="$CPPFLAGS_FOR_LIBGC -DTARGET_OSX"
|
||||
CFLAGS_FOR_LIBGC="$CFLAGS_FOR_LIBGC -DTARGET_OSX"
|
||||
target_osx=yes
|
||||
- if test "x$TARGET" = "xARM64"; then
|
||||
- BTLS_SUPPORTED=no
|
||||
- fi
|
||||
], [
|
||||
AC_DEFINE(TARGET_IOS,1,[The JIT/AOT targets iOS])
|
||||
CPPFLAGS_FOR_LIBGC="$CPPFLAGS_FOR_LIBGC -DTARGET_IOS"
|
||||
@@ -5952,7 +5949,11 @@ if test "x$enable_btls" = "xyes"; then
|
||||
;;
|
||||
aarch64)
|
||||
btls_arch=aarch64
|
||||
- btls_cflags="-march=armv8-a+crypto"
|
||||
+ if test "x$target_mach" = "xyes"; then
|
||||
+ btls_cflags="-arch arm64"
|
||||
+ else
|
||||
+ btls_cflags="-march=armv8-a+crypto"
|
||||
+ fi
|
||||
;;
|
||||
s390x)
|
||||
btls_arch=s390x
|
||||
diff --git a/mono/btls/CMakeLists.txt b/mono/btls/CMakeLists.txt
|
||||
index 9946f5d21a4..a8aa3d07b0e 100644
|
||||
--- a/mono/btls/CMakeLists.txt
|
||||
+++ b/mono/btls/CMakeLists.txt
|
||||
@@ -21,6 +21,15 @@ if (MSVC OR CYGWIN)
|
||||
set(BTLS_HOST_WIN32 1)
|
||||
endif ()
|
||||
|
||||
+if (NOT "${BTLS_ARCH}" STREQUAL "")
|
||||
+ message (STATUS "SET ARCH: ${BTLS_ARCH}")
|
||||
+ set (CMAKE_SYSTEM_PROCESSOR "${BTLS_ARCH}")
|
||||
+endif ()
|
||||
+
|
||||
+if ((("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "arm64") OR ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64")) AND APPLE AND NOT IOS)
|
||||
+ set(OPENSSL_NO_ASM 1)
|
||||
+endif ()
|
||||
+
|
||||
if (NOT OPENSSL_NO_ASM)
|
||||
if (BTLS_HOST_WIN32)
|
||||
if (CYGWIN AND "${BTLS_ARCH}" STREQUAL "i386")
|
||||
@@ -38,11 +47,6 @@ if (NOT OPENSSL_NO_ASM)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
-if (NOT "${BTLS_ARCH}" STREQUAL "")
|
||||
- message (STATUS "SET ARCH: ${BTLS_ARCH}")
|
||||
- set (CMAKE_SYSTEM_PROCESSOR "${BTLS_ARCH}")
|
||||
-endif ()
|
||||
-
|
||||
if (NOT MSVC)
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "AIX" OR ${CMAKE_SYSTEM_NAME} MATCHES "OS400")
|
||||
# GCC+XCOFF doesn't support -fvisibility=hidden, and we would prefer XCOFF debugging info.
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/mono/metadata/threads.c b/mono/metadata/threads.c
|
||||
index ad9b8823f8f..3542b32b540 100644
|
||||
index 8d6753f2e01..1c1bd460123 100644
|
||||
--- a/mono/metadata/threads.c
|
||||
+++ b/mono/metadata/threads.c
|
||||
@@ -77,8 +77,12 @@ mono_native_thread_join_handle (HANDLE thread_handle, gboolean close_handle);
|
||||
@@ -78,8 +78,12 @@ mono_native_thread_join_handle (HANDLE thread_handle, gboolean close_handle);
|
||||
#include <zircon/syscalls.h>
|
||||
#endif
|
||||
|
||||
@@ -18,10 +18,10 @@ index ad9b8823f8f..3542b32b540 100644
|
||||
|
||||
#ifdef HOST_ANDROID
|
||||
diff --git a/mono/utils/mono-threads-posix.c b/mono/utils/mono-threads-posix.c
|
||||
index 3e4bf93de5f..79c9f731fe7 100644
|
||||
index cd32e6b042d..5e2fd4618b8 100644
|
||||
--- a/mono/utils/mono-threads-posix.c
|
||||
+++ b/mono/utils/mono-threads-posix.c
|
||||
@@ -31,8 +31,12 @@
|
||||
@@ -32,8 +32,12 @@
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
diff --git a/mono/metadata/threadpool-io.c b/mono/metadata/threadpool-io.c
|
||||
index fdfef2de91e28..45ac0d84b2429 100644
|
||||
index a8a947e7dea..b87b59ed5b6 100644
|
||||
--- a/mono/metadata/threadpool-io.c
|
||||
+++ b/mono/metadata/threadpool-io.c
|
||||
@@ -180,6 +180,7 @@ selector_thread_wakeup_drain_pipes (void)
|
||||
@@ -179,6 +179,7 @@ selector_thread_wakeup_drain_pipes (void)
|
||||
{
|
||||
gchar buffer [128];
|
||||
gint received;
|
||||
+ static gint warnings_issued = 0;
|
||||
|
||||
|
||||
for (;;) {
|
||||
#if !defined(HOST_WIN32)
|
||||
@@ -192,11 +193,16 @@ selector_thread_wakeup_drain_pipes (void)
|
||||
@@ -191,11 +192,16 @@ selector_thread_wakeup_drain_pipes (void)
|
||||
* some unices (like AIX) send ERESTART, which doesn't
|
||||
* exist on some other OSes errno
|
||||
*/
|
||||
@@ -30,7 +30,7 @@ index fdfef2de91e28..45ac0d84b2429 100644
|
||||
break;
|
||||
}
|
||||
#else
|
||||
@@ -204,8 +210,13 @@ selector_thread_wakeup_drain_pipes (void)
|
||||
@@ -203,8 +209,13 @@ selector_thread_wakeup_drain_pipes (void)
|
||||
if (received == 0)
|
||||
break;
|
||||
if (received == SOCKET_ERROR) {
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
diff --git a/mono/mini/debugger-agent.c b/mono/mini/debugger-agent.c
|
||||
index df6329391df..05f30d5b4dc 100644
|
||||
index 32bfc471ea2..5087405eed5 100644
|
||||
--- a/mono/mini/debugger-agent.c
|
||||
+++ b/mono/mini/debugger-agent.c
|
||||
@@ -4088,8 +4088,12 @@ thread_startup (MonoProfiler *prof, uintptr_t tid)
|
||||
@@ -4172,8 +4172,12 @@ thread_startup (MonoProfiler *prof, uintptr_t tid)
|
||||
}
|
||||
|
||||
|
||||
tls = (DebuggerTlsData *)mono_native_tls_get_value (debugger_tls_id);
|
||||
- g_assert (!tls);
|
||||
- // FIXME: Free this somewhere
|
||||
|
||||
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 a5c03c4877c..536a79ef59d 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
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/mono/utils/mono-log-darwin.c b/mono/utils/mono-log-darwin.c
|
||||
index 3cb127bad59..30ff5edc307 100644
|
||||
index 2cb41b1481e..4f566ddb90a 100644
|
||||
--- a/mono/utils/mono-log-darwin.c
|
||||
+++ b/mono/utils/mono-log-darwin.c
|
||||
@@ -5,7 +5,8 @@
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/mono/tools/offsets-tool/offsets-tool.py b/mono/tools/offsets-tool/offsets-tool.py
|
||||
index 35445ba585c..d1586ee5ecd 100644
|
||||
index f06799cba12..adf7eb4bbd6 100644
|
||||
--- a/mono/tools/offsets-tool/offsets-tool.py
|
||||
+++ b/mono/tools/offsets-tool/offsets-tool.py
|
||||
@@ -54,6 +54,7 @@ class OffsetsTool:
|
||||
|
||||
@@ -32,7 +32,9 @@ def main(raw_args):
|
||||
'bcl-profile-platform-override.diff',
|
||||
'mono_ios_asl_log_deprecated.diff',
|
||||
'wasm_m2n_trampolines_hook.diff',
|
||||
'btls-cmake-args-linux-mingw.diff'
|
||||
'btls-cmake-args-linux-mingw.diff',
|
||||
'btls-cmake-arm64.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')):
|
||||
|
||||
Reference in New Issue
Block a user