Skip to content

Instantly share code, notes, and snippets.

@chertov
Created October 16, 2018 09:37
Show Gist options
  • Save chertov/abc630fb169e5bc085f033415ff443a5 to your computer and use it in GitHub Desktop.
Save chertov/abc630fb169e5bc085f033415ff443a5 to your computer and use it in GitHub Desktop.
diff --git a/.gitmodules b/.gitmodules
index f3eb902..ca26136 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,7 +1,7 @@
[submodule "src/llvm"]
path = src/llvm
url = https://github.com/rust-lang/llvm.git
- branch = master
+ branch = rust-llvm-release-7-0-0-v1
[submodule "src/jemalloc"]
path = src/jemalloc
url = https://github.com/rust-lang/jemalloc.git
diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py
index 9fdba04..dfa7a10 100755
--- a/src/bootstrap/configure.py
+++ b/src/bootstrap/configure.py
@@ -122,6 +122,8 @@ v("musl-root-armhf", "target.arm-unknown-linux-musleabihf.musl-root",
"arm-unknown-linux-musleabihf install directory")
v("musl-root-armv5te", "target.armv5te-unknown-linux-musleabi.musl-root",
"armv5te-unknown-linux-musleabi install directory")
+v("uclibc-root-armv5te", "target.armv5te-unknown-linux-uclibceabi.uclibc-root",
+ "armv5te-unknown-linux-uclibceabi install directory")
v("musl-root-armv7", "target.armv7-unknown-linux-musleabihf.musl-root",
"armv7-unknown-linux-musleabihf install directory")
v("musl-root-aarch64", "target.aarch64-unknown-linux-musl.musl-root",
diff --git a/src/librustc_target/spec/armv5te-unknown-linux-uclibceabi.rs b/src/librustc_target/spec/armv5te-unknown-linux-uclibceabi.rs
new file mode 100644
index 0000000..0e3f00d
--- /dev/null
+++ b/src/librustc_target/spec/armv5te-unknown-linux-uclibceabi.rs
@@ -0,0 +1,33 @@
+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+ use spec::{LinkerFlavor, Target, TargetOptions, TargetResult};
+ pub fn target() -> TargetResult {
+ let base = super::linux_base::opts();
+ Ok(Target {
+ llvm_target: "armv5te-unknown-linux-gnueabi".to_string(),
+ target_endian: "little".to_string(),
+ target_pointer_width: "32".to_string(),
+ target_c_int_width: "32".to_string(),
+ data_layout: "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
+ arch: "arm".to_string(),
+ target_os: "linux".to_string(),
+ target_env: "uclibc".to_string(),
+ target_vendor: "unknown".to_string(),
+ linker_flavor: LinkerFlavor::Gcc,
+
+ options: TargetOptions {
+ features: "+soft-float,+strict-align".to_string(),
+ // Atomic operations provided by compiler-builtins
+ max_atomic_width: Some(32),
+ abi_blacklist: super::arm_base::abi_blacklist(),
+ .. base
+ }
+ })
+}
\ No newline at end of file
diff --git a/src/librustc_target/spec/mod.rs b/src/librustc_target/spec/mod.rs
index c5d21cd..d501712 100644
--- a/src/librustc_target/spec/mod.rs
+++ b/src/librustc_target/spec/mod.rs
@@ -285,6 +285,7 @@ supported_targets! {
("armv4t-unknown-linux-gnueabi", armv4t_unknown_linux_gnueabi),
("armv5te-unknown-linux-gnueabi", armv5te_unknown_linux_gnueabi),
("armv5te-unknown-linux-musleabi", armv5te_unknown_linux_musleabi),
+ ("armv5te-unknown-linux-uclibceabi", armv5te_unknown_linux_uclibceabi),
("armv7-unknown-linux-gnueabihf", armv7_unknown_linux_gnueabihf),
("armv7-unknown-linux-musleabihf", armv7_unknown_linux_musleabihf),
("aarch64-unknown-linux-gnu", aarch64_unknown_linux_gnu),
diff --git a/src/tools/build-manifest/src/main.rs b/src/tools/build-manifest/src/main.rs
index 83b2895..805fbf0 100644
--- a/src/tools/build-manifest/src/main.rs
+++ b/src/tools/build-manifest/src/main.rs
@@ -58,6 +58,7 @@ static TARGETS: &'static [&'static str] = &[
"arm-unknown-linux-musleabihf",
"armv5te-unknown-linux-gnueabi",
"armv5te-unknown-linux-musleabi",
+ "armv5te-unknown-linux-uclibceabi",
"armv7-apple-ios",
"armv7-linux-androideabi",
"armv7-unknown-cloudabi-eabihf",
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment