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
LLVM < 3.8 generates incorrect binary in release mode #4104
Comments
Hello, I've performed the following tests: Using latest release ( The following is the sample command line used:
Once the second compiler was ready, the following script was used for testing: require "digest/sha1"
puts Digest::SHA1.digest("This is a test")
puts Digest::SHA1.digest("This is a test")
puts Digest::SHA1.digest("This is a test")
puts Digest::SHA1.digest("This is a test")
puts Digest::SHA1.digest("This is a test")
puts Digest::SHA1.digest("This is a test")
puts Digest::SHA1.digest("This is a test")
puts Digest::SHA1.digest("This is a test")
puts Digest::SHA1.digest("This is a test") And here are the results of each different version of LLVM:
So should be safe to assume that any LLVM prior to 3.8 is not recommended. It appears omnibus-crystal has been updated to use 3.8.1, but still uses 3.5.0 to bootstrap itself the build process. Not sure if this has any effect. Cheers. |
@luislavena Thank you for the detailed report! In omnibus we are still using a patched LLVM 3.5.1 (we are using the We need to update the LLVM version in omnibus but it's pretty tricky (some issues with libgc versions) |
I'll make a patch to remove support for LLVM 3.6 and below in the next few days, so it can be merged once omnibus is updated. That shall cleanup things up. |
FWIW, right now I'm using the Crystal Ubuntu binaries, and I just hit this bug. Is the LLVM version used there going to be upgraded soon? |
@kirbyfan64 Same issue, @ysbaddaden and progress with this ? |
@kirbyfan64 @bararchy, we're working on that. Next release should come with 3.8 or higher. |
Are we building with 3.8 or higher yet? |
I think so, yes. |
We have #4057, #3013 and #3695 as examples. We should stop supporting LLVM 3.5 (I'm not sure this happens in 3.6, but it's a relatively old version).
The text was updated successfully, but these errors were encountered: