-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Codegen issue under VM - Illegal Instruction #13121
Comments
You can try building with |
Yes that works, so switching to a generic x86-64 arch ? |
I assume what's happening is that LLVM is identifying features by microarchitecture without taking into account |
For reference this is the first processor (of 4) from /proc/cpuinfo
|
I think we already do |
This routine from CommandFlags.h looks like it may be helpful. 00277 static inline std::string getFeaturesStr() { |
I did not mean to close that |
So that outputs
for my CPU |
GitHub has the worst placed "Close" button of all time and for some reason refuses to fix it. |
2e10830 shows how to disable some of the CPU features. |
We aren't using |
I have a possible fix which reads the features directly from llvm, I'm not an llvm expert, but this would seem to put us in a consistent state (is this the same as Arch == native ? )
|
I can put that out there as a pull request if people want me to? |
Alternatively, you could setup VirtualBox to stop lying about its processor :). If we go with this approach (which looks fairly sane to me), we should only use it if the user specifies "native" as the cpu_target (or does not specify a cpu_target). It would also be good to expose this information through |
I was surprised to find that the kf/gallium branch is compiling with c++11 vs master which c98. Which is the standard for the project. |
latest llvm (>=3.5?) requires c++11. |
Makes sense, at what point is master going to be reved to c++11 ? |
The master is already using c++11 for newer llvm versions. It will do it by default/require it whenever we use llvm 3.5+ by default. |
I created a pull request which fixes the issue, though I'm not convinced that we are doing the right thing when we pass the CPU type to selectTarget. |
fixed in #13142 |
I created this initially under Gallium
JuliaDebug/Gallium.jl#28
In summary codegen.c inserts avx instructions which are nut supported under Virtual Box VMs
The text was updated successfully, but these errors were encountered: