[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Patch: Sparc system support
From: |
Johannes Schindelin |
Subject: |
Re: [Qemu-devel] Patch: Sparc system support |
Date: |
Fri, 1 Oct 2004 18:00:56 +0200 (CEST) |
Hi,
On Fri, 1 Oct 2004, Renzo Davoli wrote:
> In fact there is something wrong in the op.h file:
>
> Line 4778:
> case INDEX_op_fitos: {
> extern void op_fitos();
> memcpy(gen_code_ptr, (void *)((char *)&op_fitos+0), 56);
> *(uint16_t *)(gen_code_ptr + 26) = ((long)(&) + 0 + 0x8000) >> 16;
> *(uint16_t *)(gen_code_ptr + 30) = ((long)(&) + 0);
> gen_code_ptr += 56;
> }
>
> (long)(&) .... the operand is missing.
This most likely means that your op.o has a relocation without a proper
symbol name. This can happen if a relocation is split into loword
and hiword on some architectures. What host are you compiling for?
Looking at target-sparc/op.c, I see that op_fitos does not take any
__op_param parameters, but rather just stores env->ft1 into env->ft0. So
maybe those relocations are not necessary. You can try that by hacking
dyngen.c after the "/* patch relocations */" line to just ignore
those without a proper name. YMMV.
Hth,
Dscho