Skip to content
Closed
Changes from 1 commit
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
6c4c438
destabilise target-spec-json
davidtwco Dec 19, 2025
6f12b86
s390x: support `f16` and `f16x8` in inline assembly
folkertdev Jan 8, 2026
ef1e4e6
Move checks from `check_doc_attrs` directly into `rustc_attr_parsing`
GuillaumeGomez Jan 10, 2026
b327e30
core: ptr: split_at_mut: fix typo in safety doc
lschuermann Jan 12, 2026
284d136
Dogfood `-Zno-embed-metadata` for the standard library
Kobzol Aug 25, 2025
e03cb1f
run-make-support: resolve .rmeta companion for .rlib stubs
akshitgaur2005 Jan 2, 2026
6ca9501
Relax test expectation for @__llvm_profile_runtime_user
zmodem Jan 12, 2026
c451e9b
Remove a workaround for a bug
bjorn3 Sep 19, 2021
a2cc9ef
std: move `errno` and related functions into `sys::io`
joboet Jan 6, 2026
210c157
update import in UI test
joboet Jan 6, 2026
90b32e7
Fix typo in `MaybeUninit` docs
tbu- Jan 12, 2026
50b60aa
std: sys: net: uefi: Make TcpStream Send
Ayush1325 Jan 12, 2026
439da07
Update books
rustbot Jan 12, 2026
418cff3
Port `#[must_not_suspend]` to attribute parser
Bryntet Jan 10, 2026
b07d983
Rollup merge of #145343 - dogfood-z-no-embed-metadata, r=bjorn3
matthiaskrgr Jan 12, 2026
1e66be8
Rollup merge of #150151 - destabilise-target-spec-json, r=Kivooeo
matthiaskrgr Jan 12, 2026
fa403e4
Rollup merge of #150723 - move_pal_error, r=@tgross35
matthiaskrgr Jan 12, 2026
6230311
Rollup merge of #150826 - s390x-asm-f16-vector, r=uweigand,tgross35
matthiaskrgr Jan 12, 2026
9026074
Rollup merge of #150934 - move-doc-attr-checks, r=JonathanBrouwer
matthiaskrgr Jan 12, 2026
fff757e
Rollup merge of #150943 - port_must_not_suspend, r=jdonszelmann,Jonat…
matthiaskrgr Jan 12, 2026
5ed98e1
Rollup merge of #150990 - uefi-run-test, r=joboet
matthiaskrgr Jan 12, 2026
34e6590
Rollup merge of #150995 - dev/core-ptr-split-at-mut-docs-fix, r=joboet
matthiaskrgr Jan 12, 2026
b0f2220
Rollup merge of #150998 - win___llvm_profile_runtime_user, r=durin42
matthiaskrgr Jan 12, 2026
7abcfaa
Rollup merge of #151002 - remove_bug_workaround, r=lqd
matthiaskrgr Jan 12, 2026
42a7b42
Rollup merge of #151005 - pr_doc_maybeuninit_typo, r=joboet
matthiaskrgr Jan 12, 2026
d63bda3
Rollup merge of #151011 - docs-update, r=ehuss
matthiaskrgr Jan 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Remove a workaround for a bug
I don't think it is necessary anymore. As I understand it from issue
39504 the original problem was that rustbuild changed a hardlink in the
cargo build dir to point to copy in the sysroot while cargo may have
hardlinked it to the original first. I don't think this happens anymore
and as such this workaround is no longer necessary.
  • Loading branch information
bjorn3 committed Jan 12, 2026
commit c451e9bac648c9c6adcdbd9b4aa6067e38b606cb
29 changes: 0 additions & 29 deletions compiler/rustc_metadata/src/locator.rs
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,6 @@ use crate::rmeta::{METADATA_HEADER, MetadataBlob, rustc_version};
pub(crate) struct CrateLocator<'a> {
// Immutable per-session configuration.
only_needs_metadata: bool,
sysroot: &'a Path,
metadata_loader: &'a dyn MetadataLoader,
cfg_version: &'static str,

Expand Down Expand Up @@ -318,7 +317,6 @@ impl<'a> CrateLocator<'a> {

CrateLocator {
only_needs_metadata,
sysroot: sess.opts.sysroot.path(),
metadata_loader,
cfg_version: sess.cfg_version,
crate_name,
Expand Down Expand Up @@ -670,33 +668,6 @@ impl<'a> CrateLocator<'a> {
continue;
}

// Ok so at this point we've determined that `(lib, kind)` above is
// a candidate crate to load, and that `slot` is either none (this
// is the first crate of its kind) or if some the previous path has
// the exact same hash (e.g., it's the exact same crate).
//
// In principle these two candidate crates are exactly the same so
// we can choose either of them to link. As a stupidly gross hack,
// however, we favor crate in the sysroot.
//
// You can find more info in rust-lang/rust#39518 and various linked
// issues, but the general gist is that during testing libstd the
// compilers has two candidates to choose from: one in the sysroot
// and one in the deps folder. These two crates are the exact same
// crate but if the compiler chooses the one in the deps folder
// it'll cause spurious errors on Windows.
//
// As a result, we favor the sysroot crate here. Note that the
// candidates are all canonicalized, so we canonicalize the sysroot
// as well.
if let Some(prev) = &ret {
let sysroot = self.sysroot;
let sysroot = try_canonicalize(sysroot).unwrap_or_else(|_| sysroot.to_path_buf());
if prev.starts_with(&sysroot) {
continue;
}
}

// We error eagerly here. If we're locating a rlib, then in theory the full metadata
// could still be in a (later resolved) dylib. In practice, if the rlib and dylib
// were produced in a way where one has full metadata and the other hasn't, it would
Expand Down
Loading