Can't compile 2.1.7 plus

Brian Blackmore (bnb@looking-glass.org)
Mon, 18 Nov 1996 19:20:16 -0000


Ever since the exception code was added any attempt I make to compile the
kernel for my 386SX results in the following compile errors

ld -m elf_i386 -Ttext 0xC0100000 -e stext arch/i386/kernel/head.o init/main.o init/version.o \
arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o net/network.a \
fs/filesystems.a \
drivers/block/block.a drivers/char/char.a drivers/net/net.a arch/i386/math-emu/math.a \
/usr/src/linux/arch/i386/lib/lib.a /usr/src/linux/lib/lib.a /usr/src/linux/arch/i386/lib/lib.a -o vmlinux
arch/i386/mm/mm.o: In function `search_exception_table':
arch/i386/mm/mm.o(.text+0xbd0): undefined reference to `__start___ex_table'
arch/i386/mm/mm.o(.text+0xbd5): undefined reference to `__stop___ex_table'
arch/i386/mm/mm.o(.text+0xbda): undefined reference to `__start___ex_table'
arch/i386/mm/mm.o(.text+0xbe4): undefined reference to `__start___ex_table'
arch/i386/mm/mm.o(.text+0xbef): undefined reference to `__stop___ex_table'
make: *** [vmlinux] Error 1

A quick look through the source find no definition of __start__ex_table but a definition of
a segment __ex_table, so my guess is this is a "tools" problem, or possibly something
that only works on a 486 or above. The kernel was compiled on a 2.1.6 machine, with
gcc 2.7.2, as 2.7 (BFD 2.7.0.3) and ld 2.7 (BFD 2.7.03).

-- 
Brian Blackmore