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

Attachment: signature.asc
Description: PGP signature

Reply via email to