From: Stephen Rothwell on
Hi Linus,

Today's linux-next build (powerpc ppc64_defconfig) produced this warning:

lib/crc32.c:53:22: warning: "__LITTLE_ENDIAN" is not defined
lib/crc32.c:53:22: warning: "__LITTLE_ENDIAN" is not defined
In file included from fs/jfs/jfs_types.h:33,
from fs/jfs/jfs_incore.h:26,
from fs/jfs/file.c:22:
fs/jfs/endian24.h:36:101: warning: "__LITTLE_ENDIAN" is not defined

and more of the same ...

Introduced by commit 4762bbc1a3a1f22095278b74dd1b8cee04858641 ("crc32:
use __BYTE_ORDER macro for endian detection") and (probably) commit b3b77c8caef1750ebeea1054e39e358550ea9f55 ("endian: #define __BYTE_ORDER").

--
Cheers,
Stephen Rothwell sfr(a)canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
From: Andrew Morton on
On Wed, 26 May 2010 11:05:06 +1000 Stephen Rothwell <sfr(a)canb.auug.org.au> wrote:

> Hi Linus,
>
> Today's linux-next build (powerpc ppc64_defconfig) produced this warning:
>
> lib/crc32.c:53:22: warning: "__LITTLE_ENDIAN" is not defined
> lib/crc32.c:53:22: warning: "__LITTLE_ENDIAN" is not defined
> In file included from fs/jfs/jfs_types.h:33,
> from fs/jfs/jfs_incore.h:26,
> from fs/jfs/file.c:22:
> fs/jfs/endian24.h:36:101: warning: "__LITTLE_ENDIAN" is not defined
>
> and more of the same ...
>
> Introduced by commit 4762bbc1a3a1f22095278b74dd1b8cee04858641 ("crc32:
> use __BYTE_ORDER macro for endian detection") and (probably) commit b3b77c8caef1750ebeea1054e39e358550ea9f55 ("endian: #define __BYTE_ORDER").
>

hmpf. Does this fix?

--- a/lib/crc32.c~a
+++ a/lib/crc32.c
@@ -26,6 +26,7 @@
#include <linux/compiler.h>
#include <linux/types.h>
#include <linux/init.h>
+#include <asm/byteorder.h>
#include <asm/atomic.h>
#include "crc32defs.h"
#if CRC_LE_BITS == 8
_

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Stephen Rothwell on
Hi Andrew,

On Tue, 25 May 2010 18:20:40 -0700 Andrew Morton <akpm(a)linux-foundation.org> wrote:
>
> hmpf. Does this fix?

No.

The problem is that __LITTLE_ENDIAN is only defined in
linux/byteorder/little_endian.h which is only included by little endian
architectures ...

--
Cheers,
Stephen Rothwell sfr(a)canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
From: Joakim Tjernlund on
Stephen Rothwell <sfr(a)canb.auug.org.au> wrote on 2010/05/26 06:09:00:
>
> Hi Andrew,
>
> On Tue, 25 May 2010 18:20:40 -0700 Andrew Morton <akpm(a)linux-foundation.org> wrote:
> >
> > hmpf. Does this fix?
>
> No.
>
> The problem is that __LITTLE_ENDIAN is only defined in
> linux/byteorder/little_endian.h which is only included by little endian
> architectures ...

Ah, not sure how to fix this ATM. Perhaps best to revert
crc32: use __BYTE_ORDER macro for endian detection
for now.

I suspect fixing this entails moving all endian tests to #if __BYTE_ORDER ...
and then always define both __LITTLE_ENDIAN and __BIG_ENDIAN

Jocke

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Andrew Morton on
On Wed, 26 May 2010 08:29:45 +0200 Joakim Tjernlund <joakim.tjernlund(a)transmode.se> wrote:

> Stephen Rothwell <sfr(a)canb.auug.org.au> wrote on 2010/05/26 06:09:00:
> >
> > Hi Andrew,
> >
> > On Tue, 25 May 2010 18:20:40 -0700 Andrew Morton <akpm(a)linux-foundation.org> wrote:
> > >
> > > hmpf. Does this fix?
> >
> > No.
> >
> > The problem is that __LITTLE_ENDIAN is only defined in
> > linux/byteorder/little_endian.h which is only included by little endian
> > architectures ...
>
> Ah, not sure how to fix this ATM. Perhaps best to revert
> crc32: use __BYTE_ORDER macro for endian detection
> for now.

yup.

> I suspect fixing this entails moving all endian tests to #if __BYTE_ORDER ...
> and then always define both __LITTLE_ENDIAN and __BIG_ENDIAN

Yes we can't define __LITTLE_ENDIAN to anything on big-endian without
breaking lots of other things.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/