From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GSeJD-0003bG-SF for qemu-devel@nongnu.org; Wed, 27 Sep 2006 14:39:03 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GSeJC-0003YA-CE for qemu-devel@nongnu.org; Wed, 27 Sep 2006 14:39:03 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GSeJC-0003Y0-4y for qemu-devel@nongnu.org; Wed, 27 Sep 2006 14:39:02 -0400 Received: from [65.74.133.4] (helo=mail.codesourcery.com) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA:32) (Exim 4.52) id 1GSeO6-0007HC-9I for qemu-devel@nongnu.org; Wed, 27 Sep 2006 14:44:06 -0400 From: Paul Brook Subject: Re: [Qemu-devel] qemu & arm eabi (armel) Date: Wed, 27 Sep 2006 19:38:57 +0100 References: <45199B1D.8040206@palmsource.com> <200609271900.45440.paul@codesourcery.com> <451AC2AE.5090902@palmsource.com> In-Reply-To: <451AC2AE.5090902@palmsource.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200609271938.57898.paul@codesourcery.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "K. Richard Pixley" Cc: qemu-devel@nongnu.org On Wednesday 27 September 2006 19:27, K. Richard Pixley wrote: > Paul Brook wrote: > >> Do you know why 2.6.16 would be required? (I'll see if I can't > >> find/build a 2.6.16 system on which to try it today.) > > > > Because arm-linux didn't get EABI support until 2.6.16 (though our > > toolchains may accept 2.6.14). glibc has santity checks stop applications > > even trying to run on kernels that are too old. > > > > As I mentioned qemu lie about the kernel version. See -r > > and --enable-uname-release. > > I'm confused. My host kernel, (hosted on an x86 ubuntu box), is: > > rpixley@svrpixleylnx> uname -r > 2.6.12-10-686-smp > > And my understanding is that there is no kernel when running qemu-user > because qemu is emulating the kernel calls. > > What am I missing? Or where does the kernel version come into play? glibc startup code checks the kernel version. If the reported version is earlier than the version it was compiled for it will terminate. When building glibc you specify a kernel version, and glibc will leave out backwards compatibility code for older kernels. The runtime check is a sanity check. It's generally better for the application to die immediately than fail subtly later on. Of course when using qemu the syscalls thatqemu emulates tend to be more important than the host kernel version. By default qemu will report the same version as the host kernel. However you can tell it to report a different version. Paul