Hi,

   thanks for the tip about position-independent. I did compile with -fno-pic, 
and the
op.h was then generated without error. Now I have a different problem that 
might be
related to PIC. The thing is, because of the nature of PalmOS, I had to link 
with -fPIC.
Now, after removing the faults, I have reached the execution loop in cpu-exec.c 
and
invoking of gen_func, nothing is realy happening, the loop is being executed, 
but after
printing the data at the address of gen_func, I could see that there are all 
zeroes.
Might that be because of linking with -fPIC? If so, I will have to use 
different way
to link it, and it might take a while.
If not, where to search for the fault? I have also debugged the 
host_alarm_handler,
and found out that although realtime timer expires, it is not initialized 
again. Where exactly
in the code is it done? I tried to find the place, but those timer functions 
are structure
members, and it is hard to find a place.

/Voda

----- Original Message ----
From: Wolfgang Schildbach <[EMAIL PROTECTED]>
To: qemu-devel@nongnu.org
Sent: Wednesday, May 23, 2007 5:23:51 PM
Subject: Re: [Qemu-devel] Porting QEMU to PalmOS


Try compiling as position-dependent (i.e. not PIC) code. GOT is a typical 
feature of position independent code.

- Wolfgang

[EMAIL PROTECTED] 
wrote on 23.05.2007 13:20:22:

> 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 <[EMAIL PROTECTED]>
> To: sinisa marovic <[EMAIL PROTECTED]>
> Cc: qemu-devel@nongnu.org
> 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.


       
____________________________________________________________________________________
Need a vacation? Get great deals
to amazing places on Yahoo! Travel.
http://travel.yahoo.com/

Reply via email to