From nobody Wed Apr 20 06:35:28 2022 X-Original-To: dev-commits-src-all@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 BEA6A11E2977; Wed, 20 Apr 2022 06:35:35 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4KjrX74fCQz55mv; Wed, 20 Apr 2022 06:35:35 +0000 (UTC) (envelope-from dim@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1650436535; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=7wYGO1K30anRe0QaN1nmQKQnZXu40tBiRLtvj4e3QEk=; b=EF4Q2pUWAVi2XIojx6n7GgAfSxewAjBo8fOyQYweNUbS1s8KWtUEqSMQoWaKLO2mgL0bB7 EYnoWgxA8MyIZxdc4quYZ1xUQazYKXImTRHZg95i3/42DPWqi2MsNM2yCxBsGYhLzj4GR4 OvhfXkcRnV09Rc8Q8QMULON+mh/lYTpWh1g4Ih65U5mRMOERd3OogAuPBuhLuCtfQxo7IP jdZrJpJTYF3Zya4djibBBmgzMrDuMaiX6zjyTPTfL2948VBktrDnDt9HaglzEOP35ne+uQ IpnZ+kA9f4u/2faXp5HAIprjlvFDZrISmy9SmzivXoHUtEQ1vS14pCRTjgYd7A== Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "R3" (verified OK)) (Authenticated sender: dim) by smtp.freebsd.org (Postfix) with ESMTPSA id 5D67722C59; Wed, 20 Apr 2022 06:35:35 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtpclient.apple (longrow.home.andric.com [192.168.0.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id DCA615D24D; Wed, 20 Apr 2022 08:35:33 +0200 (CEST) Content-Type: multipart/signed; boundary="Apple-Mail=_6187F240-8EEC-4001-97FA-D97B05DEB733"; protocol="application/pgp-signature"; micalg=pgp-sha1 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.80.82.1.1\)) Subject: Re: git: c00d34566536 - main - Install unwind.h into /usr/include From: Dimitry Andric In-Reply-To: Date: Wed, 20 Apr 2022 08:35:28 +0200 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Message-Id: References: <202202101802.21AI2gHO001258@gitrepo.freebsd.org> To: Don Lewis X-Mailer: Apple Mail (2.3696.80.82.1.1) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1650436535; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=7wYGO1K30anRe0QaN1nmQKQnZXu40tBiRLtvj4e3QEk=; b=DrJgtfOXl18lpqUAlmz1fOgzjkfP4sphbbrRIBPjXhG++uhMuPeYMw5lnT3KOTnefAkU07 9SM6j8XjrKjlONoso61EYceWV0ybrwCNg7T1CL0KSUmIcm5eQk4us9jRncw1MRARnOwRK5 DMGk2dwg2gv4slWVoVp2FgW3S4M7bWTxb/lu8g0jXqyPsr7xNgKha+X/BPVwZ91z681sIt guNqdLfS0vx0G+GTodHyqXtGtW3e7KX31aMv/vcsdbvP5spEufybm8jHKKstFIMTrRuNab r3NQVjjEO37lY3kmqGaS1kLd2o5fXsdfviA44HaxJGOQTqxkiTQ7MYqi6QjzRQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1650436535; a=rsa-sha256; cv=none; b=UBuSqjXZxPuGVqH+jh2C8mbCzNajNpK5W36sm2MmkPoPOTEqIumy4xGPaQEUoRwwl6224G GDOSw+oZLUnkTX9C3vL21n9W7SVP3K6L2Rv0Bl1mSoir/izH66NuWhWsQ2CCgwqE+aJ/5a 47onauLD89p8AtmNcthR51hiftGav+L95ae73O+K0xsCvxfczqRXcwbNAIgfAHwvpCMF4c n9XhXdcD5Q6Ql/4UUPQd3Hyl3U4zmP56yflN9ve975LwBUv6kYxpn3T282eBMwINf+2rxv XIxCT3z6sZF+7K2jgZ6mTHTltrI1+wfUZ2i8iqpqmzlZVmsGVxjCcPwmu2aOCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N --Apple-Mail=_6187F240-8EEC-4001-97FA-D97B05DEB733 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On 20 Apr 2022, at 03:42, Don Lewis wrote: > On 10 Feb, Dimitry Andric wrote: >> The branch main has been updated by dim: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dc00d345665366a89aaba7244d6f078dc= 756f4c53 >>=20 >> commit c00d345665366a89aaba7244d6f078dc756f4c53 >> Author: John Baldwin >> AuthorDate: 2022-02-10 17:57:49 +0000 >> Commit: Dimitry Andric >> CommitDate: 2022-02-10 18:00:32 +0000 >>=20 >> Install unwind.h into /usr/include >>=20 >> Install headers from LLVM's libunwind in place of the headers from >> libcxxrt and allow C applications to use the library. >>=20 >> As part of this, remove include/unwind.h and switch libthr over to >> using the installed unwind.h. >>=20 >> Reviewed by: dim, emaste >> MFC after: 10 days >> Differential Revision: https://reviews.freebsd.org/D34065 >> --- >> ObsoleteFiles.inc | 5 + >> include/unwind.h | 160 = ------------------------------- >> lib/libc++/Makefile | 3 - >> lib/libgcc_eh/Makefile | 4 + >> lib/libgcc_eh/Makefile.inc | 1 - >> lib/libthr/Makefile | 1 - >> tools/build/mk/OptionalObsoleteFiles.inc | 3 - >> 7 files changed, 9 insertions(+), 168 deletions(-) >>=20 >> diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc >> index 1d4c3cb4e5c2..2cac44bbd715 100644 >> --- a/ObsoleteFiles.inc >> +++ b/ObsoleteFiles.inc >> @@ -52,6 +52,11 @@ >> # xargs -n1 | sort | uniq -d; >> # done >>=20 >> +# 20220210: unwind.h moved to /usr/include >> +OLD_FILES+=3Dusr/include/c++/v1/unwind-arm.h >> +OLD_FILES+=3Dusr/include/c++/v1/unwind-itanium.h >> +OLD_FILES+=3Dusr/include/c++/v1/unwind.h >> + >> # 20220128: mips pmc events removed >> OLD_FILES+=3Dusr/share/man/man3/pmc.mips24k.3 >> OLD_FILES+=3Dusr/share/man/man3/pmc.octeon.3 >> diff --git a/include/unwind.h b/include/unwind.h >> deleted file mode 100644 >> index a872c0a094ba..000000000000 >> --- a/include/unwind.h >> +++ /dev/null >> @@ -1,160 +0,0 @@ >> -/* $FreeBSD$ */ >> - >> -/*- >> - libunwind - a platform-independent unwind library >> - >> - SPDX-License-Identifier: ISC >> - >> - Copyright (C) 2003 Hewlett-Packard Co >> - Contributed by David Mosberger-Tang >> - >> -This file is part of libunwind. >> - >> -Permission is hereby granted, free of charge, to any person = obtaining >> -a copy of this software and associated documentation files (the >> -"Software"), to deal in the Software without restriction, including >> -without limitation the rights to use, copy, modify, merge, publish, >> -distribute, sublicense, and/or sell copies of the Software, and to >> -permit persons to whom the Software is furnished to do so, subject = to >> -the following conditions: >> - >> -The above copyright notice and this permission notice shall be >> -included in all copies or substantial portions of the Software. >> - >> -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, >> -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF >> -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND >> -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS = BE >> -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN = ACTION >> -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN = CONNECTION >> -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ >> - >> -#ifndef _UNWIND_H >> -#define _UNWIND_H >> - >> -#include >> - >> -#ifdef __cplusplus >> -extern "C" { >> -#endif >> - >> -/* Minimal interface as per C++ ABI draft standard: >> - >> - http://www.codesourcery.com/cxx-abi/abi-eh.html */ >> - >> -typedef enum >> - { >> - _URC_NO_REASON =3D 0, >> - _URC_FOREIGN_EXCEPTION_CAUGHT =3D 1, >> - _URC_FATAL_PHASE2_ERROR =3D 2, >> - _URC_FATAL_PHASE1_ERROR =3D 3, >> - _URC_NORMAL_STOP =3D 4, >> - _URC_END_OF_STACK =3D 5, >> - _URC_HANDLER_FOUND =3D 6, >> - _URC_INSTALL_CONTEXT =3D 7, >> - _URC_CONTINUE_UNWIND =3D 8 >> - } >> -_Unwind_Reason_Code; >> - >> -typedef int _Unwind_Action; >> - >> -#define _UA_SEARCH_PHASE 1 >> -#define _UA_CLEANUP_PHASE 2 >> -#define _UA_HANDLER_FRAME 4 >> -#define _UA_FORCE_UNWIND 8 >> - >> -struct _Unwind_Context; /* opaque data-structure */ >> -struct _Unwind_Exception; /* forward-declaration */ >> - >> -typedef void (*_Unwind_Exception_Cleanup_Fn) (_Unwind_Reason_Code, >> - struct _Unwind_Exception = *); >> - >> -typedef _Unwind_Reason_Code (*_Unwind_Stop_Fn) (int, _Unwind_Action, >> - __uint64_t, >> - struct _Unwind_Exception = *, >> - struct _Unwind_Context = *, >> - void *); >> - >> -/* The C++ ABI requires exception_class, private_1, and private_2 to >> - be of type uint64 and the entire structure to be >> - double-word-aligned, but that seems a bit overly IA-64-specific. >> - Using "unsigned long" instead should give us the desired effect = on >> - IA-64, while being more general. */ >> -struct _Unwind_Exception >> - { >> - __uint64_t exception_class; >> - _Unwind_Exception_Cleanup_Fn exception_cleanup; >> - unsigned long private_1; >> - unsigned long private_2; >> - }; >> - >> -extern _Unwind_Reason_Code _Unwind_RaiseException (struct = _Unwind_Exception *); >> -extern _Unwind_Reason_Code _Unwind_ForcedUnwind (struct = _Unwind_Exception *, >> - _Unwind_Stop_Fn, void = *); >> -extern void _Unwind_Resume (struct _Unwind_Exception *); >> -extern void _Unwind_DeleteException (struct _Unwind_Exception *); >> -extern unsigned long _Unwind_GetGR (struct _Unwind_Context *, int); >> -extern void _Unwind_SetGR (struct _Unwind_Context *, int, unsigned = long); >> -extern unsigned long _Unwind_GetIP (struct _Unwind_Context *); >> -extern unsigned long _Unwind_GetIPInfo (struct _Unwind_Context *, = int *); >> -extern void _Unwind_SetIP (struct _Unwind_Context *, unsigned long); >> -extern unsigned long _Unwind_GetLanguageSpecificData (struct = _Unwind_Context*); >> -extern unsigned long _Unwind_GetRegionStart (struct _Unwind_Context = *); >> - >> -#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) >> - >> -/* Callback for _Unwind_Backtrace(). The backtrace stops = immediately >> - if the callback returns any value other than _URC_NO_REASON. */ >> -typedef _Unwind_Reason_Code (*_Unwind_Trace_Fn) (struct = _Unwind_Context *, >> - void *); >> - >> -/* See http://gcc.gnu.org/ml/gcc-patches/2001-09/msg00082.html for = why >> - _UA_END_OF_STACK exists. */ >> -# define _UA_END_OF_STACK 16 >> - >> -/* If the unwind was initiated due to a forced unwind, resume that >> - operation, else re-raise the exception. This is used by >> - __cxa_rethrow(). */ >> -extern _Unwind_Reason_Code >> - _Unwind_Resume_or_Rethrow (struct _Unwind_Exception *); >> - >> -/* See http://gcc.gnu.org/ml/gcc-patches/2003-09/msg00154.html for = why >> - _Unwind_GetBSP() exists. */ >> -extern unsigned long _Unwind_GetBSP (struct _Unwind_Context *); >> - >> -/* Return the "canonical frame address" for the given context. >> - This is used by NPTL... */ >> -extern uintptr_t _Unwind_GetCFA (struct _Unwind_Context *); >> - >> -/* Return the base-address for data references. */ >> -extern unsigned long _Unwind_GetDataRelBase (struct _Unwind_Context = *); >> - >> -/* Return the base-address for text references. */ >> -extern unsigned long _Unwind_GetTextRelBase (struct _Unwind_Context = *); >> - >> -/* Call _Unwind_Trace_Fn once for each stack-frame, without doing = any >> - cleanup. The first frame for which the callback is invoked is = the >> - one for the caller of _Unwind_Backtrace(). _Unwind_Backtrace() >> - returns _URC_END_OF_STACK when the backtrace stopped due to >> - reaching the end of the call-chain or _URC_FATAL_PHASE1_ERROR if = it >> - stops for any other reason. */ >> -extern _Unwind_Reason_Code _Unwind_Backtrace (_Unwind_Trace_Fn, void = *); >> - >> -/* Find the start-address of the procedure containing the specified = IP >> - or NULL if it cannot be found (e.g., because the function has no >> - unwind info). Note: there is not necessarily a one-to-one >> - correspondence between source-level functions and procedures: = some >> - functions don't have unwind-info and others are split into = multiple >> - procedures. */ >> -extern void *_Unwind_FindEnclosingFunction (void *); >> - >> -/* See also Linux Standard Base Spec: >> - = http://www.linuxbase.org/spec/refspecs/LSB_1.3.0/gLSB/gLSB/libgcc-s.html = */ >> - >> -#endif /* _GNU_SOURCE || _BSD_SOURCE */ >> - >> -#ifdef __cplusplus >> -}; >> -#endif >> - >> -#endif /* _UNWIND_H */ >> diff --git a/lib/libc++/Makefile b/lib/libc++/Makefile >> index dda8bc1772c9..fd43983481b2 100644 >> --- a/lib/libc++/Makefile >> +++ b/lib/libc++/Makefile >> @@ -239,9 +239,6 @@ STD+=3D ${HDRDIR}/${hdr} >> STD+=3D ${.CURDIR}/__config_site >>=20 >> RT_HEADERS+=3D cxxabi.h >> -RT_HEADERS+=3D unwind-arm.h >> -RT_HEADERS+=3D unwind-itanium.h >> -RT_HEADERS+=3D unwind.h >> .for hdr in ${RT_HEADERS} >> STD+=3D ${_LIBCXXRTDIR}/${hdr} >> .endfor >> diff --git a/lib/libgcc_eh/Makefile b/lib/libgcc_eh/Makefile >> index ecffbf9cfd6a..6f2deda1adf0 100644 >> --- a/lib/libgcc_eh/Makefile >> +++ b/lib/libgcc_eh/Makefile >> @@ -11,6 +11,10 @@ WARNS?=3D 2 >> SRCS_EXC+=3D int_util.c >> .include "Makefile.inc" >>=20 >> +INCS+=3D ${UNWINDINCDIR}/__libunwind_config.h >> +INCS+=3D ${UNWINDINCDIR}/libunwind.h >> +INCS+=3D ${UNWINDINCDIR}/unwind.h >> + >> .if ${.MAKE.LEVEL} > 0 >> # avoid circular dependencies >> GENDIRDEPS_FILTER+=3D Nlib/msun >> diff --git a/lib/libgcc_eh/Makefile.inc b/lib/libgcc_eh/Makefile.inc >> index 9e386992e78c..08e5db419840 100644 >> --- a/lib/libgcc_eh/Makefile.inc >> +++ b/lib/libgcc_eh/Makefile.inc >> @@ -34,7 +34,6 @@ CXXFLAGS.${file}+=3D -fno-sanitize=3Daddress >> .endfor >>=20 >> CFLAGS+=3D -I${UNWINDINCDIR} >> -CFLAGS+=3D -I${.CURDIR} >> CFLAGS+=3D -D_LIBUNWIND_IS_NATIVE_ONLY >> CFLAGS+=3D -D_LIBUNWIND_USE_FRAME_HEADER_CACHE >> CXXFLAGS+=3D -fno-rtti >> diff --git a/lib/libthr/Makefile b/lib/libthr/Makefile >> index 038823413cb2..8fbd685e9f4b 100644 >> --- a/lib/libthr/Makefile >> +++ b/lib/libthr/Makefile >> @@ -19,7 +19,6 @@ CFLAGS+=3D-DPTHREAD_KERNEL >> CFLAGS+=3D-I${SRCTOP}/lib/libc/include >> CFLAGS+=3D-I${SRCTOP}/lib/libc/${MACHINE_CPUARCH} >> CFLAGS+=3D-I${.CURDIR}/thread >> -CFLAGS+=3D-I${SRCTOP}/include >> CFLAGS+=3D-I${.CURDIR}/arch/${MACHINE_CPUARCH}/include >> CFLAGS+=3D-I${.CURDIR}/sys >> CFLAGS+=3D-I${SRCTOP}/libexec/rtld-elf >> diff --git a/tools/build/mk/OptionalObsoleteFiles.inc = b/tools/build/mk/OptionalObsoleteFiles.inc >> index ddbd303869e7..1edd4887d262 100644 >> --- a/tools/build/mk/OptionalObsoleteFiles.inc >> +++ b/tools/build/mk/OptionalObsoleteFiles.inc >> @@ -4027,9 +4027,6 @@ OLD_FILES+=3Dusr/include/c++/v1/typeindex >> OLD_FILES+=3Dusr/include/c++/v1/typeinfo >> OLD_FILES+=3Dusr/include/c++/v1/unordered_map >> OLD_FILES+=3Dusr/include/c++/v1/unordered_set >> -OLD_FILES+=3Dusr/include/c++/v1/unwind-arm.h >> -OLD_FILES+=3Dusr/include/c++/v1/unwind-itanium.h >> -OLD_FILES+=3Dusr/include/c++/v1/unwind.h >> OLD_FILES+=3Dusr/include/c++/v1/utility >> OLD_FILES+=3Dusr/include/c++/v1/valarray >> OLD_FILES+=3Dusr/include/c++/v1/variant >=20 > This appears to be an ABI change. I've been looking at the > editors/openoffice-devel build breakage in one of it's built-in > regression tests and bisected the system source down to this commit. See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D262008 and = https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D263370 for lots of = details (not all of them pertinent, unfortunately). I hope that after commit b7d4192598fe and its merges to stable/13 to = releng/13.1, this problem will have been worked around, without having = to patch up all extant versions of star/open/libreoffice... -Dimitry --Apple-Mail=_6187F240-8EEC-4001-97FA-D97B05DEB733 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.2 iF0EARECAB0WIQR6tGLSzjX8bUI5T82wXqMKLiCWowUCYl+psAAKCRCwXqMKLiCW oy3NAJ4kFTwZKZmGp7FLSGDYfkcHaCpphwCfQO++sA73OP8Lhl/usYVOSicxhoM= =OMR8 -----END PGP SIGNATURE----- --Apple-Mail=_6187F240-8EEC-4001-97FA-D97B05DEB733--