This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
xtensa-fsf-ld: dangerous relocation: call8: call target out of range
- From: Max Filippov <jcmvbkbc at gmail dot com>
- To: binutils at sourceware dot org
- Cc: Marc Gauthier <marc at tensilica dot com>
- Date: Mon, 16 Jul 2012 18:26:20 +0400
- Subject: xtensa-fsf-ld: dangerous relocation: call8: call target out of range
Hello.
I'm trying to build linux kernel for FSF xtensa core using binutils-2.22.
In the final linking step I get the following error:
+ /home/dumb/ws/tensilica/tools/xtensa-toolchain-build/build-xtensa-fsf-elf/root/bin/xtensa-fsf-elf-ld
--build-id -o .tmp_vmlinux2 -T
/home/dumb/ws/tensilica/linux/linux-build/fsf/defconfig/arch/xtensa/kernel/vmlinux.lds
arch/xtensa/kernel/head.o init/built-in.o --start-group usr/built-in.o
arch/xtensa/kernel/built-in.o arch/xtensa/mm/built-in.o
arch/xtensa/platforms/iss/built-in.o kernel/built-in.o mm/built-in.o
fs/built-in.o ipc/built-in.o security/built-in.o crypto/built-in.o
block/built-in.o lib/lib.a arch/xtensa/lib/lib.a
/home/dumb/ws/tensilica/tools/xtensa-toolchain-build/build-xtensa-fsf-elf/root/lib/gcc/xtensa-fsf-elf/4.6.3/libgcc.a
lib/built-in.o arch/xtensa/lib/built-in.o
/home/dumb/ws/tensilica/tools/xtensa-toolchain-build/build-xtensa-fsf-elf/root/lib/gcc/xtensa-fsf-elf/4.6.3/libgcc.a
drivers/built-in.o sound/built-in.o firmware/built-in.o net/built-in.o
--end-group .tmp_kallsyms1.o
net/built-in.o: In function `fib_net_init':
fib_frontend.c:(.init.text+0x1553): dangerous relocation: call8: call
target out of range: (.text+0x3eb38)
If I add --no-relax ld option to this link step everything works fine.
Referenced portion of the object file (net/built-in.o) looks like this:
1550: 180000 l32r a8, fffc1550
<unregister_net_sysctl_table+0xfff6eb90>
1550: R_XTENSA_SLOT0_OP .init.literal+0x5a0
1550: R_XTENSA_ASM_EXPAND fib_trie_table
1553: 0b8000 callx8 a8
1556: caa3 beqz.n a10, 157d <fib_net_init+0x5d>
Can anybody suggest the way to debug/fix it?
--
Thanks.
-- Max