From: Jeff King Date: Thu, 23 Jan 2014 20:09:11 GMT Subject: Re: [PATCH 1/2] compat: move unaligned helpers to bswap.h Message-ID: <20140123200911.GB32229@sigill.intra.peff.net> In-Reply-To: <20140123200804.GW18964@google.com> On Thu, Jan 23, 2014 at 12:08:04PM -0800, Jonathan Nieder wrote: > Jeff King wrote: > > On Thu, Jan 23, 2014 at 11:56:43AM -0800, Jonathan Nieder wrote: > > >> 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. OK, I'll refactor the knob. -Peff