-
Notifications
You must be signed in to change notification settings - Fork 12.5k
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
Add ARM MUSL targets #35060
Add ARM MUSL targets #35060
Commits on Jul 30, 2016
-
Update gcc crate dependency to 0.3.27.
This is to pull in changes to support ARM MUSL targets. This change also commits a couple of other cargo-generated changes to other dependencies in the various Cargo.toml files.
Configuration menu - View commit details
-
Copy full SHA for 57cad57 - Browse repository at this point
Copy the full SHA 57cad57View commit details -
The targets are: - `arm-unknown-linux-musleabi` - `arm-unknown-linux-musleabihf` - `armv7-unknown-linux-musleabihf` These mirror the existing `gnueabi` targets. All of these targets produce fully static binaries, similar to the x86 MUSL targets. For now these targets can only be used with `--rustbuild` builds, as rust-lang/compiler-rt#22 only made the necessary compiler-rt changes in the CMake configs, not the plain GNU Make configs. I've tested these targets GCC 5.3.0 compiled again musl-1.1.12 (downloaded from http://musl.codu.org/). An example `./configure` invocation is: ``` ./configure \ --enable-rustbuild --target=arm-unknown-linux-musleabi \ --musl-root="$MUSL_ROOT" ``` where `MUSL_ROOT` points to the `arm-linux-musleabi` prefix. Usually that path will be of the form `/foobar/arm-linux-musleabi/arm-linux-musleabi`. Usually the cross-compile toolchain will live under `/foobar/arm-linux-musleabi/bin`. That path should either by added to your `PATH` variable, or you should add a section to your `config.toml` as follows: ``` [target.arm-unknown-linux-musleabi] cc = "/foobar/arm-linux-musleabi/bin/arm-linux-musleabi-gcc" cxx = "/foobar/arm-linux-musleabi/bin/arm-linux-musleabi-g++" ``` As a prerequisite you'll also have to put a cross-compiled static `libunwind.a` library in `$MUSL_ROOT/lib`. This is similar to [how the x86_64 MUSL targets are built] (https://doc.rust-lang.org/book/advanced-linking.html).
Configuration menu - View commit details
-
Copy full SHA for f7247d1 - Browse repository at this point
Copy the full SHA f7247d1View commit details -
arm-musl targets now use cfg(env = "musl")
Jorge Aparicio committedJul 30, 2016 Configuration menu - View commit details
-
Copy full SHA for 9ffd0fe - Browse repository at this point
Copy the full SHA 9ffd0feView commit details -
arm-musl: set max_atomic_width
Jorge Aparicio committedJul 30, 2016 Configuration menu - View commit details
-
Copy full SHA for e50bcf3 - Browse repository at this point
Copy the full SHA e50bcf3View commit details -
arm-musl: statically link to libunwind
Jorge Aparicio committedJul 30, 2016 Configuration menu - View commit details
-
Copy full SHA for f0ec906 - Browse repository at this point
Copy the full SHA f0ec906View commit details -
rustc_back/target: remove musl_base
it's the same as linux_musl_base
Jorge Aparicio committedJul 30, 2016 Configuration menu - View commit details
-
Copy full SHA for b389537 - Browse repository at this point
Copy the full SHA b389537View commit details -
remove some
any
s that are no longer necessaryJorge Aparicio committedJul 30, 2016 Configuration menu - View commit details
-
Copy full SHA for ea00993 - Browse repository at this point
Copy the full SHA ea00993View commit details -
point the libc submodule back to rust-lang/libc
Jorge Aparicio committedJul 30, 2016 Configuration menu - View commit details
-
Copy full SHA for 87fa075 - Browse repository at this point
Copy the full SHA 87fa075View commit details -
Jorge Aparicio committed
Jul 30, 2016 Configuration menu - View commit details
-
Copy full SHA for eb61738 - Browse repository at this point
Copy the full SHA eb61738View commit details