Is anyone testing the "SVN_UNALIGNED_ACCESS_IS_OK=0" code regularly? On a quick inspection, all the bots describe themselves as x64, not ia64.
/me would add -DSVN_UNALIGNED_ACCESS_IS_OK=0 to his CFLAGS, but he isn't building too often these days. stef...@apache.org wrote on Sat, Jan 01, 2011 at 16:14:05 -0000: > Author: stefan2 > Date: Sat Jan 1 16:14:05 2011 > New Revision: 1054249 > > URL: http://svn.apache.org/viewvc?rev=1054249&view=rev > Log: > Move the decision whether unaligned memory access is o.k. > to a central place - svn_types.h. We will need that frequently > in e.g. delta-related string processing. > > * subversion/include/svn_types.h > (SVN_UNALIGNED_ACCESS_IS_OK): new macro > * subversion/libsvn_delta/text_delta.c > (patterning_copy): use the new macro instead of a local test > > Modified: > subversion/trunk/subversion/include/svn_types.h > subversion/trunk/subversion/libsvn_delta/text_delta.c > > Modified: subversion/trunk/subversion/include/svn_types.h > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_types.h?rev=1054249&r1=1054248&r2=1054249&view=diff > ============================================================================== > --- subversion/trunk/subversion/include/svn_types.h (original) > +++ subversion/trunk/subversion/include/svn_types.h Sat Jan 1 16:14:05 2011 > @@ -62,6 +62,24 @@ extern "C" { > # endif > #endif > > + > +/** Indicate whether the current platform supports unaligned data access. > + * > + * On the majority of machines running SVN (x86 / x64), unaligned access > + * is much cheaper than repeated aligned access. Define this macro to 1 > + * on those machines. > + * Unaligned access on other machines (e.g. IA64) will trigger memory > + * acccess faults or simply misbehave. > + * > + * @since New in 1.7. > + */ > +#ifndef SVN_UNALIGNED_ACCESS_IS_OK > +# if defined(_M_IX86) || defined(_M_X64) || defined(i386) || > defined(__x86_64) > +# define SVN_UNALIGNED_ACCESS_IS_OK 1 > +# else > +# define SVN_UNALIGNED_ACCESS_IS_OK 0 > +# endif > +#endif > > > /** Subversion error object. > > Modified: subversion/trunk/subversion/libsvn_delta/text_delta.c > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_delta/text_delta.c?rev=1054249&r1=1054248&r2=1054249&view=diff > ============================================================================== > --- subversion/trunk/subversion/libsvn_delta/text_delta.c (original) > +++ subversion/trunk/subversion/libsvn_delta/text_delta.c Sat Jan 1 16:14:05 > 2011 > @@ -606,11 +606,9 @@ patterning_copy(char *target, const char > { > const char *end = source + len; > > - /* On the majority of machines (x86 / x64), unaligned access is much > - * cheaper than repeated aligned access. Therefore, use chunky copies on > - * these machines when feasible. > - * For those machines, GCC, ICC and MSC will define one of the following: > */ > -#if defined(_M_IX86) || defined(_M_X64) || defined(i386) || defined(__x86_64) > + /* On many machines, we can do "chunky" copies. */ > + > +#if SVN_UNALIGNED_ACCESS_IS_OK > > if (end + sizeof(apr_uint32_t) <= target) > { > >