2001-12-28 02:32:26

by Keith Owens

[permalink] [raw]
Subject: Announce: Kernel Build for 2.5, Release 1.12 is available

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Content-Type: text/plain; charset=us-ascii

Release 1.12 of kernel build for kernel 2.5 (kbuild 2.5) is available.
http://sourceforge.net/projects/kbuild/, Package kbuild-2.5, download
release 1.12.

This is ready to go to Linus for inclusion in 2.5.[12]. There is one
item on the todo list but it is not a show stopper, the code works as
is.

kbuild 2.5 currently supports i386, ia64, sparc32, sparc64, alpha and
ppc (incomplete). All are supported on 2.4.16 and 2.4.17, i386 is
supported on 2.5.1.

This announcement is for the base kbuild 2.5 code, i386 against 2.4.16.
Patches for other architectures and kernels will be out later today, it
takes time to generate and test patches for 6 architectures against 3
different kernel trees. The sooner Linus takes the base patch, the
sooner I will be able to rewrite the core code to speed it up, instead
of spending all my time tracking multiple trees.

http://marc.theaimsgroup.com/?l=linux-kernel&m=99725412902968&w=2
contains information about the base release of kbuild 2.5.

Changelog:

CML2 changes to handle install formats.

Add KBUILD_INCLUDE_PATHS for patches that have their own separate
include tree, including asm-$(ARCH). selinux does this, I am not
100% convinced that it is a sensible thing to do but I will support
it for now.

Add KBUILD_BASENAME, used when replacing .text.lock with .subsection.

Documentation corrections by Ghozlane Toumi.

Move include of arch/$(ARCH)/Makefile.defs.config from global
makefile to top level. Needed for PPC. Have a barf bag ready when
you read the code in scripts/Makefile-2.5.

Support include of asm files for other architectures (APUS does this).

Do not regenerate files on make clean/mrproper.

Correct bug in $(dir)/$(notdir) with unexpanded variables.

Handle empty $(arch_head).

Improve propagation of y/m onto sub-objects.

As always, Documentation/kbuild/kbuild-2.5.txt is your friend.

TODO:

Rewrite core code to improve performance. Not until the existing
code is in the kernel.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: Exmh version 2.1.1 10/15/1999

iD8DBQE8K9mNi4UHNye0ZOoRAjG3AKCU9dCejUPFUj0rI4qy+CgN4VA0rQCdHPIc
zUqFaLZ5sZQ0F8Oytn+90zk=
=Jskx
-----END PGP SIGNATURE-----


2001-12-29 08:28:24

by Keith Owens

[permalink] [raw]
Subject: Re: Announce: Kernel Build for 2.5, Release 1.12 is available

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Content-Type: text/plain; charset=us-ascii

On Fri, 28 Dec 2001 13:31:42 +1100,
Keith Owens <[email protected]> wrote:
>This announcement is for the base kbuild 2.5 code, i386 against 2.4.16.
>Patches for other architectures and kernels will be out later today, it
>takes time to generate and test patches for 6 architectures against 3
>different kernel trees.

All architecture and tree specific patches for kbuild 2.5 are now
available, if you don't see your arch then nobody has sent me a patch
yet.

kbuild-2.5-2.4.16-3 Base code and i386. Use this patch for
2.5.0 as well.
kbuild-2.5-2.4.17-1 From 2.4.16 to 2.4.17.
kbuild-2.5-2.4.18-pre1-1 From 2.4.17 to 2.4.18-pre1.
kbuild-2.5-2.5.1-1 From 2.4.16 (2.5.0) to 2.5.1.
kbuild-2.5-2.5.2-pre3-1 From 2.5.1 to 2.5.2-pre3.

kbuild-2.5-2.4.16-alpha-1 Add on for alpha by Ghozlane Toumi.
kbuild-2.5-2.4.16-ppc-1 Add on for ppc by Tom Rini.
kbuild-2.5-2.4.17-ia64-011226-1 Add on for ia64-011226, only for 2.4.17.
kbuild-2.5-2.4.16-sparc32-2 Add on for sparc32, Ben Collins, Keith Owens.
kbuild-2.5-2.4.16-sparc64-2 Add on for sparc64, Ben Collins, Keith Owens.

