On Tue, 2011-02-15 at 15:12 +0100, Andreas Oberritter wrote: > On 02/15/2011 11:41 AM, Steffen Sledz wrote: > > "Kernel headers are backwards compatible, but not forwards compatible. This > > means that a program built against a C library using older kernel headers > > should run on a newer kernel (although it may not have access to new > > features), but a program built against newer kernel headers may not work on > > an > > older kernel."[2] > > Isn't this what the variable OLDEST_KERNEL is good for, when compiling > glibc?
Not quite, no. OLDEST_KERNEL is used to configure glibc's internal kernel compatibility code and doesn't have much to do with the headers. Under normal circumstances, glibc will include a bunch of compatibility functions which allow the same binary to work (up to a point) on a range of kernel versions. For example, sys_pselect6 was added, on arm at least, in 2.6.32, and if glibc finds itself running on an older kernel it will fall back to using sys_select instead. However, if you configure with --enable-kernel=2.6.32 then you are promising to glibc that it will never be used on an older kernel and this compatibility logic can be omitted: you will now just get a "kernel too old" error if you try to boot on 2.6.31 or lower. p. _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
