Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Sep 2017 19:17:10 -0700
From:      <soralx@cydem.org>
To:        <vbox@FreeBSD.org>
Subject:   Re: [virtualbox-ose] Build failure: global register variable
Message-ID:  <20170920191710.58d335df@mscad14>
In-Reply-To: <20170917195419.431341e7@mscad14>
References:  <20170917195419.431341e7@mscad14>

next in thread | previous in thread | raw e-mail | index | archive | help

> Howdy!
> 
>  Any ideas on what could be a cause of the following build failure
>  on this machine?
>
> [...]
> kBuild: Compiling VBoxRemPrimary
> - /usr/ports/emulators/virtualbox-ose/work/VirtualBox-5.1.28/src/recompiler/target-i386/op_helper.c
> In file included
> from /usr/ports/emulators/virtualbox-ose/work/VirtualBox-5.1.28/src/recompiler/target-i386/op_helper.c:29: /usr/ports/emulators/virtualbox-ose/work/VirtualBox-5.1.28/src/recompiler/target-i386/exec.h:41:38:
> error: register 'r14' unsuitable for global register variables on this
> target register struct CPUX86State *env asm(AREG0); ^
> /usr/ports/emulators/virtualbox-ose/work/VirtualBox-5.1.28/src/recompiler/dyngen-exec.h:81:15:
> note: expanded from macro 'AREG0'
> #define AREG0 "r14"

Turns out that the fix for this is to make sure that devel/kBuild
is compiled with GCC, not clang; thus, that module of VBox that
has global register variable (and fails to build with clang) is
automagically built with gcc. So some parts of VBox are built
with base clang, some with gcc from ports; it is awkward, but
it all works somehow.

-- 
[SorAlx]  ridin' VN2000 Classic LT



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170920191710.58d335df>