Date: Tue, 14 Apr 2020 13:48:35 +0000 From: bugzilla-noreply@freebsd.org To: vbox@FreeBSD.org Subject: [Bug 236616] emulators/virtualbox-ose: Unable to create a new machine due to "Unexpected exception: cxxrt::bad_alloc [St9bad_alloc]" Message-ID: <bug-236616-26505-BRsNJJ65BG@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-236616-26505@https.bugs.freebsd.org/bugzilla/> References: <bug-236616-26505@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=3D236616 --- Comment #26 from commit-hook@freebsd.org --- A commit references this bug: Author: kevans Date: Tue Apr 14 13:47:52 UTC 2020 New revision: 531689 URL: https://svnweb.freebsd.org/changeset/ports/531689 Log: emulators/virtualbox-ose: Switch build to USES=3D compiler:c++14-lang The runtime breakage that started occurring after the LLVM 7 -> 8 transit= ion has been diagnosed with help from cem@, and the attached patch fixes it. = The problem ended up being that tail-call optimization was being applied to t= his function (which should probably be written in assembly instead) and moving the tail-call to later on after some stack manipulations. The problem with this is that this particular function uses alloca() to carefully craft a stack that it's expecting to be used for the function it's calling at the end. The new patch fixes this using a technique that was committed later on in upstream changeset 75061 to address a similar failure with GCC sanitizers enabled. The FreeBSD-specific component of this patch is using the differ= ent stack setup if __clang__ is defined as well. The extra hunk in the Config patch has been added because the VirtualBox build system cannot cope with LLVM version numbers in the way it's expecting. Hardcode it to GCC 4.2 for FreeBSD, which is what the clang __GNU* macros describe, to fix build breakage that happens with newer LLVM as the build system decides our LLVM is an even older and more broken version of GCC with a broken regparm. PR: 236616, 244847 Approved by: koobs (mentor) MFH: 2020Q2 (blanket: major runtime build fix) Changes: head/emulators/virtualbox-ose/Makefile head/emulators/virtualbox-ose/files/patch-Config.kmk =20 head/emulators/virtualbox-ose/files/patch-src_libs_xpcom18a4_xpcom_reflect_= xptcall_src_md_unix_xptcinvoke__x86__64__linux.cpp --=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-236616-26505-BRsNJJ65BG>