Hello,
I had some trouble compiling 2.6.13 for the mips architecture. I encountered
two errors:
1)
In the file include/asm-mips/thread_info.h TIF_32BIT was undefined.
I added the following two lines which showed up in parisc and ppc64 's
thread-info's. Don't know if these values are correct or if this actually
works. It just gets it to compile...
#define TIF_32BIT 5 /* 32 bit binary */
#define _TIF_32BIT (1<<TIF_32BIT)
The error was in drivers/input/evdev.c which includes
include/asm-mips/thread_info.h
The error was:
CC [M] drivers/input/evdev.o
drivers/input/evdev.c: In function `evdev_write':
drivers/input/evdev.c:193: error: `TIF_32BIT' undeclared (first use in this
function)
drivers/input/evdev.c:193: error: (Each undeclared identifier is reported only
once
drivers/input/evdev.c:193: error: for each function it appears in.)
drivers/input/evdev.c: In function `evdev_read':
drivers/input/evdev.c:254: error: `TIF_32BIT' undeclared (first use in this
function)
2)
When linking .tmp_vmlinux1, KSEG1ADDR and KSEG1 where reported as undefined
and linking failed.
LD .tmp_vmlinux1
arch/mips/sgi-ip22/built-in.o(.text+0x2854): In function `ip22_eisa_intr':
: undefined reference to `KSEG1ADDR'
arch/mips/sgi-ip22/built-in.o(.text+0x2864): In function `ip22_eisa_intr':
: undefined reference to `KSEG1ADDR'
arch/mips/sgi-ip22/built-in.o(.text+0x2870): In function `ip22_eisa_intr':
: undefined reference to `KSEG1ADDR'
arch/mips/sgi-ip22/built-in.o(.text+0x28ac): In function `ip22_eisa_intr':
: undefined reference to `KSEG1ADDR'
arch/mips/sgi-ip22/built-in.o(.text+0x28c0): In function `ip22_eisa_intr':
: undefined reference to `KSEG1ADDR'
arch/mips/sgi-ip22/built-in.o(.text+0x293c): more undefined references to
`KSEG1ADDR' follow
make: *** [.tmp_vmlinux1] Error 1
I fixed this by adding the lines:
#define KSEG1ADDR(a) (CPHYSADDR(a) | KSEG1)
#define KSEG1 0xa0000000
at the top of the file arch/mips/sgi-ip22/ip22-eisa.c
These are copied from include/asm/addrspace.h
I found it quite strange that it only failed when linking the kernel and not
earlier. The file asm/addrspace.h is included in ip22-eisa.c
eisa support is enabled and i'm compiling a 64 bit kernel.
gcc is:
Reading specs from /usr/mips/lib/gcc-lib/mips-linux/3.3.3/specs
Configured with: ../configure --prefix=/usr/mips --exec-prefix=/usr/mips
--target=mips-linux --enable-shared --disable-nls --disable-multilib
--enable-languages=c,c++,ada,f77,objc
Thread model: posix
gcc version 3.3.3 (Debian)
Cheers,
Damian