On Fri, May 20, 2011 at 12:46 PM, David Boyce <invalid.nore...@gnu.org> wrote:
> My company makes drivers. The corollary is that we keep dozens if not hundreds
> of entire Linux kernel source build trees going back 10 years or so in order
> to build drivers for them. The way Linux kernel drivers are built makes it
> necessary to use the kernel build system. Thus it's not sufficient for us to
> fix our own makefiles, or even that Linux kernels which came out in the last
> year are fixed themselves. As things stand, we'll be unable to upgrade from
> GNU make 3.81 until all pre-2010 kernels have drained out of our support
> matrix, which could easily be another 10 years. Of course we also have the
> option of going back and "fixing" the makefiles for each old kernel, but once
> you've changed 2.6.18-128.7.1 then it's no longer 2.6.18-128.7.1.

Since gcc has changed many time across those years in ways that have
affected the Linux kernel build (the move to
__attribute__((always_inline)) comes to mind), don't you already have
to track a build environment for each kernel version?  I haven't
tried, but I believe that the current version of gcc will *not* build
a 10 year old kernel, or at least not a _working_ one.  For that you
need a 10 year old gcc, or at least something much closer to it in
time.  Well, the same applies to GNU make and may apply to other build
tools (binutils/as/ld?).  Whatever system you use for tracking gcc
releases should be applied to all the tools in the kernel build
environment.


Philip Guenther

_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to