From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1698) id 9DA993858435; Wed, 13 Oct 2021 08:31:40 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9DA993858435 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Iain D Sandoe To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/iains/heads/d-for-darwin)] Darwin D : Disable backtraces for Darwin for now. X-Act-Checkin: gcc X-Git-Author: Iain Sandoe X-Git-Refname: refs/users/iains/heads/d-for-darwin X-Git-Oldrev: dd75d44b428bb920dc44c71d9ed2112c8eba5a20 X-Git-Newrev: 842c7b21de346bbb55d2c973694b3c7f16f57465 Message-Id: <20211013083140.9DA993858435@sourceware.org> Date: Wed, 13 Oct 2021 08:31:40 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Oct 2021 08:31:40 -0000 https://gcc.gnu.org/g:842c7b21de346bbb55d2c973694b3c7f16f57465 commit 842c7b21de346bbb55d2c973694b3c7f16f57465 Author: Iain Sandoe Date: Sat Dec 19 13:21:46 2020 +0000 Darwin D : Disable backtraces for Darwin for now. It seems that there is some fault in the handling of these that causes the process to spin if the backtrace is attempted in most cases. Diff: --- libphobos/libdruntime/core/runtime.d | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libphobos/libdruntime/core/runtime.d b/libphobos/libdruntime/core/runtime.d index 5fc99046d23..77b8f466566 100644 --- a/libphobos/libdruntime/core/runtime.d +++ b/libphobos/libdruntime/core/runtime.d @@ -479,6 +479,9 @@ extern (C) bool runModuleUnitTests() static extern (C) void unittestSegvHandler( int signum, siginfo_t* info, void* ptr ) { + version(Darwin) {} + else + { import core.stdc.stdio; fprintf(stderr, "Segmentation fault while running unittests:\n"); fprintf(stderr, "----------------\n"); @@ -489,6 +492,7 @@ extern (C) bool runModuleUnitTests() foreach (size_t i, const(char[]) msg; bt) fprintf(stderr, "%s\n", msg.ptr ? msg.ptr : "???"); + } } sigaction_t action = void; @@ -513,11 +517,15 @@ extern (C) bool runModuleUnitTests() static extern (C) void unittestSegvHandler( int signum, siginfo_t* info, void* ptr ) nothrow { + version(Darwin) {} + else + { static enum MAXFRAMES = 128; void*[MAXFRAMES] callstack; auto numframes = backtrace( callstack.ptr, MAXFRAMES ); backtrace_symbols_fd( callstack.ptr, numframes, 2 ); + } } sigaction_t action = void;