On 09/28/2017 05:55, [email protected] 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
signature.asc
Description: OpenPGP digital signature
