On Mon, Mar 23, 1998 at 02:19:25PM +0100, Frieder Streffer wrote:
> Hi Harald,
> I've got a problem with your latest DECstation Kernel (2.1.73) and need
> help or advice.
> I got the new binutils (2.8.1) and they compiled right out of the box, but
> when I try to compile the Kernel (gcc 2.7.2, binutils 2.8.1) it breaks
> during the last ld call
> mipsel-linux-ld -static -G 0 -T arch/mips/ld.script.little -Ttext 0x80000000
> arch/mips/kernel/head.o arch/mips/kernel/init_task.o init/main.o
> init/version.o \
> arch/mips/kernel/kernel.o arch/mips/mm/mm.o kernel/kernel.o mm/mm.o
> fs/fs.o ipc/ipc.o arch/mips/dec/dec.o \
> fs/filesystems.a \
> net/network.a \
> drivers/block/block.a drivers/char/char.a drivers/misc/misc.a
> drivers/net/net.a \
> arch/mips/lib/lib.a /home/frieder/linux/linux/lib/lib.a
> arch/mips/lib/lib.a \
> -o vmlinux
> net/network.a(core.o): In function `sock_setsockopt':
> sock.c(.text+0x3d0): undefined reference to `dev_get'
That one is strange. dev_get is defined in net/core/dev.c. Are the object
file net/core/dev.o or net/core/core.o corrupted? Maybe as/ld dumped
core while writing these object files to the disk? This occasiaonally
produces such strange acting object files.
> sock.c(.text+0x3d0): relocation truncated to fit: R_MIPS_26 dev_get
> sock.c(.text+0x40c): undefined reference to `ip_route_output'
That one should be defined as well.
> sock.c(.text+0x40c): relocation truncated to fit: R_MIPS_26 ip_route_output
> make: *** [vmlinux] Error 1
R_MIPS_26 relocations are the relocation that is being used for jumps. On
MIPS the jump instructions (j and jal) can reach any destination which has
the the highest four bits the same as the current program counter. The
error message you are seeing indicates that some jump is trying to reach
a destination beyond what is reachable. This does not happen when
building the kernel.