-
Notifications
You must be signed in to change notification settings - Fork 379
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
Upgrade armv7-unknown-linux-gnueabihf to glibc 2.19. #253
Upgrade armv7-unknown-linux-gnueabihf to glibc 2.19. #253
Conversation
With this change, [*ring*](https://github.com/briansmith/ring) 0.14 builds successfully with `cross test --target=armv7-unknown-linux-gnueabihf`. Without this change the same command fails because the older glibc doesn't expose `getauxval`. Signed-off-by: Brian Smith <[email protected]>
Note that ring only requires |
Hey @briansmith, typically |
@jamesmunns I could definitely do that. However, Also, personally I'd like to avoid supporting ARM with the ancient glibc in my projects because, without a way to detect NEON at runtime, there are significant performance and security challenges with my project. That is, when NEON is available, my project is not only faster but more secure. (This is also true for OpenSSL and similar, for the same reasons.) So, with that in mind, do you think it makes sense to have two |
Personally, I am not sure, and your reasoning is definitely sound. I think @japaric has been most vocal about backwards compatibility, so I'll let him chime in on this. We'll need to wait to trigger the CI anyway, so we can avoid a timeout. |
Some relevant bug reports:
According to the So, if we think that 2.19 is too high, we could find some way to use 2.16. However, I don't know how to get cross to use 2.16. |
FWIW the |
Just to chin in, I am trying to create an image to suport GLIBC2.14 on x86_64 on Linux This is necessary beceause the Linux AMI on aws still use the 2.14 I don't know if in embedded world there is the same need... |
We can always provide two (or more) images of each target, targeting different glibc versions with different target triples, but that does not hide the fact that the whole Rust toolchain is tested for one version only, and if any other target appears to work, that's probably just pure luck. |
I agree that glibc 2.14 is probably a reasonable choice for x86_64 and x86 for that reason. However, I don't think there's any compelling reason to require Aarch64 and ARM targets to use such an old glibc. This PR is only changing a single ARM target. Note again that other ARM targets are already using glibc 2.19 or higher. |
In order to get bindgen to work in my build script I had to update Ubuntu from 12.04 to 14.04. Not sure if this is linked to glibc but it was required to bump the LLVM version from 2.9 to 3.4. Otherwise bindgen would fail with |
Thanks for the PR. We are not going to bump glibc versions until we are ready to release v0.2.0 since it's a breaking change (see #164 (comment) for details). As this is not currently actionable I'm going to close this PR to clear the queue. |
With this change, ring 0.14 builds
successfully with
cross test --target=armv7-unknown-linux-gnueabihf
.Without this change the same command fails because the older glibc doesn't
expose
getauxval
.Signed-off-by: Brian Smith [email protected]