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: > > [EMAIL PROTECTED]> 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 _______________________________________________ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel