glibc doesn't build with linux-header-2.6.28 on loongson
Update: It is said that this problem has already been fixed . I will test it later. Actually I intended to send this to LKML, but just before I was about to send I found there was already some discussions about this . So instead I decided to just post it here. To make long story short, please take a look at these two files first: The first file , which will become part of /usr/include/endian.h. This file defines both __LITTLE_ENDIAN and __BIG_ENDIAN. And this file will be included by the second file. The second file , which will be /usr/include/linux/byteorder.h Obviously, this test in the second file will fail: #if defined(__LITTLE_ENDIAN) && defined(__BIG_ENDIAN) # error Fix asm/byteorder.h to define one endianness #endif It seems that there is an inconsistency between Linux and glibc on handling __LITTLE_ENDIAN and __BIG_ENDIAN. Linux treats them like a flag, while glibc treats them like a value. glibc uses __BYTE_ORDER to determine the endianness. This problem must be