Everybody needs kbuild-2.5-2.4.16-3. Fetch the other patches if you
want other kernels or architectures.

Alpha and PPC do not have CML2 support yet, everything else has CML2
support. PPC does not have bzImage support yet.

- ---
One script to rule them all, One script to find them,
One script to bring them all and in the darkness build them.
In the land of Linux, using shadow trees.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: Exmh version 2.1.1 10/15/1999

iD8DBQE8LX6Di4UHNye0ZOoRAk8gAKC8dGevkBebzYSgM1abvTEh3HyxIACgttJH
a1gwFid6KpDBTH7kGmZ1kf0=
=OCPO
-----END PGP SIGNATURE-----

2001-12-29 22:27:25

by Tom Rini

[permalink] [raw]
Subject: Re: [kbuild-devel] Re: Announce: Kernel Build for 2.5, Release 1.12 is available

On Sat, Dec 29, 2001 at 07:27:51PM +1100, Keith Owens wrote:
> Content-Type: text/plain; charset=us-ascii
>
> On Fri, 28 Dec 2001 13:31:42 +1100,
> Keith Owens <[email protected]> wrote:
> >This announcement is for the base kbuild 2.5 code, i386 against 2.4.16.
> >Patches for other architectures and kernels will be out later today, it
> >takes time to generate and test patches for 6 architectures against 3
> >different kernel trees.
>
> All architecture and tree specific patches for kbuild 2.5 are now
> available, if you don't see your arch then nobody has sent me a patch
> yet.
[snip]
> kbuild-2.5-2.4.16-ppc-1 Add on for ppc by Tom Rini.

This seems to have been generated (or applied originally) w/ the wrong
-p level (I suspect 'cuz of the wierd way I created the diff tho), since
this creates ./ppc/.., instead of ./arch/ppc/...

--
Tom Rini (TR1265)
http://gate.crashing.org/~trini/

2001-12-30 00:21:41

by Tom Rini

[permalink] [raw]
Subject: Re: [kbuild-devel] Re: Announce: Kernel Build for 2.5, Release 1.12 is available

On Sat, Dec 29, 2001 at 03:27:06PM -0700, Tom Rini wrote:
> On Sat, Dec 29, 2001 at 07:27:51PM +1100, Keith Owens wrote:
> > Content-Type: text/plain; charset=us-ascii
> >
> > On Fri, 28 Dec 2001 13:31:42 +1100,
> > Keith Owens <[email protected]> wrote:
> > >This announcement is for the base kbuild 2.5 code, i386 against 2.4.16.
> > >Patches for other architectures and kernels will be out later today, it
> > >takes time to generate and test patches for 6 architectures against 3
> > >different kernel trees.
> >
> > All architecture and tree specific patches for kbuild 2.5 are now
> > available, if you don't see your arch then nobody has sent me a patch
> > yet.
> [snip]
> > kbuild-2.5-2.4.16-ppc-1 Add on for ppc by Tom Rini.
>
> This seems to have been generated (or applied originally) w/ the wrong
> -p level (I suspect 'cuz of the wierd way I created the diff tho), since
> this creates ./ppc/.., instead of ./arch/ppc/...

And now more importantly, here's a patch to gets everything right. This
is vs 2.4.16 + kbuild-2.5-2.4.16-3 + kbuild-2.5-2.4.16-ppc-1 (after
making it apply correctly). I'll be sending along a 2.4.18-pre1 patch
later on (but vs a different base tree for now). This fixes 3 things:
1) Add -Wa,-m405 to CONFIG_4xx AFLAGS
2) Either include <asm-offsets.h> or "ppc_defs.h".
3) Only have <asm-ppc/processor.h> include <asm/ptrace.h> if we're
!__ASSEMBLY__, since we were getting a warning. I mean to spend a bit
more time poking around and seeing what/when we should/shouldn't be
defining STACK_FRAME_OVERHEAD, but for now this should do it.

