qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Porting QEMU to PalmOS


From: sinisa marovic
Subject: Re: [Qemu-devel] Porting QEMU to PalmOS
Date: Wed, 23 May 2007 04:20:22 -0700 (PDT)

Hi Johannes,
 
   thanks for your quick response.
I thought QEMU was already compiled and run on an ARM machine?
If so, how come that noone else had such problem (I searched for it on google),
and PXA255 is a standard ARM CPU with a few additional instructions.
And how to make them not come from GOT, those vars are declared as extern,
so they are globals?
 
BR,
   Voda.

----- Original Message ----
From: Johannes Schindelin <address@hidden>
To: sinisa marovic <address@hidden>
Cc: address@hidden
Sent: Wednesday, May 23, 2007 12:48:59 PM
Subject: Re: [Qemu-devel] Porting QEMU to PalmOS

Hi,

On Wed, 23 May 2007, sinisa marovic wrote:

> Relocation types that fail are 25 and 26, which are R_ARM_GOTPC and
> R_ARM_GOT32 respectively. Their names are:
>
> _GLOBAL_OFFSET_TABLE_
> cc_table
> __op_param1
> __op_param2
> __op_param3
>
> Is there a way to fix this?

The GOT is an offset table. Many CPUs have fixed-size instruction sets,
which means that you cannot easily jump to an absolute address, since the
address alone would already fill up the size.

Of course, this is a no-no for QEmu, since the _same_ function snippet
will be reused _multiple_ times. So, the address must not come from a GOT,
but be inserted directly into the code.

I do not remember off-hand how I managed to do this a couple of years ago,
when I worked on a MIPS host, but there _are_ gcc options to avoid a GOT.

Hth,
Dscho



Food fight? Enjoy some healthy debate
in the Yahoo! Answers Food & Drink Q&A.
reply via email to

[Prev in Thread] Current Thread [Next in Thread]