Alex Gonzalez wrote: > Hi, > > When compiling the util-linux-2.12q sources, I get the following linker > ABI incompatibility error: [snip] > mips64-linux-gnu-gcc -c -O2 -pipe -march=rm9000 -mabi=32 -static -mips4 -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -Wl,-t -Wl,-EB -O2 -fomit-frame-pointer -I../lib -Wall -Wmissing-prototypes -Wstrict-prototypes -D_FILE_OFFSET_BITS=64 -DSBINDIR=\"/sbin\" -DUSRSBINDIR=\"/usr/sbin\" -DLOGDIR=\"/var/log\" -DVARPATH=\"/var\" -DLOCALEDIR=\"/usr/share/locale\" getopt.c -o getopt.o > mips64-linux-gnu-gcc: -t: linker input file unused because linking not done > mips64-linux-gnu-gcc: -EB: linker input file unused because linking not done The compiler is broken and fails to recognize -Wl,-t -Wl,-EB as linker options. > mips64-linux-gnu-ld -V -static -t -EB getopt.o -o getopt > GNU ld version 2.13-mips64linux-031001 20020920 This toolchain is very old, and unlikely to work correctly for mips64. [snip] > Can anybody help with the following: > > 1) What's the difference between -mabi=32 and -mabi=n32? n32 means 64bit wide registers and 32bit address space. It runs only on a 64bit kernel. > 2) What should I do to compile util-linux with -mabi=32? Use either a mips-linux targeted toolchain (instead of mips64-linux), or upgrade to gcc 3.3/binutils 2.15, which fixed some known bugs in that area. Thiemo