[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Patch: Sparc system support
From: |
J. Mayer |
Subject: |
Re: [Qemu-devel] Patch: Sparc system support |
Date: |
Sat, 02 Oct 2004 01:06:43 +0200 |
On Fri, 2004-10-01 at 18:00, Johannes Schindelin wrote:
> Hi,
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?
I also had issues like this with PPC some opcodes. I noticed that this
happened when gcc uses local variables. The solution I found was to
rewrite some micro-operations to make them simpler to compile and make
others helper functions (so the micro-op is just a function call), for
the more complex ones.
--
J. Mayer <address@hidden>
Never organized