* Announce: Kernel Build for 2.5, Release 2.0 is available
@ 2002-04-05 11:26 Keith Owens
2002-04-06 2:03 ` Keith Owens
` (2 more replies)
0 siblings, 3 replies; 20+ messages in thread
From: Keith Owens @ 2002-04-05 11:26 UTC (permalink / raw)
To: kbuild-devel; +Cc: linux-kernel
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Content-Type: text/plain; charset=us-ascii
Oops, hit encrypt instead of sign.
Release 2.0 of kernel build for kernel 2.5 (kbuild 2.5) is available.
http://sourceforge.net/projects/kbuild/, Package kbuild-2.5, download
release 2.0.
... You know what they say about .0 releases ... User beware.
This announcement is for the base kbuild 2.5 code, i386 against 2.4.16.
It uses 2.4.16 because that gives a useful comparison against the
previous release and a decent branch point from kernel 2.4 to 2.5.
Patches for other architectures and kernels will be out in the next few
days, it takes time to generate and test patches for multiple
architectures against different kernel trees.
http://marc.theaimsgroup.com/?l=linux-kernel&m=99725412902968&w=2
contains information about the base release of kbuild 2.5.
Changelog:
New, faster core code, thanks to Larry McVoy for providing the
memory mapped database code.
Patches are now split into core (kernel independent), common
(architecture independent but kernel dependent) and arch
(architecture and kernel dependent) files. The core patch applies
to all kernels, both 2.4 and 2.5. The common and arch files apply
to specific kernels and hardware.
Other than being split into separate patches, kbuild 2.5 for the common
and i386 directories is almost unchanged from release 1.12. Tom
Duffy's patch for drivers/sbus/{audio,char}/Makefile.in has been
included. There are some minor changes where the more rigorous error
checking of this release found errors in kbuild 2.4 Makefiles.
The real change is the complete rewrite of the core code. Instead of
using a text file that is read by every compile step (slow!), kbuild
2.5 uses Larry McVoy's memory mapped database from BitKeeper (mdbm is
both GPL and BKL).
<strong><gloat>
Full 2.4.16 .config, everything that compiles built in. 4 x Pentium
III (Cascades) @700MHz, 5600 Bogomips, 1Gb RAM, SCSI, 2.4.17-xfs.
kbuild 2.4:
make oldconfig 0:07
make dep 0:37 (make -j dep is unsafe on some architectures)
make -j8 bzImage modules 14:16
Total 15:00
make -j8 bzImage modules 2:10 (second run, no changes, spurious rebuilds)
kbuild 2.5:
make -j8 oldconfig installable 8:51 (no make dep needed :)
make -j8 oldconfig installable :14 (second run, no changes)
</gloat></strong>
More accurate kernel build, easier to write and understand Makefiles,
30% faster than kbuild 2.4. Now the nay-sayers will have to find
something else to complain about!
I have not tried this release of kbuild 2.5 with a recent version of
CML2. It used to work on CML2 1.9.15, but probably needs some work for
the latest CML2. Note that kbuild 2.5 and CML2 are independent, each
can function without the other, complaints about CML2 have nothing to
do with kbuild 2.5.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: Exmh version 2.1.1 10/15/1999
iD8DBQE8rYnPi4UHNye0ZOoRArydAJ0SJk5jLqarn1pXtmX0JTsrPJKQSgCfYBLW
dD/osGKC7/q3SSlIxVXUEQA=
=gZmM
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Announce: Kernel Build for 2.5, Release 2.0 is available
2002-04-05 11:26 Announce: Kernel Build for 2.5, Release 2.0 is available Keith Owens
@ 2002-04-06 2:03 ` Keith Owens
2002-04-06 16:35 ` Russell King
2002-04-06 18:17 ` Larry McVoy
2002-04-07 14:18 ` Roman Zippel
2002-04-08 12:04 ` Keith Owens
2 siblings, 2 replies; 20+ messages in thread
From: Keith Owens @ 2002-04-06 2:03 UTC (permalink / raw)
To: kbuild-devel; +Cc: linux-kernel
On Fri, 05 Apr 2002 21:26:08 +1000,
Keith Owens <kaos@ocs3.intra.ocs.com.au> wrote:
>kbuild 2.4:
> make oldconfig 0:07
> make dep 0:37 (make -j dep is unsafe on some architectures)
> make -j8 bzImage modules 14:16
> Total 15:00
> make -j8 bzImage modules 2:10 (second run, no changes, spurious rebuilds)
>
>kbuild 2.5:
> make -j8 oldconfig installable 8:51 (no make dep needed :)
> make -j8 oldconfig installable :14 (second run, no changes)
Just to avoid any confusion. kbuild 2.4 is the existing kernel build
system, as used in Marcelo's and Linus's kernels. kbuild 2.5 is the
complete rewrite of the kernel build system. Although it says 2.5,
kbuild 2.5 will run on 2.4 kernels, it was developed on 2.4.
The timings above were for exactly the same .config on the same build
machine, building a 2.4.16 kernel, using the existing and new kernel
build system. Compared to the existing build system, kbuild 2.5 is
much more robust (I found several bugs in the 2.4 rules while
developing kbuild 2.5), provides more facilities, has debugging
information, is more accurate (2.5 tracks everything, 2.4 only managed
about 80% tracking accuracy) and still manages to run 30% faster than
the existing build system.
Although kbuild 2.5 will run on 2.4 kernels, I have no plans to send
all of kbuild 2.5 to Marcelo. Changing the kernel build on a stable
kernel is a bad idea. I will be sending some kbuild 2.4 bug fixes to
Marcelo but not the rest of kbuild 2.5. I am now working on kbuild 2.5
patches for 2.4.18, 2.4.19-pre6, 2.5.7 and 2.5.8-pre1 as well as for
other architectures, see http://sourceforge.net/projects/kbuild for
updates.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Announce: Kernel Build for 2.5, Release 2.0 is available
2002-04-06 2:03 ` Keith Owens
@ 2002-04-06 16:35 ` Russell King
2002-04-06 23:12 ` Keith Owens
2002-04-06 18:17 ` Larry McVoy
1 sibling, 1 reply; 20+ messages in thread
From: Russell King @ 2002-04-06 16:35 UTC (permalink / raw)
To: Keith Owens; +Cc: kbuild-devel, linux-kernel
On Sat, Apr 06, 2002 at 12:03:15PM +1000, Keith Owens wrote:
> The timings above were for exactly the same .config on the same build
> machine,
Can you provide details of this machine?
--
Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Announce: Kernel Build for 2.5, Release 2.0 is available
2002-04-06 2:03 ` Keith Owens
2002-04-06 16:35 ` Russell King
@ 2002-04-06 18:17 ` Larry McVoy
1 sibling, 0 replies; 20+ messages in thread
From: Larry McVoy @ 2002-04-06 18:17 UTC (permalink / raw)
To: Keith Owens; +Cc: kbuild-devel, linux-kernel
On Sat, Apr 06, 2002 at 12:03:15PM +1000, Keith Owens wrote:
> Just to avoid any confusion. kbuild 2.4 is the existing kernel build
> system, as used in Marcelo's and Linus's kernels. kbuild 2.5 is the
> complete rewrite of the kernel build system.
So that means that you have a system which does more, is more accurate,
and is faster than the system we currently use. Right? Rock on.
Has anyone integrated the kbuild stuff into a BK tree, so I could pull
from it and play with it? If not, I might have a go at it and make
a bk://kbuild.bkbits.net project.
--
---
Larry McVoy lm at bitmover.com http://www.bitmover.com/lm
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Announce: Kernel Build for 2.5, Release 2.0 is available
2002-04-06 16:35 ` Russell King
@ 2002-04-06 23:12 ` Keith Owens
0 siblings, 0 replies; 20+ messages in thread
From: Keith Owens @ 2002-04-06 23:12 UTC (permalink / raw)
To: Russell King; +Cc: kbuild-devel, linux-kernel
On Sat, 6 Apr 2002 17:35:39 +0100,
Russell King <rmk@arm.linux.org.uk> wrote:
>On Sat, Apr 06, 2002 at 12:03:15PM +1000, Keith Owens wrote:
>> The timings above were for exactly the same .config on the same build
>> machine,
>
>Can you provide details of this machine?
It was in the original message.
http://marc.theaimsgroup.com/?l=linux-kernel&m=101800612931031&w=2
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Announce: Kernel Build for 2.5, Release 2.0 is available
2002-04-05 11:26 Announce: Kernel Build for 2.5, Release 2.0 is available Keith Owens
2002-04-06 2:03 ` Keith Owens
@ 2002-04-07 14:18 ` Roman Zippel
2002-04-07 14:28 ` Keith Owens
2002-04-08 8:50 ` Keith Owens
2002-04-08 12:04 ` Keith Owens
2 siblings, 2 replies; 20+ messages in thread
From: Roman Zippel @ 2002-04-07 14:18 UTC (permalink / raw)
To: Keith Owens; +Cc: kbuild-devel, linux-kernel
Hi,
Keith Owens wrote:
> kbuild 2.5:
> make -j8 oldconfig installable 8:51 (no make dep needed :)
> make -j8 oldconfig installable :14 (second run, no changes)
These 14 seconds (or 37 seconds on my machine) are always needed
whatever I try, e.g. "make foo/bar.o" also needs that time.
Some other problems:
"make foo/bar.[si]" doesn't work anymore.
"touch include/linux/mm.h" doesn't cause a recompile of any object.
bye, Roman
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Announce: Kernel Build for 2.5, Release 2.0 is available
2002-04-07 14:18 ` Roman Zippel
@ 2002-04-07 14:28 ` Keith Owens
2002-04-07 14:51 ` Roman Zippel
2002-04-08 8:50 ` Keith Owens
1 sibling, 1 reply; 20+ messages in thread
From: Keith Owens @ 2002-04-07 14:28 UTC (permalink / raw)
To: Roman Zippel; +Cc: kbuild-devel, linux-kernel
On Sun, 07 Apr 2002 16:18:12 +0200,
Roman Zippel <zippel@linux-m68k.org> wrote:
>Keith Owens wrote:
>
>> kbuild 2.5:
>> make -j8 oldconfig installable 8:51 (no make dep needed :)
>> make -j8 oldconfig installable :14 (second run, no changes)
>
>These 14 seconds (or 37 seconds on my machine) are always needed
>whatever I try, e.g. "make foo/bar.o" also needs that time.
make NO_MAKEFILE_GEN=1 foo/bar.o. Very low overhead for quick and
dirty testing of changes, but if you want an accurate kernel build, you
have to take the overhead. kbuild 2.4 overhead for a full build when
only minor changes have been made is even worse.
>Some other problems:
>"make foo/bar.[si]" doesn't work anymore.
Hmm, that was working, I will investigate.
>"touch include/linux/mm.h" doesn't cause a recompile of any object.
I have found some cases where the timestamps are not tracked correctly
so changes to dependencies are not always detected. Fixed in
build-2.5-core-2, out tomorrow.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Announce: Kernel Build for 2.5, Release 2.0 is available
2002-04-07 14:28 ` Keith Owens
@ 2002-04-07 14:51 ` Roman Zippel
2002-04-07 14:53 ` Keith Owens
0 siblings, 1 reply; 20+ messages in thread
From: Roman Zippel @ 2002-04-07 14:51 UTC (permalink / raw)
To: Keith Owens; +Cc: kbuild-devel, linux-kernel
Hi,
Keith Owens wrote:
> >These 14 seconds (or 37 seconds on my machine) are always needed
> >whatever I try, e.g. "make foo/bar.o" also needs that time.
>
> make NO_MAKEFILE_GEN=1 foo/bar.o. Very low overhead for quick and
> dirty testing of changes, but if you want an accurate kernel build, you
> have to take the overhead. kbuild 2.4 overhead for a full build when
> only minor changes have been made is even worse.
I don't want a kernel build, I just want a single object file to be
rebuilt?!
I can understand that it takes longer, when I change a Makefile or the
config, but why has the Makefile to be rebuilt, when only a source file
changed?
bye, Roman
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Announce: Kernel Build for 2.5, Release 2.0 is available
2002-04-07 14:51 ` Roman Zippel
@ 2002-04-07 14:53 ` Keith Owens
2002-04-07 15:38 ` Roman Zippel
2002-04-07 23:35 ` [kbuild-devel] " Brendan J Simon
0 siblings, 2 replies; 20+ messages in thread
From: Keith Owens @ 2002-04-07 14:53 UTC (permalink / raw)
To: Roman Zippel; +Cc: kbuild-devel, linux-kernel
On Sun, 07 Apr 2002 16:51:36 +0200,
Roman Zippel <zippel@linux-m68k.org> wrote:
>Keith Owens wrote:
>> make NO_MAKEFILE_GEN=1 foo/bar.o. Very low overhead for quick and
>> dirty testing of changes, but if you want an accurate kernel build, you
>> have to take the overhead. kbuild 2.4 overhead for a full build when
>> only minor changes have been made is even worse.
>
>I don't want a kernel build, I just want a single object file to be
>rebuilt?!
>I can understand that it takes longer, when I change a Makefile or the
>config, but why has the Makefile to be rebuilt, when only a source file
>changed?
It takes time to do all the analysis to work out what has changed and
what has been affected. You might know that you only changed one file
but kernel build and make don't know that until they have checked
everything. Changing one file or specifying a command override might
affect one file or it might affect the entire kernel.
If you know that you have only changed one source file and you have not
altered the Makefiles or the dependency chain in any way, then it
_might_ be safe to just rebuild that one file, use NO_MAKEFILE_GEN=1.
Otherwise let kbuild work out what has been affected.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Announce: Kernel Build for 2.5, Release 2.0 is available
2002-04-07 14:53 ` Keith Owens
@ 2002-04-07 15:38 ` Roman Zippel
2002-04-07 23:35 ` [kbuild-devel] " Brendan J Simon
1 sibling, 0 replies; 20+ messages in thread
From: Roman Zippel @ 2002-04-07 15:38 UTC (permalink / raw)
To: Keith Owens; +Cc: kbuild-devel, linux-kernel
Hi,
Keith Owens wrote:
> It takes time to do all the analysis to work out what has changed and
> what has been affected. You might know that you only changed one file
> but kernel build and make don't know that until they have checked
> everything. Changing one file or specifying a command override might
> affect one file or it might affect the entire kernel.
Doing that analysis once is fine. After that it should know what it has
to check if I only want foo/bar.o recompiled and that shouldn't take
that long.
> Otherwise let kbuild work out what has been affected.
That's the problem with kernel hackers, they want to know what's going
on. :)
bye, Roman
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [kbuild-devel] Re: Announce: Kernel Build for 2.5, Release 2.0 is available
2002-04-07 14:53 ` Keith Owens
2002-04-07 15:38 ` Roman Zippel
@ 2002-04-07 23:35 ` Brendan J Simon
1 sibling, 0 replies; 20+ messages in thread
From: Brendan J Simon @ 2002-04-07 23:35 UTC (permalink / raw)
To: kbuild-devel; +Cc: linux-kernel
Keith Owens wrote:
>It takes time to do all the analysis to work out what has changed and
>what has been affected. You might know that you only changed one file
>but kernel build and make don't know that until they have checked
>everything. Changing one file or specifying a command override might
>affect one file or it might affect the entire kernel.
>
>If you know that you have only changed one source file and you have not
>altered the Makefiles or the dependency chain in any way, then it
>_might_ be safe to just rebuild that one file, use NO_MAKEFILE_GEN=1.
>Otherwise let kbuild work out what has been affected.
>
Humans/Hackers are really really REALLY good at making assumptions and
using assumptions that are outdated, thus leading to mistakes.
Some/many hackers like to live in there own little world and not worry
about the effect they might have on other developers. Using a
dependency maintenance tool (such as Make, Cook, ...) to automate the
build is the _ONLY_ safe way to be sure the build is correct. This
assumes that the build system itself is 100% correct :)
Regards,
Brendan Simon.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Announce: Kernel Build for 2.5, Release 2.0 is available
2002-04-07 14:18 ` Roman Zippel
2002-04-07 14:28 ` Keith Owens
@ 2002-04-08 8:50 ` Keith Owens
2002-04-08 9:06 ` Roman Zippel
1 sibling, 1 reply; 20+ messages in thread
From: Keith Owens @ 2002-04-08 8:50 UTC (permalink / raw)
To: Roman Zippel; +Cc: kbuild-devel, linux-kernel
On Sun, 07 Apr 2002 16:18:12 +0200,
Roman Zippel <zippel@linux-m68k.org> wrote:
>"touch include/linux/mm.h" doesn't cause a recompile of any object.
I have found a bug that is probably causing your problem. Can you
confirm that you are using a common source and object directory, i.e.
no separate object tree?
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Announce: Kernel Build for 2.5, Release 2.0 is available
2002-04-08 8:50 ` Keith Owens
@ 2002-04-08 9:06 ` Roman Zippel
0 siblings, 0 replies; 20+ messages in thread
From: Roman Zippel @ 2002-04-08 9:06 UTC (permalink / raw)
To: Keith Owens; +Cc: Roman Zippel, kbuild-devel, linux-kernel
Hi,
On Mon, 8 Apr 2002, Keith Owens wrote:
> >"touch include/linux/mm.h" doesn't cause a recompile of any object.
>
> I have found a bug that is probably causing your problem. Can you
> confirm that you are using a common source and object directory, i.e.
> no separate object tree?
Yes, so far I only tested this.
bye, Roman
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Announce: Kernel Build for 2.5, Release 2.0 is available
2002-04-05 11:26 Announce: Kernel Build for 2.5, Release 2.0 is available Keith Owens
2002-04-06 2:03 ` Keith Owens
2002-04-07 14:18 ` Roman Zippel
@ 2002-04-08 12:04 ` Keith Owens
2002-04-09 13:08 ` Keith Owens
2 siblings, 1 reply; 20+ messages in thread
From: Keith Owens @ 2002-04-08 12:04 UTC (permalink / raw)
To: kbuild-devel; +Cc: linux-kernel
New core code for kbuild 2.5 is available in
http://prdownloads.sourceforge.net/kbuild/kbuild-2.5-core-2.bz2
Backout core-1 then apply this patch.
Changes from core-1.
Do not set KBUILD_OBJECT for objects that are linked into multiple
conglomerates, there is no unambiguous KBUILD_OBJECT value for such
objects. These objects will not be able to use module or boot
parameters in the forthcoming merge of module and boot parameter
handling.
Create object directory before copying .prepend/.append files. Fixes
Richard Chan's bug report.
make foo/bar.[si] works again. Fixes Roman Zippel bug report.
Correctly standardize relative names. Fixes Roman Zippel "touch
include/linux/mm.h" does nothing bug. Only affected builds in common
source and object mode.
Update timestamps on files generated by make as they are used. This
removes some spurious rebuilds.
Changes to the underlying database layout to reduce the mmap
footprint. This speeds up kbuild 2.5 on smaller machines.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Announce: Kernel Build for 2.5, Release 2.0 is available
2002-04-08 12:04 ` Keith Owens
@ 2002-04-09 13:08 ` Keith Owens
2002-04-09 19:00 ` [kbuild-devel] " Thomas Duffy
` (2 more replies)
0 siblings, 3 replies; 20+ messages in thread
From: Keith Owens @ 2002-04-09 13:08 UTC (permalink / raw)
To: kbuild-devel; +Cc: linux-kernel
New core, common and ia64 code for kbuild 2.5 is available in
http://sourceforge.net/project/showfiles.php?group_id=18813&release_id=83065
Changes from core-2 to core-3.
Ensure that database records are aligned. Do not assume that keys
are aligned (all the world is not a 386).
Changes from common-2.4.18-1 to common-2.4.18-2.
Minor changes to common code to suit ia64.
New, ia64-020226-2.4.18-1.
core-3 works on ia64, it should work on other architectures that have
alignment requirements such as sparc.
Other architecture maintainers can use core-3 and common-2.4.18-2 as a
starting point for porting this release of kbuild 2.5 to their
architecture. The existing arch patches from Release 1.12 are a good
starting point, ia64 was almost unchanged from Release 1.12 to 2.0.
I have not tested any of the kbuild 2.5 code on big endian machines.
It should work as is but it would be nice to have it confirmed.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [kbuild-devel] Re: Announce: Kernel Build for 2.5, Release 2.0 is available
2002-04-09 13:08 ` Keith Owens
@ 2002-04-09 19:00 ` Thomas Duffy
2002-04-10 1:11 ` Keith Owens
2002-04-10 11:48 ` Keith Owens
2002-04-14 13:23 ` Keith Owens
2 siblings, 1 reply; 20+ messages in thread
From: Thomas Duffy @ 2002-04-09 19:00 UTC (permalink / raw)
To: Keith Owens; +Cc: kbuild-devel, Linux Kernel Mailing List
[-- Attachment #1: Type: text/plain, Size: 893 bytes --]
On Tue, 2002-04-09 at 06:08, Keith Owens wrote:
> Other architecture maintainers can use core-3 and common-2.4.18-2 as a
> starting point for porting this release of kbuild 2.5 to their
> architecture. The existing arch patches from Release 1.12 are a good
> starting point, ia64 was almost unchanged from Release 1.12 to 2.0.
>
> I have not tested any of the kbuild 2.5 code on big endian machines.
> It should work as is but it would be nice to have it confirmed.
Ok, with core-3, now kbuild 2.5 v2.0 works on sparc64. There was one
typo in one sparc64 Makefile.in from 1.12. Attached is the patch to fix
this.
Also attached is the full kbuild 2.0 patch for sparc64 2.4.18 tree.
--
He who receives an idea from me, receives instruction himself without
lessening mine; as he who lights his taper at mine, receives light
without darkening me. -- Thomas Jefferson
[-- Attachment #2: kbuild-2.5-2.4.18-sparc64-fixes4.patch --]
[-- Type: text/plain, Size: 339 bytes --]
--- linux_kbuild/arch/sparc64/lib/Makefile.in
+++ linux_kbuild/arch/sparc64/lib/Makefile.in
@@ -13,4 +13,4 @@
select(lib.a)
uses_asm_offsets(VISsave.o VIScopy.o VIScsum.o blockops.o checksum.o
- U3copy_from_user.o U3copt_to_user.o U3copy_in_user.o U3memcpy.o)
+ U3copy_from_user.o U3copy_to_user.o U3copy_in_user.o U3memcpy.o)
[-- Attachment #3: kbuild-2.5-sparc64-2.4.18-1 --]
[-- Type: text/x-patch, Size: 38947 bytes --]
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/Makefile.defs.config linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/Makefile.defs.config
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/Makefile.defs.config Wed Dec 31 16:00:00 1969
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/Makefile.defs.config Tue Apr 9 11:33:35 2002
@@ -0,0 +1,19 @@
+#
+# arch/$(ARCH)/Makefile.defs.config
+#
+# This file is included by the global makefile so that you can add your own
+# architecture-specific flags. It should only contain variable settings,
+# any dependencies should be in arch/$(ARCH)/Makefile.in
+#
+# This file contains only values that depend on the config.
+#
+# Do not use ifdef/ifndef, CONFIG_xxx can be defined as 'n'.
+# ifneq ($(subst n,,$(CONFIG_xxx)),) is equivalent to the old
+# ifdef CONFIG_xxx but is CML2 compatible.
+#
+
+# Uncomment this if you are doing kgdb source level debugging of the kernel to
+# get the proper debugging information.
+# FIXME: There should be a config option to control this. KAO
+
+#CFLAGS += -g
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/Makefile.defs.noconfig linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/Makefile.defs.noconfig
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/Makefile.defs.noconfig Wed Dec 31 16:00:00 1969
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/Makefile.defs.noconfig Tue Apr 9 11:33:35 2002
@@ -0,0 +1,53 @@
+#
+# arch/$(ARCH)/Makefile.defs.noconfig.
+#
+# This file is included by the top level makefile so that you can add your own
+# architecture-specific flags. It should only contain variable settings,
+# any dependencies should be in arch/$(ARCH)/Makefile.in
+#
+# This file contains only values that do not depend on the config.
+#
+# Note: When this is included by the top level Makefile, not all CFLAGS have been
+# set. Some CFLAGS cannot be set until after CROSS_COMPILE is stable, in
+# particular CC still scans user space includes at this point.
+
+CFLAGS += -pipe -mno-fpu -ffixed-g4 -fcall-used-g5 -fcall-used-g7 -Wno-sign-compare
+boot_ldflags := $(filter-out -r,$(LDFLAGS))
+
+arch_linkflags := -T arch/$(ARCH)/vmlinux.lds.i
+arch_head := arch/$(ARCH)/kernel/head.o arch/$(ARCH)/kernel/init_task.o
+arch_libs := arch/$(ARCH)/lib arch/$(ARCH)/prom
+arch_drivers_subdirs :=
+
+export boot_ldflags arch_linkflags arch_head arch_libs arch_drivers_subdirs
+
+# Generally, most sparc64 kernels are compiled with a special compiler
+# (egcs64), and not the userspace compiler.
+CC := $(shell if gcc -m64 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo gcc; else echo sparc64-linux-gcc; fi )
+
+new_gcc := $(shell if $(CC) -m64 -mcmodel=medlow -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo y; else echo n; fi; )
+new_gas := $(shell if $(LD) -V 2>&1 | grep 'elf64_sparc' > /dev/null; then echo y; else echo n; fi)
+undeclared_regs := $(shell if $(CC) -c -x assembler /dev/null -Wa,--help | grep undeclared-regs > /dev/null; then echo y; else echo n; fi; )
+
+ifeq ($(new_gas),y)
+ AFLAGS += -Wa,-64
+ LDFLAGS += -m elf64_sparc
+else
+ AS := $(CROSS_COMPILE)sparc64-linux-as
+ LD := $(CROSS_COMPILE)sparc64-linux-ld
+ NM := $(CROSS_COMPILE)sparc64-linux-nm
+ AR := $(CROSS_COMPILE)sparc64-linux-ar
+ RANLIB := $(CROSS_COMPILE)sparc64-linux-ranlib
+endif
+
+ifeq ($(new_gcc),y)
+ CFLAGS += -m64 -mcpu=ultrasparc -mcmodel=medlow
+ AFLAGS += -m64 -mcpu=ultrasparc
+else
+ CFLAGS += -mtune=ultrasparc -mmedlow
+endif
+
+ifeq ($(undeclared_regs),y)
+ AFLAGS += -Wa,--undeclared-regs
+ CFLAGS += -Wa,--undeclared-regs
+endif
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/Makefile.in linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/Makefile.in
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/Makefile.in Wed Dec 31 16:00:00 1969
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/Makefile.in Tue Apr 9 11:33:35 2002
@@ -0,0 +1,47 @@
+#
+# Architecture specific dependencies.
+#
+
+link_subdirs(kernel mm solaris math-emu boot)
+
+extra_aflags(vmlinux.lds.i -Usparc -U$(ARCH) -C -P)
+
+# Convert raw asm offsets into something that can be included as
+# assembler definitions. It converts
+# -> symbol $value source
+# into
+# symbol = value /* 0xvalue source */
+
+user_command(tmp_asm-offsets.h
+ ($(objfile asm-offsets.s))
+ (set -e;
+ (echo "#ifndef __ASM_OFFSETS_H__";
+ echo "#define __ASM_OFFSETS_H__";
+ echo "/*";
+ echo " * DO NOT MODIFY";
+ echo " *";
+ echo " * This file was generated by arch/$(ARCH)/Makefile.in.";
+ echo " *";
+ echo " */";
+ echo "";
+ awk "/^->\$$/{printf(\"\\n\");}
+ /^-> /{
+ sym = \$$2;
+ val = \$$3;
+ sub(/^\\\$$/, \"\", val);
+ \$$1 = \"\";
+ \$$2 = \"\";
+ \$$3 = \"\";
+ printf(\"#define %-24s 0x%04x\\t/* %s */\\n\",
+ sym, val, \$$0)
+ }";
+ echo "";
+ echo "#endif";
+ ) < $< > $@;
+ )
+ ()
+ )
+
+update_if_changed(asm-offsets.h)
+
+CLEAN += $(objfile asm-offsets.s)
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/asm-offsets.c linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/asm-offsets.c
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/asm-offsets.c Wed Dec 31 16:00:00 1969
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/asm-offsets.c Tue Apr 9 11:33:35 2002
@@ -0,0 +1,64 @@
+/*
+ * Generate definitions needed by assembly language modules.
+ * This code generates raw asm output which is post-processed to extract
+ * and format the required data.
+ */
+
+#include <linux/types.h>
+#include <linux/stddef.h>
+#include <linux/sched.h>
+
+/* Use marker if you need to separate the values later */
+
+#define DEFINE(sym, val, marker) \
+ asm volatile("\n-> " #sym " %0 " #val " " #marker : : "i" (val))
+
+#define BLANK() asm volatile("\n->" : : )
+
+int
+main(void)
+{
+ DEFINE(AOFF_mm_context, offsetof(struct mm_struct, context),);
+ BLANK();
+
+ DEFINE(ASIZ_task, sizeof(struct task_struct),);
+ DEFINE(AOFF_task_blocked, offsetof(struct task_struct, blocked),);
+ DEFINE(AOFF_task_egid, offsetof(struct task_struct, egid),);
+ DEFINE(ASIZ_task_egid, sizeof(((struct task_struct *)NULL)->egid),);
+ DEFINE(AOFF_task_euid, offsetof(struct task_struct, euid),);
+ DEFINE(ASIZ_task_euid, sizeof(((struct task_struct *)NULL)->euid),);
+ DEFINE(AOFF_task_flags, offsetof(struct task_struct, flags),);
+ DEFINE(AOFF_task_fpregs, (sizeof(struct task_struct) + (64 - 1)) & ~(64 - 1),);
+ DEFINE(AOFF_task_gid, offsetof(struct task_struct, gid),);
+ DEFINE(ASIZ_task_gid, sizeof(((struct task_struct *)NULL)->gid),);
+ DEFINE(AOFF_task_need_resched, offsetof(struct task_struct, need_resched),);
+ DEFINE(AOFF_task_personality, offsetof(struct task_struct, personality),);
+ DEFINE(ASIZ_task_personality, sizeof(((struct task_struct *)NULL)->personality),);
+ DEFINE(AOFF_task_pid, offsetof(struct task_struct, pid),);
+ DEFINE(AOFF_task_p_opptr, offsetof(struct task_struct, p_opptr),);
+ DEFINE(AOFF_task_processor, offsetof(struct task_struct, processor),);
+ DEFINE(AOFF_task_ptrace, offsetof(struct task_struct, ptrace),);
+ DEFINE(AOFF_task_sigpending, offsetof(struct task_struct, sigpending),);
+ DEFINE(AOFF_task_thread, offsetof(struct task_struct, thread),);
+ DEFINE(AOFF_task_uid, offsetof(struct task_struct, uid),);
+ DEFINE(ASIZ_task_uid, sizeof(((struct task_struct *)NULL)->uid),);
+ BLANK();
+
+ DEFINE(AOFF_thread_current_ds, offsetof(struct thread_struct, current_ds),);
+ DEFINE(AOFF_thread_flags, offsetof(struct thread_struct, flags),);
+ DEFINE(AOFF_thread_fault_address, offsetof(struct thread_struct, fault_address),);
+ DEFINE(AOFF_thread_fault_code, offsetof(struct thread_struct, fault_code),);
+ DEFINE(AOFF_thread_fpdepth, offsetof(struct thread_struct, fpdepth),);
+ DEFINE(AOFF_thread_fpsaved, offsetof(struct thread_struct, fpsaved),);
+ DEFINE(AOFF_thread_gsr, offsetof(struct thread_struct, gsr),);
+ DEFINE(AOFF_thread_xfsr, offsetof(struct thread_struct, xfsr),);
+ DEFINE(AOFF_thread_pcr_reg, offsetof(struct thread_struct, pcr_reg),);
+ DEFINE(AOFF_thread_kernel_cntd0, offsetof(struct thread_struct, kernel_cntd0),);
+ DEFINE(AOFF_thread_reg_window, offsetof(struct thread_struct, reg_window),);
+ DEFINE(AOFF_thread_rwbuf_stkptrs, offsetof(struct thread_struct, rwbuf_stkptrs),);
+ DEFINE(AOFF_thread_use_blkcommit, offsetof(struct thread_struct, use_blkcommit),);
+ DEFINE(AOFF_thread_utraps, offsetof(struct thread_struct, utraps),);
+ DEFINE(AOFF_thread_w_saved, offsetof(struct thread_struct, w_saved),);
+
+ return 0;
+}
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/boot/Makefile.in linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/boot/Makefile.in
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/boot/Makefile.in Wed Dec 31 16:00:00 1969
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/boot/Makefile.in Tue Apr 9 11:33:35 2002
@@ -0,0 +1,13 @@
+#
+# Makefile for sparc64 boot.
+#
+# No tftp support yet, I want to keep the kbuild files as standard as possible.
+# Architecture special and user special build targets can be handled by ADDn
+# rules, see Documentation/kbuild/kbuild-2.5.txt. KAO
+#
+# If special targets become part of the Makefile.in files then everything must
+# be handled by config rules. That includes the names of target files such as
+# root image (use CONFIG_TFTP_NAME), external utility names such as elftoaut
+# (use CONFIG_ELFTOAOUT) etc. A user must be able to copy a config from one
+# kernel to another, type 'make oldconfig install' with no other parameters and
+# have the build do exactly the same as before. KAO
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/boot/config.install-2.5 linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/boot/config.install-2.5
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/boot/config.install-2.5 Wed Dec 31 16:00:00 1969
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/boot/config.install-2.5 Tue Apr 9 11:33:35 2002
@@ -0,0 +1,43 @@
+mainmenu_name "Sparc64 Installation"
+
+choice 'Format to compile kernel in' \
+ "vmlinux CONFIG_VMLINUX \
+ vmlinuz CONFIG_VMLINUZ" vmlinuz
+
+bool 'Use a prefix on install paths' CONFIG_INSTALL_PREFIX
+if [ "$CONFIG_INSTALL_PREFIX" = "y" ]; then
+ string ' Prefix for install paths' CONFIG_INSTALL_PREFIX_NAME ""
+fi
+string 'Where to install the kernel' CONFIG_INSTALL_KERNEL_NAME "/lib/modules/KERNELRELEASE/vmlinuz"
+bool 'Install System.map' CONFIG_INSTALL_SYSTEM_MAP
+if [ "$CONFIG_INSTALL_SYSTEM_MAP" = "y" ]; then
+ string ' Where to install System.map' CONFIG_INSTALL_SYSTEM_MAP_NAME "/lib/modules/KERNELRELEASE/System.map"
+fi
+bool 'Install .config' CONFIG_INSTALL_CONFIG
+if [ "$CONFIG_INSTALL_CONFIG" = "y" ]; then
+ string ' Where to install .config' CONFIG_INSTALL_CONFIG_NAME "/lib/modules/KERNELRELEASE/.config"
+fi
+if [ "$CONFIG_VMLINUX" != "y" ]; then
+ bool ' Install vmlinux for debugging' CONFIG_INSTALL_VMLINUX
+ if [ "$CONFIG_INSTALL_VMLINUX" = "y" ]; then
+ string ' Where to install vmlinux' CONFIG_INSTALL_VMLINUX_NAME "/lib/modules/KERNELRELEASE/vmlinux"
+ fi
+fi
+bool 'Run a post-install script or command' CONFIG_INSTALL_SCRIPT
+if [ "$CONFIG_INSTALL_SCRIPT" = "y" ]; then
+ string ' Post-install script or command name' CONFIG_INSTALL_SCRIPT_NAME ""
+fi
+
+# FIXME: These critical config options should be in arch/$(ARCH)/config.in. For
+# coexistence of kbuild 2.4 and 2.5 it is easier to put them here, move them
+# later. KAO
+
+# FIXME more: Update to sparc64 critical variables. KAO
+
+#define_string CONFIG_KBUILD_CRITICAL_ARCH "CONFIG_M386 CONFIG_M486 \
+# CONFIG_M586 CONFIG_M586TSC CONFIG_M586MMX CONFIG_M686 \
+# CONFIG_MPENTIUMIII CONFIG_MPENTIUM4 \
+# CONFIG_MK6 CONFIG_MK7 \
+# CONFIG_MCRUSOE \
+# CONFIG_MWINCHIPC6 CONFIG_MWINCHIP2 CONFIG_MWINCHIP3D \
+# CONFIG_MCYRIXIII"
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/boot/rules-2.5.cml linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/boot/rules-2.5.cml
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/boot/rules-2.5.cml Wed Dec 31 16:00:00 1969
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/boot/rules-2.5.cml Tue Apr 9 11:33:35 2002
@@ -0,0 +1,27 @@
+symbols
+kernel_format_sparc64 'The format used for the installed kernel' text
+All kernel builds create vmlinux as an ELF object. vmlinux may not be
+suitable for loading, either because your bootloader cannot handle ELF
+or the object is too large. This option selects the format for the
+installed kernel. If unsure, use vmlinuz.
+.
+VMLINUX_SPARC64 'vmlinux' like VMLINUX_help
+VMLINUZ_SPARC64 'vmlinuz' like VMLINUZ_help
+
+private VMLINUX_SPARC64 VMLINUZ_SPARC64
+
+choices kernel_format_sparc64 # The format that the kernel is to be compiled in
+ VMLINUX_SPARC64 VMLINUZ_SPARC64 default VMLINUZ_SPARC64
+
+# FIXME: These critical config options should be in arch/$(ARCH)/rules.cml. For
+# coexistence of kbuild 2.4 and 2.5 it is easier to put them here, move them
+# later. KAO
+
+# FIXME: more: Set the real sparc64 critical options.
+
+derive KBUILD_CRITICAL_ARCH_SPARC64 from "???"
+
+menu installation
+ kernel_format_sparc64
+
+unless SPARC64 suppress kernel_format_sparc64
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/kernel/Makefile.in linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/kernel/Makefile.in
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/kernel/Makefile.in Wed Dec 31 16:00:00 1969
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/kernel/Makefile.in Tue Apr 9 11:33:35 2002
@@ -0,0 +1,22 @@
+
+expsyms(sparc64_ksyms.o)
+
+select(head.o init_task.o)
+
+select(process.o setup.o cpu.o idprom.o traps.o devices.o auxio.o irq.o ptrace.o
+ time.o sys_sparc.o signal.o unaligned.o central.o pci.o starfire.o
+ semaphore.o power.o sbus.o iommu_common.o sparc64_ksyms.o chmc.o)
+
+select(CONFIG_PCI ebus.o isa.o pci_common.o pci_iommu.o
+ pci_psycho.o pci_sabre.o pci_schizo.o)
+select(CONFIG_SMP smp.o trampoline.o)
+select(CONFIG_SPARC32_COMPAT sys32.o sys_sparc32.o signal32.o ioctl32.o)
+select(CONFIG_BINFMT_ELF32 binfmt_elf32.o)
+select(CONFIG_BINFMT_AOUT32 binfmt_aout32.o)
+select(CONFIG_SUNOS_EMUL sys_sunos32.o sunos_ioctl32.o)
+select(CONFIG_Y CONFIG_SOLARIS_EMUL sys_sunos32.o sunos_ioctl32.o)
+
+uses_asm_offsets(head.o head.o trampoline.o winfixup.o)
+
+# FIXME: ioctl32.c #include "../../../drivers/char/drm" :(.
+extra_cflags(ioctl32.o $(src_includelist /drivers/char/drm))
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/kernel/entry.S linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/kernel/entry.S
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/kernel/entry.S Fri Dec 21 09:41:53 2001
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/kernel/entry.S Tue Apr 9 11:33:35 2002
@@ -21,6 +21,13 @@
#include <asm/visasm.h>
#include <asm/estate.h>
+#include <linux/config.h> /* Remove this line after kbuild 2.5 is in */
+#ifdef CONFIG_KBUILD_2_5 /* Remove this line after kbuild 2.5 is in */
+#include <asm-offsets.h> /* This is all that is required for kbuild 2.5 */
+#else /* Remove this line after kbuild 2.5 is in */
+#include <asm/asm_offsets.h> /* Remove this line after kbuild 2.5 is in */
+#endif /* Remove this line after kbuild 2.5 is in */
+
/* #define SYSCALL_TRACING 1 */
#define curptr g6
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/kernel/etrap.S linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/kernel/etrap.S
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/kernel/etrap.S Thu Sep 20 14:11:57 2001
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/kernel/etrap.S Tue Apr 9 11:33:35 2002
@@ -13,6 +13,13 @@
#include <asm/head.h>
#include <asm/processor.h>
+#include <linux/config.h> /* Remove this line after kbuild 2.5 is in */
+#ifdef CONFIG_KBUILD_2_5 /* Remove this line after kbuild 2.5 is in */
+#include <asm-offsets.h> /* This is all that is required for kbuild 2.5 */
+#else /* Remove this line after kbuild 2.5 is in */
+#include <asm/asm_offsets.h> /* Remove this line after kbuild 2.5 is in */
+#endif /* Remove this line after kbuild 2.5 is in */
+
#define TASK_REGOFF (THREAD_SIZE-TRACEREG_SZ-REGWIN_SZ)
#define ETRAP_PSTATE1 (PSTATE_RMO | PSTATE_PRIV)
#define ETRAP_PSTATE2 (PSTATE_RMO | PSTATE_PEF | PSTATE_PRIV | PSTATE_IE)
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/kernel/head.S linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/kernel/head.S
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/kernel/head.S Fri Dec 21 09:41:53 2001
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/kernel/head.S Tue Apr 9 11:33:35 2002
@@ -10,7 +10,6 @@
#include <linux/config.h>
#include <linux/version.h>
#include <linux/errno.h>
-#include <asm/asm_offsets.h>
#include <asm/asi.h>
#include <asm/pstate.h>
#include <asm/ptrace.h>
@@ -25,6 +24,13 @@
#include <asm/dcu.h>
#include <asm/head.h>
#include <asm/ttable.h>
+
+#include <linux/config.h> /* Remove this line after kbuild 2.5 is in */
+#ifdef CONFIG_KBUILD_2_5 /* Remove this line after kbuild 2.5 is in */
+#include <asm-offsets.h> /* This is all that is required for kbuild 2.5 */
+#else /* Remove this line after kbuild 2.5 is in */
+#include <asm/asm_offsets.h> /* Remove this line after kbuild 2.5 is in */
+#endif /* Remove this line after kbuild 2.5 is in */
/* This section from from _start to sparc64_boot_end should fit into
* 0x0000.0000.0040.4000 to 0x0000.0000.0040.8000 and will be sharing space
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/kernel/rtrap.S linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/kernel/rtrap.S
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/kernel/rtrap.S Mon Feb 25 11:37:56 2002
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/kernel/rtrap.S Tue Apr 9 11:33:35 2002
@@ -13,6 +13,13 @@
#include <asm/visasm.h>
#include <asm/processor.h>
+#include <linux/config.h> /* Remove this line after kbuild 2.5 is in */
+#ifdef CONFIG_KBUILD_2_5 /* Remove this line after kbuild 2.5 is in */
+#include <asm-offsets.h> /* This is all that is required for kbuild 2.5 */
+#else /* Remove this line after kbuild 2.5 is in */
+#include <asm/asm_offsets.h> /* Remove this line after kbuild 2.5 is in */
+#endif /* Remove this line after kbuild 2.5 is in */
+
#define PTREGS_OFF (STACK_BIAS + REGWIN_SZ)
#define RTRAP_PSTATE (PSTATE_RMO|PSTATE_PEF|PSTATE_PRIV|PSTATE_IE)
#define RTRAP_PSTATE_IRQOFF (PSTATE_RMO|PSTATE_PEF|PSTATE_PRIV)
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/kernel/trampoline.S linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/kernel/trampoline.S
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/kernel/trampoline.S Fri Dec 21 09:41:53 2001
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/kernel/trampoline.S Tue Apr 9 11:33:35 2002
@@ -14,7 +14,13 @@
#include <asm/pgtable.h>
#include <asm/spitfire.h>
#include <asm/processor.h>
-#include <asm/asm_offsets.h>
+
+#include <linux/config.h> /* Remove this line after kbuild 2.5 is in */
+#ifdef CONFIG_KBUILD_2_5 /* Remove this line after kbuild 2.5 is in */
+#include <asm-offsets.h> /* This is all that is required for kbuild 2.5 */
+#else /* Remove this line after kbuild 2.5 is in */
+#include <asm/asm_offsets.h> /* Remove this line after kbuild 2.5 is in */
+#endif /* Remove this line after kbuild 2.5 is in */
.data
.align 8
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/kernel/winfixup.S linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/kernel/winfixup.S
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/kernel/winfixup.S Mon Mar 27 10:35:56 2000
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/kernel/winfixup.S Tue Apr 9 11:33:35 2002
@@ -11,7 +11,13 @@
#include <asm/ptrace.h>
#include <asm/processor.h>
#include <asm/spitfire.h>
-#include <asm/asm_offsets.h>
+
+#include <linux/config.h> /* Remove this line after kbuild 2.5 is in */
+#ifdef CONFIG_KBUILD_2_5 /* Remove this line after kbuild 2.5 is in */
+#include <asm-offsets.h> /* This is all that is required for kbuild 2.5 */
+#else /* Remove this line after kbuild 2.5 is in */
+#include <asm/asm_offsets.h> /* Remove this line after kbuild 2.5 is in */
+#endif /* Remove this line after kbuild 2.5 is in */
.text
.align 32
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/lib/Makefile.in linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/lib/Makefile.in
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/lib/Makefile.in Wed Dec 31 16:00:00 1969
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/lib/Makefile.in Tue Apr 9 11:34:55 2002
@@ -0,0 +1,14 @@
+#
+# Makefile for sparc64 library files.
+#
+
+objlink(lib.a PeeCeeI.o blockops.o debuglocks.o strlen.o strncmp.o memscan.o
+ strncpy_from_user.o strlen_user.o memcmp.o checksum.o VIScopy.o
+ VISbzero.o VISmemset.o VIScsum.o VIScsumcopy.o VIScsumcopyusr.o
+ VISsave.o atomic.o rwlock.o bitops.o dec_and_lock.o U3memcpy.o
+ U3copy_from_user.o U3copy_to_user.o U3copy_in_user.o)
+
+select(lib.a)
+
+uses_asm_offsets(VISsave.o VIScopy.o VIScsum.o blockops.o checksum.o
+ U3copy_from_user.o U3copy_to_user.o U3copy_in_user.o U3memcpy.o)
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/lib/VIScopy.S linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/lib/VIScopy.S
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/lib/VIScopy.S Mon Oct 1 09:19:56 2001
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/lib/VIScopy.S Tue Apr 9 11:33:35 2002
@@ -26,7 +26,13 @@
#ifdef __KERNEL__
#include <asm/visasm.h>
-#include <asm/asm_offsets.h>
+
+#include <linux/config.h> /* Remove this line after kbuild 2.5 is in */
+#ifdef CONFIG_KBUILD_2_5 /* Remove this line after kbuild 2.5 is in */
+#include <asm-offsets.h> /* This is all that is required for kbuild 2.5 */
+#else /* Remove this line after kbuild 2.5 is in */
+#include <asm/asm_offsets.h> /* Remove this line after kbuild 2.5 is in */
+#endif /* Remove this line after kbuild 2.5 is in */
#define FPU_CLEAN_RETL \
ldub [%g6 + AOFF_task_thread + AOFF_thread_current_ds], %o1; \
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/lib/VIScsum.S linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/lib/VIScsum.S
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/lib/VIScsum.S Mon Feb 21 16:32:27 2000
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/lib/VIScsum.S Tue Apr 9 11:33:35 2002
@@ -28,7 +28,14 @@
#include <asm/head.h>
#include <asm/asi.h>
#include <asm/visasm.h>
-#include <asm/asm_offsets.h>
+
+#include <linux/config.h> /* Remove this line after kbuild 2.5 is in */
+#ifdef CONFIG_KBUILD_2_5 /* Remove this line after kbuild 2.5 is in */
+#include <asm-offsets.h> /* This is all that is required for kbuild 2.5 */
+#else /* Remove this line after kbuild 2.5 is in */
+#include <asm/asm_offsets.h> /* Remove this line after kbuild 2.5 is in */
+#endif /* Remove this line after kbuild 2.5 is in */
+
#else
#define ASI_BLK_P 0xf0
#define FRPS_FEF 0x04
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/lib/VISsave.S linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/lib/VISsave.S
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/lib/VISsave.S Sun Mar 25 18:14:21 2001
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/lib/VISsave.S Tue Apr 9 11:34:24 2002
@@ -11,6 +11,14 @@
#include <asm/ptrace.h>
#include <asm/visasm.h>
+#include <linux/config.h> /* Remove this line after kbuild 2.5 is in */
+#ifdef CONFIG_KBUILD_2_5 /* Remove this line after kbuild 2.5 is in */
+#include <asm-offsets.h> /* This is all that is required for kbuild 2.5 */
+#else /* Remove this line after kbuild 2.5 is in */
+#define AOFF_task_fpregs (((ASIZ_task) + (64 - 1)) & ~(64 - 1))
+#include <asm/asm_offsets.h> /* Remove this line after kbuild 2.5 is in */
+#endif /* Remove this line after kbuild 2.5 is in */
+
.text
.globl VISenter, VISenterhalf
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/lib/blockops.S linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/lib/blockops.S
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/lib/blockops.S Fri Dec 21 09:41:53 2001
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/lib/blockops.S Tue Apr 9 11:33:35 2002
@@ -9,7 +9,13 @@
#include <asm/visasm.h>
#include <asm/page.h>
#include <asm/pgtable.h>
-#include <asm/asm_offsets.h>
+
+#include <linux/config.h> /* Remove this line after kbuild 2.5 is in */
+#ifdef CONFIG_KBUILD_2_5 /* Remove this line after kbuild 2.5 is in */
+#include <asm-offsets.h> /* This is all that is required for kbuild 2.5 */
+#else /* Remove this line after kbuild 2.5 is in */
+#include <asm/asm_offsets.h> /* Remove this line after kbuild 2.5 is in */
+#endif /* Remove this line after kbuild 2.5 is in */
#define TOUCH(reg0, reg1, reg2, reg3, reg4, reg5, reg6, reg7) \
fmovd %reg0, %f48; fmovd %reg1, %f50; \
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/lib/checksum.S linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/lib/checksum.S
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/lib/checksum.S Fri Jan 21 18:22:54 2000
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/lib/checksum.S Tue Apr 9 11:33:35 2002
@@ -18,7 +18,13 @@
#include <asm/ptrace.h>
#include <asm/asi.h>
#include <asm/page.h>
-#include <asm/asm_offsets.h>
+
+#include <linux/config.h> /* Remove this line after kbuild 2.5 is in */
+#ifdef CONFIG_KBUILD_2_5 /* Remove this line after kbuild 2.5 is in */
+#include <asm-offsets.h> /* This is all that is required for kbuild 2.5 */
+#else /* Remove this line after kbuild 2.5 is in */
+#include <asm/asm_offsets.h> /* Remove this line after kbuild 2.5 is in */
+#endif /* Remove this line after kbuild 2.5 is in */
/* The problem with the "add with carry" instructions on Ultra
* are two fold. Firstly, they cannot pair with jack shit,
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/math-emu/Makefile.in linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/math-emu/Makefile.in
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/math-emu/Makefile.in Wed Dec 31 16:00:00 1969
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/math-emu/Makefile.in Tue Apr 9 11:33:35 2002
@@ -0,0 +1,8 @@
+#
+# Makefile for the sparc64 FPU instruction emulation.
+#
+
+objlink(math-emu.o math.o)
+select(math-emu.o)
+
+extra_cflags_all($(src_includelist /include/math-emu) -w)
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/mm/Makefile.in linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/mm/Makefile.in
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/mm/Makefile.in Wed Dec 31 16:00:00 1969
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/mm/Makefile.in Tue Apr 9 11:33:35 2002
@@ -0,0 +1,8 @@
+#
+# Makefile for the linux sparc64-specific parts of the memory manager.
+#
+
+objlink(mm.o ultra.o fault.o init.o generic.o extable.o modutil.o)
+select(mm.o)
+
+uses_asm_offsets(ultra.o)
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/mm/ultra.S linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/mm/ultra.S
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/mm/ultra.S Fri Dec 21 09:41:53 2001
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/mm/ultra.S Tue Apr 9 11:33:35 2002
@@ -11,6 +11,13 @@
#include <asm/spitfire.h>
#include <asm/mmu_context.h>
+#include <linux/config.h> /* Remove this line after kbuild 2.5 is in */
+#ifdef CONFIG_KBUILD_2_5 /* Remove this line after kbuild 2.5 is in */
+#include <asm-offsets.h> /* This is all that is required for kbuild 2.5 */
+#else /* Remove this line after kbuild 2.5 is in */
+#include <asm/asm_offsets.h> /* Remove this line after kbuild 2.5 is in */
+#endif /* Remove this line after kbuild 2.5 is in */
+
/* Basically, all this madness has to do with the
* fact that Cheetah does not support IMMU flushes
* out of the secondary context. Someone needs to
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/prom/Makefile.in linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/prom/Makefile.in
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/prom/Makefile.in Wed Dec 31 16:00:00 1969
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/prom/Makefile.in Tue Apr 9 11:33:35 2002
@@ -0,0 +1,8 @@
+#
+# Makefile for the Sun Boot PROM interface library under Linux.
+#
+
+objlink(promlib.a bootstr.o devops.o init.o memory.o misc.o tree.o
+ console.o printf.o p1275.o map.o)
+
+select(promlib.a)
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/solaris/Makefile.in linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/solaris/Makefile.in
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/solaris/Makefile.in Wed Dec 31 16:00:00 1969
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/solaris/Makefile.in Tue Apr 9 11:33:35 2002
@@ -0,0 +1,10 @@
+#
+# Makefile for the linux Solaris binary compatibility.
+#
+
+objlink(solaris.o entry64.o fs.o misc.o signal.o systbl.o socket.o ioctl.o
+ ipc.o socksys.o timod.o)
+
+select(CONFIG_SOLARIS_EMUL solaris.o)
+
+uses_asm_offsets(entry64.o)
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/solaris/entry64.S linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/solaris/entry64.S
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/solaris/entry64.S Thu Jan 13 12:03:00 2000
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/solaris/entry64.S Tue Apr 9 11:33:35 2002
@@ -17,6 +17,13 @@
#include <asm/pgtable.h>
#include <asm/processor.h>
+#include <linux/config.h> /* Remove this line after kbuild 2.5 is in */
+#ifdef CONFIG_KBUILD_2_5 /* Remove this line after kbuild 2.5 is in */
+#include <asm-offsets.h> /* This is all that is required for kbuild 2.5 */
+#else /* Remove this line after kbuild 2.5 is in */
+#include <asm/asm_offsets.h> /* Remove this line after kbuild 2.5 is in */
+#endif /* Remove this line after kbuild 2.5 is in */
+
#include "conv.h"
#define NR_SYSCALLS 256
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/vmlinux.lds.S linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/vmlinux.lds.S
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/arch/sparc64/vmlinux.lds.S Wed Dec 31 16:00:00 1969
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/arch/sparc64/vmlinux.lds.S Tue Apr 9 11:33:35 2002
@@ -0,0 +1,80 @@
+/* ld script to make UltraLinux kernel */
+OUTPUT_FORMAT("elf64-sparc", "elf64-sparc", "elf64-sparc")
+OUTPUT_ARCH(sparc:v9a)
+ENTRY(_start)
+
+SECTIONS
+{
+ swapper_pmd_dir = 0x0000000000402000;
+ empty_pg_dir = 0x0000000000403000;
+ . = 0x4000;
+ .text 0x0000000000404000 :
+ {
+ *(.text)
+ *(.gnu.warning)
+ } =0
+ _etext = .;
+ PROVIDE (etext = .);
+ .rodata : { *(.rodata) *(.rodata.*) }
+ .rodata1 : { *(.rodata1) }
+ .data :
+ {
+ *(.data)
+ CONSTRUCTORS
+ }
+ .data1 : { *(.data1) }
+ _edata = .;
+ PROVIDE (edata = .);
+ .fixup : { *(.fixup) }
+ . = ALIGN(16);
+ __start___ex_table = .;
+ __ex_table : { *(__ex_table) }
+ __stop___ex_table = .;
+ __start___ksymtab = .;
+ __ksymtab : { *(__ksymtab) }
+ __stop___ksymtab = .;
+ __kstrtab : { *(.kstrtab) }
+ __start___kallsyms = .; /* All kernel symbols */
+ __kallsyms : { *(__kallsyms) }
+ __stop___kallsyms = .;
+ . = ALIGN(8192);
+ __init_begin = .;
+ .text.init : { *(.text.init) }
+ .data.init : { *(.data.init) }
+ . = ALIGN(16);
+ __setup_start = .;
+ .setup_init : { *(.setup.init) }
+ __setup_end = .;
+ __initcall_start = .;
+ .initcall.init : { *(.initcall.init) }
+ __initcall_end = .;
+ . = ALIGN(8192);
+ __init_end = .;
+ . = ALIGN(64);
+ .data.cacheline_aligned : { *(.data.cacheline_aligned) }
+ __bss_start = .;
+ .sbss : { *(.sbss) *(.scommon) }
+ .bss :
+ {
+ *(.dynbss)
+ *(.bss)
+ *(COMMON)
+ }
+ _end = . ;
+ PROVIDE (end = .);
+ /* Stabs debugging sections. */
+ .stab 0 : { *(.stab) }
+ .stabstr 0 : { *(.stabstr) }
+ .stab.excl 0 : { *(.stab.excl) }
+ .stab.exclstr 0 : { *(.stab.exclstr) }
+ .stab.index 0 : { *(.stab.index) }
+ .stab.indexstr 0 : { *(.stab.indexstr) }
+ .comment 0 : { *(.comment) }
+ .debug 0 : { *(.debug) }
+ .debug_srcinfo 0 : { *(.debug_srcinfo) }
+ .debug_aranges 0 : { *(.debug_aranges) }
+ .debug_pubnames 0 : { *(.debug_pubnames) }
+ .debug_sfnames 0 : { *(.debug_sfnames) }
+ .line 0 : { *(.line) }
+ /DISCARD/ : { *(.text.exit) *(.data.exit) *(.exitcall.exit) }
+}
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/include/asm-sparc64/processor.h linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/include/asm-sparc64/processor.h
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/include/asm-sparc64/processor.h Mon Feb 25 11:38:13 2002
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/include/asm-sparc64/processor.h Tue Apr 9 11:34:24 2002
@@ -307,6 +307,10 @@
#define cpu_relax() udelay(1 + smp_processor_id())
+#ifdef CONFIG_KBUILD_2_5
+#define AOFF_task_fpregs ((sizeof(struct task_struct) + (64 - 1)) & ~(64 - 1))
+#endif
+
#endif /* __KERNEL__ */
#endif /* !(__ASSEMBLY__) */
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/include/asm-sparc64/ptrace.h linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/include/asm-sparc64/ptrace.h
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/include/asm-sparc64/ptrace.h Mon Jan 12 15:15:58 1998
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/include/asm-sparc64/ptrace.h Tue Apr 9 11:34:41 2002
@@ -111,7 +111,10 @@
#define STACKFRAME32_SZ 0x60
#define REGWIN32_SZ 0x40
+#include <linux/config.h>
+#ifndef CONFIG_KBUILD_2_5
#include <asm/asm_offsets.h>
+#endif /* CONFIG_KBUILD_2_5 */
#endif
#ifdef __KERNEL__
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/include/asm-sparc64/system.h linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/include/asm-sparc64/system.h
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/include/asm-sparc64/system.h Fri Dec 21 09:42:03 2001
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/include/asm-sparc64/system.h Tue Apr 9 11:34:24 2002
@@ -5,7 +5,9 @@
#include <linux/config.h>
#include <asm/ptrace.h>
#include <asm/processor.h>
+#ifndef CONFIG_KBUILD_2_5
#include <asm/asm_offsets.h>
+#endif
#include <asm/visasm.h>
#ifndef __ASSEMBLY__
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/include/asm-sparc64/ttable.h linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/include/asm-sparc64/ttable.h
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/include/asm-sparc64/ttable.h Fri Dec 21 09:42:03 2001
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/include/asm-sparc64/ttable.h Tue Apr 9 11:34:24 2002
@@ -3,7 +3,9 @@
#define _SPARC64_TTABLE_H
#include <linux/config.h>
+#ifndef CONFIG_KBUILD_2_5
#include <asm/asm_offsets.h>
+#endif
#include <asm/utrap.h>
#define BOOT_KERNEL b sparc64_boot; nop; nop; nop; nop; nop; nop; nop;
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/include/asm-sparc64/visasm.h linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/include/asm-sparc64/visasm.h
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/include/asm-sparc64/visasm.h Thu Apr 26 22:17:26 2001
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/include/asm-sparc64/visasm.h Tue Apr 9 11:34:41 2002
@@ -10,8 +10,11 @@
#include <asm/pstate.h>
#include <asm/ptrace.h>
-#define AOFF_task_fpregs (((ASIZ_task) + (64 - 1)) & ~(64 - 1))
-
+#include <linux/config.h>
+#ifndef CONFIG_KBUILD_2_5
+#define AOFF_task_fpregs (((ASIZ_task) + (64 - 1)) & ~(64 - 1))
+#endif
+
/* Clobbers %o5, %g1, %g2, %g3, %g7, %icc, %xcc */
#define VISEntry \
diff -Nur linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/scripts/Makefile-2.5 linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/scripts/Makefile-2.5
--- linux-2.4.18+kbuild-v2.0+common2+core3+i386-1/scripts/Makefile-2.5 Tue Apr 9 11:27:38 2002
+++ linux-2.4.18+kbuild-v2.0+common2+core3+i386-1+sparc64-1/scripts/Makefile-2.5 Tue Apr 9 11:33:35 2002
@@ -736,9 +736,10 @@
@( \
echo ""; \
echo "source \"arch/i386/boot/rules-2.5.cml\""; \
+ echo "source \"arch/sparc64/boot/rules-2.5.cml\""; \
echo ""; \
- echo "derive VMLINUX from VMLINUX_X86"; \
- echo "derive VMLINUZ from VMLINUZ_X86"; \
+ echo "derive VMLINUX from VMLINUX_X86 or VMLINUX_SPARC64"; \
+ echo "derive VMLINUZ from VMLINUZ_X86 or VMLINUZ_SPARC64"; \
echo "derive BZIMAGE from BZIMAGE_X86"; \
echo "derive ZIMAGE from ZIMAGE_X86"; \
echo "derive VMLINUX_SREC from n"; \
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Announce: Kernel Build for 2.5, Release 2.0 is available
2002-04-09 19:00 ` [kbuild-devel] " Thomas Duffy
@ 2002-04-10 1:11 ` Keith Owens
0 siblings, 0 replies; 20+ messages in thread
From: Keith Owens @ 2002-04-10 1:11 UTC (permalink / raw)
To: Thomas Duffy; +Cc: kbuild-devel, Linux Kernel Mailing List
On 09 Apr 2002 12:00:55 -0700,
Thomas Duffy <Thomas.Duffy.99@alumni.brown.edu> wrote:
>Ok, with core-3, now kbuild 2.5 v2.0 works on sparc64. There was one
>typo in one sparc64 Makefile.in from 1.12. Attached is the patch to fix
>this.
>
>Also attached is the full kbuild 2.0 patch for sparc64 2.4.18 tree.
Thanks Tom. Uploaded as
http://prdownloads.sourceforge.net/kbuild/kbuild-2.5-sparc64-2.4.18-1.bz2
I will get 2.5.8-pre2 working and upload that then wait for a couple of
days to see if any other arch maintainers have kbuild 2.5 patches.
Then it will be time for Release 2.1 which will be a candidate to go to
Linus.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Announce: Kernel Build for 2.5, Release 2.0 is available
2002-04-09 13:08 ` Keith Owens
2002-04-09 19:00 ` [kbuild-devel] " Thomas Duffy
@ 2002-04-10 11:48 ` Keith Owens
2002-04-14 13:23 ` Keith Owens
2 siblings, 0 replies; 20+ messages in thread
From: Keith Owens @ 2002-04-10 11:48 UTC (permalink / raw)
To: kbuild-devel; +Cc: linux-kernel
New core and common code for kbuild 2.5 is available in
http://sourceforge.net/project/showfiles.php?group_id=18813&release_id=83065
Changes from core-3 to core-4.
GNUism removal.
WISH is exposed in case your wish binary is not in /usr/bin/wish.
awk changed to $(AWK) throughout.
PP_variables added to expose headers and compiler flags that might be
different on on non-Linux build platforms.
Force the use of KBUILD_SHELL instead of relying on a working build
platform shell.
Drop back to getopt if getopt_long is not available on the build
platform, in which case only the single character command flags are
available.
Documentation updates.
*** kbuild 2.5-core-4 runs on Solaris using gcc, gmake, gawk. ***
Would any brave (or foolhardy) person like to run kbuild 2.5 under
Cygwin or other build platforms?
Changes from common-2.4.18-2 to common-2.4.18-3.
Yet more aic7xxx problems :(
Documentation updates.
Correct fencepost error in scripts/tkparse.
Changes from common-2.4.19-pre6-1 to common-2.4.19-pre6-2.
As for common-2.4.18-2 -> 3.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Announce: Kernel Build for 2.5, Release 2.0 is available
2002-04-09 13:08 ` Keith Owens
2002-04-09 19:00 ` [kbuild-devel] " Thomas Duffy
2002-04-10 11:48 ` Keith Owens
@ 2002-04-14 13:23 ` Keith Owens
2002-04-16 1:58 ` Keith Owens
2 siblings, 1 reply; 20+ messages in thread
From: Keith Owens @ 2002-04-14 13:23 UTC (permalink / raw)
To: kbuild-devel; +Cc: linux-kernel
Updates for kbuild 2.5 at
http://sourceforge.net/project/showfiles.php?group_id=18813
I made the mistake of use the sourceforge fast release system. Turns
out it creates new releases for each file so there are multiple
'Release 2.0' headings. Ignore that, they are all part of Release 2.0.
kbuild-2.5-core-5.bz2. Changes from core-4 to core-5.
Split config immediately after make *config instead of as a side
effect of the next target. Cleaner rules, fewer special cases.
Add include/sound on include list.
New command 'select_elsewhere()'. A complete kludge to work around
the crc32.o problem in 2.5 kernels. Selection of CONFIG_CRC32 should
really be done in CML but CML1 cannot cope, so add a kbuild kludge to
overcome the incomplete CML data.
Fix a bug where cached timestamps prevented the detection of some
config changes.
kbuild-2.5-common-2.4.18-4.bz2. Changes from common-2.4.18-3 to common-2.4.18-4.
DocBook tweaks.
Add dummy dep rule for people who forget that make dep is not required.
New - support for 2.5 kernels, starting with 2.5.8-pre3. i386 only for
now, ia64 to follow.
kbuild-2.5-common-2.5.8-pre3-1.bz2.
Built from scratch, there was too much divergence between 2.4.18 and
2.5.8-pre3 Makefiles. The result was cross checked against Peter
Samuelson's patch for 2.5.6pre1, for which much thanks.
kbuild-2.5-i386-2.5.8-pre3-1.bz2
Mainly from i386-2.4.18-1, with updates for i386-2.5.8-pre3.
TODO:
Add config help to common-2.5.8-pre3-1. I could not decide where to
put the config help in 2.5 so I left it until -2.
Sync common-2.4.19-pre* with common-2.4.18-<n>. Will be done when
next 2.4.19-pre* kernel comes out.
Add 2.4.18-ia64-020410 support. Already supports 2.4.18-ia64-020226.
Add 2.5.8-pre3-ia64-020411 support.
Wait for other arch maintainers to roll patches against kernel 2.5.
Create Release 2.1 with the latest version of each kernel and arch branch.
See how stable release 2.1 is then contact Linus.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: Announce: Kernel Build for 2.5, Release 2.0 is available
2002-04-14 13:23 ` Keith Owens
@ 2002-04-16 1:58 ` Keith Owens
0 siblings, 0 replies; 20+ messages in thread
From: Keith Owens @ 2002-04-16 1:58 UTC (permalink / raw)
To: kbuild-devel; +Cc: linux-kernel
On Sun, 14 Apr 2002 23:23:16 +1000,
Keith Owens <kaos@ocs.com.au> wrote:
>Updates for kbuild 2.5 at
>http://sourceforge.net/project/showfiles.php?group_id=18813
>kbuild-2.5-i386-2.5.8-pre3-1.bz2
i386-2.5.8-pre3-1 was missing this bit, against i386-2.5.8-pre3-1.
Apply this patch or use kbuild-2.5-i386-2.5.8-pre3-2.bz2.
diff -urN 2.5.8-pre3-kbuild-2.5/arch/i386/kernel/Makefile.in 2.5.8-pre3-kbuild-2.5-save/arch/i386/kernel/Makefile.in
--- 2.5.8-pre3-kbuild-2.5/arch/i386/kernel/Makefile.in Tue Apr 16 11:09:25 2002
+++ 2.5.8-pre3-kbuild-2.5-save/arch/i386/kernel/Makefile.in Sun Apr 14 11:45:28 2002
@@ -27,5 +27,11 @@
# uses_asm_offsets(entry.o)
+# "Unterminated character constants", due to mismatched ' in comments
+extra_aflags(entry.o -traditional)
extra_aflags(head.o -traditional)
extra_aflags(trampoline.o -traditional)
+
+extra_cflags(acpi.o $(fixme_acpi_includes))
+extra_cflags(pci-irq.o $(fixme_acpi_includes))
+extra_cflags(setup.o $(fixme_acpi_includes))
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2002-04-16 1:58 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-04-05 11:26 Announce: Kernel Build for 2.5, Release 2.0 is available Keith Owens
2002-04-06 2:03 ` Keith Owens
2002-04-06 16:35 ` Russell King
2002-04-06 23:12 ` Keith Owens
2002-04-06 18:17 ` Larry McVoy
2002-04-07 14:18 ` Roman Zippel
2002-04-07 14:28 ` Keith Owens
2002-04-07 14:51 ` Roman Zippel
2002-04-07 14:53 ` Keith Owens
2002-04-07 15:38 ` Roman Zippel
2002-04-07 23:35 ` [kbuild-devel] " Brendan J Simon
2002-04-08 8:50 ` Keith Owens
2002-04-08 9:06 ` Roman Zippel
2002-04-08 12:04 ` Keith Owens
2002-04-09 13:08 ` Keith Owens
2002-04-09 19:00 ` [kbuild-devel] " Thomas Duffy
2002-04-10 1:11 ` Keith Owens
2002-04-10 11:48 ` Keith Owens
2002-04-14 13:23 ` Keith Owens
2002-04-16 1:58 ` Keith Owens
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox