From: Stephen Rothwell on 25 May 2010 21:10 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 25 May 2010 21:30 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 26 May 2010 00:10 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 26 May 2010 02:40 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 26 May 2010 02:50
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/ |