Re: compiling kernel 2.6.13

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 31, 2005 at 02:59:46PM +0100, Damian Dimmich wrote:

> 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)

That driver's 32-bit compatibility is totally broken, I'm afraid.  It'll
be easy to kludge though ...

> 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.

Daring.  Hardly anybody is using EISA on that machine and even less so on
64-bit, expect to find bugs.

> gcc version 3.3.3 (Debian)

Should be a safe choice of compiler.

  Ralf


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux