[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug #33034] "Makefile:23: *** mixed implicit and normal rules. Stop

From: Philip Guenther
Subject: Re: [bug #33034] "Makefile:23: *** mixed implicit and normal rules. Stop." for Linux kernel out of source builds
Date: Fri, 20 May 2011 16:00:47 -0700

On Fri, May 20, 2011 at 12:46 PM, David Boyce <address@hidden> 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

Philip Guenther

reply via email to

[Prev in Thread] Current Thread [Next in Thread]