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-gnueabihftarget which is to map it to an armv6 architecture.
Closes #31787