Date: Sat, 01 Apr 2017 12:28:09 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 200913] __cxa_demangle incorrectly demangles some C++ mangled symbols Message-ID: <bug-200913-8-uDKS5yWpjB@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-200913-8@https.bugs.freebsd.org/bugzilla/> References: <bug-200913-8@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D200913 --- Comment #3 from commit-hook@freebsd.org --- A commit references this bug: Author: dim Date: Sat Apr 1 12:27:02 UTC 2017 New revision: 316356 URL: https://svnweb.freebsd.org/changeset/base/316356 Log: Synchronize libcxxrt in stable/9 with stable/{10,11} and head. MFC r284549 (by emaste): Import libcxxrt master e64e93fe5bba67a6d52cbe5a97f8770c054bfa65 This includes a number of fixes to the C++ demangler (obtained from upstream ELF Tool Chain). MFC r284551 (by emaste): Import libcxxrt master e64e93fe5bba67a6d52cbe5a97f8770c054bfa65. This includes a number of demangler fixes obtained from upstream ELF Tool Chain. PR: 200913 Sponsored by: The FreeBSD Foundation MFC r284553 (by emaste): Update libcxxrt upgrade instructions The typeinfo file no longer exists upstream. MFC r288830: Add std::uncaught_exceptions() to libcxxrt (C++17, see N4152 and N4259). This has also been submitted upstream. MFC r288830: Add std::uncaught_exceptions() to libcxxrt (C++17, see N4152 and N4259). This has also been submitted upstream. MFC r297299: Compile libcxxrt as C++11, since it is only really used in combination with libc++, which is also C++11. Also change one _Static_assert (which is really C11) back into static_assert, like upstream. This should help when compiling libcxxrt with newer versions of gcc, which refuse to recognize any form of static assertions, if not compiling for C++11 or higher. While here, add -nostdinc++ to CFLAGS, to prevent picking up any C++ headers outside the source tree. MFC r299144: Import libcxxrt master 516a65c109eb0a01e5e95fbef455eb3215135cef. Interesting fixes: 3adaa2e Fix _Unwind_Exception cleanup functions 286776c Check exception cleanup function ptr before calling edda626 Correct exception specifications on new and delete operators MFC r303157 (by emaste): libcxxrt: add padding in __cxa_allocate_* to fix alignment The addition of the referenceCount to __cxa_allocate_exception put the unwindHeader at offset 0x58 in __cxa_exception, but it requires 16-byte alignment. In order to avoid changing the current __cxa_exception ABI (and thus breaking its consumers), add explicit padding in the allocation routines (and account for it when freeing). This is intended as a lower-risk change for FreeBSD 11. A "more correct" fix should be prepared for upstream and -CURRENT. Reviewed by: dim Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D7271 MFC r303400 (by emaste): libcxxrt: fix demangling of wchar_t 'wchar_t' is 7 characters long, not 6. r303297 fixed this in libelftc, but not the second copy of this file that we have in libcxxrt. PR: 208661 Submitted by: Daniel McRobb Obtained from: ELF Tool Chain r3480 MFC r305396: Add _US_ACTION_MASK to libcxxrt's arm-specific unwind header. This value is used in newer versions of compiler-rt. MFC r315947 | dim | 2017-03-25 14:17:48 +0100 (Sat, 25 Mar 2017) | 8 lines Import libcxxrt master 8a853717e61d5d55cbdf74d9d0a7545da5d5ff92. Interesting fixes which were not already merged: 0c7c611 Merge C++ demangler bug fixes from ELF Tool Chain (#40) 2b208d9 __cxa_demangle_gnu3: demangle 'z' as '...', not 'ellipsis' (#41) Changes: _U stable/9/ _U stable/9/contrib/ _U stable/9/contrib/libcxxrt/ stable/9/contrib/libcxxrt/FREEBSD-upgrade stable/9/contrib/libcxxrt/exception.cc stable/9/contrib/libcxxrt/guard.cc stable/9/contrib/libcxxrt/libelftc_dem_gnu3.c stable/9/contrib/libcxxrt/memory.cc stable/9/contrib/libcxxrt/unwind-arm.h _U stable/9/lib/ _U stable/9/lib/libcxxrt/ stable/9/lib/libcxxrt/Makefile stable/9/lib/libcxxrt/Version.map --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-200913-8-uDKS5yWpjB>