--
Tom Rini (TR1265)
http://gate.crashing.org/~trini/

===== arch/ppc/Makefile.defs.config 1.1 vs edited =====
--- 1.1/arch/ppc/Makefile.defs.config Sat Dec 29 00:47:34 2001
+++ edited/arch/ppc/Makefile.defs.config Sat Dec 29 16:36:17 2001
@@ -16,15 +16,16 @@
# We can have any number of 'head.o' files, depending on CPU.
# So we go ahead and set a default one and then modify it (and
# CFLAGS) based on what processor we're on.
arch_head = arch/ppc/kernel/head.o

ifneq ($(subst n,,$(CONFIG_4xx)),)
CFLAGS += -Wa,-m405
+ AFLAGS += -Wa,-m405
arch_head := arch/ppc/kernel/head_4xx.o
endif

ifneq ($(subst n,,$(CONFIG_8xx)),)
arch_head := arch/ppc/kernel/head_8xx.o
endif

ifneq ($(subst n,,$(CONFIG_PPC64BRIDGE)),)
===== arch/ppc/kernel/ppc_asm.h 1.19 vs edited =====
--- 1.19/arch/ppc/kernel/ppc_asm.h Sun Nov 4 04:58:20 2001
+++ edited/arch/ppc/kernel/ppc_asm.h Sat Dec 29 16:36:47 2001
@@ -17,7 +17,11 @@
#include <linux/config.h>

#include "ppc_asm.tmpl"
+#ifdef CONFIG_KBUILD_2_5
+#include <asm-offsets.h>
+#else
#include "ppc_defs.h"
+#endif

/*
* Macros for storing registers into and loading registers from
===== include/asm-ppc/processor.h 1.32 vs edited =====
--- 1.32/include/asm-ppc/processor.h Sun Oct 7 17:32:53 2001
+++ edited/include/asm-ppc/processor.h Sat Dec 29 16:50:31 2001
@@ -13,7 +13,6 @@

#include <linux/config.h>

-#include <asm/ptrace.h>
#include <asm/types.h>
#include <asm/mpc8xx.h>

@@ -536,6 +535,8 @@
#define SR15 15

#ifndef __ASSEMBLY__
+/* Avoid a warning when we're included with <asm-offsets.h> */
+#include <asm/ptrace.h>
#if defined(CONFIG_ALL_PPC)
extern int _machine;

2001-12-30 02:39:20

by Tom Rini

[permalink] [raw]
Subject: Re: [kbuild-devel] Re: Announce: Kernel Build for 2.5, Release 1.12 is available

On Sat, Dec 29, 2001 at 07:27:51PM +1100, Keith Owens wrote:
> Content-Type: text/plain; charset=us-ascii
>
> On Fri, 28 Dec 2001 13:31:42 +1100,
> Keith Owens <[email protected]> wrote:
> >This announcement is for the base kbuild 2.5 code, i386 against 2.4.16.
> >Patches for other architectures and kernels will be out later today, it
> >takes time to generate and test patches for 6 architectures against 3
> >different kernel trees.
>
> All architecture and tree specific patches for kbuild 2.5 are now
> available, if you don't see your arch then nobody has sent me a patch
> yet.
>
> kbuild-2.5-2.4.16-3 Base code and i386. Use this patch for
> 2.5.0 as well.
> kbuild-2.5-2.4.17-1 From 2.4.16 to 2.4.17.
> kbuild-2.5-2.4.18-pre1-1 From 2.4.17 to 2.4.18-pre1.

Okay, here's the patch for PPC for 2.4.18-pre1. I didn't try, but I
suspect that 2.4.17 will work w/o any additional patches. This patch
relies on 2.4.16-3, 2.4.16-ppc-1, the patch I sent out prior for 2.4.16,
2.4.17-1 and 2.4.18-pre1-1.

