2004-09-04 20:39:53

by Joseph Fannin

[permalink] [raw]
Subject: Re: 2.6.9-rc1-mm1 ppc build broken

hOn Tue, Aug 31, 2004 at 12:51:18PM +0200, Albert Herranz wrote:

[[ CC'ing BenH since lists.linuxppc.org doesn't seem to resolve ]]

[ 2.6.9-rc1-mm1 ]

> > This is creating a circularity on ppc that others
> > don't have apparently.
> >
> > > CC arch/ppc/kernel/asm-offsets.s
> > > In file included from include/linux/mm.h:4,
> >
> > > from include/asm/io.h:7,
> > > from include/linux/timex.h:61,
> >
> > This #include link here is the issue. Vanilla
> > linux/timex.h does not have
> > the #include <asm/io.h>. On other machines,
> > <asm/io.h> does not include
> > <linux/mm.h>, so you don't get into the problem with
> > sched.h.
>
> Thanks.
>
> The #include <asm/io.h> comes from bk-ia64.patch time
> interpolation logic patch from Cristoph Lameter.
>
> I've checked that at least for the embedded port I'm
> working on the linux/mm.h is *not* a must on ppc
> asm/io.h so we can get rid of it (commented out).
> Maybe this is also true for the rest of ppc platforms.
>
> Now 2.6.9-rc1-mm1 builds fine.

This is still broken in -mm3. This fix works for my powermac too,
except that arch/ppc/syslib/open_pic.c misses errno.h when it does not
get it through mm.h. I can't speak for other platforms, but I'll
include the patch.

In case it matters:

Signed-off-by: Joseph Fannin <[email protected]>

--
Joseph Fannin
[email protected]

"That's all I have to say about that." -- Forrest Gump.

diff -aurN a/arch/ppc/syslib/open_pic.c b/arch/ppc/syslib/open_pic.c
--- a/arch/ppc/syslib/open_pic.c 2004-09-04 15:43:05.035636648 -0400
+++ b/arch/ppc/syslib/open_pic.c 2004-09-04 15:47:14.260748672 -0400
@@ -16,6 +16,7 @@
#include <linux/irq.h>
#include <linux/interrupt.h>
#include <linux/sysdev.h>
+#include <linux/errno.h>
#include <asm/ptrace.h>
#include <asm/signal.h>
#include <asm/io.h>
diff -aurN a/include/asm-ppc/io.h b/include/asm-ppc/io.h
--- a/include/asm-ppc/io.h 2004-08-22 22:48:30.000000000 -0400
+++ b/include/asm-ppc/io.h 2004-09-04 15:45:19.641173496 -0400
@@ -4,7 +4,6 @@

#include <linux/config.h>
#include <linux/types.h>
-#include <linux/mm.h>

#include <asm/page.h>
#include <asm/byteorder.h>


2004-09-05 21:56:12

by Andrew Morton

[permalink] [raw]
Subject: Re: 2.6.9-rc1-mm1 ppc build broken

[email protected] (Joseph Fannin) wrote:
>
> > The #include <asm/io.h> comes from bk-ia64.patch time
> > interpolation logic patch from Cristoph Lameter.
> >
> > I've checked that at least for the embedded port I'm
> > working on the linux/mm.h is *not* a must on ppc
> > asm/io.h so we can get rid of it (commented out).
> > Maybe this is also true for the rest of ppc platforms.
> >
> > Now 2.6.9-rc1-mm1 builds fine.
>
> This is still broken in -mm3. This fix works for my powermac too,
> except that arch/ppc/syslib/open_pic.c misses errno.h when it does not
> get it through mm.h. I can't speak for other platforms, but I'll
> include the patch.

OK, now I have an ordering problem. If I understand you correctly, this
patch fixes a ppc problem which was introduced by a patch from the bk-ia64
tree, yes?

If so, my options are to ask Tony to add this patch to the bk-ia64 tree so
they all go in at the same time, or to merge this patch into Linus's tree
prior to the ia64 patch. To do the latter, I'd need confirmation that your
patch is safe against current -linus. Can you please confirm this?

