Endian/__BYTE_ORDER question
Adrian Reber
adrian at lisas.de
Fri Feb 12 03:33:29 EST 2010
On Thu, Feb 11, 2010 at 05:17:37PM +0100, Joakim Tjernlund wrote:
> I am getting confused about on how to test for Endian in the kernel code. In user
> space one uses #if __BYTE_ORDER == __LITTLE_ENDIAN or #if __BYTE_ORDER == __BIG_ENDIAN
>
> I can see lots of kernel headers using this test too, but it doesn't seem
> to be an arch specific file #defining __BYTE_ORDER. Instead I find files like:
> arch/alpha/math-emu/sfp-util.h
> arch/powerpc/include/asm/sfp-machine.h
> arch/s390/include/asm/sfp-util.h
> arch/sh/math-emu/sfp-util.h
>
> How is this supposed to work?
I have no idea how it is actually done in the kernel code... but gcc
defines it:
gcc -dM -E -x c - <<<'' | grep ENDIAN
#define __BIG_ENDIAN__ 1
#define _BIG_ENDIAN 1
Adrian
More information about the Linuxppc-dev
mailing list