On Mon, 6 Jan 2014 04:11:10 +0000 Dimitri John Ledkov <x...@ubuntu.com> wrote:
> Control: tag -1 patch > > > On 6 January 2014 03:28, NeilBrown <ne...@suse.de> wrote: > > > > On Wed, 1 Jan 2014 04:06:44 +0000 Dimitri John Ledkov <x...@ubuntu.com> > > wrote: > > > > > On 1 January 2014 03:55, NeilBrown <ne...@suse.de> wrote: > > > > On Wed, 01 Jan 2014 02:49:26 +0000 Dimitri John Ledkov <x...@ubuntu.com> > > > > wrote: > > > > > > > >> I'm also CC'ing upstream author of wiggle, to look into big-endian > > > >> test-failures. Maybe it's something obvious for Neil =) > > > > > > > > There have been a lot of fixes since the 0.9.1 version currently in > > > > Debian > > > > and v1.0 has been released. > > > > I would suggest trying v1.0 and see if the test failures are fixed > > > > there or > > > > not. > > > > > > > > I don't have access to a big-endian so I cannot easily perform the > > > > tests and > > > > find the cause directly. > > > > > > > > > I have access to a debian porter-box big-endian (powerpc) and the > > > latest git clone also fails in similar fashion. I'll try to get the > > > logs over. I'm not sure what's the procedure for non-debian-developers > > > to gain access to those machines. But I guess I can act as a proxy. > > > > > > > I suspect the problem is in "config.h": > > > > > > /* Includes and defines for ccan files */ > > > > #if !defined(LITTLE_ENDIAN) && !defined(BIG_ENDIAN) > > #if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) || > > defined(__OpenBSD__) > > #include <machine/endian.h> > > #else > > #include <endian.h> > > #endif > > #endif > > #ifdef LITTLE_ENDIAN > > #define HAVE_LITTLE_ENDIAN 1 > > #define HAVE_BIG_ENDIAN 0 > > #elif defined(BIG_ENDIAN) > > #define HAVE_LITTLE_ENDIAN 0 > > #define HAVE_BIG_ENDIAN 1 > > #else > > #error Unknown endian > > #endif > > > > > > > > <endian.h> seems to define both LITTLE_ENDIAN and BIG_ENDIAN, so the above > > code doesn't work. > > Can you just hack it to select the 'BIG_ENDIAN' branch and see if that makes > > it work? > > But of course it defines both LITTLE & BIG endian macros, as the byte > order is defined in BYTE_ORDER to the value of either LITTLE or BIG > endian (and thankfully we don't need to care about "universal" - > simultaneously big & little endian Mac OS X builds anymore...). > > I've tested the attached patch and the test-suite passes on both > x86_64 (little) and powerpc (big) endian. > > Would you apply this patch upstream? > Thanks. I've applied the patch. NeilBrown
signature.asc
Description: PGP signature