update lang/rust to 1.64.0

Announce: https://blog.rust-lang.org/2022/09/22/Rust-1.64.0.html
ChangeLog: https://blog.rust-lang.org/2022/09/22/Rust-1.64.0.html
This commit is contained in:
semarie
2022-10-04 15:02:37 +00:00
parent 1e8dedb1c4
commit e97bd92ea4
12 changed files with 51 additions and 24 deletions
+6 -5
View File
@@ -11,14 +11,13 @@ COMMENT-gdb = Rust debugger through gdb
COMMENT-clippy = Rust linter
COMMENT-rustfmt = Rust code formatter
V = 1.63.0
REVISION = 0
V = 1.64.0
DISTNAME = rustc-${V}-src
# rustc bootstrap version
BV-aarch64 = 1.63.0-20220810
BV-amd64 = 1.63.0-20220809
BV-i386 = 1.63.0-20220809
BV-aarch64 = 1.64.0-20220922
BV-amd64 = 1.64.0-20220920
BV-i386 = 1.64.0-20220920
BV-powerpc64 = 1.63.0-20220821
BV-riscv64 = 1.63.0-20220821
BV-sparc64 = 1.63.0-20220822
@@ -209,6 +208,8 @@ do-configure:
echo 'tools = ["cargo", "clippy", "rustfmt"]' >>${WRKBUILD}/config.toml
echo 'docs = false' >>${WRKBUILD}/config.toml
echo 'verbose = 2' >>${WRKBUILD}/config.toml
echo 'host = ["${TRIPLE_ARCH}"]' >>${WRKBUILD}/config.toml
echo 'target = ["${TRIPLE_ARCH}"]' >>${WRKBUILD}/config.toml
echo '[install]' >>${WRKBUILD}/config.toml
echo 'prefix = "${LOCALBASE}"' >>${WRKBUILD}/config.toml
+8 -8
View File
@@ -1,14 +1,14 @@
SHA256 (rust/rustc-1.63.0-src.tar.xz) = j0SvbcRMxBRmNKTdXkzFRwswUqIzcBm4cMDgJeiYfgw=
SHA256 (rust/rustc-bootstrap-aarch64-1.63.0-20220810.tar.xz) = WFrqG86jL4STToRQXf0Go1JCMKu1udEU8bCVI8zZGFQ=
SHA256 (rust/rustc-bootstrap-amd64-1.63.0-20220809.tar.xz) = KrVLrREc86Eh5DdYI/m7ApsZ6e80AH85V4qEiAgIY1k=
SHA256 (rust/rustc-bootstrap-i386-1.63.0-20220809.tar.xz) = zbHnn/5SBFsxex31vkEWE4Rim/316/LFqNUJGRyChbc=
SHA256 (rust/rustc-1.64.0-src.tar.xz) = 6BcNMY+snS/BfVw+ZI5waPVujbjSM9hkrv++98ZULqw=
SHA256 (rust/rustc-bootstrap-aarch64-1.64.0-20220922.tar.xz) = 6f3gaB9pPJxet/5UU4F57OlsKSPxzGvoFCx/NzVjTcA=
SHA256 (rust/rustc-bootstrap-amd64-1.64.0-20220920.tar.xz) = UmI+iAqcm9PB1VZSs6qtw4lEZWWFD70batt8f401lrE=
SHA256 (rust/rustc-bootstrap-i386-1.64.0-20220920.tar.xz) = xNe8jVXOVUTHjlFAVDC1JZhJFWekBU+bwk6YIb89hrs=
SHA256 (rust/rustc-bootstrap-powerpc64-1.63.0-20220821.tar.xz) = ZvEXosONyhaLpUyQMJsLNLqjwtXdh+ia6mlQUzaf0SI=
SHA256 (rust/rustc-bootstrap-riscv64-1.63.0-20220821.tar.xz) = sJT4g1Zsso87s2A/Jagz9pBE2tFSqZ8I1WqRED/DoXk=
SHA256 (rust/rustc-bootstrap-sparc64-1.63.0-20220822.tar.xz) = XCpM3Kgy3m4slFP5iYQnQ9Gj0JN/2Pa0c2m7AOa+Rm4=
SIZE (rust/rustc-1.63.0-src.tar.xz) = 136597192
SIZE (rust/rustc-bootstrap-aarch64-1.63.0-20220810.tar.xz) = 57047168
SIZE (rust/rustc-bootstrap-amd64-1.63.0-20220809.tar.xz) = 63153000
SIZE (rust/rustc-bootstrap-i386-1.63.0-20220809.tar.xz) = 64749664
SIZE (rust/rustc-1.64.0-src.tar.xz) = 137841332
SIZE (rust/rustc-bootstrap-aarch64-1.64.0-20220922.tar.xz) = 58395760
SIZE (rust/rustc-bootstrap-amd64-1.64.0-20220920.tar.xz) = 64478412
SIZE (rust/rustc-bootstrap-i386-1.64.0-20220920.tar.xz) = 65931652
SIZE (rust/rustc-bootstrap-powerpc64-1.63.0-20220821.tar.xz) = 57325328
SIZE (rust/rustc-bootstrap-riscv64-1.63.0-20220821.tar.xz) = 60968848
SIZE (rust/rustc-bootstrap-sparc64-1.63.0-20220822.tar.xz) = 56881288
@@ -1,7 +1,7 @@
Index: compiler/rustc_llvm/build.rs
--- compiler/rustc_llvm/build.rs.orig
+++ compiler/rustc_llvm/build.rs
@@ -339,10 +339,10 @@ fn main() {
@@ -335,10 +335,10 @@ fn main() {
};
// RISC-V GCC erroneously requires libatomic for sub-word
@@ -4,7 +4,7 @@ https://github.com/rust-lang/rust/issues/90064
Index: compiler/rustc_mir_transform/src/abort_unwinding_calls.rs
--- compiler/rustc_mir_transform/src/abort_unwinding_calls.rs.orig
+++ compiler/rustc_mir_transform/src/abort_unwinding_calls.rs
@@ -100,6 +100,7 @@ impl<'tcx> MirPass<'tcx> for AbortUnwindingCalls {
@@ -95,6 +95,7 @@ impl<'tcx> MirPass<'tcx> for AbortUnwindingCalls {
// registered for it.
if !call_can_unwind {
cleanups_to_remove.push(id);
@@ -4,16 +4,15 @@ pass -znotext to avoid relocation problem with __rust_probestack symbol
Index: compiler/rustc_target/src/spec/i686_unknown_openbsd.rs
--- compiler/rustc_target/src/spec/i686_unknown_openbsd.rs.orig
+++ compiler/rustc_target/src/spec/i686_unknown_openbsd.rs
@@ -2,10 +2,11 @@ use crate::spec::{LinkerFlavor, StackProbeType, Target
@@ -2,9 +2,9 @@ use crate::spec::{LinkerFlavor, StackProbeType, Target
pub fn target() -> Target {
let mut base = super::openbsd_base::opts();
- base.cpu = "pentium4".into();
+ base.cpu = "pentiumpro".into();
base.max_atomic_width = Some(64);
base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".into());
base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-fuse-ld=lld".into());
+ base.pre_link_args.get_mut(&LinkerFlavor::Gcc).unwrap().push("-Wl,-znotext".into());
- base.add_pre_link_args(LinkerFlavor::Gcc, &["-m32", "-fuse-ld=lld"]);
+ base.add_pre_link_args(LinkerFlavor::Gcc, &["-m32", "-fuse-ld=lld", "-Wl,-znotext"]);
// don't use probe-stack=inline-asm until rust#83139 and rust#84667 are resolved
base.stack_probes = StackProbeType::Call;
@@ -3,7 +3,7 @@ Add more openbsd archs
Index: compiler/rustc_target/src/spec/mod.rs
--- compiler/rustc_target/src/spec/mod.rs.orig
+++ compiler/rustc_target/src/spec/mod.rs
@@ -890,9 +890,11 @@ supported_targets! {
@@ -893,9 +893,11 @@ supported_targets! {
("aarch64-unknown-openbsd", aarch64_unknown_openbsd),
("i686-unknown-openbsd", i686_unknown_openbsd),
@@ -1,9 +1,10 @@
Workaround for sparc64: bootstrap segfaults without -O3
Backport of https://github.com/rust-lang/rust/pull/101835
Index: src/bootstrap/bootstrap.py
--- src/bootstrap/bootstrap.py.orig
+++ src/bootstrap/bootstrap.py
@@ -784,6 +784,9 @@ class RustBuild(object):
@@ -750,6 +750,9 @@ class RustBuild(object):
if self.get_toml("deny-warnings", "rust") != "false":
env["RUSTFLAGS"] += " -Dwarnings"
@@ -13,3 +14,13 @@ Index: src/bootstrap/bootstrap.py
env["PATH"] = os.path.join(self.bin_root(), "bin") + \
os.pathsep + env["PATH"]
if not os.path.isfile(self.cargo()):
@@ -774,7 +774,8 @@ class RustBuild(object):
elif color == "never":
args.append("--color=never")
- run(args, env=env, verbose=self.verbose)
+ # Run this from the source directory so cargo finds .cargo/config
+ run(args, env=env, verbose=self.verbose, cwd=self.rust_root)
def build_triple(self):
"""Build triple as in LLVM
@@ -0,0 +1,15 @@
Backport of https://github.com/rust-lang/rust/pull/101835
Index: src/bootstrap/builder.rs
--- src/bootstrap/builder.rs.orig
+++ src/bootstrap/builder.rs
@@ -1321,6 +1321,9 @@ impl<'a> Builder<'a> {
) -> Cargo {
let mut cargo = Command::new(&self.initial_cargo);
let out_dir = self.stage_out(compiler, mode);
+ // Run cargo from the source root so it can find .cargo/config.
+ // This matters when using vendoring and the working directory is outside the repository.
+ cargo.current_dir(&self.src);
// Codegen backends are not yet tracked by -Zbinary-dep-depinfo,
// so we need to explicitly clear out if they've been updated.
+1 -1
View File
@@ -4,7 +4,7 @@ https://github.com/rust-lang/rust/issues/39900
Index: src/bootstrap/lib.rs
--- src/bootstrap/lib.rs.orig
+++ src/bootstrap/lib.rs
@@ -1050,7 +1050,6 @@ impl Build {
@@ -1049,7 +1049,6 @@ impl Build {
.args()
.iter()
.map(|s| s.to_string_lossy().into_owned())
@@ -1,7 +1,7 @@
Index: src/bootstrap/native.rs
--- src/bootstrap/native.rs.orig
+++ src/bootstrap/native.rs
@@ -350,12 +350,13 @@ impl Step for Llvm {
@@ -358,12 +358,13 @@ impl Step for Llvm {
cfg.define("LLVM_LINK_LLVM_DYLIB", "ON");
}
@@ -3,7 +3,7 @@ Disable "Bootstrap" test by default (it requires network).
Index: src/bootstrap/test.rs
--- src/bootstrap/test.rs.orig
+++ src/bootstrap/test.rs
@@ -2344,7 +2344,7 @@ pub struct Bootstrap;
@@ -2412,7 +2412,7 @@ pub struct Bootstrap;
impl Step for Bootstrap {
type Output = ();
+1
View File
@@ -37,6 +37,7 @@ lib/rustlib/${TRIPLE_ARCH}/lib/libtest-${LIBR_METADATA_test}.rlib
lib/rustlib/${TRIPLE_ARCH}/lib/libunicode_width-${LIBR_METADATA_unicode_width}.rlib
lib/rustlib/${TRIPLE_ARCH}/lib/libunwind-${LIBR_METADATA_unwind}.rlib
@bin libexec/cargo-credential-1password
@bin libexec/rust-analyzer-proc-macro-srv
@man man/man1/cargo-add.1
@man man/man1/cargo-bench.1
@man man/man1/cargo-build.1