-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
mk: Specify armv6 for gcc on arm-unknown-linux-* #31800
Conversation
Right now the compiler's we're using actually default to armv7/thumb2 I believe, so this should help push them back to what the arm-unknown-linux-* targets are for. This at least matches that clang does for the `arm-unknown-linux-gnueabihf` target which is to map it to an armv6 architecture. Closes rust-lang#31787
r? @brson (rust_highfive has picked a reviewer for you, use r? to override) |
My understanding is that gnueabihf originated in Debian, and defined to allow ARMv7 and Thumb-2. If the platform does not support ARMv7 and Thumb-2, it should use gnueabi, not gnueabihf. Rust can choose to interpret gnueabi/gnueabihf differently, but there should be a good reason to do so. |
I do think that many of our triples (especially these for embedded targets typically) are somewhat ad-hoc. Most of our "prior art" here in general has come from what clang does. The clang default cpu for this target is |
From that wiki:
An entire distro cannot afford the level of backward compatibility a compiler, like rustc, can. And besides we're mostly talking about compiler runtime here (and jemalloc) - the codegen options can still be tweaked with |
For llvm the default target for arm-unknown-linux-gnueabi is As the ARM architecture is backward compatible maybe we should remove this restriction of setting |
It is quite unfortunate that GCC and Clang disagree, but I guess following Clang is as good as any choice. |
I've verified this patch solves the issue I have, thanks! |
@joerg-krause I remember your fixing the target in question so why not start a discussion in a dedicated issue or PR? |
@bors r+ |
📌 Commit d4fda66 has been approved by |
Right now the compiler's we're using actually default to armv7/thumb2 I believe, so this should help push them back to what the arm-unknown-linux-* targets are for. This at least matches that clang does for the `arm-unknown-linux-gnueabihf` target which is to map it to an armv6 architecture. Closes rust-lang#31787
@petevine I'll do it, if this comment gets accepted. @alexcrichton Please consider to specify ARMv6 only for the hard-float target and specify as the default target architecture for the soft-float is the |
⌛ Testing commit d4fda66 with merge 3154ede... |
💔 Test failed - auto-linux-64-nopt-t |
@bors: retry On Thu, Feb 25, 2016 at 8:26 AM, bors notifications@github.com wrote:
|
Right now the compiler's we're using actually default to armv7/thumb2 I believe,
so this should help push them back to what the arm-unknown-linux-* targets are
for. This at least matches that clang does for the
arm-unknown-linux-gnueabihf
target which is to map it to an armv6 architecture.
Closes #31787