From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HqoPt-00048U-AG for qemu-devel@nongnu.org; Wed, 23 May 2007 06:50:05 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HqoPq-00047V-Su for qemu-devel@nongnu.org; Wed, 23 May 2007 06:50:03 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HqoPq-00047S-MP for qemu-devel@nongnu.org; Wed, 23 May 2007 06:50:02 -0400 Received: from mail.gmx.net ([213.165.64.20]) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1HqoPq-0007BI-8r for qemu-devel@nongnu.org; Wed, 23 May 2007 06:50:02 -0400 Date: Wed, 23 May 2007 11:48:59 +0100 (BST) From: Johannes Schindelin Subject: Re: [Qemu-devel] Porting QEMU to PalmOS In-Reply-To: <235654.95127.qm@web54602.mail.re2.yahoo.com> Message-ID: References: <235654.95127.qm@web54602.mail.re2.yahoo.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: sinisa marovic Cc: qemu-devel@nongnu.org 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