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/