--- 25/arch/ppc/syslib/open_pic.c~ppc-build-fix 2004-09-05 14:50:54.250084104 -0700
+++ 25-akpm/arch/ppc/syslib/open_pic.c 2004-09-05 14:50:54.266081672 -0700
@@ -16,6 +16,7 @@
#include <linux/irq.h>
#include <linux/interrupt.h>
#include <linux/sysdev.h>
+#include <linux/errno.h>
#include <asm/ptrace.h>
#include <asm/signal.h>
#include <asm/io.h>
diff -puN include/asm-ppc/io.h~ppc-build-fix include/asm-ppc/io.h
--- 25/include/asm-ppc/io.h~ppc-build-fix 2004-09-05 14:50:54.262082280 -0700
+++ 25-akpm/include/asm-ppc/io.h 2004-09-05 14:50:54.276080152 -0700
@@ -4,7 +4,6 @@

#include <linux/config.h>
#include <linux/types.h>
-#include <linux/mm.h>

#include <asm/page.h>
#include <asm/byteorder.h>
_

2004-09-06 01:45:44

by Joseph Fannin

[permalink] [raw]
Subject: Re: 2.6.9-rc1-mm1 ppc build broken

On Sun, Sep 05, 2004 at 02:53:55PM -0700, Andrew Morton wrote:
> [email protected] (Joseph Fannin) wrote:

> > This is still broken in -mm3. This fix works for my powermac too,
> > except that arch/ppc/syslib/open_pic.c misses errno.h when it does not
> > get it through mm.h. I can't speak for other platforms, but I'll
> > include the patch.
>
> OK, now I have an ordering problem. If I understand you correctly, this
> patch fixes a ppc problem which was introduced by a patch from the bk-ia64
> tree, yes?

Yes.

> If so, my options are to ask Tony to add this patch to the bk-ia64 tree so
> they all go in at the same time, or to merge this patch into Linus's tree
> prior to the ia64 patch. To do the latter, I'd need confirmation that your
> patch is safe against current -linus. Can you please confirm this?

-rc1-bk12 with this patch applied builds and runs okay on my
Powermac, so yes. Thanks!

> +++ 25-akpm/arch/ppc/syslib/open_pic.c 2004-09-05 14:50:54.266081672 -0700
> @@ -16,6 +16,7 @@
> #include <linux/irq.h>
> #include <linux/interrupt.h>
> #include <linux/sysdev.h>
> +#include <linux/errno.h>
> #include <asm/ptrace.h>
> #include <asm/signal.h>
> #include <asm/io.h>
> diff -puN include/asm-ppc/io.h~ppc-build-fix include/asm-ppc/io.h
> +++ 25-akpm/include/asm-ppc/io.h 2004-09-05 14:50:54.276080152 -0700
> @@ -4,7 +4,6 @@
>
> #include <linux/config.h>
> #include <linux/types.h>
> -#include <linux/mm.h>
>
> #include <asm/page.h>
> #include <asm/byteorder.h>

--
Joseph Fannin
[email protected]

"Bull in pure form is rare; there is usually some contamination by data."
-- William Graves Perry Jr.

2004-09-06 11:59:48

by Albert Herranz

[permalink] [raw]
Subject: Re: 2.6.9-rc1-mm1 ppc build broken

> > OK, now I have an ordering problem. If I
> understand you correctly, this
> > patch fixes a ppc problem which was introduced by
> a patch from the bk-ia64
> > tree, yes?
>
> Yes.
>

As I understand it, the build problem was triggered
when the waitid-system-call.patch from Roland McGrath
and the bk-ia64.patch time interpolation logic patch
from Cristoph Lameter were applied.

But the cause itself, as Roland pointed, is the fact
that the asm-ppc/io.h includes linux/mm.h, unlike
other platforms (that's why the build problem only
affected ppc).
This seems to be unnecessary. At least, confirmation
for this exists for some embedded ppc ports (me) and
the PowerMac (Joseph).

> > If so, my options are to ask Tony to add this
> patch to the bk-ia64 tree so
> > they all go in at the same time, or to merge this
> patch into Linus's tree
> > prior to the ia64 patch. To do the latter, I'd
> need confirmation that your
> > patch is safe against current -linus. Can you
> please confirm this?
>
> -rc1-bk12 with this patch applied builds and
> runs okay on my
> Powermac, so yes. Thanks!
>

IIRC, the linus tree also includes linux/mm.h in
asm-ppc/io.h since several versions.

Cheers,
Albert




______________________________________________
Renovamos el Correo Yahoo!: ?100 MB GRATIS!
Nuevos servicios, m?s seguridad
http://correo.yahoo.es