Date: Tue, 14 Apr 2020 13:51:43 +0000 From: bugzilla-noreply@freebsd.org To: vbox@FreeBSD.org Subject: [Bug 244847] emulators/virtualbox-ose: Memory fault after Revision 528258 Message-ID: <bug-244847-26505-G7MtTegSVm@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-244847-26505@https.bugs.freebsd.org/bugzilla/> References: <bug-244847-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=3D244847 --- Comment #31 from commit-hook@freebsd.org --- A commit references this bug: Author: kevans Date: Tue Apr 14 13:51:05 UTC 2020 New revision: 531690 URL: https://svnweb.freebsd.org/changeset/ports/531690 Log: MFH: r531689 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) Approved by: ports-secteam (blanket: major runtime fix caused by bad bui= ld) Changes: _U branches/2020Q2/ branches/2020Q2/emulators/virtualbox-ose/Makefile branches/2020Q2/emulators/virtualbox-ose/files/patch-Config.kmk =20 branches/2020Q2/emulators/virtualbox-ose/files/patch-src_libs_xpcom18a4_xpc= om_reflect_xptcall_src_md_unix_xptcinvoke__x86__64__linux.cpp --=20 You are receiving this mail because: You are on the CC list for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-244847-26505-G7MtTegSVm>