From nobody Wed Aug 21 17:38:04 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WptpN5tkKz5VDq1; Wed, 21 Aug 2024 17:38:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WptpN5GT1z4k6m; Wed, 21 Aug 2024 17:38:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1724261884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I7C3hLN+Cwr2kC7/stihoFgj1/luxpaw3LCsyhMt/6Y=; b=Q5UarUxBDywmGx1ymbg6js9Pa5sDg1Wbw1jnOr1yRVElPjxwWPN7cmt3BHTX3uRarIg6u+ Dj8vNiHyNv2QK0DZ03Agmob7sIeyL/W+GuPxM7XI27/WHyLwlp2RkSDqNrmrnL5Fdp60qa Dx/0cXQRCxv/QgPSuaWuAbhdpJWvIxLucOR0skgXxE3jMy/X5yxTFlLtHvPoa10CT8YOEs pvzqQVLPHeBH3Ezao/vUYICADMSFNCDtgK9uMdctRcKlXKKcDfvFwJn3MwC8lpUHzP5fAV T1viYFuGJh3TrCBM/7q3t6t0+qgtg4QH5XBHy1NLtgRivwlXQ9myf4ixsMrkkg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1724261884; a=rsa-sha256; cv=none; b=udX+3Cqbskx4qBpTtFWgxeW12qQV5665f/uxv9ZslavikG03LME7LB+OuD9MyEzAGKynpU 1h9P9RYw284TDrtYWE1H8bQY5yLXPj6wizMIrksnfGpOFfaDEyGKGbWGzlWoS9Yd8gOvjI DHCwNJBiaVEBbsLVoFl7z14jA7/dhRU7UT+youhDzuwgoYpxQkwhCPuAEfApou04H/cWP/ f8GIXf7k3ZkrtbDgUMvqDhTJnwRwSajBQvl3aawDtWra1VpQ2WZvtta24SiNtyVddFlpv7 5K5f7gxZYyST0iDAM5vO1xyKBk3NHMqFqoX1Q9a9+4uF7l5yeD4OvJsnp2fESQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1724261884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I7C3hLN+Cwr2kC7/stihoFgj1/luxpaw3LCsyhMt/6Y=; b=c7FcT8owsyY064KiqfQgj4fjf98Fuk9KDkVip065f5dgv9NyerCjXSjnLuIi3iEmOGcsOQ mRz8eAiX5VQLvPAYWYrg37pcZPabeX24VUCXuO7MfygYoMCXlvmhL4nqfWB1cvzRf527n2 C06GhNh9VNOyS4ewJFjaM39v9YT6+CTsSAiOWQdpEdU7zUPZJ55jT2lBr2kkttcg+lVvO+ 7LkQwyBrD//+zdc3QukaQoNZKTNeIpnWCLhStKwhP55rglWU9IjjHqXUkV23DKb5poz3HW G3QyxIjB7CLBcgh6slnSlA+YnVKdIQ1CbZNvbJjRcmmd0bRD9HuQju/4AEpS1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4WptpN4skrzstP; Wed, 21 Aug 2024 17:38:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 47LHc4qD092054; Wed, 21 Aug 2024 17:38:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 47LHc4LV092051; Wed, 21 Aug 2024 17:38:04 GMT (envelope-from git) Date: Wed, 21 Aug 2024 17:38:04 GMT Message-Id: <202408211738.47LHc4LV092051@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 297a9e552b9a - main - libcxxrt: Add a stub implementation of __cxa_call_terminate List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 297a9e552b9a5adf07d195eae9649b0758f395af Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=297a9e552b9a5adf07d195eae9649b0758f395af commit 297a9e552b9a5adf07d195eae9649b0758f395af Author: John Baldwin AuthorDate: 2024-08-21 17:37:48 +0000 Commit: John Baldwin CommitDate: 2024-08-21 17:37:48 +0000 libcxxrt: Add a stub implementation of __cxa_call_terminate This function is called by GCC 14 if a destructor invoked during exception unwinding throws an exception. Reviewed by: emaste Obtained from: libcxxrt commit 391a3dcc1054e18c2f0dff4e14d6d79ac95399d7 Differential Revision: https://reviews.freebsd.org/D46004 --- contrib/libcxxrt/exception.cc | 13 +++++++++++++ lib/libcxxrt/Version.map | 4 ++++ lib/libcxxrt/Version.map.arm | 4 ++++ 3 files changed, 21 insertions(+) diff --git a/contrib/libcxxrt/exception.cc b/contrib/libcxxrt/exception.cc index 35ff997dd445..b56333e979a2 100644 --- a/contrib/libcxxrt/exception.cc +++ b/contrib/libcxxrt/exception.cc @@ -1433,6 +1433,19 @@ extern "C" void __cxa_call_unexpected(void*exception) abort(); } +/** + * ABI function, called when an object destructor exits due to an + * exception during stack unwinding. + * + * This function does not return. + */ +extern "C" void __cxa_call_terminate(void *exception) throw() +{ + std::terminate(); + // Should not be reached. + abort(); +} + /** * ABI function, returns the adjusted pointer to the exception object. */ diff --git a/lib/libcxxrt/Version.map b/lib/libcxxrt/Version.map index 012026079e33..02cce34c234f 100644 --- a/lib/libcxxrt/Version.map +++ b/lib/libcxxrt/Version.map @@ -253,6 +253,10 @@ CXXABI_1.3.11 { __cxa_init_primary_exception; } CXXABI_1.3.9; +CXXABI_1.3.15 { + __cxa_call_terminate; +} CXXABI_1.3.11; + CXXRT_1.0 { extern "C++" { diff --git a/lib/libcxxrt/Version.map.arm b/lib/libcxxrt/Version.map.arm index bc4cf68a3654..aef918149b79 100644 --- a/lib/libcxxrt/Version.map.arm +++ b/lib/libcxxrt/Version.map.arm @@ -254,6 +254,10 @@ CXXABI_1.3.11 { __cxa_init_primary_exception; } CXXABI_1.3.9; +CXXABI_1.3.15 { + __cxa_call_terminate; +} CXXABI_1.3.11; + CXXRT_1.0 { extern "C++" {