diff --git a/Cargo.lock b/Cargo.lock index 933f2fbee128dc146fbf8c8f1b0300233de6b6be..4c53670b33978bcea4c3b4cc7aa3c661d20824a2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -778,9 +778,9 @@ checksum = "55b672471b4e9f9e95499ea597ff64941a309b2cdbffcc46f2cc5e2d971fd335" [[package]] name = "compiler_builtins" -version = "0.1.109" +version = "0.1.130" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f11973008a8cf741fe6d22f339eba21fd0ca81e2760a769ba8243ed6c21edd7e" +checksum = "e64c30475571756801eff60a811520c3d18e0ceb9c56c97bad2047ae601f6709" dependencies = [ "cc", "rustc-std-workspace-core", diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs index fc8223f21c1c3fc76947883a27f29138911f04ea..e563201050b3da3d774847a2d08efc30ecdfa523 100644 --- a/compiler/rustc_target/src/spec/mod.rs +++ b/compiler/rustc_target/src/spec/mod.rs @@ -1608,6 +1608,7 @@ fn $module() { ("aarch64-unknown-redox", aarch64_unknown_redox), ("i686-unknown-redox", i686_unknown_redox), ("x86_64-unknown-redox", x86_64_unknown_redox), + ("riscv64gc-unknown-redox", riscv64gc_unknown_redox), ("i386-apple-ios", i386_apple_ios), ("x86_64-apple-ios", x86_64_apple_ios), diff --git a/compiler/rustc_target/src/spec/targets/riscv64gc_unknown_redox.rs b/compiler/rustc_target/src/spec/targets/riscv64gc_unknown_redox.rs new file mode 100644 index 0000000000000000000000000000000000000000..359cb0fc159d8d0c2da4f33cf953106067771621 --- /dev/null +++ b/compiler/rustc_target/src/spec/targets/riscv64gc_unknown_redox.rs @@ -0,0 +1,25 @@ +use crate::spec::{base, CodeModel, Target}; + +pub fn target() -> Target { + let mut base = base::redox::opts(); + base.code_model = Some(CodeModel::Medium); + base.cpu = "generic-rv64".into(); + base.features = "+m,+a,+f,+d,+c".into(); + base.llvm_abiname = "lp64d".into(); + base.plt_by_default = false; + base.max_atomic_width = Some(64); + + Target { + llvm_target: "riscv64-unknown-redox".into(), + metadata: crate::spec::TargetMetadata { + description: None, + tier: None, + host_tools: None, + std: None, + }, + pointer_width: 64, + data_layout: "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128".into(), + arch: "riscv64".into(), + options: base + } +} diff --git a/library/alloc/Cargo.toml b/library/alloc/Cargo.toml index e8afed6b35a83b332a230242c0ef3d6733301f35..9cda45781c3cc93d4c98f63fcb5add6dd1fe74a1 100644 --- a/library/alloc/Cargo.toml +++ b/library/alloc/Cargo.toml @@ -10,7 +10,7 @@ edition = "2021" [dependencies] core = { path = "../core" } -compiler_builtins = { version = "0.1.40", features = ['rustc-dep-of-std'] } +compiler_builtins = { version = "0.1.110", features = ['rustc-dep-of-std', 'no-f16-f128'] } [dev-dependencies] rand = { version = "0.8.5", default-features = false, features = ["alloc"] } @@ -35,6 +35,5 @@ compiler-builtins-mem = ['compiler_builtins/mem'] compiler-builtins-c = ["compiler_builtins/c"] compiler-builtins-no-asm = ["compiler_builtins/no-asm"] compiler-builtins-mangled-names = ["compiler_builtins/mangled-names"] -compiler-builtins-weak-intrinsics = ["compiler_builtins/weak-intrinsics"] # Make panics and failed asserts immediately abort without formatting any message panic_immediate_abort = [] diff --git a/library/std/Cargo.toml b/library/std/Cargo.toml index 52729ba1f84563d721bf901514bc8ba0200bda87..8a625938e71aec069ca1e14384300d9e4da8ba80 100644 --- a/library/std/Cargo.toml +++ b/library/std/Cargo.toml @@ -75,7 +75,6 @@ compiler-builtins-c = ["alloc/compiler-builtins-c"] compiler-builtins-mem = ["alloc/compiler-builtins-mem"] compiler-builtins-no-asm = ["alloc/compiler-builtins-no-asm"] compiler-builtins-mangled-names = ["alloc/compiler-builtins-mangled-names"] -compiler-builtins-weak-intrinsics = ["alloc/compiler-builtins-weak-intrinsics"] llvm-libunwind = ["unwind/llvm-libunwind"] system-llvm-libunwind = ["unwind/system-llvm-libunwind"] diff --git a/library/sysroot/Cargo.toml b/library/sysroot/Cargo.toml index 6ff24a8db59c3126ed19862dbd2c8a1853f1e762..5356ee277cc2cfa309fd7e02c2b84a1b4cb5c19a 100644 --- a/library/sysroot/Cargo.toml +++ b/library/sysroot/Cargo.toml @@ -17,7 +17,6 @@ compiler-builtins-c = ["std/compiler-builtins-c"] compiler-builtins-mem = ["std/compiler-builtins-mem"] compiler-builtins-no-asm = ["std/compiler-builtins-no-asm"] compiler-builtins-mangled-names = ["std/compiler-builtins-mangled-names"] -compiler-builtins-weak-intrinsics = ["std/compiler-builtins-weak-intrinsics"] llvm-libunwind = ["std/llvm-libunwind"] system-llvm-libunwind = ["std/system-llvm-libunwind"] panic-unwind = ["std/panic_unwind"] diff --git a/src/bootstrap/src/core/sanity.rs b/src/bootstrap/src/core/sanity.rs index bf965fc2e33c6caee525bb02f5919c75db9bb5c7..c4741c7651e5de7ffe7bda66ed515438feaa765d 100644 --- a/src/bootstrap/src/core/sanity.rs +++ b/src/bootstrap/src/core/sanity.rs @@ -36,6 +36,7 @@ pub struct Finder { "aarch64-apple-visionos", "aarch64-apple-visionos-sim", "i686-unknown-redox", + "riscv64gc-unknown-redox", ]; impl Finder { diff --git a/src/llvm-project b/src/llvm-project index 2b9fcff380e76a143fafc793e81b34f33fc58819..60b00ef02ef972e5e33bdf1f4a0b576599c16de4 160000 --- a/src/llvm-project +++ b/src/llvm-project @@ -1 +1 @@ -Subproject commit 2b9fcff380e76a143fafc793e81b34f33fc58819 +Subproject commit 60b00ef02ef972e5e33bdf1f4a0b576599c16de4