From 4e752651f43a72a1f7dddde0bff932a7ae04960e Mon Sep 17 00:00:00 2001 From: Eduard Burtescu Date: Wed, 1 Jan 2014 01:42:24 +0200 Subject: [PATCH] Truncate symbol hashes to 64 bits. --- src/librustc/back/link.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs index 6bd898879d126..cb50e35fd930b 100644 --- a/src/librustc/back/link.rs +++ b/src/librustc/back/link.rs @@ -34,6 +34,7 @@ use std::run; use std::str; use std::io; use std::io::fs; +use extra::hex::ToHex; use extra::tempfile::TempDir; use syntax::abi; use syntax::ast; @@ -494,8 +495,10 @@ pub fn build_link_meta(sess: Session, } } -pub fn truncated_hash_result(symbol_hasher: &mut Sha256) -> ~str { - symbol_hasher.result_str() +fn truncated_hash_result(symbol_hasher: &mut Sha256) -> ~str { + let output = symbol_hasher.result_bytes(); + // 64 bits should be enough to avoid collisions. + output.slice_to(8).to_hex() }