summary refs log tree commit diff
path: root/src/librustc_data_structures/blake2b.rs
AgeCommit message (Collapse)AuthorLines
2017-08-19rustc: Remove some dead codeVadim Petrochenkov-1/+1
2017-07-25Constrain the layout of Blake2bCtx for proper SPARC compilationDanek Duvall-0/+1
On SPARC, optimization fuel ends up emitting incorrect load and store instructions for the transmute() call in blake2b_compress(). If we force Blake2bCtx to be repr(C), the problem disappears. Fixes #43346
2017-04-12ICH: Replace old, transitive metadata hashing with direct hashing approach.Michael Woerister-7/+27
Instead of collecting all potential inputs to some metadata entry and hashing those, we directly hash the values we are storing in metadata. This is more accurate and doesn't suffer from quadratic blow-up when many entries have the same dependencies.
2017-03-27Fix various useless derefs and slicingsOliver Schneider-1/+1
2017-01-10Use little-endian encoding for Blake2 hashing on all architecturesAriel Ben-Yehuda-6/+10
Like many hash functions, the blake2 hash is mathematically defined on a sequence of 64-bit words. As Rust's hash interface operates on sequences of octets, some encoding must be used to bridge that difference. The Blake2 RFC (RFC 7693) specifies that: Byte (octet) streams are interpreted as words in little-endian order, with the least-significant byte first. So use that encoding consistently. Fixes #38891.
2016-10-30Replace all uses of SHA-256 with BLAKE2b.Michael Woerister-16/+68
2016-10-17ICH: Use 128-bit Blake2b hash instead of 64-bit SipHash for incr. comp. ↵Michael Woerister-0/+286
fingerprints.