I'm trying to build qemu from CVS on an ARM/Xscale host (Linux 2.6.13.4, gcc 3.3.1, binutils 2.14). I had to apply the enclosed qemu- arm.patch to fix some bitrot, but now the build fails with 'relocation truncated to fit' errors. I tried building with -mlong- calls but that didn't make a difference (required qemu-cflags.patch to get the --extra-cflags/--extra-ldflags args to work in configure).

Does anyone know how to fix the relocation problem?

Build error:
gcc -mlong-calls -g -Wl,-T,/root/qemu/arm.ld -o qemu-i386 elfload.o main.o syscall.o mmap.o signal.o path.o osdep.o thunk.o vm86.o libqemu.a gdbstub.o -lm
libqemu.a(op.o)(.text+0x27e0): In function `op_jb_subb':
/root/qemu/target-i386/ops_template.h:278: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x2800): In function `op_jz_subb':
/root/qemu/target-i386/ops_template.h:285: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x2820): In function `op_jnz_subb':
/root/qemu/target-i386/ops_template.h:292: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x2850): In function `op_jbe_subb':
/root/qemu/target-i386/ops_template.h:303: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x2870): In function `op_js_subb':
/root/qemu/target-i386/ops_template.h:310: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x28a0): In function `op_jl_subb':
/root/qemu/target-i386/ops_template.h:321: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x28d0): In function `op_jle_subb':
/root/qemu/target-i386/ops_template.h:332: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x385c): In function `op_jb_subw':
/root/qemu/target-i386/ops_template.h:278: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x387c): In function `op_jz_subw':
/root/qemu/target-i386/ops_template.h:285: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x389c): In function `op_jnz_subw':
/root/qemu/target-i386/ops_template.h:292: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x38cc): In function `op_jbe_subw':
/root/qemu/target-i386/ops_template.h:303: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x38ec): In function `op_js_subw':
/root/qemu/target-i386/ops_template.h:310: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x391c): In function `op_jl_subw':
/root/qemu/target-i386/ops_template.h:321: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x394c): In function `op_jle_subw':
/root/qemu/target-i386/ops_template.h:332: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x3974): In function `op_loopnzw':
/root/qemu/target-i386/ops_template.h:343: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x399c): In function `op_loopzw':
/root/qemu/target-i386/ops_template.h:350: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x39bc): In function `op_jz_ecxw':
/root/qemu/target-i386/ops_template.h:357: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x39dc): In function `op_jnz_ecxw':
/root/qemu/target-i386/ops_template.h:364: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x4e08): In function `op_jb_subl':
/root/qemu/target-i386/ops_template.h:278: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x4e28): In function `op_jz_subl':
/root/qemu/target-i386/ops_template.h:285: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x4e48): In function `op_jnz_subl':
/root/qemu/target-i386/ops_template.h:292: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x4e74): In function `op_jbe_subl':
/root/qemu/target-i386/ops_template.h:303: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x4e94): In function `op_js_subl':
/root/qemu/target-i386/ops_template.h:310: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x4ec0): In function `op_jl_subl':
/root/qemu/target-i386/ops_template.h:321: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x4eec): In function `op_jle_subl':
/root/qemu/target-i386/ops_template.h:332: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x4f14): In function `op_loopnzl':
/root/qemu/target-i386/ops_template.h:343: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x4f3c): In function `op_loopzl':
/root/qemu/target-i386/ops_template.h:350: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x4f5c): In function `op_jz_ecxl':
/root/qemu/target-i386/ops_template.h:357: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x4f7c): In function `op_jnz_ecxl':
/root/qemu/target-i386/ops_template.h:364: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x6938): In function `op_jmp_label':
/root/qemu/target-i386/op.c:1311: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x6954): In function `op_jnz_T0_label':
/root/qemu/target-i386/op.c:1317: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
libqemu.a(op.o)(.text+0x6970): In function `op_jz_T0_label':
/root/qemu/target-i386/op.c:1324: relocation truncated to fit: R_ARM_PC24 __op_gen_label1
collect2: ld returned 1 exit status
make[1]: *** [qemu-i386] Error 1
make[1]: Leaving directory `/root/qemu/i386-user'
make: *** [all] Error 1


Attachment: qemu-arm.patch
Description: Binary data

Attachment: qemu-cflags.patch
Description: Binary data


Thanks,
Steve
_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to