Re: [PATCH 1/2] compat: move unaligned helpers to bswap.h
From: Jonathan Nieder <hidden>
Date: 2016-06-15 22:59:44
Jeff King wrote:
On Thu, Jan 23, 2014 at 11:56:43AM -0800, Jonathan Nieder wrote:
quoted
In that case I think git-compat-util.h should include something like what block-sha1/sha1.c has: #if !defined(__i386__) && !defined(__x86_64__) && \ !defined(_M_IX86) && !defined(_M_X64) && \ !defined(__ppc__) && !defined(__ppc64__) && \ !defined(__powerpc__) && !defined(__powerpc64__) && \ !defined(__s390__) && !defined(__s390x__) #define NEEDS_ALIGNED_ACCESS #endif Otherwise we are relying on the person building to know their own architecture intimately, which shouldn't be necessary.Yeah, I agree it would be nice to autodetect.
The nice thing is that false positives are harmless, modulo slowing down git a little if the compiler doesn't figure out how to optimize the NEEDS_ALIGNED_ACCESS codepath when on an unlisted platform that doesn't, in fact, need aligned access. In other words, it would work out of the box for everybody.