--
Tom Rini (TR1265)
http://gate.crashing.org/~trini/

===== arch/ppc/kernel/Makefile.in 1.1 vs edited =====
--- 1.1/arch/ppc/kernel/Makefile.in Sat Dec 29 00:47:34 2001
+++ edited/arch/ppc/kernel/Makefile.in Sat Dec 29 17:52:00 2001
@@ -19,10 +19,9 @@
select(CONFIG_WALNUT walnut_setup.o)
select(CONFIG_WALNUT CONFIG_PCI galaxy_pci.o)
select(CONFIG_6xx l2cr.o)
-select(CONFIG_ALL_PPC pmac_pic.o pmac_setup.o pmac_time.o prom.o feature.o
- pmac_pci.o chrp_setup.o chrp_time.o chrp_pci.o open_pic.o
- indirect_pci.o i8259.o prep_pci.o prep_time.o prep_nvram.o
- prep_setup.o)
+select(CONFIG_ALL_PPC pmac_pic.o pmac_setup.o pmac_time.o prom.o pmac_feature.o
+ pmac_pci.o chrp_setup.o chrp_time.o chrp_pci.o open_pic.o i8259.o
+ indirect_pci.o prep_pci.o prep_time.o prep_nvram.o prep_setup.o)
select(CONFIG_ALL_PPC CONFIG_SMP pmac_smp.o chrp_smp.o)
select(CONFIG_BOOTX_TEXT btext.o)
select(CONFIG_NVRAM pmac_nvram.o)

2001-12-30 11:02:07

by Keith Owens

[permalink] [raw]
Subject: Re: Announce: Kernel Build for 2.5, Release 1.12 is available

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Content-Type: text/plain; charset=us-ascii

On Fri, 28 Dec 2001 13:31:42 +1100,
Keith Owens <[email protected]> wrote:
>This announcement is for the base kbuild 2.5 code, i386 against 2.4.16.
>Patches for other architectures and kernels will be out later today, it
>takes time to generate and test patches for 6 architectures against 3
>different kernel trees.

http://sourceforge.net/project/showfiles.php?group_id=18813
Release 1.12.

Updated ppc patches from Tom Rini. kbuild-2.5-2.4.16-ppc-1 had
incorrect filenames in the patch, it has been replaced with -2.

If you don't see your arch then nobody has sent me a patch yet.

kbuild-2.5-2.4.16-3 Base code and i386. Use this patch for
2.5.0 as well.
kbuild-2.5-2.4.17-1 From 2.4.16 to 2.4.17.
kbuild-2.5-2.4.18-pre1-1 From 2.4.17 to 2.4.18-pre1.
kbuild-2.5-2.5.1-1 From 2.4.16 (2.5.0) to 2.5.1.
kbuild-2.5-2.5.2-pre3-1 From 2.5.1 to 2.5.2-pre3.

kbuild-2.5-2.4.16-alpha-1 Add on for alpha by Ghozlane Toumi.
kbuild-2.5-2.4.16-ppc-2 Add on for ppc by Tom Rini.
kbuild-2.5-2.4.18-pre1-ppc-1 ppc changes from 2.4.16 to 2.4.18-pre1.
kbuild-2.5-2.4.17-ia64-011226-1 Add on for ia64-011226, only for 2.4.17.
kbuild-2.5-2.4.16-sparc32-2 Add on for sparc32, Ben Collins, Keith Owens.
kbuild-2.5-2.4.16-sparc64-2 Add on for sparc64, Ben Collins, Keith Owens.

Everybody needs kbuild-2.5-2.4.16-3. Fetch the other patches if you
want other kernels or architectures.

Alpha and PPC do not have CML2 support yet, everything else has CML2
support. PPC does not have bzImage support yet.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: Exmh version 2.1.1 10/15/1999

