diff --git a/rust-wasm/.signature b/rust-wasm/.signature index 575ae989b..8ac66aed9 100644 --- a/rust-wasm/.signature +++ b/rust-wasm/.signature @@ -1,12 +1,12 @@ untrusted comment: verify with /etc/ports/contrib.pub -RWSagIOpLGJF35/aU6lC/HhcKSVEiD/gs995CFAMVueQ8MYFpGbDIC65gtzvGtSJW3kxGaCwtKEKJOrG8FBR52D+7Sj32CA26QE= -SHA256 (Pkgfile) = a24dc4f9602a865399c07db883089847c287a203e5a24ed37a55608421512ab9 +RWSagIOpLGJF30mfGBImxgdY/xYhndEqhOvuBhtjAgSnx9/dPIr6aVbOnex/ObetmSe6IWA2rfEa9Ra7pideKAt3JVOySfRQVg0= +SHA256 (Pkgfile) = d4886632d0fd05392c66a0594f67e0bdf2aa5ecae194171b57515260d000090f SHA256 (.footprint) = f6b3ffe267c75b6091c8bf0cfb8947e085b953b49d123db62a78707b66e7477d -SHA256 (rustc-1.77.2-src.tar.xz) = 4d214c4189e4dd934d47e869fa5721b2c33dbbbdea21f2fc7fa6df3f38c1dea2 -SHA256 (rust-std-1.76.0-x86_64-unknown-linux-gnu.tar.xz) = e41150b52d923a3bbe166c4ecc5719f56576274b0d034d764768aee279ae2063 -SHA256 (rustc-1.76.0-x86_64-unknown-linux-gnu.tar.xz) = 9fadfcf71bc6a0ddfd026b9624163faf1c5689dd4a1f7cc1f857167ade4aa6eb -SHA256 (cargo-1.76.0-x86_64-unknown-linux-gnu.tar.xz) = 30ec0ad9fca443ec12c544f9ce448dacdde411a45b9042961938b650e918ccfb -SHA256 (0001-bootstrap-Change-libexec-dir.patch) = 5a0c18e6eee732927f84dd8313622b9262121602a1c506af845961804bb1ee82 -SHA256 (0002-bootstrap-Change-bash-completion-dir.patch) = 7ee144ab2c7c717e45e0acefa65d37e42bae45c0b294b0bf5cd6500ce269a37d -SHA256 (0003-compiler-Change-LLVM-targets.patch) = a1656fbe6458cef2587bb7b09c3e573b314e9e8f55a7a8371f45b975f23cb4e9 +SHA256 (rustc-1.78.0-src.tar.xz) = 8065824f0255faa3901db8206e6f9423f6f8c07cec28bc6f2797c6c948310ece +SHA256 (rust-std-1.77.0-x86_64-unknown-linux-gnu.tar.xz) = e5fec840744c3ff63611f6801de80f5ec8e099fa8225bf46d064810a9545e9b5 +SHA256 (rustc-1.77.0-x86_64-unknown-linux-gnu.tar.xz) = 89397dddb99733bad987e9fdc9d985a150af2e39c81766099e584d93991f5752 +SHA256 (cargo-1.77.0-x86_64-unknown-linux-gnu.tar.xz) = 0af971f126e0307d4e4d974f0e9c33fd1c2923274b14a0861823b5a019e8faf5 +SHA256 (0001-bootstrap-Change-libexec-dir.patch) = 3127ef3346430bd82dde03bfc3c8875cdfc00c62d98f27b3f798099df719dbb9 +SHA256 (0002-bootstrap-Change-bash-completion-dir.patch) = 49c8799720cae67e44d24c0dab484ecc596a2d74c8560504f4053f77864ce849 +SHA256 (0003-compiler-Change-LLVM-targets.patch) = 29068559ad29eaf62c7fb78e6ddabfad25857308b0194575eb12b937411b3063 SHA256 (0004-compiler-Use-wasm-ld-for-wasm-targets.patch) = b5a6ee8942fff48a2165289a24039662945e89a65863d726469cb3bab88d3fb7 diff --git a/rust-wasm/0001-bootstrap-Change-libexec-dir.patch b/rust-wasm/0001-bootstrap-Change-libexec-dir.patch index ebc8f2f84..2c3552b9a 100644 --- a/rust-wasm/0001-bootstrap-Change-libexec-dir.patch +++ b/rust-wasm/0001-bootstrap-Change-libexec-dir.patch @@ -9,10 +9,10 @@ Subject: [PATCH] bootstrap: Change libexec dir 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bootstrap/src/core/build_steps/dist.rs b/src/bootstrap/src/core/build_steps/dist.rs -index f50026368dab..6940e0c50752 100644 +index 012d64e53443..a077e67e49dc 100644 --- a/src/bootstrap/src/core/build_steps/dist.rs +++ b/src/bootstrap/src/core/build_steps/dist.rs -@@ -423,7 +423,7 @@ fn prepare_image(builder: &Builder<'_>, compiler: Compiler, image: &Path) { +@@ -424,7 +424,7 @@ fn prepare_image(builder: &Builder<'_>, compiler: Compiler, image: &Path) { }, builder.kind, ) { @@ -22,15 +22,15 @@ index f50026368dab..6940e0c50752 100644 let libdir_relative = builder.libdir_relative(compiler); diff --git a/src/bootstrap/src/core/build_steps/tool.rs b/src/bootstrap/src/core/build_steps/tool.rs -index 5d8d10a7debc..f52315416bd4 100644 +index 3c2001121037..17c816c6230a 100644 --- a/src/bootstrap/src/core/build_steps/tool.rs +++ b/src/bootstrap/src/core/build_steps/tool.rs -@@ -682,7 +682,7 @@ fn run(self, builder: &Builder<'_>) -> Option { +@@ -684,7 +684,7 @@ fn run(self, builder: &Builder<'_>) -> Option { // Copy `rust-analyzer-proc-macro-srv` to `/libexec/` // so that r-a can use it. - let libexec_path = builder.sysroot(self.compiler).join("libexec"); + let libexec_path = builder.sysroot(self.compiler).join("lib"); t!(fs::create_dir_all(&libexec_path)); - builder.copy(&path, &libexec_path.join("rust-analyzer-proc-macro-srv")); + builder.copy_link(&path, &libexec_path.join("rust-analyzer-proc-macro-srv")); diff --git a/rust-wasm/0002-bootstrap-Change-bash-completion-dir.patch b/rust-wasm/0002-bootstrap-Change-bash-completion-dir.patch index d0e8b433e..112156d8c 100644 --- a/rust-wasm/0002-bootstrap-Change-bash-completion-dir.patch +++ b/rust-wasm/0002-bootstrap-Change-bash-completion-dir.patch @@ -8,12 +8,12 @@ Subject: [PATCH] bootstrap: Change bash-completion dir 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/bootstrap/src/core/build_steps/dist.rs b/src/bootstrap/src/core/build_steps/dist.rs -index 6940e0c50752..d45daad3a829 100644 +index a077e67e49dc..eac689560808 100644 --- a/src/bootstrap/src/core/build_steps/dist.rs +++ b/src/bootstrap/src/core/build_steps/dist.rs -@@ -1071,7 +1071,11 @@ fn run(self, builder: &Builder<'_>) -> Option { +@@ -1072,7 +1072,11 @@ fn run(self, builder: &Builder<'_>) -> Option { - tarball.add_file(&cargo, "bin", 0o755); + tarball.add_file(cargo, "bin", 0o755); tarball.add_file(etc.join("_cargo"), "share/zsh/site-functions", 0o644); - tarball.add_renamed_file(etc.join("cargo.bashcomp.sh"), "etc/bash_completion.d", "cargo"); + tarball.add_renamed_file( diff --git a/rust-wasm/0003-compiler-Change-LLVM-targets.patch b/rust-wasm/0003-compiler-Change-LLVM-targets.patch index 26df177a0..41abedb65 100644 --- a/rust-wasm/0003-compiler-Change-LLVM-targets.patch +++ b/rust-wasm/0003-compiler-Change-LLVM-targets.patch @@ -17,47 +17,28 @@ targets, as things break when this is done: `rustc --version --verbose`) is different from the target triple (from `rustc --print target-list`) that best matches autoconf. --- - compiler/rustc_session/src/config.rs | 2 +- - compiler/rustc_target/src/spec/mod.rs | 9 +++++++++ - .../src/spec/targets/i686_unknown_linux_gnu.rs | 2 +- - .../src/spec/targets/x86_64_unknown_linux_gnu.rs | 2 +- - 4 files changed, 12 insertions(+), 3 deletions(-) + compiler/rustc_session/src/config.rs | 4 ++++ + .../rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs | 2 +- + .../rustc_target/src/spec/targets/x86_64_unknown_linux_gnu.rs | 2 +- + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/compiler/rustc_session/src/config.rs b/compiler/rustc_session/src/config.rs -index d35f951e2aea..7841c4d19094 100644 +index b7ee2c980254..3be7b748718d 100644 --- a/compiler/rustc_session/src/config.rs +++ b/compiler/rustc_session/src/config.rs -@@ -2221,7 +2221,7 @@ pub fn parse_target_triple(early_dcx: &EarlyDiagCtxt, matches: &getopts::Matches +@@ -2222,6 +2222,10 @@ pub fn parse_target_triple(early_dcx: &EarlyDiagCtxt, matches: &getopts::Matches early_dcx.early_fatal(format!("target file {path:?} does not exist")) }) } -- Some(target) => TargetTriple::TargetTriple(target), -+ Some(target) => TargetTriple::from_alias(target), ++ Some(s) if &s == "x86_64-pc-linux-gnu" => { ++ TargetTriple::from_triple("x86_64-unknown-linux-gnu") ++ } ++ Some(s) if &s == "i686-pc-linux-gnu" => TargetTriple::from_triple("i686-unknown-linux-gnu"), + Some(target) => TargetTriple::TargetTriple(target), _ => TargetTriple::from_triple(host_triple()), } - } -diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs -index 6c698c5b01dd..4a1c2dd18b8d 100644 ---- a/compiler/rustc_target/src/spec/mod.rs -+++ b/compiler/rustc_target/src/spec/mod.rs -@@ -3453,6 +3453,15 @@ pub fn from_path(path: &Path) -> Result { - Ok(TargetTriple::TargetJson { path_for_rustdoc: canonicalized_path, triple, contents }) - } - -+ /// Creates a target triple from its alias -+ pub fn from_alias(triple: String) -> Self { -+ match triple.as_str() { -+ "x86_64-pc-linux-gnu" => TargetTriple::from_triple("x86_64-unknown-linux-gnu"), -+ "i686-pc-linux-gnu" => TargetTriple::from_triple("i686-unknown-linux-gnu"), -+ _ => TargetTriple::TargetTriple(triple), -+ } -+ } -+ - /// Returns a string triple for this target. - /// - /// If this target is a path, the file name (without extension) is returned. diff --git a/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs -index 9bc38a72f4d3..a7a36eb3c9d6 100644 +index 1d4916cabfdf..4caab818efdb 100644 --- a/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/targets/i686_unknown_linux_gnu.rs @@ -9,7 +9,7 @@ pub fn target() -> Target { @@ -66,19 +47,19 @@ index 9bc38a72f4d3..a7a36eb3c9d6 100644 Target { - llvm_target: "i686-unknown-linux-gnu".into(), + llvm_target: "i686-pc-linux-gnu".into(), - pointer_width: 32, - data_layout: "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-\ - i128:128-f64:32:64-f80:32-n8:16:32-S128" + metadata: crate::spec::TargetMetadata { + description: None, + tier: None, diff --git a/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_gnu.rs -index 2296b58f45dc..a54dbf573dd6 100644 +index 98374023dc57..0e08b8c32229 100644 --- a/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_gnu.rs +++ b/compiler/rustc_target/src/spec/targets/x86_64_unknown_linux_gnu.rs -@@ -17,7 +17,7 @@ pub fn target() -> Target { +@@ -18,7 +18,7 @@ pub fn target() -> Target { base.supports_xray = true; Target { - llvm_target: "x86_64-unknown-linux-gnu".into(), + llvm_target: "x86_64-pc-linux-gnu".into(), - pointer_width: 64, - data_layout: - "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128".into(), + metadata: crate::spec::TargetMetadata { + description: None, + tier: None, diff --git a/rust-wasm/Pkgfile b/rust-wasm/Pkgfile index ea7345313..616879a1e 100644 --- a/rust-wasm/Pkgfile +++ b/rust-wasm/Pkgfile @@ -5,9 +5,9 @@ # Optional: clang ccache libgit2 polly sccache name=rust-wasm -version=1.77.2 -_date=2024-02-08 -_rustc=1.76.0 +version=1.78.0 +_date=2024-03-21 +_rustc=1.77.0 _cargo=$_rustc release=1 @@ -72,7 +72,7 @@ build() { # config.toml {{{ cat <<-EOF >$SRC/config.toml - changelog-seen = 2 + change-id = 121754 [llvm] ninja = true @@ -89,6 +89,7 @@ build() { # http://blog.llvm.org/2019/09/closing-gap-cross-language-lto-between.html # https://github.com/rust-lang/rust/issues/54872 codegen-units-std = 1 + debuginfo-level = 1 debuginfo-level-std = 2 codegen-tests = false backtrace-on-ice = true @@ -99,6 +100,8 @@ build() { channel = "stable" parallel-compiler = false rpath = false + frame-pointers = true + deny-warnings = false optimize = true use-lld = true lld = true @@ -209,6 +212,8 @@ EOF { [ ! -e /usr/include/libssh2.h ] || export LIBSSH2_SYS_USE_PKG_CONFIG=1; } + unset CFLAGS CXXFLAGS + /usr/bin/python3 ./x.py build --config="${SRC}"/config.toml -j ${JOBS-1} DESTDIR=$PKG /usr/bin/python3 ./x.py --config="${SRC}"/config.toml install