On 16/07/12 09:27, Jonathan Nieder wrote:
Michael Cree wrote:
On 15/07/2012, at 8:50 AM, Jonathan Nieder wrote:
gcc takes full advantage by converting the get_be32
calls back to a load and bswap and producing a whole bunch of
unaligned access traps.
Alpha does not have
Jonathan,
Thanks for acting so promptly on this. Just a minor point on the
commit message below.
On 15/07/2012, at 8:50 AM, Jonathan Nieder wrote:
Unfortunately, Michael noticed on an Alpha machine that git was using
plain 32-bit reads anyway. As soon as we convert a pointer to int *,
the
With 660231aa (block-sha1: support for architectures with memory
alignment restrictions, 2009-08-12), blk_SHA1_Update was modified to
access 32-bit chunks of memory one byte at a time on arches that
prefer that:
#define get_be32(p)( \
(*((unsigned char *)(p) + 0) 24)
Looks good to me. I'd suggest doing the macro argument expansion in
#define SHA_SRC(t) get_be32((unsigned char *) block + t*4)
with parenthesis around 't', but that's a fairly independent thing.
The old code didn't do that either.
Linus
--
To unsubscribe from this list: send the
4 matches
Mail list logo