summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:20:40 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:20:40 +0000
commitb667bd04d7a0062c0e3fc07f480f5d66c55c0014 (patch)
treeae99acd0647b6bcb5fe608adaa66995139eb146e
parentMerging upstream version 1.70.0+dfsg1. (diff)
downloadrustc-b667bd04d7a0062c0e3fc07f480f5d66c55c0014.tar.xz
rustc-b667bd04d7a0062c0e3fc07f480f5d66c55c0014.zip
Merging debian version 1.70.0+dfsg1-7.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
-rw-r--r--debian/architecture-test.mk2
-rwxr-xr-xdebian/bin/rust-lld2
-rw-r--r--debian/changelog88
-rw-r--r--debian/config.toml.in1
-rw-r--r--debian/control31
-rw-r--r--debian/copyright172
-rwxr-xr-xdebian/get-stage0.py11
-rw-r--r--debian/libstd-rust-1.69.lintian-overrides13
-rw-r--r--debian/libstd-rust-1.70.install (renamed from debian/libstd-rust-1.69.install)0
-rw-r--r--debian/libstd-rust-1.70.lintian-overrides13
-rwxr-xr-xdebian/make_orig-stage0_tarball.sh2
-rw-r--r--debian/patches/d-0000-ignore-removed-submodules.patch190
-rw-r--r--debian/patches/d-0002-mdbook-strip-embedded-libs.patch119
-rw-r--r--debian/patches/d-0004-clippy-feature-sync.patch2
-rw-r--r--debian/patches/d-bootstrap-disable-git.patch4
-rw-r--r--debian/patches/d-bootstrap-old-cargo-compat.patch8
-rw-r--r--debian/patches/d-disable-download-tests.patch26
-rw-r--r--debian/patches/d-fix-rustix-outline.patch57
-rw-r--r--debian/patches/d-rust-gdb-paths17
-rw-r--r--debian/patches/d-rust-lldb-paths2
-rw-r--r--debian/patches/d-rustc-i686-baseline.patch35
-rw-r--r--debian/patches/series10
-rw-r--r--debian/patches/u-disable-fp-precision-test-on-i386.patch26
-rw-r--r--debian/patches/u-fix-rustix-for-sparc64.patch103
-rw-r--r--debian/patches/u-fix-sysroot-detection-logic.patch46
-rw-r--r--debian/patches/u-ignore-reproducible-failure.patch22
-rw-r--r--debian/patches/u-make-tests-work-without-rpath.patch23
-rw-r--r--debian/patches/u-profiler.patch131
-rw-r--r--debian/patches/u-riscv-disable-unpacked-split-debuginfo.patch140
-rwxr-xr-xdebian/rules25
-rw-r--r--debian/rust-lldb.links2
-rw-r--r--debian/rust-src.install2
-rw-r--r--debian/rustc.links6
-rw-r--r--debian/source/lintian-overrides4
-rw-r--r--debian/upstream-tarball-unsuspicious.txt59
35 files changed, 977 insertions, 417 deletions
diff --git a/debian/architecture-test.mk b/debian/architecture-test.mk
index e7aeabade..071f63aa2 100644
--- a/debian/architecture-test.mk
+++ b/debian/architecture-test.mk
@@ -8,7 +8,7 @@
include debian/architecture.mk
deb_arch_setvars = $(foreach var,ARCH ARCH_OS ARCH_CPU ARCH_BITS ARCH_ENDIAN GNU_CPU GNU_SYSTEM GNU_TYPE MULTIARCH,\
- $(eval DEB_$(1)_$(var) = $(shell dpkg-architecture -a$(1) -qDEB_HOST_$(var) 2>/dev/null)))
+ $(eval DEB_$(1)_$(var) = $(shell dpkg-architecture -f -a$(1) -qDEB_HOST_$(var) 2>/dev/null)))
rust-for-deb_%:
$(eval $(call deb_arch_setvars,$*))
diff --git a/debian/bin/rust-lld b/debian/bin/rust-lld
index 285f1b0da..b3880d793 100755
--- a/debian/bin/rust-lld
+++ b/debian/bin/rust-lld
@@ -6,4 +6,4 @@
# However the tests fail for other reasons, namely we can't build rustdoc
# (which runs the tests) in wasm32 yet. So this is just WIP at the moment,
# it is not expect to work nor to be installed on user machines.
-exec /usr/bin/lld-15 "${@/#-Wl,/}"
+exec /usr/bin/lld-16 "${@/#-Wl,/}"
diff --git a/debian/changelog b/debian/changelog
index 5cde87c7e..84654cf94 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,91 @@
+rustc (1.70.0+dfsg1-7) unstable; urgency=medium
+
+ * profiler: disable on mips64el for now, it's buggy
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email> Thu, 15 Feb 2024 06:52:19 +0100
+
+rustc (1.70.0+dfsg1-6) unstable; urgency=medium
+
+ [ Fabian Grünbichler ]
+ * fix bootstrap helpers (Closes: #1060808)
+ * rustix: patch both versions to fix racy build
+
+ [ Andres Salomon ]
+ * Fix source_orig-stage0 bootstrapping process to actually include all
+ architectures (closes: #1021711).
+ * Run 'd/rules clean' after running make_orig-stage0_tarball.sh so that the
+ suggestion to rebuild the .dsc actually works.
+ * Don't allow upstream's bootstrap.py to delete .cargo/ directory.
+
+ [ Fabian Grünbichler ]
+ * stage0: use current release architectures as default
+ * disable LLVM profiler support on sparc64 (Closes: #1061125)
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email> Sun, 11 Feb 2024 20:59:19 +0100
+
+rustc (1.70.0+dfsg1-5) unstable; urgency=medium
+
+ * adapt LLVM_PROFILER_RT_LIB path
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email> Mon, 15 Jan 2024 08:16:35 +0100
+
+rustc (1.70.0+dfsg1-4) unstable; urgency=medium
+
+ * fix libclang-rt-16-dev Build-dep
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email> Mon, 15 Jan 2024 07:00:08 +0100
+
+rustc (1.70.0+dfsg1-3) unstable; urgency=medium
+
+ [ Andres Salomon ]
+ * Enable profiler builtin and backport u-profiler.patch (closes: #1043311).
+ * Build-dep on libclang-rt-16-dev.
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email> Sun, 14 Jan 2024 20:06:29 +0100
+
+rustc (1.70.0+dfsg1-2) unstable; urgency=medium
+
+ * Upload to unstable
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email> Sat, 30 Dec 2023 14:52:00 +0100
+
+rustc (1.70.0+dfsg1-2~exp1) experimental; urgency=medium
+
+ * riscv: disable split debuginfo support
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email> Sat, 02 Dec 2023 11:19:31 +0100
+
+rustc (1.70.0+dfsg1-1) unstable; urgency=medium
+
+ * Upload to unstable
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email> Wed, 20 Sep 2023 20:18:40 +0200
+
+rustc (1.70.0+dfsg1-1~exp3) experimental; urgency=medium
+
+ * more test fixes
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email> Fri, 15 Sep 2023 15:07:01 +0200
+
+rustc (1.70.0+dfsg1-1~exp2) experimental; urgency=medium
+
+ * don't remove replace-version-placeholder from workspace
+ * disable download tests
+ * fix x86 tests checking for SSE2
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email> Fri, 15 Sep 2023 10:10:52 +0200
+
+rustc (1.70.0+dfsg1-1~exp1) experimental; urgency=medium
+
+ * New upstream release
+ * switch to LLVM 16
+ * properly drop more components
+ * rust-src: fix path of installed example config
+ * fix lintian overrides
+ * update d/copyright
+
+ -- Fabian Grünbichler <debian@fabian.gruenbichler.email> Thu, 14 Sep 2023 09:07:26 +0200
+
rustc (1.69.0+dfsg1-1~progress7.99u1) graograman-backports; urgency=medium
* Uploading to graograman-backports, remaining changes:
diff --git a/debian/config.toml.in b/debian/config.toml.in
index f896f97dc..c61d582c1 100644
--- a/debian/config.toml.in
+++ b/debian/config.toml.in
@@ -5,6 +5,7 @@ submodules = false
vendor = true
locked-deps = false
verbose = VERBOSITY
+profiler = PROFILER
rustc = "RUST_DESTDIR/usr/bin/rustc"
cargo = "RUST_DESTDIR/usr/bin/cargo"
diff --git a/debian/control b/debian/control
index e951514ee..050af7f13 100644
--- a/debian/control
+++ b/debian/control
@@ -17,13 +17,14 @@ Build-Depends:
dpkg-dev (>= 1.17.14),
python3:native,
cargo:native (>= 0.60.0) <!pkg.rustc.dlstage0>,
- rustc:native (>= 1.68.0+dfsg) <!pkg.rustc.dlstage0>,
- rustc:native (<= 1.69.0++) <!pkg.rustc.dlstage0>,
- llvm-15-dev:native,
- llvm-15-tools:native,
+ rustc:native (>= 1.69.0+dfsg) <!pkg.rustc.dlstage0>,
+ rustc:native (<= 1.70.0++) <!pkg.rustc.dlstage0>,
+ llvm-16-dev:native,
+ llvm-16-tools:native,
gcc-mingw-w64-x86-64-posix:native [amd64] <!nowindows>,
gcc-mingw-w64-i686-posix:native [i386] <!nowindows>,
- libllvm15 (>= 1:15.0.0),
+ libllvm16 (>= 1:16.0.0),
+ libclang-rt-16-dev:native,
cmake (>= 3.0) | cmake3,
# needed by some vendor crates
pkg-config,
@@ -44,7 +45,7 @@ Build-Depends:
Build-Depends-Indep:
wasi-libc (>= 0.0~git20230113.4362b18-2~) <!nowasm>,
wasi-libc (<= 0.0~git20230113.4362b18++) <!nowasm>,
- clang-15:native,
+ clang-16:native,
Build-Conflicts: gdb-minimal <!nocheck>
Standards-Version: 4.6.2
Homepage: http://www.rust-lang.org/
@@ -61,12 +62,12 @@ Depends: ${shlibs:Depends}, ${misc:Depends},
libstd-rust-dev (= ${binary:Version}),
gcc, libc-dev, binutils (>= 2.26)
Recommends:
- cargo (>= 0.70.0~~), cargo (<< 0.71.0~~),
+ cargo (>= 0.71.0~~), cargo (<< 0.72.0~~),
# llvm is needed for llvm-dwp for -C split-debuginfo=packed
- llvm-15,
+ llvm-16,
Suggests:
# lld and clang are needed for wasm compilation
- lld-15, clang-15,
+ lld-16, clang-16,
Replaces: libstd-rust-dev (<< 1.25.0+dfsg1-2~~)
Breaks: libstd-rust-dev (<< 1.25.0+dfsg1-2~~)
Description: Rust systems programming language
@@ -82,7 +83,7 @@ Description: Rust systems programming language
generic programming and meta-programming, in both static and dynamic
styles.
-Package: libstd-rust-1.69
+Package: libstd-rust-1.70
Section: libs
Architecture: any
Multi-Arch: same
@@ -109,7 +110,7 @@ Section: libdevel
Architecture: any
Multi-Arch: same
Depends: ${shlibs:Depends}, ${misc:Depends},
- libstd-rust-1.69 (= ${binary:Version}),
+ libstd-rust-1.70 (= ${binary:Version}),
Description: Rust standard libraries - development files
Rust is a curly-brace, block-structured expression language. It
visually resembles the C language family, but differs significantly
@@ -161,7 +162,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}
# Embeds wasi-libc so doesn't need to depend on it
# None of its licenses require source redistrib, so no need for Built-Using
Recommends:
- lld-15, clang-15,
+ lld-16, clang-16,
Suggests:
# nodejs contains wasi-node for running the program
nodejs (>= 12.16),
@@ -207,7 +208,7 @@ Description: Rust debugger (gdb)
Package: rust-lldb
Architecture: all
# When updating, also update rust-lldb.links
-Depends: lldb-15, ${misc:Depends}, python3-lldb-15
+Depends: lldb-16, ${misc:Depends}, python3-lldb-16
Replaces: rustc (<< 1.1.0+dfsg1-1)
Description: Rust debugger (lldb)
Rust is a curly-brace, block-structured expression language. It
@@ -272,7 +273,7 @@ Package: rust-clippy
Architecture: any
Multi-Arch: allowed
Depends: ${misc:Depends}, ${shlibs:Depends},
- libstd-rust-1.69 (= ${binary:Version})
+ libstd-rust-1.70 (= ${binary:Version})
Recommends: cargo
Description: Rust linter
Rust is a curly-brace, block-structured expression language. It
@@ -327,7 +328,7 @@ Depends: ${misc:Depends}, ${shlibs:Depends},
rust-gdb (>= ${binary:Version}) | rust-lldb (>= ${binary:Version}),
cargo,
Recommends:
- cargo (>= 0.70.0~~), cargo (<< 0.71.0~~)
+ cargo (>= 0.71.0~~), cargo (<< 0.72.0~~)
Suggests:
rust-doc (>= ${binary:Version}),
rust-src (>= ${binary:Version}),
diff --git a/debian/copyright b/debian/copyright
index dab084da3..edf1cc050 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -21,6 +21,7 @@ Files-Excluded:
# check that certain popular crates continue to compile. It is not the same as
# cargo's own test suite (in its own package) also called cargotest.
# NB: don't exclude rust-installer, it's needed for "install" functionality
+ .gitmodules
src/tools/cargo
src/tools/rls
src/tools/remote-test-client
@@ -38,11 +39,10 @@ Files-Excluded:
vendor/mdbook/src/theme/playground_editor
vendor/psm/src/arch/wasm32.o
vendor/rustix/src/backend/linux_raw/arch/outline/*/*.a
+ vendor/rustix-0.*/src/backend/linux_raw/arch/outline/*/*.a
vendor/winapi-*/*/*.a
# Embedded submodule used for CI
library/stdarch/crates/intrinsic-test/acle
-# .profraw file, probably imported by mistake
- src/tools/rust-analyzer/crates/rust-analyzer/default_12483297303756020505_0.profraw
# unused dependencies, generated by debian/prune-unused-deps
# DO NOT EDIT below, AUTOGENERATED
vendor/ahash-0.7.4
@@ -51,6 +51,7 @@ Files-Excluded:
vendor/anyhow-1.0.66
vendor/anymap
vendor/arbitrary
+ vendor/arc-swap
vendor/arrayvec-0.5.2
vendor/arrayvec-0.7.0
vendor/backtrace-0.3.66
@@ -59,6 +60,7 @@ Files-Excluded:
vendor/base64ct
vendor/bitmaps
vendor/bstr
+ vendor/btoi
vendor/bumpalo
vendor/bytesize
vendor/camino-1.0.9
@@ -69,13 +71,12 @@ Files-Excluded:
vendor/chalk-ir
vendor/chalk-recursive
vendor/chalk-solve
+ vendor/clru
vendor/color-eyre
vendor/color-spantrace
vendor/command-group
- vendor/commoncrypto
- vendor/commoncrypto-sys
vendor/concolor
- vendor/concolor-query
+ vendor/concolor-query-0.1.0
vendor/const-oid
vendor/content_inspector
vendor/core-foundation
@@ -93,7 +94,6 @@ Files-Excluded:
vendor/cranelift-object
vendor/crypto-bigint
vendor/crypto-common-0.1.3
- vendor/crypto-hash
vendor/ct-codecs
vendor/ctor-0.1.22
vendor/curl
@@ -115,14 +115,13 @@ Files-Excluded:
vendor/eyre
vendor/ff
vendor/fiat-crypto
- vendor/filetime-0.2.14
vendor/filetime-0.2.16
+ vendor/filetime-0.2.19
vendor/flate2-1.0.23
vendor/foreign-types
vendor/foreign-types-shared
vendor/form_urlencoded-1.0.1
vendor/fsevent-sys
- vendor/fs_extra-1.1.0
vendor/fs_extra
vendor/fst
vendor/fwdansi
@@ -130,11 +129,48 @@ Files-Excluded:
vendor/generic-array-0.14.4
vendor/git2
vendor/git2-curl
+ vendor/gix-actor
+ vendor/gix-attributes
+ vendor/gix-bitmap
+ vendor/gix
+ vendor/gix-chunk
+ vendor/gix-command
+ vendor/gix-config
+ vendor/gix-config-value
+ vendor/gix-credentials
+ vendor/gix-date
+ vendor/gix-diff
+ vendor/gix-discover
+ vendor/gix-features
+ vendor/gix-glob
+ vendor/gix-hash
+ vendor/gix-hashtable
+ vendor/gix-index
+ vendor/gix-lock
+ vendor/gix-mailmap
+ vendor/gix-object
+ vendor/gix-odb
+ vendor/gix-pack
+ vendor/gix-packetline
+ vendor/gix-path
+ vendor/gix-prompt
+ vendor/gix-protocol
+ vendor/gix-quote
+ vendor/gix-ref
+ vendor/gix-refspec
+ vendor/gix-revision
+ vendor/gix-sec
+ vendor/gix-tempfile
+ vendor/gix-transport
+ vendor/gix-traverse
+ vendor/gix-url
+ vendor/gix-validate
+ vendor/gix-worktree
vendor/globset-0.4.8
vendor/group
vendor/handlebars-3.5.5
vendor/heck-0.3.3
- vendor/hex-0.3.2
+ vendor/hermit-abi-0.3.0
vendor/hex-0.4.2
vendor/hkalbasi-rustc-ap-rustc_abi
vendor/hkalbasi-rustc-ap-rustc_index
@@ -143,19 +179,24 @@ Files-Excluded:
vendor/home-0.5.3
vendor/http-auth
vendor/idna-0.2.0
+ vendor/imara-diff
vendor/im-rc
vendor/indenter
+ vendor/indexmap-1.9.2
vendor/inotify
vendor/inotify-sys
- vendor/io-lifetimes-1.0.1
+ vendor/io-close
+ vendor/io-lifetimes-1.0.3
+ vendor/is-terminal-0.4.4
vendor/itoa-1.0.2
+ vendor/itoa-1.0.5
vendor/jemalloc-sys
vendor/jod-thread
vendor/js-sys
vendor/kqueue
vendor/kqueue-sys
- vendor/libc-0.2.137
vendor/libc-0.2.138
+ vendor/libc-0.2.139
vendor/libffi
vendor/libffi-sys
vendor/libgit2-sys
@@ -165,12 +206,13 @@ Files-Excluded:
vendor/libssh2-sys
vendor/libz-sys
vendor/linked-hash-map
- vendor/linux-raw-sys-0.1.3
vendor/lock_api-0.4.7
vendor/log-0.4.14
vendor/lzma-sys-0.1.16
vendor/mach
vendor/matches
+ vendor/maybe-async
+ vendor/memmap2-0.5.8
vendor/mimalloc
vendor/mio
vendor/nix
@@ -178,11 +220,14 @@ Files-Excluded:
vendor/normalize-line-endings
vendor/notify
vendor/num_cpus-1.13.1
+ vendor/num_threads
vendor/object-0.30.1
vendor/once_cell-1.12.0
vendor/once_cell-1.16.0
+ vendor/once_cell-1.17.0
vendor/oorandom
vendor/openssl
+ vendor/openssl-macros
vendor/openssl-probe
vendor/openssl-src
vendor/openssl-sys
@@ -201,12 +246,14 @@ Files-Excluded:
vendor/pkcs8
vendor/pretty_env_logger
vendor/proc-macro2-1.0.46
+ vendor/proc-macro2-1.0.50
+ vendor/prodash
vendor/protobuf
vendor/protobuf-support
vendor/pulldown-cmark-to-cmark
vendor/quick-error
vendor/quote-1.0.18
- vendor/quote-1.0.21
+ vendor/quote-1.0.23
vendor/rayon-1.5.3
vendor/rayon-1.6.0
vendor/rayon-core-1.9.3
@@ -218,7 +265,6 @@ Files-Excluded:
vendor/region
vendor/rfc6979
vendor/rustc-build-sysroot
- vendor/rustix-0.36.3
vendor/ryu-1.0.10
vendor/ryu-1.0.5
vendor/salsa
@@ -231,21 +277,23 @@ Files-Excluded:
vendor/security-framework-sys
vendor/semver-1.0.12
vendor/serde-1.0.137
- vendor/serde-1.0.147
+ vendor/serde-1.0.152
vendor/serde_derive-1.0.137
- vendor/serde_derive-1.0.147
+ vendor/serde_derive-1.0.152
vendor/serde_ignored
vendor/serde_json-1.0.81
vendor/serde_json-1.0.85
vendor/serde_spanned
vendor/serde-value
+ vendor/sha1_smol
vendor/sha2-0.10.2
vendor/sharded-slab-0.1.1
+ vendor/signal-hook
+ vendor/signal-hook-registry
vendor/signature
vendor/similar
vendor/sized-chunks
vendor/slice-group-by
- vendor/smallvec-1.8.1
vendor/snapbox
vendor/snapbox-macros
vendor/socket2
@@ -254,7 +302,7 @@ Files-Excluded:
vendor/subtle
vendor/syn-1.0.102
vendor/target-lexicon
- vendor/threadpool
+ vendor/termcolor-1.1.3
vendor/tikv-jemallocator
vendor/tikv-jemalloc-ctl
vendor/tikv-jemalloc-sys
@@ -274,11 +322,11 @@ Files-Excluded:
vendor/typenum-1.15.0
vendor/ui_test
vendor/unicode-bidi-0.3.4
+ vendor/unicode-bom
vendor/unicode-ident-1.0.0
vendor/unicode-ident-1.0.5
vendor/unicode-width-0.1.9
vendor/url-2.2.2
- vendor/utf8parse
vendor/vcpkg
vendor/vte
vendor/vte_generate_state_changes
@@ -288,13 +336,21 @@ Files-Excluded:
vendor/wasm-bindgen-macro-support
vendor/wasm-bindgen-shared
vendor/wasmtime-jit-icache-coherence
+ vendor/windows-0.43.0
vendor/windows_aarch64_gnullvm-0.42.0
+ vendor/windows_aarch64_gnullvm-0.42.1
vendor/windows_aarch64_msvc-0.42.0
+ vendor/windows_aarch64_msvc-0.42.1
vendor/windows_i686_gnu-0.42.0
+ vendor/windows_i686_gnu-0.42.1
vendor/windows_i686_msvc-0.42.0
+ vendor/windows_i686_msvc-0.42.1
vendor/windows_x86_64_gnu-0.42.0
+ vendor/windows_x86_64_gnu-0.42.1
vendor/windows_x86_64_gnullvm-0.42.0
+ vendor/windows_x86_64_gnullvm-0.42.1
vendor/windows_x86_64_msvc-0.42.0
+ vendor/windows_x86_64_msvc-0.42.1
vendor/xattr-0.2.2
vendor/yaml-merge-keys
vendor/yaml-rust
@@ -309,7 +365,7 @@ Files: C*.md
LICENSE*
compiler/*
configure
- config.toml.example
+ config.example.toml
git-commit-hash
git-commit-info
library/*
@@ -322,8 +378,8 @@ Files: C*.md
src/rust*
src/stage0.json
src/tools/*
- tests/*
src/version
+ tests/*
version
x.py
.cargo/config.toml
@@ -367,6 +423,14 @@ Copyright: 2019-2022 Tom Kaitchuck <Tom.Kaitchuck@gmail.com>
License: MIT OR Apache-2.0
Comment: see https://github.com/tkaitchuck/ahash
+Files:
+ vendor/anstream/*
+ vendor/anstyle/*
+ vendor/anstyle-parse/*
+ vendor/anstyle-wincon/*
+Copyright: 2023 Ed Page <eopage@gmail.com>
+License: MIT or Apache-2.0
+
Files: vendor/ar_archive_writer/*
Copyright: 2003-2017 University of Illinois at Urbana-Champaign.
License: Apache-2.0 with LLVM exception
@@ -542,6 +606,12 @@ Copyright: 2015-2022 The Rust Project Developers
License: MIT or Apache-2.0
Comment: see https://github.com/rust-lang/backtrace-rs
+Files: vendor/basic-toml/*
+Copyright: 2014-2023 Alex Crichton <alex@alexcrichton.com>
+ 2014-2023 David Tolnay <dtolnay@gmail.com>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/dtolnay/basic-toml
+
Files:
vendor/block-buffer/*
vendor/digest/*
@@ -633,6 +703,7 @@ Comment: see https://github.com/chronotope/chrono
Files:
vendor/clap/*
vendor/clap-3.*/*
+ vendor/clap_builder/*
vendor/clap_complete/*
vendor/clap_derive/*
vendor/clap_derive-3.*/*
@@ -647,6 +718,13 @@ Copyright: 2016-2020 Thomas Wickham <mackwic@gmail.com>
License: MPL-2.0
Comment: see https://github.com/mackwic/colored
+Files:
+ vendor/concolor-override/*
+ vendor/concolor-query/*
+Copyright: 2021-2022 Ed Page <eopage@gmail.com>
+License: MIT OR Apache-2.0
+Comment: see https://github.com/rust-cli/concolor
+
Files: vendor/convert_case/*
Copyright: 2020-2022 David Purdum <purdum41@gmail.com>
License: MIT
@@ -722,6 +800,7 @@ Files:
vendor/itoa/*
vendor/quote/*
vendor/syn/*
+ vendor/syn-1.*/*
vendor/unicode-ident/*
Copyright: 2016-2022 David Tolnay <dtolnay@gmail.com>
License: MIT or Apache-2.0
@@ -792,7 +871,9 @@ Copyright: 2015-2020 Niko Matsakis <niko@alum.mit.edu>
License: MIT or Apache-2.0
Comment: see https://github.com/nikomatsakis/ena
-Files: vendor/errno/*
+Files:
+ vendor/errno/*
+ vendor/errno-*/*
Copyright: 2015-2022 Chris Wong <lambda.fairy@gmail.com>
License: MIT or Apache-2.0
Comment: see https://github.com/lambda-fairy/rust-errno
@@ -971,6 +1052,11 @@ Copyright: 2018-2021 Changseok Han <freestrings@gmail.com>
License: MIT
Comment: see https://github.com/freestrings/jsonpath
+Files: vendor/junction/*
+Copyright: 2019-2023 Lzu Tao <taolzu@gmail.com>
+License: MIT
+Comment: see https://github.com/lzutao/junction
+
Files: vendor/lazycell/*
Copyright: 2016-2020 Alex Crichton <alex@alexcrichton.com>
2016-2020 Nikita Pekin <contact@nikitapek.in>
@@ -994,7 +1080,9 @@ Copyright: 2018-2021 Jorge Aparicio <jorge@japaric.io>
License: MIT OR Apache-2.0
Comment: see https://github.com/rust-lang-nursery/libm
-Files: vendor/linux-raw-sys/*
+Files:
+ vendor/linux-raw-sys/*
+ vendor/linux-raw-sys-0.*/*
Copyright: 2021-2022 Dan Gohman <dev@sunfishcode.online>
License: Apache-2.0 with LLVM exception OR Apache-2.0 OR MIT
Comment: see https://github.com/sunfishcode/linux-raw-sys
@@ -1042,6 +1130,16 @@ Copyright: 2017-2019 Gilad Naaman <gilad.naaman@gmail.com>
License: MIT
Comment: see https://github.com/Gilnaa/memoffset
+Files: vendor/mime/*
+Copyright: 2014-2019 Sean McArthur <sean@seanmonstar.com>
+License: MIT or Apache-2.0
+Comment: see https://github.com/hyperium/mime
+
+Files: vendor/mime_guess/*
+Copyright: 2015-2023 Austin Bonander <austin.bonander@gmail.com>
+License: MIT
+Comment: see https://github.com/abonander/mime_guess
+
Files: vendor/minifier/*
Copyright: 2017-2018 Guillaume Gomez <guillaume1.gomez@gmail.com>
License: MIT
@@ -1318,9 +1416,11 @@ Copyright:
License: Apache-2.0 or MIT
Comment: see https://github.com/killercup/rustfix
-Files: vendor/rustix/*
-Copyright: 2020-2022 Dan Gohman <dev@sunfishcode.online>
- 2020-2022 Jakub Konka <kubkon@jakubkonka.com>
+Files:
+ vendor/rustix/*
+ vendor/rustix-0.*/*
+Copyright: 2020-2023 Dan Gohman <dev@sunfishcode.online>
+ 2020-2023 Jakub Konka <kubkon@jakubkonka.com>
License: Apache-2.0 with LLVM exception OR Apache-2.0 OR MIT
Comment: see https://github.com/bytecodealliance/rustix
@@ -1439,9 +1539,11 @@ Copyright: 2017-2023 Peter Glotfelty <peter.glotfelty@microsoft.com>
License: MIT
Comment: see https://github.com/Peternator7/strum
-Files: vendor/synstructure/*
+Files:
+ vendor/synstructure/*
+ vendor/synstructure-0.*/*
Copyright:
- 2016-2019 Nika Layzell <nika@thelayzells.com>
+ 2016-2023 Nika Layzell <nika@thelayzells.com>
License: MIT
Comment: see https://github.com/mystor/synstructure
@@ -1510,6 +1612,13 @@ Copyright: 2021-2022 David Wood <david.wood@huawei.com>
License: MIT OR Apache-2.0
Comment: see https://github.com/davidtwco/thorin
+Files: vendor/threadpool/*
+Copyright: 2015-2021 The Rust Project Developers
+ 2015-2021 Corey Farwell <coreyf@rwell.org>
+ 2015-2021 Stefan Schindler <dns2utf8@estada.ch>
+License: MIT or Apache-2.0
+Comment: see https://github.com/rust-threadpool/rust-threadpool
+
Files: vendor/tinystr/*
Copyright: 2019-2022 Raph Levien <raph.levien@gmail.com>
2019-2022 Zibi Braniecki <zibi@braniecki.net>
@@ -1639,6 +1748,12 @@ Copyright: 2015-2018 Simon Sapin <simon.sapin@exyr.org>
License: MIT OR Apache-2.0
Comment: see https://github.com/SimonSapin/rust-utf8
+Files: vendor/utf8parse/*
+Copyright: 2016-2023 Joe Wilm <joe@jwilm.com>
+ 2016-2023 Christian Duerr <contact@christianduerr.com>
+License: Apache-2.0 OR MIT
+Comment: see https://github.com/alacritty/vte
+
Files: vendor/uuid/*
Copyright: 2014-2023 Ashley Mannix<ashleymannix@live.com.au>
2014-2023 Christopher Armstrong
@@ -1749,6 +1864,7 @@ License: MIT
Comment: see https://github.com/tokio-rs/valuable
Files:
+ vendor/windows/*
vendor/windows-sys/*
vendor/windows-sys-0.*/*
vendor/windows-targets/*
diff --git a/debian/get-stage0.py b/debian/get-stage0.py
index 1f55c53a2..49f8066ca 100755
--- a/debian/get-stage0.py
+++ b/debian/get-stage0.py
@@ -3,6 +3,7 @@
# In that case, you probably just need to override the failing step in our
# DownloadOnlyRustBuild class below.
+import shutil
import sys
import bootstrap
@@ -10,7 +11,7 @@ from bootstrap import RustBuild
class DownloadOnlyRustBuild(RustBuild):
triple = None
- def build_bootstrap(self):
+ def build_bootstrap(self, color, verbose_count):
pass
def run(self, *args):
pass
@@ -25,7 +26,13 @@ def main(argv):
triple = argv.pop(1)
DownloadOnlyRustBuild.triple = triple
bootstrap.RustBuild = DownloadOnlyRustBuild
- bootstrap.bootstrap(False)
+ args = bootstrap.parse_args()
+ # bootstrap.py likes to delete our .cargo directory out from under us
+ shutil.move(".cargo", ".cargo-bak")
+ try:
+ bootstrap.bootstrap(args)
+ finally:
+ shutil.move(".cargo-bak", ".cargo")
if __name__ == '__main__':
main(sys.argv)
diff --git a/debian/libstd-rust-1.69.lintian-overrides b/debian/libstd-rust-1.69.lintian-overrides
deleted file mode 100644
index f5bc02afc..000000000
--- a/debian/libstd-rust-1.69.lintian-overrides
+++ /dev/null
@@ -1,13 +0,0 @@
-# "libstd" just seemed too generic
-libstd-rust-1.69 binary: package-name-doesnt-match-sonames
-libstd-rust-1.69 binary: sharedobject-in-library-directory-missing-soname
-
-# Rust doesn't use dev shlib symlinks nor any of the other shlib support stuff
-libstd-rust-1.69 binary: dev-pkg-without-shlib-symlink
-libstd-rust-1.69 binary: shlib-without-versioned-soname
-libstd-rust-1.69 binary: unused-shlib-entry-in-control-file
-
-# Libraries that use libc symbols (libterm, libstd, etc) *are* linked
-# to libc. Lintian gets upset that some Rust libraries don't need
-# libc, boo hoo.
-libstd-rust-1.69 binary: library-not-linked-against-libc
diff --git a/debian/libstd-rust-1.69.install b/debian/libstd-rust-1.70.install
index cd4545cca..cd4545cca 100644
--- a/debian/libstd-rust-1.69.install
+++ b/debian/libstd-rust-1.70.install
diff --git a/debian/libstd-rust-1.70.lintian-overrides b/debian/libstd-rust-1.70.lintian-overrides
new file mode 100644
index 000000000..cfb4b9186
--- /dev/null
+++ b/debian/libstd-rust-1.70.lintian-overrides
@@ -0,0 +1,13 @@
+# "libstd" just seemed too generic
+libstd-rust-1.70 binary: package-name-doesnt-match-sonames
+libstd-rust-1.70 binary: sharedobject-in-library-directory-missing-soname
+
+# Rust doesn't use dev shlib symlinks nor any of the other shlib support stuff
+libstd-rust-1.70 binary: dev-pkg-without-shlib-symlink
+libstd-rust-1.70 binary: shlib-without-versioned-soname
+libstd-rust-1.70 binary: unused-shlib-entry-in-control-file
+
+# Libraries that use libc symbols (libterm, libstd, etc) *are* linked
+# to libc. Lintian gets upset that some Rust libraries don't need
+# libc, boo hoo.
+libstd-rust-1.70 binary: library-not-linked-against-libc
diff --git a/debian/make_orig-stage0_tarball.sh b/debian/make_orig-stage0_tarball.sh
index c6593f25b..d3f6ee38f 100755
--- a/debian/make_orig-stage0_tarball.sh
+++ b/debian/make_orig-stage0_tarball.sh
@@ -7,7 +7,7 @@
set -e
upstream_version="$(dpkg-parsechangelog -SVersion | sed -e 's/\(.*\)-.*/\1/g')"
-upstream_bootstrap_arch="${upstream_bootstrap_arch:-amd64 arm64 armhf i386 mips64 mips64el powerpc ppc64 ppc64el s390x}"
+upstream_bootstrap_arch="${upstream_bootstrap_arch:-amd64 arm64 armhf i386 mips64el ppc64el riscv64 s390x}"
rm -f stage0/*/*.sha256
mkdir -p stage0 build && ln -sf ../stage0 build/cache
diff --git a/debian/patches/d-0000-ignore-removed-submodules.patch b/debian/patches/d-0000-ignore-removed-submodules.patch
index 2f1c323c3..588e53b3b 100644
--- a/debian/patches/d-0000-ignore-removed-submodules.patch
+++ b/debian/patches/d-0000-ignore-removed-submodules.patch
@@ -14,11 +14,11 @@ Subject: d-0000-ignore-removed-submodules
src/tools/tidy/src/deps.rs | 4 +++-
9 files changed, 15 insertions(+), 62 deletions(-)
-diff --git a/Cargo.toml b/Cargo.toml
-index 15cbb26..c012319 100644
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -18,29 +18,15 @@ members = [
+Index: rust/Cargo.toml
+===================================================================
+--- rust.orig/Cargo.toml
++++ rust/Cargo.toml
+@@ -18,28 +18,15 @@ members = [
"src/tools/tidy",
"src/tools/tier-check",
"src/tools/build-manifest",
@@ -44,11 +44,10 @@ index 15cbb26..c012319 100644
"src/tools/jsondoclint",
"src/tools/html-checker",
- "src/tools/bump-stage0",
-- "src/tools/replace-version-placeholder",
+ "src/tools/replace-version-placeholder",
"src/tools/lld-wrapper",
"src/tools/collect-license-metadata",
- "src/tools/generate-copyright",
-@@ -105,9 +91,6 @@ miniz_oxide.debug = 0
+@@ -106,9 +93,6 @@ miniz_oxide.debug = 0
object.debug = 0
[patch.crates-io]
@@ -58,11 +57,11 @@ index 15cbb26..c012319 100644
# See comments in `library/rustc-std-workspace-core/README.md` for what's going on
# here
-diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py
-index 013d1ab..f6fd37b 100644
---- a/src/bootstrap/bootstrap.py
-+++ b/src/bootstrap/bootstrap.py
-@@ -777,10 +777,6 @@ class RustBuild(object):
+Index: rust/src/bootstrap/bootstrap.py
+===================================================================
+--- rust.orig/src/bootstrap/bootstrap.py
++++ rust/src/bootstrap/bootstrap.py
+@@ -781,10 +781,6 @@ class RustBuild(object):
args = [self.cargo(), "build", "--manifest-path",
os.path.join(self.rust_root, "src/bootstrap/Cargo.toml")]
args.extend("--verbose" for _ in range(verbose_count))
@@ -73,23 +72,73 @@ index 013d1ab..f6fd37b 100644
if self.get_toml("metrics", "build"):
args.append("--features")
args.append("build-metrics")
-diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
-index b33fc02..4492577 100644
---- a/src/bootstrap/builder.rs
-+++ b/src/bootstrap/builder.rs
-@@ -629,8 +629,6 @@ impl<'a> Builder<'a> {
- tool::RemoteTestClient,
+Index: rust/src/bootstrap/builder.rs
+===================================================================
+--- rust.orig/src/bootstrap/builder.rs
++++ rust/src/bootstrap/builder.rs
+@@ -491,20 +491,20 @@ impl<'a> ShouldRun<'a> {
+ static SUBMODULES_PATHS: OnceCell<Vec<String>> = OnceCell::new();
+
+ let init_submodules_paths = |src: &PathBuf| {
+- let file = File::open(src.join(".gitmodules")).unwrap();
++ //let file = File::open(src.join(".gitmodules")).unwrap();
+
+ let mut submodules_paths = vec![];
+- for line in BufReader::new(file).lines() {
+- if let Ok(line) = line {
+- let line = line.trim();
+-
+- if line.starts_with("path") {
+- let actual_path =
+- line.split(' ').last().expect("Couldn't get value of path");
+- submodules_paths.push(actual_path.to_owned());
+- }
+- }
+- }
++ //for line in BufReader::new(file).lines() {
++ // if let Ok(line) = line {
++ // let line = line.trim();
++
++ // if line.starts_with("path") {
++ // let actual_path =
++ // line.split(' ').last().expect("Couldn't get value of path");
++ // submodules_paths.push(actual_path.to_owned());
++ // }
++ // }
++ //}
+
+ submodules_paths
+ };
+@@ -658,24 +658,13 @@ impl<'a> Builder<'a> {
+ tool::Linkchecker,
+ tool::CargoTest,
+ tool::Compiletest,
+- tool::RemoteTestServer,
+- tool::RemoteTestClient,
tool::RustInstaller,
- tool::Cargo,
+- tool::Cargo,
- tool::Rls,
- tool::RustAnalyzer,
tool::RustAnalyzerProcMacroSrv,
tool::RustDemangler,
tool::Rustdoc,
-@@ -651,10 +649,6 @@ impl<'a> Builder<'a> {
+ tool::Clippy,
+ tool::CargoClippy,
+- llvm::Llvm,
+- llvm::Sanitizers,
+ tool::Rustfmt,
+- tool::Miri,
+- tool::CargoMiri,
+- llvm::Lld,
+- llvm::CrtBeginEnd
+ ),
+ Kind::Check | Kind::Clippy | Kind::Fix => describe!(
+ check::Std,
+@@ -683,11 +672,6 @@ impl<'a> Builder<'a> {
+ check::Rustdoc,
check::CodegenBackend,
check::Clippy,
- check::Miri,
+- check::Miri,
- check::CargoMiri,
- check::MiroptTestTools,
- check::Rls,
@@ -97,15 +146,24 @@ index b33fc02..4492577 100644
check::Rustfmt,
check::Bootstrap
),
-@@ -684,7 +678,6 @@ impl<'a> Builder<'a> {
+@@ -717,8 +701,6 @@ impl<'a> Builder<'a> {
+ test::TierCheck,
test::ReplacePlaceholderTest,
test::Cargotest,
- test::Cargo,
+- test::Cargo,
- test::RustAnalyzer,
test::ErrorIndex,
test::Distcheck,
test::RunMakeFullDeps,
-@@ -732,11 +725,8 @@ impl<'a> Builder<'a> {
+@@ -734,7 +716,6 @@ impl<'a> Builder<'a> {
+ test::EmbeddedBook,
+ test::EditionGuide,
+ test::Rustfmt,
+- test::Miri,
+ test::Clippy,
+ test::RustDemangler,
+ test::CompiletestTest,
+@@ -767,11 +748,8 @@ impl<'a> Builder<'a> {
doc::RustdocBook,
doc::RustByExample,
doc::RustcBook,
@@ -117,24 +175,42 @@ index b33fc02..4492577 100644
doc::EmbeddedBook,
doc::EditionGuide,
doc::StyleGuide,
-@@ -752,8 +742,6 @@ impl<'a> Builder<'a> {
+@@ -787,13 +765,9 @@ impl<'a> Builder<'a> {
+ dist::RustcDev,
dist::Analysis,
dist::Src,
- dist::Cargo,
+- dist::Cargo,
- dist::Rls,
- dist::RustAnalyzer,
dist::Rustfmt,
dist::RustDemangler,
dist::Clippy,
-@@ -774,7 +762,6 @@ impl<'a> Builder<'a> {
+- dist::Miri,
+ dist::LlvmTools,
+ dist::RustDev,
+ dist::Bootstrap,
+@@ -809,12 +783,9 @@ impl<'a> Builder<'a> {
+ Kind::Install => describe!(
install::Docs,
install::Std,
- install::Cargo,
+- install::Cargo,
- install::RustAnalyzer,
install::Rustfmt,
install::RustDemangler,
install::Clippy,
-@@ -1878,10 +1865,7 @@ impl<'a> Builder<'a> {
+- install::Miri,
+ install::LlvmTools,
+ install::Src,
+ install::Rustc
+@@ -824,7 +795,6 @@ impl<'a> Builder<'a> {
+ run::BuildManifest,
+ run::BumpStage0,
+ run::ReplaceVersionPlaceholder,
+- run::Miri,
+ run::CollectLicenseMetadata,
+ run::GenerateCopyright,
+ ),
+@@ -1949,10 +1919,7 @@ impl<'a> Builder<'a> {
}
}
@@ -146,10 +222,10 @@ index b33fc02..4492577 100644
cargo.arg("--frozen");
}
-diff --git a/src/bootstrap/doc.rs b/src/bootstrap/doc.rs
-index cc80763..19754a2 100644
---- a/src/bootstrap/doc.rs
-+++ b/src/bootstrap/doc.rs
+Index: rust/src/bootstrap/doc.rs
+===================================================================
+--- rust.orig/src/bootstrap/doc.rs
++++ rust/src/bootstrap/doc.rs
@@ -76,7 +76,6 @@ macro_rules! book {
// FIXME: Make checking for a submodule automatic somehow (maybe by having a list of all submodules
// and checking against it?).
@@ -158,11 +234,11 @@ index cc80763..19754a2 100644
ClippyBook, "src/tools/clippy/book", "clippy";
EditionGuide, "src/doc/edition-guide", "edition-guide", submodule;
EmbeddedBook, "src/doc/embedded-book", "embedded-book", submodule;
-diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs
-index b4f1506..27236f3 100644
---- a/src/bootstrap/test.rs
-+++ b/src/bootstrap/test.rs
-@@ -2024,17 +2024,7 @@ impl Step for RustcGuide {
+Index: rust/src/bootstrap/test.rs
+===================================================================
+--- rust.orig/src/bootstrap/test.rs
++++ rust/src/bootstrap/test.rs
+@@ -2070,17 +2070,7 @@ impl Step for RustcGuide {
}
fn run(self, builder: &Builder<'_>) {
@@ -181,10 +257,10 @@ index b4f1506..27236f3 100644
}
}
-diff --git a/src/tools/clippy/Cargo.toml b/src/tools/clippy/Cargo.toml
-index 70d1268..c7c6c3e 100644
---- a/src/tools/clippy/Cargo.toml
-+++ b/src/tools/clippy/Cargo.toml
+Index: rust/src/tools/clippy/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/clippy/Cargo.toml
++++ rust/src/tools/clippy/Cargo.toml
@@ -36,11 +36,6 @@ walkdir = "2.3"
# This is used by the `collect-metadata` alias.
filetime = "0.2"
@@ -197,10 +273,10 @@ index 70d1268..c7c6c3e 100644
# UI test dependencies
clap = { version = "4.1.4", features = ["derive"] }
clippy_utils = { path = "clippy_utils" }
-diff --git a/src/tools/rust-analyzer/Cargo.toml b/src/tools/rust-analyzer/Cargo.toml
-index 333f03c..2a0faa2 100644
---- a/src/tools/rust-analyzer/Cargo.toml
-+++ b/src/tools/rust-analyzer/Cargo.toml
+Index: rust/src/tools/rust-analyzer/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/rust-analyzer/Cargo.toml
++++ rust/src/tools/rust-analyzer/Cargo.toml
@@ -1,5 +1,14 @@
[workspace]
-members = ["xtask/", "lib/*", "crates/*"]
@@ -217,10 +293,10 @@ index 333f03c..2a0faa2 100644
exclude = ["crates/proc-macro-test/imp"]
[workspace.package]
-diff --git a/src/tools/rustfmt/Cargo.toml b/src/tools/rustfmt/Cargo.toml
-index 87ce59d..12ed654 100644
---- a/src/tools/rustfmt/Cargo.toml
-+++ b/src/tools/rustfmt/Cargo.toml
+Index: rust/src/tools/rustfmt/Cargo.toml
+===================================================================
+--- rust.orig/src/tools/rustfmt/Cargo.toml
++++ rust/src/tools/rustfmt/Cargo.toml
@@ -59,11 +59,6 @@ unicode_categories = "0.1"
rustfmt-config_proc_macro = { version = "0.3", path = "config_proc_macro" }
@@ -233,11 +309,11 @@ index 87ce59d..12ed654 100644
# Rustc dependencies are loaded from the sysroot, Cargo doesn't know about them.
[package.metadata.rust-analyzer]
-diff --git a/src/tools/tidy/src/deps.rs b/src/tools/tidy/src/deps.rs
-index bddfdcf..9bac4b7 100644
---- a/src/tools/tidy/src/deps.rs
-+++ b/src/tools/tidy/src/deps.rs
-@@ -333,7 +333,7 @@ const FORBIDDEN_TO_HAVE_DUPLICATES: &[&str] = &[
+Index: rust/src/tools/tidy/src/deps.rs
+===================================================================
+--- rust.orig/src/tools/tidy/src/deps.rs
++++ rust/src/tools/tidy/src/deps.rs
+@@ -337,7 +337,7 @@ const FORBIDDEN_TO_HAVE_DUPLICATES: &[&s
// This crate takes quite a long time to build, so don't allow two versions of them
// to accidentally sneak into our dependency graph, in order to ensure we keep our CI times
// under control.
@@ -246,7 +322,7 @@ index bddfdcf..9bac4b7 100644
];
/// Dependency checks.
-@@ -609,6 +609,8 @@ fn direct_deps_of<'a>(metadata: &'a Metadata, pkg_id: &'a PackageId) -> Vec<&'a
+@@ -613,6 +613,8 @@ fn direct_deps_of<'a>(metadata: &'a Meta
}
fn check_rustfix(metadata: &Metadata, bad: &mut bool) {
diff --git a/debian/patches/d-0002-mdbook-strip-embedded-libs.patch b/debian/patches/d-0002-mdbook-strip-embedded-libs.patch
index cd17dc2e6..81a0e2792 100644
--- a/debian/patches/d-0002-mdbook-strip-embedded-libs.patch
+++ b/debian/patches/d-0002-mdbook-strip-embedded-libs.patch
@@ -4,14 +4,14 @@ Subject: d-0002-mdbook-strip-embedded-libs
Comment: Use https://github.com/infinity0/mdBook/tree/debian to help you rebase the patch on top of a newer version. . Make sure the paths here match the ones in debian/rust-doc.links
---
- src/tools/linkchecker/main.rs | 28 ++++++-
- vendor/mdbook/src/book/init.rs | 6 --
- .../src/renderer/html_handlebars/hbs_renderer.rs | 80 ++----------------
- .../mdbook/src/renderer/html_handlebars/search.rs | 2 -
- vendor/mdbook/src/theme/index.hbs | 97 +---------------------
- vendor/mdbook/src/theme/mod.rs | 27 ------
- vendor/mdbook/src/theme/searcher/mod.rs | 2 -
- 7 files changed, 37 insertions(+), 205 deletions(-)
+ src/tools/linkchecker/main.rs | 28 +++++-
+ vendor/mdbook/src/book/init.rs | 19 ----
+ .../src/renderer/html_handlebars/hbs_renderer.rs | 110 ++++-----------------
+ .../mdbook/src/renderer/html_handlebars/search.rs | 2 -
+ vendor/mdbook/src/theme/index.hbs | 99 +------------------
+ vendor/mdbook/src/theme/mod.rs | 27 -----
+ vendor/mdbook/src/theme/searcher/mod.rs | 2 -
+ 7 files changed, 47 insertions(+), 240 deletions(-)
diff --git a/src/tools/linkchecker/main.rs b/src/tools/linkchecker/main.rs
index 4170c32..d7dcda7 100644
@@ -67,10 +67,10 @@ index 4170c32..d7dcda7 100644
report.links_ignored_exception += 1;
} else {
diff --git a/vendor/mdbook/src/book/init.rs b/vendor/mdbook/src/book/init.rs
-index dd3fa8b..a088517 100644
+index ebcdd93..41dab42 100644
--- a/vendor/mdbook/src/book/init.rs
+++ b/vendor/mdbook/src/book/init.rs
-@@ -152,12 +152,6 @@ impl BookBuilder {
+@@ -153,25 +153,6 @@ impl BookBuilder {
let mut js = File::create(themedir.join("book.js"))?;
js.write_all(theme::JS)?;
@@ -80,14 +80,27 @@ index dd3fa8b..a088517 100644
- let mut highlight_js = File::create(themedir.join("highlight.js"))?;
- highlight_js.write_all(theme::HIGHLIGHT_JS)?;
-
+- write_file(&themedir.join("fonts"), "fonts.css", theme::fonts::CSS)?;
+- for (file_name, contents) in theme::fonts::LICENSES {
+- write_file(&themedir, file_name, contents)?;
+- }
+- for (file_name, contents) in theme::fonts::OPEN_SANS.iter() {
+- write_file(&themedir, file_name, contents)?;
+- }
+- write_file(
+- &themedir,
+- theme::fonts::SOURCE_CODE_PRO.0,
+- theme::fonts::SOURCE_CODE_PRO.1,
+- )?;
+-
Ok(())
}
diff --git a/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs b/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
-index 1b648da..5fe813c 100644
+index e170e2f..caa2eff 100644
--- a/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
+++ b/vendor/mdbook/src/renderer/html_handlebars/hbs_renderer.rs
-@@ -3,7 +3,7 @@ use crate::config::{BookConfig, Config, HtmlConfig, Playground, RustEdition};
+@@ -3,13 +3,14 @@ use crate::config::{BookConfig, Config, HtmlConfig, Playground, RustEdition};
use crate::errors::*;
use crate::renderer::html_handlebars::helpers;
use crate::renderer::{RenderContext, Renderer};
@@ -96,15 +109,14 @@ index 1b648da..5fe813c 100644
use crate::utils;
use std::borrow::Cow;
-@@ -11,6 +11,7 @@ use std::collections::BTreeMap;
+ use std::collections::BTreeMap;
use std::collections::HashMap;
use std::fs::{self, File};
- use std::path::{Path, PathBuf};
+use std::os::unix::fs::symlink;
+ use std::path::{Path, PathBuf};
use crate::utils::fs::get_404_output_file;
- use handlebars::Handlebars;
-@@ -235,80 +236,13 @@ impl HtmlHandlebars {
+@@ -235,105 +236,28 @@ impl HtmlHandlebars {
if let Some(contents) = &theme.favicon_svg {
write_file(destination, "favicon.svg", contents)?;
}
@@ -127,27 +139,42 @@ index 1b648da..5fe813c 100644
- destination,
- "FontAwesome/fonts/fontawesome-webfont.svg",
- theme::FONT_AWESOME_SVG,
-- )?;
++ symlink(
++ "/usr/share/fonts-font-awesome/css/font-awesome.min.css",
++ destination.join("css/font-awesome.min.css"),
+ )?;
- write_file(
- destination,
- "FontAwesome/fonts/fontawesome-webfont.ttf",
- theme::FONT_AWESOME_TTF,
-- )?;
++ symlink(
++ "/usr/share/fonts-font-awesome/fonts",
++ destination.join("fonts"),
+ )?;
- write_file(
- destination,
- "FontAwesome/fonts/fontawesome-webfont.woff",
- theme::FONT_AWESOME_WOFF,
-- )?;
++ symlink(
++ "/usr/share/javascript/highlight.js/styles/atelier-dune-light.css",
++ destination.join("highlight.css"),
+ )?;
- write_file(
- destination,
- "FontAwesome/fonts/fontawesome-webfont.woff2",
- theme::FONT_AWESOME_WOFF2,
-- )?;
++ symlink(
++ "/usr/share/javascript/highlight.js/highlight.js",
++ destination.join("highlight.js"),
+ )?;
- write_file(
- destination,
- "FontAwesome/fonts/FontAwesome.ttf",
- theme::FONT_AWESOME_TTF,
-- )?;
++ symlink(
++ "/usr/share/javascript/mathjax/MathJax.js",
++ destination.join("MathJax.js"),
+ )?;
- if html_config.copy_fonts {
- write_file(destination, "fonts/fonts.css", theme::fonts::CSS)?;
- for (file_name, contents) in theme::fonts::LICENSES.iter() {
@@ -162,6 +189,31 @@ index 1b648da..5fe813c 100644
- theme::fonts::SOURCE_CODE_PRO.1,
- )?;
- }
+- if let Some(fonts_css) = &theme.fonts_css {
+- if !fonts_css.is_empty() {
+- if html_config.copy_fonts {
+- warn!(
+- "output.html.copy_fonts is deprecated.\n\
+- Set copy_fonts=false and ensure the fonts you want are in \
+- the `theme/fonts/` directory."
+- );
+- }
+- write_file(destination, "fonts/fonts.css", &fonts_css)?;
+- }
+- }
+- if !html_config.copy_fonts && theme.fonts_css.is_none() {
+- warn!(
+- "output.html.copy_fonts is deprecated.\n\
+- This book appears to have copy_fonts=false without a fonts.css file.\n\
+- Add an empty `theme/fonts/fonts.css` file to squelch this warning."
+- );
+- }
+- for font_file in &theme.font_files {
+- let contents = fs::read(font_file)?;
+- let filename = font_file.file_name().unwrap();
+- let filename = Path::new("fonts").join(filename);
+- write_file(destination, filename, &contents)?;
+- }
-
- let playground_config = &html_config.playground;
-
@@ -182,11 +234,6 @@ index 1b648da..5fe813c 100644
- playground_editor::THEME_TOMORROW_NIGHT_JS,
- )?;
- }
-+ symlink("/usr/share/fonts-font-awesome/css/font-awesome.min.css", destination.join("css/font-awesome.min.css"))?;
-+ symlink("/usr/share/fonts-font-awesome/fonts", destination.join("fonts"))?;
-+ symlink("/usr/share/javascript/highlight.js/styles/atelier-dune-light.css", destination.join("highlight.css"))?;
-+ symlink("/usr/share/javascript/highlight.js/highlight.js", destination.join("highlight.js"))?;
-+ symlink("/usr/share/javascript/mathjax/MathJax.js", destination.join("MathJax.js"))?;
Ok(())
}
@@ -204,7 +251,7 @@ index a9e2f5c..3e3f69c 100644
}
diff --git a/vendor/mdbook/src/theme/index.hbs b/vendor/mdbook/src/theme/index.hbs
-index 147eb9a..27d358b 100644
+index 6f3948c..7e5c54c 100644
--- a/vendor/mdbook/src/theme/index.hbs
+++ b/vendor/mdbook/src/theme/index.hbs
@@ -33,10 +33,7 @@
@@ -228,7 +275,7 @@ index 147eb9a..27d358b 100644
{{/if}}
</head>
<body>
-@@ -60,46 +57,6 @@
+@@ -61,48 +58,6 @@
var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "{{ preferred_dark_theme }}" : "{{ default_theme }}";
</script>
@@ -263,10 +310,12 @@ index 147eb9a..27d358b 100644
- <!-- Hide / unhide sidebar before it is displayed -->
- <script>
- var html = document.querySelector('html');
-- var sidebar = 'hidden';
+- var sidebar = null;
- if (document.body.clientWidth >= 1080) {
- try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
- sidebar = sidebar || 'visible';
+- } else {
+- sidebar = 'hidden';
- }
- html.classList.remove('sidebar-visible');
- html.classList.add("sidebar-" + sidebar);
@@ -275,7 +324,7 @@ index 147eb9a..27d358b 100644
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
<div class="sidebar-scrollbox">
{{#toc}}{{/toc}}
-@@ -237,54 +194,8 @@
+@@ -240,54 +195,8 @@
</script>
{{/if}}
@@ -333,7 +382,7 @@ index 147eb9a..27d358b 100644
<!-- Custom JS scripts -->
{{#each additional_js}}
diff --git a/vendor/mdbook/src/theme/mod.rs b/vendor/mdbook/src/theme/mod.rs
-index 7af5e2b..3086fcf 100644
+index 6e6b509..ef8886b 100644
--- a/vendor/mdbook/src/theme/mod.rs
+++ b/vendor/mdbook/src/theme/mod.rs
@@ -1,9 +1,5 @@
@@ -366,7 +415,7 @@ index 7af5e2b..3086fcf 100644
/// The `Theme` struct should be used instead of the static variables because
/// the `new()` method will look if the user has a theme directory in their
-@@ -57,11 +42,8 @@ pub struct Theme {
+@@ -59,11 +44,8 @@ pub struct Theme {
pub favicon_png: Option<Vec<u8>>,
pub favicon_svg: Option<Vec<u8>>,
pub js: Vec<u8>,
@@ -378,7 +427,7 @@ index 7af5e2b..3086fcf 100644
}
impl Theme {
-@@ -91,9 +73,6 @@ impl Theme {
+@@ -93,9 +75,6 @@ impl Theme {
theme_dir.join("css/variables.css"),
&mut theme.variables_css,
),
@@ -388,7 +437,7 @@ index 7af5e2b..3086fcf 100644
(
theme_dir.join("tomorrow-night.css"),
&mut theme.tomorrow_night_css,
-@@ -156,11 +135,8 @@ impl Default for Theme {
+@@ -183,11 +162,8 @@ impl Default for Theme {
favicon_png: Some(FAVICON_PNG.to_owned()),
favicon_svg: Some(FAVICON_SVG.to_owned()),
js: JS.to_owned(),
@@ -400,7 +449,7 @@ index 7af5e2b..3086fcf 100644
}
}
}
-@@ -243,11 +219,8 @@ mod tests {
+@@ -273,11 +249,8 @@ mod tests {
favicon_png: Some(Vec::new()),
favicon_svg: Some(Vec::new()),
js: Vec::new(),
diff --git a/debian/patches/d-0004-clippy-feature-sync.patch b/debian/patches/d-0004-clippy-feature-sync.patch
index 23667ffde..f4a863a8e 100644
--- a/debian/patches/d-0004-clippy-feature-sync.patch
+++ b/debian/patches/d-0004-clippy-feature-sync.patch
@@ -10,7 +10,7 @@ this is what rustc_workspace_hack does in the upstream build.
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/tools/clippy/Cargo.toml b/src/tools/clippy/Cargo.toml
-index c7c6c3e..7e453c7 100644
+index a24d2f4..3681c85 100644
--- a/src/tools/clippy/Cargo.toml
+++ b/src/tools/clippy/Cargo.toml
@@ -44,7 +44,7 @@ if_chain = "1.0"
diff --git a/debian/patches/d-bootstrap-disable-git.patch b/debian/patches/d-bootstrap-disable-git.patch
index 3e744b599..6f7f3f2e4 100644
--- a/debian/patches/d-bootstrap-disable-git.patch
+++ b/debian/patches/d-bootstrap-disable-git.patch
@@ -15,7 +15,7 @@ Forwarded: not-needed
@@ -36,6 +36,12 @@
impl GitInfo {
- pub fn new(ignore_git: bool, dir: &Path) -> GitInfo {
+ pub fn new(omit_git_hash: bool, dir: &Path) -> GitInfo {
+ //
+ // Debian: returning early because the Debian package is also in a git
+ // repository, but we don't want to parse gitinfo. This is
@@ -27,7 +27,7 @@ Forwarded: not-needed
match read_commit_info_file(dir) {
--- a/src/bootstrap/dist.rs
+++ b/src/bootstrap/dist.rs
-@@ -968,7 +968,10 @@
+@@ -995,7 +995,10 @@
}
// If we're building from git sources, we need to vendor a complete distribution.
diff --git a/debian/patches/d-bootstrap-old-cargo-compat.patch b/debian/patches/d-bootstrap-old-cargo-compat.patch
index 463e70369..a077e0c8f 100644
--- a/debian/patches/d-bootstrap-old-cargo-compat.patch
+++ b/debian/patches/d-bootstrap-old-cargo-compat.patch
@@ -17,7 +17,7 @@ Subject: Backwards-compat for cargo 0.47
--- a/src/bootstrap/doc.rs
+++ b/src/bootstrap/doc.rs
-@@ -598,7 +598,6 @@
+@@ -612,7 +612,6 @@
.arg(&*target_dir.to_string_lossy())
.arg("-p")
.arg(package)
@@ -25,15 +25,15 @@ Subject: Backwards-compat for cargo 0.47
.arg("--")
.arg("-Z")
.arg("unstable-options")
-@@ -695,7 +694,6 @@
+@@ -712,7 +711,6 @@
cargo.rustdocflag("--generate-link-to-definition");
- compile::rustc_cargo(builder, &mut cargo, target);
+ compile::rustc_cargo(builder, &mut cargo, target, compiler.stage);
cargo.arg("-Zunstable-options");
- cargo.arg("-Zskip-rustdoc-fingerprint");
// Only include compiler crates, no dependencies of those, such as `libc`.
// Do link to dependencies on `docs.rs` however using `rustdoc-map`.
-@@ -811,7 +809,6 @@
+@@ -845,7 +843,6 @@
&[],
);
diff --git a/debian/patches/d-disable-download-tests.patch b/debian/patches/d-disable-download-tests.patch
new file mode 100644
index 000000000..41531a87f
--- /dev/null
+++ b/debian/patches/d-disable-download-tests.patch
@@ -0,0 +1,26 @@
+Index: rust/src/bootstrap/config/tests.rs
+===================================================================
+--- rust.orig/src/bootstrap/config/tests.rs
++++ rust/src/bootstrap/config/tests.rs
+@@ -11,6 +11,9 @@ fn parse(config: &str) -> Config {
+
+ #[test]
+ fn download_ci_llvm() {
++ // Debian: this will attempt to download LLVM
++ return;
++
+ if crate::llvm::is_ci_llvm_modified(&parse("")) {
+ eprintln!("Detected LLVM as non-available: running in CI and modified LLVM in this change");
+ return;
+@@ -39,7 +42,11 @@ fn download_ci_llvm() {
+ // - https://github.com/rust-lang/rust/pull/109162#issuecomment-1496782487
+ #[test]
+ fn detect_src_and_out() {
++ // Debian: this will attempt to download a toolchain
++ return;
++
+ fn test(cfg: Config, build_dir: Option<&str>) {
++
+ // This will bring absolute form of `src/bootstrap` path
+ let current_dir = std::env::current_dir().unwrap();
+
diff --git a/debian/patches/d-fix-rustix-outline.patch b/debian/patches/d-fix-rustix-outline.patch
index 91b8530de..f141bad58 100644
--- a/debian/patches/d-fix-rustix-outline.patch
+++ b/debian/patches/d-fix-rustix-outline.patch
@@ -5,9 +5,9 @@ outline asm.
--- a/vendor/rustix/Cargo.toml
+++ b/vendor/rustix/Cargo.toml
-@@ -115,9 +115,9 @@
+@@ -125,9 +125,9 @@
[dev-dependencies.tempfile]
- version = "3.2.0"
+ version = "3.4.0"
-[build-dependencies.cc]
+[build-dependencies.cc_dep]
@@ -17,7 +17,7 @@ outline asm.
[features]
all-apis = [
-@@ -230,6 +230,7 @@
+@@ -242,6 +242,7 @@
"Win32_NetworkManagement_IpHelper",
"Win32_System_Threading",
]
@@ -34,6 +34,57 @@ outline asm.
use std::env::var;
use std::io::Write;
+@@ -158,16 +157,16 @@
+ println!("cargo:rerun-if-changed={}", to);
+
+ // If "cc" is not enabled, use a pre-built library.
+- #[cfg(not(feature = "cc"))]
++ /*#[cfg(not(feature = "cc"))]
+ {
+ let _ = asm_name;
+ println!("cargo:rustc-link-search={}/{}", OUTLINE_PATH, profile);
+ println!("cargo:rustc-link-lib=static={}", name);
+- }
++ }*/
+
+ // If "cc" is enabled, build the library from source, update the pre-built
+ // version, and assert that the pre-built version is checked in.
+- #[cfg(feature = "cc")]
++ //#[cfg(feature = "cc")]
+ {
+ let out_dir = var("OUT_DIR").unwrap();
+ // Add `-gdwarf-3` so that we always get the same output, regardless of
+--- a/vendor/rustix-0.36.5/Cargo.toml
++++ b/vendor/rustix-0.36.5/Cargo.toml
+@@ -116,9 +116,9 @@
+ [dev-dependencies.tempfile]
+ version = "3.2.0"
+
+-[build-dependencies.cc]
++[build-dependencies.cc_dep]
+ version = "1.0.68"
+-optional = true
++package = "cc"
+
+ [features]
+ all-apis = [
+@@ -231,6 +231,7 @@
+ "Win32_NetworkManagement_IpHelper",
+ "Win32_System_Threading",
+ ]
++cc = []
+
+ [target."cfg(windows)".dev-dependencies.ctor]
+ version = "0.1.21"
+--- a/vendor/rustix-0.36.5/build.rs
++++ b/vendor/rustix-0.36.5/build.rs
+@@ -1,5 +1,4 @@
+-#[cfg(feature = "cc")]
+-use cc::Build;
++use cc_dep::Build;
+ use std::env::var;
+ use std::io::Write;
+
@@ -118,16 +117,16 @@
println!("cargo:rerun-if-changed={}", to);
diff --git a/debian/patches/d-rust-gdb-paths b/debian/patches/d-rust-gdb-paths
index 4be3024ea..119365af3 100644
--- a/debian/patches/d-rust-gdb-paths
+++ b/debian/patches/d-rust-gdb-paths
@@ -13,19 +13,6 @@ just hardcode path in wrapper script.
diff --git a/src/etc/rust-gdb b/src/etc/rust-gdb
index b950cea..5ec8752 100755
---- a/src/etc/rust-gdb
-+++ b/src/etc/rust-gdb
-@@ -11,7 +11,7 @@ else
- fi
-
- # Find out where the pretty printer Python module is
--RUSTC_SYSROOT="$("$RUSTC" --print=sysroot)"
-+RUSTC_SYSROOT="$(if type "$RUSTC" >/dev/null 2>&1; then "$RUSTC" --print=sysroot; else echo /usr; fi)"
- GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc"
-
- # Run GDB with the additional arguments that load the pretty printers
-diff --git a/src/etc/rust-gdbgui b/src/etc/rust-gdbgui
-index 9744913..613737d 100755
--- a/src/etc/rust-gdbgui
+++ b/src/etc/rust-gdbgui
@@ -40,7 +40,7 @@ else
@@ -35,5 +22,5 @@ index 9744913..613737d 100755
-RUSTC_SYSROOT="$("$RUSTC" --print=sysroot)"
+RUSTC_SYSROOT="$(if type "$RUSTC" >/dev/null 2>&1; then "$RUSTC" --print=sysroot; else echo /usr; fi)"
GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc"
-
- # Set the environment variable `RUST_GDB` to overwrite the call to a
+ # Get the commit hash for path remapping
+ RUSTC_COMMIT_HASH="$("$RUSTC" -vV | sed -n 's/commit-hash: \([a-zA-Z0-9_]*\)/\1/p')"
diff --git a/debian/patches/d-rust-lldb-paths b/debian/patches/d-rust-lldb-paths
index bea7a3844..41f3b87b4 100644
--- a/debian/patches/d-rust-lldb-paths
+++ b/debian/patches/d-rust-lldb-paths
@@ -23,7 +23,7 @@ index bce72f1..793f593 100755
RUST_LLDB="$RUSTC_SYSROOT/lib/rustlib/$host/bin/lldb"
-lldb=lldb
-+lldb=lldb-15
++lldb=lldb-16
if [ -f "$RUST_LLDB" ]; then
lldb="$RUST_LLDB"
else
diff --git a/debian/patches/d-rustc-i686-baseline.patch b/debian/patches/d-rustc-i686-baseline.patch
index b856d9391..bc1e55d91 100644
--- a/debian/patches/d-rustc-i686-baseline.patch
+++ b/debian/patches/d-rustc-i686-baseline.patch
@@ -7,9 +7,11 @@ Subject: d-rustc-i686-baseline
compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---- a/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs
-+++ b/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs
-@@ -2,7 +2,7 @@
+Index: rust/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs
+===================================================================
+--- rust.orig/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs
++++ rust/compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs
+@@ -2,7 +2,7 @@ use crate::spec::{Cc, LinkerFlavor, Lld,
pub fn target() -> Target {
let mut base = super::linux_gnu_base::opts();
@@ -18,3 +20,30 @@ Subject: d-rustc-i686-baseline
base.max_atomic_width = Some(64);
base.supported_sanitizers = SanitizerSet::ADDRESS;
base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-m32"]);
+Index: rust/tests/ui/sse2.rs
+===================================================================
+--- rust.orig/tests/ui/sse2.rs
++++ rust/tests/ui/sse2.rs
+@@ -15,7 +15,7 @@ fn main() {
+ }
+ Err(_) => return,
+ }
+- if cfg!(any(target_arch = "x86", target_arch = "x86_64")) {
++ if cfg!(any(target_arch = "x86_64")) {
+ assert!(cfg!(target_feature = "sse2"),
+ "SSE2 was not detected as available on an x86 platform");
+ }
+Index: rust/tests/ui/abi/homogenous-floats-target-feature-mixup.rs
+===================================================================
+--- rust.orig/tests/ui/abi/homogenous-floats-target-feature-mixup.rs
++++ rust/tests/ui/abi/homogenous-floats-target-feature-mixup.rs
+@@ -24,7 +24,8 @@ fn main() {
+ match std::env::var("TARGET") {
+ Ok(s) => {
+ // Skip this tests on i586-unknown-linux-gnu where sse2 is disabled
+- if s.contains("i586") {
++ // Debian: our i686 doesn't have SSE 2..
++ if s.contains("i586") || s.contains("i686") {
+ return
+ }
+ }
diff --git a/debian/patches/series b/debian/patches/series
index c848c82e1..855cac4b6 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,24 +1,22 @@
# Patches for upstream
# pending, or forwarded
-u-ignore-reproducible-failure.patch
u-reproducible-build.patch
u-ignore-endian-big-diff.patch
u-fix-get-toml-when-test.patch
-u-fix-sysroot-detection-logic.patch
-
-# can be dropped once upstream updates rustix
-u-fix-rustix-for-sparc64.patch
+u-disable-fp-precision-test-on-i386.patch
+u-riscv-disable-unpacked-split-debuginfo.patch
+u-profiler.patch
# not forwarded, or forwarded but unlikely to be merged
u-ignore-ppc-hangs.patch
u-rustc-llvm-cross-flags.patch
u-reproducible-dl-stage0.patch
-u-make-tests-work-without-rpath.patch
#u-allow-system-compiler-rt.patch
# Debian-specific patches, not suitable for upstream
d-fix-rustix-outline.patch
+d-disable-download-tests.patch
## Patches needed by debian/prune-unused-deps, for building bootstrap
d-0000-ignore-removed-submodules.patch
diff --git a/debian/patches/u-disable-fp-precision-test-on-i386.patch b/debian/patches/u-disable-fp-precision-test-on-i386.patch
new file mode 100644
index 000000000..cb6144650
--- /dev/null
+++ b/debian/patches/u-disable-fp-precision-test-on-i386.patch
@@ -0,0 +1,26 @@
+From: liushuyu <liushuyu011@gmail.com>
+Date: Tue, 25 Jul 2023 09:48:12 +0800
+Subject: [PATCH] core library: Disable fpmath tests for i386 ...
+
+This patch disables the floating-point epsilon test for i386 since
+x87 registers are too imprecise and can't produce the expected
+results.
+
+Forwarded: https://github.com/rust-lang/rust/pull/114042
+---
+ library/core/src/num/f32.rs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/library/core/src/num/f32.rs b/library/core/src/num/f32.rs
+index d050d21c8c57..f5c2d1c6bf68 100644
+--- a/library/core/src/num/f32.rs
++++ b/library/core/src/num/f32.rs
+@@ -800,7 +800,7 @@ impl f32 {
+ /// let angle = std::f32::consts::PI;
+ ///
+ /// let abs_difference = (angle.to_degrees() - 180.0).abs();
+- ///
++ /// # #[cfg(not(target_arch = "x86"))]
+ /// assert!(abs_difference <= f32::EPSILON);
+ /// ```
+ #[must_use = "this returns the result of the operation, \
diff --git a/debian/patches/u-fix-rustix-for-sparc64.patch b/debian/patches/u-fix-rustix-for-sparc64.patch
deleted file mode 100644
index d0c636e3b..000000000
--- a/debian/patches/u-fix-rustix-for-sparc64.patch
+++ /dev/null
@@ -1,103 +0,0 @@
---- a/vendor/rustix/src/termios/constants.rs
-+++ b/vendor/rustix/src/termios/constants.rs
-@@ -33,6 +33,8 @@
- )))]
- pub use backend::termios::types::B1500000;
- #[cfg(not(any(
-+ target_arch = "sparc",
-+ target_arch = "sparc64",
- target_os = "dragonfly",
- target_os = "freebsd",
- target_os = "haiku",
-@@ -96,6 +98,8 @@
- )))]
- pub use backend::termios::types::B4000000;
- #[cfg(not(any(
-+ target_arch = "sparc",
-+ target_arch = "sparc64",
- target_os = "dragonfly",
- target_os = "haiku",
- target_os = "ios",
-@@ -104,6 +108,8 @@
- )))]
- pub use backend::termios::types::B460800;
- #[cfg(not(any(
-+ target_arch = "sparc",
-+ target_arch = "sparc64",
- target_os = "dragonfly",
- target_os = "freebsd",
- target_os = "haiku",
-@@ -116,6 +122,8 @@
- )))]
- pub use backend::termios::types::B500000;
- #[cfg(not(any(
-+ target_arch = "sparc",
-+ target_arch = "sparc64",
- target_os = "dragonfly",
- target_os = "freebsd",
- target_os = "haiku",
-@@ -732,6 +740,8 @@
- )))]
- backend::termios::types::B500000 => Some(500_000),
- #[cfg(not(any(
-+ target_arch = "sparc",
-+ target_arch = "sparc64",
- target_os = "dragonfly",
- target_os = "freebsd",
- target_os = "haiku",
-@@ -744,6 +754,8 @@
- )))]
- backend::termios::types::B576000 => Some(576_000),
- #[cfg(not(any(
-+ target_arch = "sparc",
-+ target_arch = "sparc64",
- target_os = "dragonfly",
- target_os = "haiku",
- target_os = "ios",
-@@ -752,6 +764,8 @@
- )))]
- backend::termios::types::B921600 => Some(921_600),
- #[cfg(not(any(
-+ target_arch = "sparc",
-+ target_arch = "sparc64",
- target_os = "dragonfly",
- target_os = "freebsd",
- target_os = "haiku",
---- a/vendor/rustix/src/termios/mod.rs
-+++ b/vendor/rustix/src/termios/mod.rs
-@@ -41,6 +41,8 @@
- )))]
- pub use constants::B1500000;
- #[cfg(not(any(
-+ target_arch = "sparc",
-+ target_arch = "sparc64",
- target_os = "dragonfly",
- target_os = "freebsd",
- target_os = "haiku",
-@@ -104,6 +106,8 @@
- )))]
- pub use constants::B4000000;
- #[cfg(not(any(
-+ target_arch = "sparc",
-+ target_arch = "sparc64",
- target_os = "dragonfly",
- target_os = "haiku",
- target_os = "ios",
-@@ -112,6 +116,8 @@
- )))]
- pub use constants::B460800;
- #[cfg(not(any(
-+ target_arch = "sparc",
-+ target_arch = "sparc64",
- target_os = "dragonfly",
- target_os = "freebsd",
- target_os = "haiku",
-@@ -124,6 +130,8 @@
- )))]
- pub use constants::B500000;
- #[cfg(not(any(
-+ target_arch = "sparc",
-+ target_arch = "sparc64",
- target_os = "dragonfly",
- target_os = "freebsd",
- target_os = "haiku",
diff --git a/debian/patches/u-fix-sysroot-detection-logic.patch b/debian/patches/u-fix-sysroot-detection-logic.patch
deleted file mode 100644
index 64cc291f7..000000000
--- a/debian/patches/u-fix-sysroot-detection-logic.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Description: Fix sysroot detection which would result in /usr/lib/lib/rustlib
- This patch is a mixture of two upstream fix attempts. The first from
- https://github.com/rust-lang/rust/pull/108376 didn't actually solve the
- problem in Debian's case. After reporting that in $Bug, a second attempt is
- made at https://github.com/rust-lang/rust/pull/110281, which worked.
-Bug: https://github.com/rust-lang/rust/issues/109994
---- a/compiler/rustc_session/src/filesearch.rs
-+++ b/compiler/rustc_session/src/filesearch.rs
-@@ -179,7 +179,7 @@
- ))?;
-
- // if `dir` points target's dir, move up to the sysroot
-- if dir.ends_with(crate::config::host_triple()) {
-+ let mut sysroot_dir = if dir.ends_with(crate::config::host_triple()) {
- dir.parent() // chop off `$target`
- .and_then(|p| p.parent()) // chop off `rustlib`
- .and_then(|p| {
-@@ -194,13 +194,25 @@
- }
- })
- .map(|s| s.to_owned())
-- .ok_or(format!(
-+ .ok_or_else(|| format!(
- "Could not move 3 levels upper using `parent()` on {}",
- dir.display()
-- ))
-+ ))?
- } else {
-- Ok(dir.to_owned())
-+ dir.to_owned()
-+ };
-+
-+ // On multiarch linux systems, there will be multiarch directory named
-+ // with the architecture(e.g `x86_64-linux-gnu`) under the `lib` directory.
-+ // Which cause us to mistakenly end up in the lib directory instead of the sysroot directory.
-+ if sysroot_dir.ends_with("lib") {
-+ sysroot_dir =
-+ sysroot_dir.parent().map(|real_sysroot| real_sysroot.to_owned()).ok_or_else(
-+ || format!("Could not move to parent path of {}", sysroot_dir.display()),
-+ )?
- }
-+
-+ Ok(sysroot_dir)
- }
-
- // Use env::args().next() to get the path of the executable without
diff --git a/debian/patches/u-ignore-reproducible-failure.patch b/debian/patches/u-ignore-reproducible-failure.patch
deleted file mode 100644
index 6ea14023d..000000000
--- a/debian/patches/u-ignore-reproducible-failure.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
-Date: Thu, 14 Jul 2022 13:17:37 +0200
-Subject: u-ignore-reproducible-failure
-
-Bug: https://github.com/rust-lang/rust/issues/89911
----
- src/test/run-make-fulldeps/reproducible-build-2/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/run-make-fulldeps/reproducible-build-2/Makefile b/tests/run-make-fulldeps/reproducible-build-2/Makefile
-index fd94516..957e1f4 100644
---- a/tests/run-make-fulldeps/reproducible-build-2/Makefile
-+++ b/tests/run-make-fulldeps/reproducible-build-2/Makefile
-@@ -14,7 +14,7 @@ fat_lto:
- $(RUSTC) reproducible-build.rs -C lto=fat
- cp $(TMPDIR)/reproducible-build $(TMPDIR)/reproducible-build-a
- $(RUSTC) reproducible-build.rs -C lto=fat
-- cmp "$(TMPDIR)/reproducible-build-a" "$(TMPDIR)/reproducible-build" || exit 1
-+ cmp "$(TMPDIR)/reproducible-build-a" "$(TMPDIR)/reproducible-build" || exit 0
-
- sysroot:
- rm -rf $(TMPDIR) && mkdir $(TMPDIR)
diff --git a/debian/patches/u-make-tests-work-without-rpath.patch b/debian/patches/u-make-tests-work-without-rpath.patch
deleted file mode 100644
index edd2127a9..000000000
--- a/debian/patches/u-make-tests-work-without-rpath.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From: Chris Coulson <chris.coulson@canonical.com>
-Date: Thu, 14 Jul 2022 13:17:38 +0200
-Subject: u-make-tests-work-without-rpath
-
-Forwarded: TODO
-
-===================================================================
----
- src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/tests/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/tests/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-index 1e267fb..ac46c24 100644
---- a/tests/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-+++ b/tests/run-make-fulldeps/sysroot-crates-are-unstable/Makefile
-@@ -1,2 +1,6 @@
-+include ../tools.mk
-+
-+RUSTC := $(RUSTC_ORIGINAL)
-+
- all:
-- '$(PYTHON)' test.py
-+ $(HOST_RPATH_ENV) '$(PYTHON)' test.py
diff --git a/debian/patches/u-profiler.patch b/debian/patches/u-profiler.patch
new file mode 100644
index 000000000..37f63af69
--- /dev/null
+++ b/debian/patches/u-profiler.patch
@@ -0,0 +1,131 @@
+From d0b58f40a0e669897fafb614299d2a989997eda7 Mon Sep 17 00:00:00 2001
+From: Josh Stone <jistone@redhat.com>
+Date: Tue, 25 Jul 2023 13:11:50 -0700
+Subject: [PATCH] Allow using external builds of the compiler-rt profile lib
+
+This changes the bootstrap config `target.*.profiler` from a plain bool
+to also allow a string, which will be used as a path to the pre-built
+profiling runtime for that target. Then `profiler_builtins/build.rs`
+reads that in a `LLVM_PROFILER_RT_LIB` environment variable.
+---
+ config.example.toml | 6 ++++--
+ library/profiler_builtins/build.rs | 6 ++++++
+ src/bootstrap/compile.rs | 4 ++++
+ src/bootstrap/config.rs | 30 ++++++++++++++++++++++++------
+ 4 files changed, 38 insertions(+), 8 deletions(-)
+
+--- a/config.example.toml
++++ b/config.example.toml
+@@ -745,8 +745,10 @@ changelog-seen = 2
+ # This option will override the same option under [build] section.
+ #sanitizers = build.sanitizers (bool)
+
+-# Build the profiler runtime for this target(required when compiling with options that depend
+-# on this runtime, such as `-C profile-generate` or `-C instrument-coverage`).
++# When true, build the profiler runtime for this target(required when compiling
++# with options that depend on this runtime, such as `-C profile-generate` or
++# `-C instrument-coverage`). This may also be given a path to an existing build
++# of the profiling runtime library from LLVM's compiler-rt.
+ # This option will override the same option under [build] section.
+ #profiler = build.profiler (bool)
+
+--- a/library/profiler_builtins/build.rs
++++ b/library/profiler_builtins/build.rs
+@@ -6,6 +6,12 @@ use std::env;
+ use std::path::Path;
+
+ fn main() {
++ println!("cargo:rerun-if-env-changed=LLVM_PROFILER_RT_LIB");
++ if let Ok(rt) = env::var("LLVM_PROFILER_RT_LIB") {
++ println!("cargo:rustc-link-lib=static:+verbatim={rt}");
++ return;
++ }
++
+ let target = env::var("TARGET").expect("TARGET was not set");
+ let cfg = &mut cc::Build::new();
+
+--- a/src/bootstrap/compile.rs
++++ b/src/bootstrap/compile.rs
+@@ -314,6 +314,10 @@ pub fn std_cargo(builder: &Builder<'_>,
+ cargo.env("MACOSX_DEPLOYMENT_TARGET", target);
+ }
+
++ if let Some(path) = builder.config.profiler_path(target) {
++ cargo.env("LLVM_PROFILER_RT_LIB", path);
++ }
++
+ // Determine if we're going to compile in optimized C intrinsics to
+ // the `compiler-builtins` crate. These intrinsics live in LLVM's
+ // `compiler-rt` repository, but our `src/llvm-project` submodule isn't
+--- a/src/bootstrap/config.rs
++++ b/src/bootstrap/config.rs
+@@ -454,7 +454,7 @@ pub struct Target {
+ pub linker: Option<PathBuf>,
+ pub ndk: Option<PathBuf>,
+ pub sanitizers: Option<bool>,
+- pub profiler: Option<bool>,
++ pub profiler: Option<StringOrBool>,
+ pub crt_static: Option<bool>,
+ pub musl_root: Option<PathBuf>,
+ pub musl_libdir: Option<PathBuf>,
+@@ -715,9 +715,9 @@ define_config! {
+ }
+ }
+
+-#[derive(Debug, Deserialize)]
++#[derive(Clone, Debug, Deserialize)]
+ #[serde(untagged)]
+-enum StringOrBool {
++pub enum StringOrBool {
+ String(String),
+ Bool(bool),
+ }
+@@ -728,6 +728,12 @@ impl Default for StringOrBool {
+ }
+ }
+
++impl StringOrBool {
++ fn is_string_or_true(&self) -> bool {
++ matches!(self, Self::String(_) | Self::Bool(true))
++ }
++}
++
+ define_config! {
+ /// TOML representation of how the Rust build is configured.
+ struct Rust {
+@@ -799,7 +805,7 @@ define_config! {
+ llvm_libunwind: Option<String> = "llvm-libunwind",
+ android_ndk: Option<String> = "android-ndk",
+ sanitizers: Option<bool> = "sanitizers",
+- profiler: Option<bool> = "profiler",
++ profiler: Option<StringOrBool> = "profiler",
+ crt_static: Option<bool> = "crt-static",
+ musl_root: Option<String> = "musl-root",
+ musl_libdir: Option<String> = "musl-libdir",
+@@ -1616,12 +1622,24 @@ impl Config {
+ self.target_config.values().any(|t| t.sanitizers == Some(true)) || self.sanitizers
+ }
+
++ pub fn profiler_path(&self, target: TargetSelection) -> Option<&str> {
++ match self.target_config.get(&target)?.profiler.as_ref()? {
++ StringOrBool::String(s) => Some(s),
++ StringOrBool::Bool(_) => None,
++ }
++ }
++
+ pub fn profiler_enabled(&self, target: TargetSelection) -> bool {
+- self.target_config.get(&target).map(|t| t.profiler).flatten().unwrap_or(self.profiler)
++ self.target_config
++ .get(&target)
++ .and_then(|t| t.profiler.as_ref())
++ .map(StringOrBool::is_string_or_true)
++ .unwrap_or(self.profiler)
+ }
+
+ pub fn any_profiler_enabled(&self) -> bool {
+- self.target_config.values().any(|t| t.profiler == Some(true)) || self.profiler
++ self.target_config.values().any(|t| matches!(&t.profiler, Some(p) if p.is_string_or_true()))
++ || self.profiler
+ }
+
+ pub fn llvm_enabled(&self) -> bool {
diff --git a/debian/patches/u-riscv-disable-unpacked-split-debuginfo.patch b/debian/patches/u-riscv-disable-unpacked-split-debuginfo.patch
new file mode 100644
index 000000000..429501b39
--- /dev/null
+++ b/debian/patches/u-riscv-disable-unpacked-split-debuginfo.patch
@@ -0,0 +1,140 @@
+Description: explicitly disable split unpacked debuginfo for now on riscv64,
+ it's broken and we don't want cargo to auto-enable it..
+ https://github.com/llvm/llvm-project/issues/56642
+ https://github.com/rust-lang/rust/issues/110224Z
+
+diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs
+index 8281bac10f..ad1fc624ad 100644
+--- a/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs
++++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_freebsd.rs
+@@ -1,4 +1,5 @@
+-use crate::spec::{CodeModel, Target, TargetOptions};
++use crate::spec::{CodeModel, SplitDebuginfo, Target, TargetOptions};
++use std::borrow::Cow;
+
+ pub fn target() -> Target {
+ Target {
+@@ -12,6 +13,7 @@ pub fn target() -> Target {
+ features: "+m,+a,+f,+d,+c".into(),
+ llvm_abiname: "lp64d".into(),
+ max_atomic_width: Some(64),
++ supported_split_debuginfo: Cow::Borrowed(&[SplitDebuginfo::Off]),
+ ..super::freebsd_base::opts()
+ },
+ }
+diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs
+index 0585ed76fe..69d11081ac 100644
+--- a/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs
++++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_fuchsia.rs
+@@ -1,4 +1,5 @@
+-use crate::spec::{CodeModel, SanitizerSet, Target, TargetOptions};
++use crate::spec::{CodeModel, SanitizerSet, SplitDebuginfo, Target, TargetOptions};
++use std::borrow::Cow;
+
+ pub fn target() -> Target {
+ Target {
+@@ -13,6 +14,7 @@ pub fn target() -> Target {
+ llvm_abiname: "lp64d".into(),
+ max_atomic_width: Some(64),
+ supported_sanitizers: SanitizerSet::SHADOWCALLSTACK,
++ supported_split_debuginfo: Cow::Borrowed(&[SplitDebuginfo::Off]),
+ ..super::fuchsia_base::opts()
+ },
+ }
+diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs
+index 90dccb2806..8114e024d1 100644
+--- a/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs
++++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_gnu.rs
+@@ -1,4 +1,5 @@
+-use crate::spec::{CodeModel, Target, TargetOptions};
++use crate::spec::{CodeModel, SplitDebuginfo, Target, TargetOptions};
++use std::borrow::Cow;
+
+ pub fn target() -> Target {
+ Target {
+@@ -12,6 +13,7 @@ pub fn target() -> Target {
+ features: "+m,+a,+f,+d,+c".into(),
+ llvm_abiname: "lp64d".into(),
+ max_atomic_width: Some(64),
++ supported_split_debuginfo: Cow::Borrowed(&[SplitDebuginfo::Off]),
+ ..super::linux_gnu_base::opts()
+ },
+ }
+diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs
+index 1a56c78e68..67dbd2f740 100644
+--- a/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs
++++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs
+@@ -1,4 +1,5 @@
+-use crate::spec::{CodeModel, Target, TargetOptions};
++use crate::spec::{CodeModel, SplitDebuginfo, Target, TargetOptions};
++use std::borrow::Cow;
+
+ pub fn target() -> Target {
+ Target {
+@@ -12,6 +13,7 @@ pub fn target() -> Target {
+ features: "+m,+a,+f,+d,+c".into(),
+ llvm_abiname: "lp64d".into(),
+ max_atomic_width: Some(64),
++ supported_split_debuginfo: Cow::Borrowed(&[SplitDebuginfo::Off]),
+ ..super::linux_musl_base::opts()
+ },
+ }
+diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs
+index ab3c14e3fe..a47b63dc94 100644
+--- a/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs
++++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_none_elf.rs
+@@ -1,5 +1,6 @@
+ use crate::spec::{Cc, CodeModel, LinkerFlavor, Lld, PanicStrategy};
+-use crate::spec::{RelocModel, Target, TargetOptions};
++use crate::spec::{RelocModel, SplitDebuginfo, Target, TargetOptions};
++use std::borrow::Cow;
+
+ use super::SanitizerSet;
+
+@@ -23,6 +24,7 @@ pub fn target() -> Target {
+ emit_debug_gdb_scripts: false,
+ eh_frame_header: false,
+ supported_sanitizers: SanitizerSet::KERNELADDRESS,
++ supported_split_debuginfo: Cow::Borrowed(&[SplitDebuginfo::Off]),
+ ..Default::default()
+ },
+ }
+diff --git a/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs b/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs
+index ade9d77624..b04cea8850 100644
+--- a/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs
++++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_openbsd.rs
+@@ -1,4 +1,5 @@
+-use crate::spec::{CodeModel, Target, TargetOptions};
++use crate::spec::{CodeModel, SplitDebuginfo, Target, TargetOptions};
++use std::borrow::Cow;
+
+ pub fn target() -> Target {
+ Target {
+@@ -12,6 +13,7 @@ pub fn target() -> Target {
+ features: "+m,+a,+f,+d,+c".into(),
+ llvm_abiname: "lp64d".into(),
+ max_atomic_width: Some(64),
++ supported_split_debuginfo: Cow::Borrowed(&[SplitDebuginfo::Off]),
+ ..super::openbsd_base::opts()
+ },
+ }
+diff --git a/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs b/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs
+index 0f1821c998..1bec356dcd 100644
+--- a/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs
++++ b/compiler/rustc_target/src/spec/riscv64imac_unknown_none_elf.rs
+@@ -1,5 +1,6 @@
+ use crate::spec::{Cc, CodeModel, LinkerFlavor, Lld, PanicStrategy};
+-use crate::spec::{RelocModel, SanitizerSet, Target, TargetOptions};
++use crate::spec::{RelocModel, SanitizerSet, SplitDebuginfo, Target, TargetOptions};
++use std::borrow::Cow;
+
+ pub fn target() -> Target {
+ Target {
+@@ -20,6 +21,7 @@ pub fn target() -> Target {
+ emit_debug_gdb_scripts: false,
+ eh_frame_header: false,
+ supported_sanitizers: SanitizerSet::KERNELADDRESS,
++ supported_split_debuginfo: Cow::Borrowed(&[SplitDebuginfo::Off]),
+ ..Default::default()
+ },
+ }
diff --git a/debian/rules b/debian/rules
index 460e55720..8384119b3 100755
--- a/debian/rules
+++ b/debian/rules
@@ -34,8 +34,8 @@ export RUST_LONG_VERSION
DEB_DESTDIR := $(CURDIR)/debian/tmp
# Use system LLVM (comment out to use vendored LLVM)
-LLVM_VERSION = 15
-OLD_LLVM_VERSION = 14
+LLVM_VERSION = 16
+OLD_LLVM_VERSION = 15
# Make it easier to test against a custom LLVM
ifneq (,$(LLVM_DESTDIR))
LLVM_LIBRARY_PATH := $(LLVM_DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH):$(LLVM_DESTDIR)/usr/lib
@@ -43,6 +43,25 @@ LD_LIBRARY_PATH := $(if $(LD_LIBRARY_PATH),$(LD_LIBRARY_PATH):$(LLVM_LIBRARY_PAT
export LD_LIBRARY_PATH
endif
+# Required for profiler builtin
+CLANG_RT_ARCH := $(DEB_TARGET_GNU_CPU)
+ifeq (i386,$(DEB_TARGET_ARCH))
+CLANG_RT_ARCH = i386
+endif
+ifeq (armhf,$(DEB_TARGET_ARCH))
+CLANG_RT_ARCH = armhf
+endif
+
+ifneq (,$(filter $(DEB_TARGET_ARCH), sparc64 mips64el)))
+# sparc64: see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1061125
+# mips64el: has profiler, but buggy atm (32-bit overflow in some counter?)
+CLANG_RT_ARCH =
+PROFILER = "false"
+else
+export LLVM_PROFILER_RT_LIB=/usr/lib/llvm-$(LLVM_VERSION)/lib/clang/$(LLVM_VERSION)/lib/linux/libclang_rt.profile-$(CLANG_RT_ARCH).a
+PROFILER = "true"
+endif
+
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
NJOBS := -j $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
endif
@@ -209,6 +228,7 @@ debian/config.toml: debian/config.toml.in debian/rules
-DLLVM_DESTDIR="$(LLVM_DESTDIR)" \
-DLLVM_VERSION="$(LLVM_VERSION)" \
-DRUST_DESTDIR="$(RUST_DESTDIR)" \
+ -DPROFILER="$(PROFILER)" \
"$<" > "$@"
if $(DOWNLOAD_BOOTSTRAP) || [ $(HAVE_BINARY_TARBALL) != 0 ]; \
then sed -i -e '/^rustc = /d' -e '/^cargo = /d' "$@"; fi
@@ -481,6 +501,7 @@ source_orig-stage0:
QUILT_PATCHES=debian/patches quilt push -aq; $(QUILT_SPECIAL_SNOWFLAKE_RETURN_CODE)
$(MAKE) -f debian/rules clean
debian/make_orig-stage0_tarball.sh
+ $(MAKE) -f debian/rules clean
QUILT_PATCHES=debian/patches quilt pop -aq; $(QUILT_SPECIAL_SNOWFLAKE_RETURN_CODE)
rm -rf .pc
diff --git a/debian/rust-lldb.links b/debian/rust-lldb.links
index 561aff8b5..e82fca912 100644
--- a/debian/rust-lldb.links
+++ b/debian/rust-lldb.links
@@ -1 +1 @@
-usr/share/man/man1/lldb-15.1.gz usr/share/man/man1/rust-lldb.1.gz
+usr/share/man/man1/lldb-16.1.gz usr/share/man/man1/rust-lldb.1.gz
diff --git a/debian/rust-src.install b/debian/rust-src.install
index b4b93ffcb..ea9961ce1 100644
--- a/debian/rust-src.install
+++ b/debian/rust-src.install
@@ -8,7 +8,7 @@ README.md usr/src/rustc-${env:RUST_LONG_VERSION}
RELEASES.md usr/src/rustc-${env:RUST_LONG_VERSION}
configure usr/src/rustc-${env:RUST_LONG_VERSION}
x.py usr/src/rustc-${env:RUST_LONG_VERSION}
-config.toml.example usr/src/rustc-${env:RUST_LONG_VERSION}
+config.example.toml usr/src/rustc-${env:RUST_LONG_VERSION}
Cargo.toml usr/src/rustc-${env:RUST_LONG_VERSION}
src usr/src/rustc-${env:RUST_LONG_VERSION}
library usr/src/rustc-${env:RUST_LONG_VERSION}
diff --git a/debian/rustc.links b/debian/rustc.links
index 10826e2ef..d77996a8e 100644
--- a/debian/rustc.links
+++ b/debian/rustc.links
@@ -1,6 +1,6 @@
-usr/bin/lld-15 usr/bin/rust-lld
-usr/bin/clang-15 usr/bin/rust-clang
-usr/bin/llvm-dwp-15 usr/bin/rust-llvm-dwp
+usr/bin/lld-16 usr/bin/rust-lld
+usr/bin/clang-16 usr/bin/rust-clang
+usr/bin/llvm-dwp-16 usr/bin/rust-llvm-dwp
# for -Z gcc-ld=lld, see compiler/rustc_codegen_ssa/src/back/link.rs for logic
usr/bin/rust-lld usr/lib/rustlib/${env:DEB_HOST_RUST_TYPE}/bin/gcc-ld/ld
usr/bin/rust-lld usr/lib/rustlib/${env:DEB_HOST_RUST_TYPE}/bin/gcc-ld/ld64
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
index c64e38e30..b2dad2655 100644
--- a/debian/source/lintian-overrides
+++ b/debian/source/lintian-overrides
@@ -2,8 +2,8 @@
rustc source: source-is-missing [library/stdarch/crates/stdarch-verify/arm-intrinsics.html]
# Test data
rustc source: source-is-missing [src/tools/rust-analyzer/crates/ide/src/syntax_highlighting/test_data/*.html]
-rustc source: source-is-missing [tests/rustdoc/doc-notable_trait*.html]
-rustc source: source-is-missing [tests/rustdoc/spotlight*.html]
+rustc source: source-is-missing [tests/rustdoc/notable-trait/doc-notable_trait*.html]
+rustc source: source-is-missing [tests/rustdoc/notable-trait/spotlight*.html]
rustc source: source-is-missing [vendor/html5ever/data/bench/*.html]
rustc source: source-is-missing [vendor/minifier/tests/files/minified_main.js]
rustc source: source-contains-prebuilt-windows-binary [vendor/libloading/tests/nagisa32.dll]
diff --git a/debian/upstream-tarball-unsuspicious.txt b/debian/upstream-tarball-unsuspicious.txt
index 4a769ceee..8b316de8b 100644
--- a/debian/upstream-tarball-unsuspicious.txt
+++ b/debian/upstream-tarball-unsuspicious.txt
@@ -19,16 +19,18 @@ vendor/regex/tests/unicode.rs
vendor/term/src/terminfo/parser/names.rs
# False-positive, "verylongtext" but OK
-README.md
CONTRIBUTING.md
+README.md
RELEASES.md
compiler/rustc_codegen_cranelift/docs/dwarf.md
compiler/rustc_codegen_gcc/Readme.md
compiler/rustc_codegen_ssa/locales/en-US.ftl
+compiler/rustc_codegen_ssa/messages.ftl
library/core/src/ffi/c_*.md
library/portable-simd/*.md
library/stdarch/CONTRIBUTING.md
library/stdarch/crates/core_arch/src/aarch64/neon/generated.rs
+library/stdarch/crates/std_detect/README.md
library/std/src/sys/sgx/abi/entry.S
src/bootstrap/CHANGELOG.md
src/doc/book/first-edition/src/the-stack-and-the-heap.md
@@ -66,12 +68,14 @@ tests/mir-opt/building/*.mir
tests/mir-opt/coverage_graphviz.*.InstrumentCoverage.0.dot
tests/mir-opt/inline/inline_generator.main.Inline.diff
tests/rustdoc/inline_cross/assoc_item_trait_bounds.out*.html
-tests/rustdoc-ui/z-help.stdout
+tests/rustdoc/notable-trait/doc-notable_trait*.html
+tests/rustdoc/notable-trait/spotlight-from-dependency.odd.html
tests/ui/lint/redundant-semicolon/redundant-semi-proc-macro.stderr
tests/ui/parser/raw/too-many-hash.stderr
vendor/ahash-0.7.6/FAQ.md
vendor/ahash/FAQ.md
vendor/ammonia/src/lib.rs
+vendor/anstyle-parse/src/state/table.rs
vendor/*/Cargo.toml
vendor/*/CHANGELOG.md
vendor/clap-*/examples/demo.md
@@ -104,15 +108,13 @@ vendor/tracing-subscriber/src/fmt/format/json.rs
vendor/unicase/src/lib.rs
vendor/unicode-normalization/src/stream_safe.rs
vendor/winapi/src/lib.rs
-vendor/windows-sys-0.*/src/Windows/Win32/*.rs
-vendor/windows-sys-0.*/src/Windows/Win32/*/*.rs
-vendor/windows-sys-0.*/src/Windows/Win32/*/*/*.rs
-vendor/windows-sys-0.*/src/Windows/Win32/*/*/*/*.rs
-vendor/windows-sys*/readme.md
-vendor/windows-sys/src/Windows/Win32/*.rs
-vendor/windows-sys/src/Windows/Win32/*/*.rs
-vendor/windows-sys/src/Windows/Win32/*/*/*.rs
-vendor/windows-sys/src/Windows/Win32/*/*/*/*.rs
+vendor/windows*/readme.md
+vendor/windows*/src/Windows/*.rs
+vendor/windows*/src/Windows/*/*.rs
+vendor/windows*/src/Windows/*/*/*.rs
+vendor/windows*/src/Windows/*/*/*/*.rs
+vendor/windows*/src/Windows/*/*/*/*/*.rs
+vendor/windows*/src/Windows/*/*/*/*/*/*.rs
vendor/zerovec/src/map2d/map.rs
# False-positive, audit-vendor-source automatically flags JS/C files
@@ -128,7 +130,9 @@ src/librustdoc/html/static/.eslintrc.js
src/librustdoc/html/static/js/*.js
src/tools/error_index_generator/*.js
src/tools/rustdoc-gui/tester.js
+src/tools/rustdoc-gui/.eslintrc.js
src/tools/rustdoc-js/tester.js
+src/tools/rustdoc-js/.eslintrc.js
# Embedded libraries, justified in README.source
vendor/dlmalloc/src/dlmalloc.c
@@ -146,8 +150,9 @@ vendor/errno-dragonfly/src/errno.c
vendor/stacker/src/arch/windows.c
# False-positive, misc
+src/ci/github-actions/problem_matchers.json
src/doc/rustc-dev-guide/src/queries/example-0.counts.txt
-src/etc/vscode_settings.json
+src/etc/rust_analyzer_settings.json
src/stage0.json
src/tools/clippy/.remarkrc
vendor/elasticlunr-rs/src/lang/*.rs
@@ -217,7 +222,6 @@ tests/*/*.rs
tests/*/*/*.rs
tests/*/*/*/*.rs
tests/run-make/*/*.c
-tests/run-make-fulldeps/*/*.c
tests/run-make/x86_64-fortanix-unknown-sgx-lvi/enclave/foo.c
tests/run-make/x86_64-fortanix-unknown-sgx-lvi/enclave/libcmake_foo/src/foo.c
tests/rustdoc-gui/src/huge_logo/src/lib.rs
@@ -232,6 +236,9 @@ tests/ui/nll/*/*.stderr
tests/ui/parser/issues/*.stderr
tests/ui/proc-macro/debug/*.stderr
vendor/annotate-snippets/tests/fixtures/no-color/strip_line_non_ws.toml
+vendor/basic-toml/tests/valid/*.json
+vendor/basic-toml/tests/valid/table-whitespace.toml
+vendor/basic-toml/tests/invalid-encoder/array-mixed-types-ints-and-floats.json
vendor/bstr-0.2.17/src/unicode/fsm/*.dfa
vendor/cargo_metadata*/tests/test_samples.rs
vendor/diff/tests/data/gitignores.chars.diff
@@ -326,7 +333,6 @@ vendor/ahash/src/fallback_hash.rs
vendor/ahash/src/hash_quality_test.rs
vendor/ahash/src/lib.rs
vendor/aho-corasick/src/nfa.rs
-vendor/askama_shared/src/generator.rs
vendor/block-buffer/tests/mod.rs
vendor/clap*/src/derive.rs
vendor/clap_derive/src/derives/args.rs
@@ -401,18 +407,19 @@ vendor/sha2/src/sha512.rs
vendor/shlex/src/lib.rs
vendor/snap/src/compress.rs
vendor/snap/src/decompress.rs
-vendor/syn/src/attr.rs
-vendor/syn/src/custom_punctuation.rs
-vendor/syn/src/data.rs
-vendor/syn/src/derive.rs
-vendor/syn/src/group.rs
-vendor/syn/src/path.rs
-vendor/syn/src/pat.rs
-vendor/syn/src/punctuated.rs
-vendor/syn/src/stmt.rs
-vendor/syn/src/token.rs
-vendor/syn/src/ty.rs
-vendor/syn/tests/test_meta.rs
+vendor/syn*/src/attr.rs
+vendor/syn*/src/custom_punctuation.rs
+vendor/syn*/src/data.rs
+vendor/syn*/src/derive.rs
+vendor/syn*/src/group.rs
+vendor/syn*/src/meta.rs
+vendor/syn*/src/path.rs
+vendor/syn*/src/pat.rs
+vendor/syn*/src/punctuated.rs
+vendor/syn*/src/stmt.rs
+vendor/syn*/src/token.rs
+vendor/syn*/src/ty.rs
+vendor/syn*/tests/test_meta.rs
vendor/thiserror-impl/src/attr.rs
vendor/time/src/parsing/combinator/mod.rs
vendor/time/src/parsing/combinator/rfc/*.rs