[virtualbox-ose] Build failure: global register variable

Jung-uk Kim jkim at FreeBSD.org
Thu Sep 28 23:50:29 UTC 2017


On 09/28/2017 05:55, soralx at cydem.org wrote:
> 
> Jung-uk,
> 
>>>>> [0] clang/lib/Basic/Targets/X86.h:
>>>>>   860   bool validateGlobalRegisterVariable(StringRef RegName,
>>>>> unsigned RegSize, 861                                       bool
>>>>> &HasSizeMismatch) const override { 862     // rsp and rbp are the
>>>>> only 64-bit registers the x86 backend can currently 863     //
>>>>> handle. 864     if (RegName.equals("rsp") || RegName.equals("rbp"))
>>>>> { 865       // Check that the register size is 64-bit.
>>>>>   866       HasSizeMismatch = RegSize != 64;
>>>>>   867       return true;
>>>>>   868     }    
>>>>
>>>> Please try the attached patch.  
>>>
>>> Thanks for the patch! I gave it a quick try (not an extensive test),
>>> and VirtualBox, compiled fully with clang, seems to work as usual.  
>>
>> Committed (r450636), thanks!
> 
> Sadly, I forgot to disable VT-x when testing. My bad.
> 
> I tested again, and found that, on unpatched VBox, the virtual
> machine boots and works fine with both VT-x on and off, while
> patched version fails to start the VM when VT-x is turned off:
>   VBoxManage: error: No error info
>   VBoxManage: error: Details: code NS_ERROR_CALL_FAILED (0x800706be),
>                      component ProgressProxy, interface IProgress
> 
> How would one go about debugging this?

Hmm...  Unfortunately, I don't think we can "fix" it easily.  I'll take
a look but I just reverted it for now.

Jung-uk Kim

>> For more detailed information, please read the commit log.
>>
>> https://svnweb.freebsd.org/changeset/ports/45063

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-emulation/attachments/20170928/40190ad9/attachment.sig>


More information about the freebsd-emulation mailing list