I got a link error when compiling 2 loadable kernel modules - "endianness incompatible with that of the selected emulation". But both kernel and the kernel modules of error are in big endian. I don't know what I should check or fix. Any suggestions? I checked the endianess of the kernel by checking the elf header of vmlinux file, is that the right way to do it? Below are the error info and the readelf output, showing both the kernel and a kernel module are in big endian. Thanks for your help. Andrew 1) error log make -C /home/root123/sources/kernel/linux CROSS_COMPILE=""/home/root123/sources/gcc3.4.3-be"/bin/mips-linux-" M=/home/root123/sources/sdk/platform/src/linux/mxp/src modules LD [M] /home/root123/sources/sdk/platform/src/linux/mxp/src/mxpmod.o /home/root123/sources/gcc3.4.3-be/bin/mips-linux-ld: /home/root123/sources/sdk/platform/src/linux/mxp/src/mmxpcore.o: compiled for a big endian system and target is little endian /home/root123/sources/gcc3.4.3-be/bin/mips-linux-ld: /home/root123/sources/sdk/platform/src/linux/mxp/src/mmxpcore.o: endianness incompatible with that of the selected emulation /home/root123/sources/gcc3.4.3-be/bin/mips-linux-ld: failed to merge target specific data of file /home/root123/sources/sdk/platform/src/linux/mxp/src/mmxpcore.o make[13]: *** [/home/root123/sources/sdk/platform/src/linux/mxp/src/mxpmod.o] Error 1 2) kernel is in big endian readelf -h vmlinux ELF Header: Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, big endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: MIPS R3000 Version: 0x1 Entry point address: 0x941aa000 Start of program headers: 52 (bytes into file) Start of section headers: 1720624 (bytes into file) Flags: 0x50001001, noreorder, o32, mips32 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 1 Size of section headers: 40 (bytes) Number of section headers: 27 Section header string table index: 24 3) kernel module is big endian. readelf -h mmxpcore.o ELF Header: Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, big endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: REL (Relocatable file) Machine: MIPS R3000 Version: 0x1 Entry point address: 0x0 Start of program headers: 0 (bytes into file) Start of section headers: 81024 (bytes into file) Flags: 0x10001001, noreorder, o32, mips2 Size of this header: 52 (bytes) Size of program headers: 0 (bytes) Number of program headers: 0 Size of section headers: 40 (bytes) Number of section headers: 34 Section header string table index: 31