From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ifzn4-0006Ja-M6 for qemu-devel@nongnu.org; Thu, 11 Oct 2007 11:17:34 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Ifzn0-0006IB-Ud for qemu-devel@nongnu.org; Thu, 11 Oct 2007 11:17:34 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ifzn0-0006I5-NQ for qemu-devel@nongnu.org; Thu, 11 Oct 2007 11:17:30 -0400 Received: from relay01.mx.bawue.net ([193.7.176.67]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Ifzn0-0003uq-9l for qemu-devel@nongnu.org; Thu, 11 Oct 2007 11:17:30 -0400 Date: Thu, 11 Oct 2007 16:17:24 +0100 From: Thiemo Seufer Subject: Re: [Qemu-devel] RFC: fix run of 32 bits Linux executables on 64 bits targets Message-ID: <20071011151724.GD3379@networkno.de> References: <1192002128.9976.186.camel@rapid> <470C8AD9.6000002@bellard.org> <20071010174906.GC3379@networkno.de> <470D1C9A.2000505@bellard.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <470D1C9A.2000505@bellard.org> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Fabrice Bellard Cc: qemu-devel@nongnu.org Fabrice Bellard wrote: > Thiemo Seufer wrote: >> Fabrice Bellard wrote: >>> J. Mayer wrote: >>>> Following the patches done for elfload32, it appeared to me that there >>>> were still problems that would prevent 32 bits executables to run on 64 >>>> bits target in linux user mode emulation. >>>> [...] >>> Are you sure it is a good idea to try to add 32 bit executable support to >>> a 64 bit target ? In the end you will need to write a 64 bit to 32 bit >>> linux syscall converter which would mean duplicating all the linux-user >>> code of the corresponding 32 bit target (think of ioctls with strutures, >>> signals frames, etc...). >> I would think this feature will be limited to platforms which can handle >> 32bit and 64bit binaries with a single personality. > > I am not sure it is a common case ! > > However, I suggest to emulate a 32 bit user linux system with a 64 bit > guest CPU running in 32 bit compatibily mode. It would be useful to test 64 > bit CPUs in 32 bit compatibility mode. The only required modification in > linux user is to rename target_ulong so that it can have a different size > of the CPU word default size. Doesn't work for MIPS64, since it doesn't quite have a compatibility mode in the traditional sense. It needs to retain 64bit register width when running N32 ABI binaries. (Thus the somewhat odd overrides I added for the preliminary N32 support.) Thiemo