Date: Sun, 15 Dec 2024 11:07:15 GMT From: Gleb Popov <arrowd@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 6a69e4b5a8b4 - main - lang/dotnet[-runtime]: Use bundled libunwind in hope to avoiding random crashes Message-ID: <202412151107.4BFB7Fbb057280@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by arrowd: URL: https://cgit.FreeBSD.org/ports/commit/?id=6a69e4b5a8b407997e620cfe4e2b969cf274de9e commit 6a69e4b5a8b407997e620cfe4e2b969cf274de9e Author: Gleb Popov <arrowd@FreeBSD.org> AuthorDate: 2024-12-10 18:17:31 +0000 Commit: Gleb Popov <arrowd@FreeBSD.org> CommitDate: 2024-12-15 11:06:35 +0000 lang/dotnet[-runtime]: Use bundled libunwind in hope to avoiding random crashes Co-authored-by: Szczepan Ćwikliński <sec@thinkcode.pl> --- lang/dotnet-runtime/Makefile | 1 + lang/dotnet-runtime/files/patch-bundled-libunwind | 42 +++++++++++++++++++++++ lang/dotnet/Makefile | 2 +- lang/dotnet/files/patch-bundled-libunwind | 42 +++++++++++++++++++++++ 4 files changed, 86 insertions(+), 1 deletion(-) diff --git a/lang/dotnet-runtime/Makefile b/lang/dotnet-runtime/Makefile index 60c84558eaf3..4dc4826ccdda 100644 --- a/lang/dotnet-runtime/Makefile +++ b/lang/dotnet-runtime/Makefile @@ -1,6 +1,7 @@ PORTNAME= dotnet-host DISTVERSIONPREFIX= v DISTVERSION= 9.0.0 +PORTREVISION= 1 CATEGORIES= lang devel MAINTAINER= arrowd@FreeBSD.org diff --git a/lang/dotnet-runtime/files/patch-bundled-libunwind b/lang/dotnet-runtime/files/patch-bundled-libunwind new file mode 100644 index 000000000000..224365ac72d0 --- /dev/null +++ b/lang/dotnet-runtime/files/patch-bundled-libunwind @@ -0,0 +1,42 @@ +Use bundled libunwind until at least + +https://github.com/libunwind/libunwind/issues/715 + +is fixed. It is also believed that using bundled libunwind may help against +random crashes on amd64 too. + +--- src/native/corehost/apphost/static/CMakeLists.txt.orig ++++ src/native/corehost/apphost/static/CMakeLists.txt +@@ -244,7 +244,7 @@ endif(CLR_CMAKE_TARGET_APPLE) + + # On *BSD, we always use the libunwind that's part of the OS + if(CLR_CMAKE_TARGET_FREEBSD) +- set(CLR_CMAKE_USE_SYSTEM_LIBUNWIND 1) ++ set(CLR_CMAKE_USE_SYSTEM_LIBUNWIND 0) + endif() + + if(CLR_CMAKE_USE_SYSTEM_LIBUNWIND AND NOT CLR_CMAKE_TARGET_APPLE) + +--- src/coreclr/pal/src/CMakeLists.txt.orig ++++ src/coreclr/pal/src/CMakeLists.txt +@@ -1,7 +1,7 @@ + if(CLR_CMAKE_TARGET_OSX OR CLR_CMAKE_TARGET_FREEBSD OR CLR_CMAKE_TARGET_HAIKU) + # On OSX and *BSD, we use the libunwind that's part of the OS + # On Haiku, we used a special port of libunwind +- set(CLR_CMAKE_USE_SYSTEM_LIBUNWIND 1) ++ set(CLR_CMAKE_USE_SYSTEM_LIBUNWIND 0) + endif(CLR_CMAKE_TARGET_OSX OR CLR_CMAKE_TARGET_FREEBSD OR CLR_CMAKE_TARGET_HAIKU) + + if(NOT DEFINED ENV{ROOTFS_DIR}) + +--- src/native/external/libunwind.cmake.orig ++++ src/native/external/libunwind.cmake +@@ -96,7 +96,7 @@ elseif(CLR_CMAKE_TARGET_FREEBSD) + set(libunwind_la_SOURCES_arm_os arm/Gos-freebsd.c) + set(libunwind_la_SOURCES_arm_os_local arm/Los-freebsd.c) + set(libunwind_la_SOURCES_aarch64_os aarch64/Gos-freebsd.c) +- set(libunwind_la_SOURCES_aarch64_os_local aarch64/Los-freebsd.c) ++ set(libunwind_la_SOURCES_aarch64_os_local aarch64/Los-freebsd.c aarch64/setcontext.S) + list(APPEND libunwind_coredump_la_SOURCES coredump/_UCD_access_reg_freebsd.c) + elseif(CLR_CMAKE_HOST_SUNOS) + set(libunwind_la_SOURCES_os ${libunwind_la_SOURCES_os_solaris}) diff --git a/lang/dotnet/Makefile b/lang/dotnet/Makefile index be2f965dde8c..03aa7e3bec90 100644 --- a/lang/dotnet/Makefile +++ b/lang/dotnet/Makefile @@ -1,7 +1,7 @@ PORTNAME= dotnet DISTVERSIONPREFIX= v DISTVERSION= ${DOTNETVERSION}.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= lang devel MASTER_SITES= https://github.com/dotnet/dotnet/releases/download/${DISTVERSIONPREFIX}${DISTVERSION}/release.json?dummy=/:dotnetmanifest \ https://github.com/sec/dotnet-core-freebsd-source-build/releases/download/9.0.0-rc.2-native/:bootstrap diff --git a/lang/dotnet/files/patch-bundled-libunwind b/lang/dotnet/files/patch-bundled-libunwind new file mode 100644 index 000000000000..72082263884c --- /dev/null +++ b/lang/dotnet/files/patch-bundled-libunwind @@ -0,0 +1,42 @@ +Use bundled libunwind until at least + +https://github.com/libunwind/libunwind/issues/715 + +is fixed. It is also believed that using bundled libunwind may help against +random crashes on amd64 too. + +--- src/runtime/src/native/corehost/apphost/static/CMakeLists.txt.orig ++++ src/runtime/src/native/corehost/apphost/static/CMakeLists.txt +@@ -244,7 +244,7 @@ endif(CLR_CMAKE_TARGET_APPLE) + + # On *BSD, we always use the libunwind that's part of the OS + if(CLR_CMAKE_TARGET_FREEBSD) +- set(CLR_CMAKE_USE_SYSTEM_LIBUNWIND 1) ++ set(CLR_CMAKE_USE_SYSTEM_LIBUNWIND 0) + endif() + + if(CLR_CMAKE_USE_SYSTEM_LIBUNWIND AND NOT CLR_CMAKE_TARGET_APPLE) + +--- src/runtime/src/coreclr/pal/src/CMakeLists.txt.orig ++++ src/runtime/src/coreclr/pal/src/CMakeLists.txt +@@ -1,7 +1,7 @@ + if(CLR_CMAKE_TARGET_OSX OR CLR_CMAKE_TARGET_FREEBSD OR CLR_CMAKE_TARGET_HAIKU) + # On OSX and *BSD, we use the libunwind that's part of the OS + # On Haiku, we used a special port of libunwind +- set(CLR_CMAKE_USE_SYSTEM_LIBUNWIND 1) ++ set(CLR_CMAKE_USE_SYSTEM_LIBUNWIND 0) + endif(CLR_CMAKE_TARGET_OSX OR CLR_CMAKE_TARGET_FREEBSD OR CLR_CMAKE_TARGET_HAIKU) + + if(NOT DEFINED ENV{ROOTFS_DIR}) + +--- src/runtime/src/native/external/libunwind.cmake.orig ++++ src/runtime/src/native/external/libunwind.cmake +@@ -96,7 +96,7 @@ elseif(CLR_CMAKE_TARGET_FREEBSD) + set(libunwind_la_SOURCES_arm_os arm/Gos-freebsd.c) + set(libunwind_la_SOURCES_arm_os_local arm/Los-freebsd.c) + set(libunwind_la_SOURCES_aarch64_os aarch64/Gos-freebsd.c) +- set(libunwind_la_SOURCES_aarch64_os_local aarch64/Los-freebsd.c) ++ set(libunwind_la_SOURCES_aarch64_os_local aarch64/Los-freebsd.c aarch64/setcontext.S) + list(APPEND libunwind_coredump_la_SOURCES coredump/_UCD_access_reg_freebsd.c) + elseif(CLR_CMAKE_HOST_SUNOS) + set(libunwind_la_SOURCES_os ${libunwind_la_SOURCES_os_solaris})
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202412151107.4BFB7Fbb057280>