iD8DBQE8LvQKi4UHNye0ZOoRAlkfAJ9WwZhB4GVa1eK8K/PlGigI/70kMQCfeutO
/fhOuSmgb/fDriFxGEdEU1Q=
=v0S8
-----END PGP SIGNATURE-----

2001-12-31 05:55:20

by Albert Cranford

[permalink] [raw]
Subject: Re: Announce: Kernel Build for 2.5, Release 1.12 is available

Keith Owens wrote:
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Content-Type: text/plain; charset=us-ascii
>
> On Fri, 28 Dec 2001 13:31:42 +1100,
> Keith Owens <[email protected]> wrote:
> >This announcement is for the base kbuild 2.5 code, i386 against 2.4.16.

>
> http://sourceforge.net/project/showfiles.php?group_id=18813
> Release 1.12.
>

Is it just me or did 1.12 break i386 in 2.4.18-pre1?
I applied linux-2.4.18-pre1 then:
kbuild-2.5-2.4.16-3
kbuild-2.5-2.4.17-1
kbuild-2.5-2.4.18-pre1-1
cp /tmp/saved.config /usr/src/linux/.config

I noticed there is no link include/asm to include/asm-i386

Here is my output:
home1:~/linux# ll .config*
28 -rw-r--r-- 1 root root 25907 Dec 31 00:04 .config
home1:~/linux# make -f Makefile-2.5 oldconfig
In file included from /usr/include/bits/errno.h:25,
from /usr/include/errno.h:36,
from /usr/src/linux/scripts/pp_makefile.h:11,
from /usr/src/linux/scripts/pp_filetree.c:11:
/usr/include/linux/errno.h:4: asm/errno.h: No such file or directory
make: *** [/usr/src/linux/scripts/pp_filetree.o] Error 1
home1:~/linux# cat .tmp_KERNELRELEASE
KERNELRELEASE=2.4.18pre1

Work around is to perform "make oldconfig" then
copy saved.config to /usr/src/linux. Now
make -f Makefile-2.5 oldconfig works as well as everything
else.

Any thoughts?
Later,
Albert
--
Albert Cranford Deerfield Beach FL USA
[email protected]

2001-12-31 07:05:39

by Keith Owens

[permalink] [raw]
Subject: Re: Announce: Kernel Build for 2.5, Release 1.12 is available

On Mon, 31 Dec 2001 00:54:48 -0500,
Albert Cranford <[email protected]> wrote:
>Is it just me or did 1.12 break i386 in 2.4.18-pre1?
>I applied linux-2.4.18-pre1 then:
>kbuild-2.5-2.4.16-3
>kbuild-2.5-2.4.17-1
>kbuild-2.5-2.4.18-pre1-1
>cp /tmp/saved.config /usr/src/linux/.config
>
>I noticed there is no link include/asm to include/asm-i386
>
>Here is my output:
>home1:~/linux# ll .config*
> 28 -rw-r--r-- 1 root root 25907 Dec 31 00:04 .config
>home1:~/linux# make -f Makefile-2.5 oldconfig
>In file included from /usr/include/bits/errno.h:25,
> from /usr/include/errno.h:36,
> from /usr/src/linux/scripts/pp_makefile.h:11,
> from /usr/src/linux/scripts/pp_filetree.c:11:
>/usr/include/linux/errno.h:4: asm/errno.h: No such file or directory

You have a broken glibc, /usr/include/linux is a symlink to
/usr/src/linux. Linus has said repeatedly that glibc must not do that,
it gives different results for userspace code depending on which
version of the kernel source you are working on. The fact that kbuild
2.5 highlights the broken versions of glibc is a bonus.

Newer versions of glibc have local copies of /usr/include/linux which
never change, instead of using a symlink to a random kernel source and
blindly hoping that /usr/src/linux contains something useful. If you
cannot upgrade glibc, find the version of the kernel that glibc was
compiled against, probably the first kernel your distribution shipped
with. Install the headers from that kernel as /usr/src/linux to keep
glibc happy. NEVER change /usr/src/linux again, build your kernels
under a different directory.