From 56c6a48d2e52fac9fec3124fa84c096668738917 Mon Sep 17 00:00:00 2001 From: bjorn3 Date: Mon, 5 Jul 2021 11:33:04 +0200 Subject: [PATCH] Truncate hex stable crate id to 8 characters (32 bits) --- compiler/rustc_middle/src/mir/mono.rs | 9 +++++++-- src/test/ui/lto-duplicate-symbols.stderr | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/compiler/rustc_middle/src/mir/mono.rs b/compiler/rustc_middle/src/mir/mono.rs index c354cdd985b3..776cf002c170 100644 --- a/compiler/rustc_middle/src/mir/mono.rs +++ b/compiler/rustc_middle/src/mir/mono.rs @@ -494,14 +494,19 @@ impl CodegenUnitNameBuilder<'tcx> { format!( "-in-{}.{:08x}", tcx.crate_name(LOCAL_CRATE), - local_stable_crate_id.to_u64() + local_stable_crate_id.to_u64() as u32, ) } else { String::new() }; let stable_crate_id = tcx.sess.local_stable_crate_id(); - format!("{}.{:08x}{}", tcx.crate_name(cnum), stable_crate_id.to_u64(), local_crate_id) + format!( + "{}.{:08x}{}", + tcx.crate_name(cnum), + stable_crate_id.to_u64() as u32, + local_crate_id, + ) }); write!(cgu_name, "{}", crate_prefix).unwrap(); diff --git a/src/test/ui/lto-duplicate-symbols.stderr b/src/test/ui/lto-duplicate-symbols.stderr index 891cda8016c3..e4de04ef3ccd 100644 --- a/src/test/ui/lto-duplicate-symbols.stderr +++ b/src/test/ui/lto-duplicate-symbols.stderr @@ -1,6 +1,6 @@ warning: Linking globals named 'foo': symbol multiply defined! -error: failed to load bc of "lto-duplicate-symbols2.lto_duplicate_symbols2.288b404e693a75b4-cgu.0.rcgu.o": +error: failed to load bc of "lto-duplicate-symbols2.lto_duplicate_symbols2.693a75b4-cgu.0.rcgu.o": error: aborting due to previous error; 1 warning emitted