Commit graph

290 commits

Author SHA1 Message Date
Linus Torvalds
7dcca30a32 Linux 2.6.22
Woo-hoo. I'm sure somebody will report a "this doesn't compile, and
I have a new root exploit" five minutes after release, but it still
feels good ;)

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-08 16:32:17 -07:00
Linus Torvalds
a38d6181ff Linux 2.6.22-rc7
Last -rc? That's the plan..
2007-07-01 12:54:24 -07:00
Linus Torvalds
189548642c Linus 2.6.22-rc6 2007-06-24 16:21:48 -07:00
Linus Torvalds
188e1f81ba Linux 2.6.22-rc5
The manatees, they are dancing!

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-06-16 19:09:12 -07:00
Linus Torvalds
5ecd3100e6 Linux 2.6.22-rc4 2007-06-04 17:57:25 -07:00
Linus Torvalds
c420bc9f09 Linux 2.6.22-rc3
It's that time of the year again.  Summer starts in the US, and people
want to sit at the beach with a new -rc candidate.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-25 19:55:14 -07:00
Linus Torvalds
55b637c6a0 Linux v2.6.22-rc2 2007-05-18 21:06:17 -07:00
Linus Torvalds
b46522394d Revert "[PATCH] x86: Drop cc-options call for all options supported in gcc 3.2+"
This reverts commit c8fdd24725.

It turns out the kernel was correct, and the gcc complaint was a gcc
bug.  The preferred stack boundary is expressed not in bytes, but in the
the log2() of the preferred boundary, so "-mpreferred-stack-boundary=2"
is in fact exactly what we want, but a gcc that is compiled for x86-64
will consider it an error (because the 64-bit calling sequence says that
the stack should be 16-byte aligned) even if we are then using "-m32" to
generate 32-bit code.

Noted-by: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
Cc: Jan Hubicka <jh@suse.cz>
Acked-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-17 20:18:11 -07:00
Linus Torvalds
39403865d2 Linux 2.6.22-rc1
.. close the merge window
2007-05-12 18:45:56 -07:00
Linus Torvalds
15700770ef Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (38 commits)
  kconfig: fix mconf segmentation fault
  kbuild: enable use of code from a different dir
  kconfig: error out if recursive dependencies are found
  kbuild: scripts/basic/fixdep segfault on pathological string-o-death
  kconfig: correct minor typo in Kconfig warning message.
  kconfig: fix path to modules.txt in Kconfig help
  usr/Kconfig: fix typo
  kernel-doc: alphabetically-sorted entries in index.html of 'htmldocs'
  kbuild: be more explicit on missing .config file
  kbuild: clarify the creation of the LOCALVERSION_AUTO string.
  kbuild: propagate errors from find in scripts/gen_initramfs_list.sh
  kconfig: refer to qt3 if we cannot find qt libraries
  kbuild: handle compressed cpio initramfs-es
  kbuild: ignore section mismatch warning for references from .paravirtprobe to .init.text
  kbuild: remove stale comment in modpost.c
  kbuild/mkuboot.sh: allow spaces in CROSS_COMPILE
  kbuild: fix make mrproper for Documentation/DocBook/man
  kbuild: remove kconfig binaries during make mrproper
  kconfig/menuconfig: do not hardcode '.config'
  kbuild: override build timestamp & version
  ...
2007-05-06 13:21:57 -07:00
Sam Ravnborg
c53aeca059 kbuild: complain about missing system calls
Most system calls seems to get added to i386 first. This patch
automatically generates a warning for any new system call which is
implemented on i386 but not the architecture currently being compiled.
On PowerPC at the moment, for example, it results in these warnings:
init/missing_syscalls.h:935:3: warning: #warning syscall sync_file_range not implemented
init/missing_syscalls.h:947:3: warning: #warning syscall getcpu not implemented
init/missing_syscalls.h:950:3: warning: #warning syscall epoll_pwait not implemented

The file scripts/checksyscalls.sh list a number of legacy system calls
that are ignored because they only makes sense on i386 systems.

Other contributors to this patch are Russell King <rmk+lkml@arm.linux.org.uk>
and Stéphane Jourdois <kwisatz@rubis.org>

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2007-05-02 20:58:09 +02:00
Don Mullis
dd7e54ade8 kbuild: move tags from ARCH and include/ ahead of drivers
Move tags extracted from the ARCH and include/ sub-trees ahead of
those from device drivers, so that the former will appear first
during searches.

Saves user time during interactive searches for certain patterns
that happen to find unwanted matches in driver files.

Example in emacs:
	 "M-x find-tag PAGE_SIZE"
	 "M-1 M-." (repeated until definition from asm-i386/page.h appears)

Signed-off-by: Don Mullis <dwm@meer.net>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2007-05-02 20:58:09 +02:00
Uwe Zeisberger
2462566f21 kbuild: add a missing slash in the comments
Signed-off-by: Uwe Zeisberger <zeisberg@informatik.uni-freiburg.de>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2007-05-02 20:58:08 +02:00
Sam Ravnborg
85bd2fddd6 kbuild: fix section mismatch check for vmlinux
vmlinux does not contain relocation entries which is
used by the section mismatch checks.
Reported by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>

Use the individual objects as inputs to overcome
this limitation.
In modpost check the .o files and skip non-ELF files.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2007-05-02 20:58:07 +02:00
Andi Kleen
c8fdd24725 [PATCH] x86: Drop cc-options call for all options supported in gcc 3.2+
The kernel only supports gcc 3.2+ now so it doesn't make sense
anymore to explicitely check for options this compiler version
already has.

This actually fixes a bug. The -mprefered-stack-boundary check
never worked because gcc rightly complains

  CC      arch/i386/kernel/asm-offsets.s
cc1: -mpreferred-stack-boundary=2 is not between 4 and 12

We just never saw the error because of cc-options.
I changed it to 4 to actually work.

Tested by compiling i386 and x86-64 defconfig with gcc 3.2.

Should speed up the build time a tiny bit and improve
stack usage on i386 slightly.

Signed-off-by: Andi Kleen <ak@suse.de>
2007-05-02 19:27:06 +02:00
Linus Torvalds
de46c33745 Linux 2.6.21
.. ok, enough waffling about it already. "Just do it!"

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-04-25 20:08:32 -07:00
Linus Torvalds
94a05509a9 Linux 2.6.21-rc7
I tend to prefer to not have to cut an -rc7, but we still have some
network device driver and suspend issues. So here's -rc7.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-04-15 16:50:57 -07:00
Linus Torvalds
a21bd69e15 Linux 2.6.21-rc6
.. perfect? Ahh, sure.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-04-05 19:36:56 -07:00
Linus Torvalds
e0f2e3a06b Linux 2.6.21-rc5
.. hopefully most of the fallout of the timer changes is contained now.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-03-25 15:56:23 -07:00
Linus Torvalds
db98e0b434 Linux 2.6.21-rc4
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-03-15 17:20:01 -07:00
Linus Torvalds
08e15e81a4 Linux 2.6.21-rc3
.. hopefully most of the resume/suspend problems introduced by the timer
and other changes are behind us.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-03-06 20:41:20 -08:00
Linus Torvalds
606135a308 Linux 2.6.21-rc2
Too many changes for comfort since -rc1.  Some missed merges, and some
just annoyingly big fixes since.  This is not how an -rc2 should look.
Need to really calm things down!
2007-02-27 20:59:12 -08:00
Linus Torvalds
c8f71b01a5 Linux 2.6.21-rc1 2007-02-20 20:32:30 -08:00
Mike Frysinger
1f85712e6e [PATCH] new toplevel target: headers_check_all
Add new headers_check_all target for checking all arches in one go.

Useful for distros (and people with too much time on their hands) that support
a ton of architectures, headers_check_all is to headers_check as
headers_install_all is to headers_install

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-14 08:09:52 -08:00
Robert P. J. Day
d395efb544 [PATCH] Kbuild: Remove references to deprecated "prepare-all" target from Makefile
Remove references to the deprecated "make prepare-all" target from the
top-level Makefile; use just "make prepare" instead.

Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Acked-by: Oleg Verych <olecom@flower.upol.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-14 08:09:52 -08:00
Linus Torvalds
fd19e44f44 don't use 'localversion*' files twice
Since we look in both source and object directories for localversion*
files, we accidentally ended up getting them twice.  Use 'sort -u' to
avoid that.

Reported-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-12 15:05:15 -08:00
Oleg Verych
76c329563c [PATCH] kbuild: correctly skip tilded backups in localversion files
Tildes as in path as in filenames are handled correctly now:
 only files, containing tilde '~', are backups, thus are not valid.

 [KJ]:
 Definition of `space' was removed, scripts/Kbuild.include has one.
 That definition was taken right from the GNU make manual, while Kbuild's
 version is original.

Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Bastian Blank <bastian@waldi.eu.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Oleg Verych <olecom@flower.upol.cz>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-06 14:30:49 -08:00
Linus Torvalds
62d0cfcb27 Linux 2.6.20 2007-02-04 10:44:54 -08:00
Linus Torvalds
f56df2f4db Linux 2.6.20-rc7
Ok, so I said there wouldn't be another -rc.

I lied.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-01-30 19:42:57 -08:00
Geert Uytterhoeven
59df3230fc [PATCH] `make help' in build tree doesn't show headers_* targets
`make help' in the build tree doesn't show the help texts about the
`headers_install' and `headers_check' targets because it looks for
include/asm-$(ARCH)/Kbuild in the wrong place.
Add the missing `$(srctree)' prefixes to fix this.
Also move the printing of the default install path for the headers inside the
`if/fi', where it belongs.

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Acked-by: Oleg Verych <olecom@flower.upol.cz>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-01-30 08:28:16 -08:00
Linus Torvalds
99abfeafb5 Linux 2.6.20-rc6 2007-01-24 18:19:28 -08:00
Linus Torvalds
a8b3485287 Linux v2.6.20-rc5 2007-01-12 10:54:26 -08:00
Roman Zippel
3eb3c740f5 [PATCH] fix linux banner format string
Revert previous attempts at messing with the linux banner string and
simply use a separate format string for proc.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Acked-by: Olaf Hering <olaf@aepfle.de>
Acked-by: Jean Delvare <khali@linux-fr.org>
Cc: Andrey Borzenkov <arvidjaar@mail.ru>
Cc: Andrew Morton <akpm@osdl.org>
Cc: Andy Whitcroft <apw@shadowen.org>
Cc: Herbert Poetzl <herbert@13thfloor.at>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2007-01-10 09:33:59 -08:00
Linus Torvalds
bf81b46482 Linux 2.6.20-rc4 2007-01-06 21:45:51 -08:00
Linus Torvalds
669df1b478 Linux 2.6.20-rc3
...because it's always a good idea to cut a release *before* you go out
to party and get drunk.

Remember kids: "Don't Drink and Release!"
2006-12-31 16:53:20 -08:00
Mikael Pettersson
d449db98d5 [PATCH] fix mrproper incompleteness
include/linux/utsrelease.h and include/linux/version.h aren't removed any
more by mrproper in kernel 2.6.20-rc2.  The patch below fixes this.

The definition of MRPROPER_FILES looks weird: generated-headers looks like
a misspelling of generated_headers, but that one is a Makefile target, not
a variable or a file, so I don't see how including it in MRPROPER_FILES
could have any effect.

Signed-off-by: Mikael Pettersson <mikpe@it.uu.se>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-30 10:56:41 -08:00
Linus Torvalds
3bf8ba38f3 Linux 2.6.20-rc2 2006-12-23 20:00:32 -08:00
Andrew Morton
ef129412b4 [PATCH] build compile.h earlier
compile.h is created super-late in the build.  But proc_misc.c want to include
it, and it's generally not sane to have a header file in include/linux be
created at the end of the build: it's either not present or, worse, wrong for
most of the build.

So the patch arranges for compile.h to be built at the start of the build
process.  It also consolidates the compile.h rules with those for version.h
and utsname.h, so they all get built together.

I hope.  My chances of having got this right are about 2%.

Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-22 08:55:51 -08:00
Linus Torvalds
d1526e2cda Remove stack unwinder for now
It has caused more problems than it ever really solved, and is
apparently not getting cleaned up and fixed.  We can put it back when
it's stable and isn't likely to make warning or bug events worse.

In the meantime, enable frame pointers for more readable stack traces.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-15 08:47:51 -08:00
Linus Torvalds
cc016448b0 Linux v2.6.20-rc1
.. and so the stabilization phase starts.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-13 17:14:23 -08:00
Jeff Dike
011e3a9ad4 [PATCH] Fix crossbuilding checkstack
The previous checkstack fix for UML, which needs to use the host's tools,
was wrong in the crossbuilding case.  It would use the build host's, rather
than the target's, toolchain.

This patch removes the old fix and adds an explicit special case for UML,
leaving everyone else alone.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-13 09:05:48 -08:00
Samuel Tardieu
5ea084ef9c Use consistent casing in help message
Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-12-12 19:09:40 +01:00
Oleg Verych
15964864c0 [PATCH] kbuild: fix-rR-is-now-default
`make -d help | grep Makefile` shows patterns, where make tries to rebuild
included and top makefiles.

While `make -rR is now default' commit should fix this, actually, it was just
a little janitorial.

This fix is aimed to complete cancelling implicit rules.

Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Oleg Verych <olecom@flower.upol.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-10 09:55:39 -08:00
Linus Torvalds
0215ffb08c Linux 2.6.19
It's all good.
2006-11-29 13:57:37 -08:00
Linus Torvalds
44597f65f6 Linux 2.6.19-rc6
Getting there.  Hopefully the MSI and other interrupt problems are all
solved now.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-11-15 20:03:40 -08:00
Linus Torvalds
80c2188127 Linux 2.6.19-rc5
Ok, things are clearly starting to calm down.. Finally.
2006-11-07 18:24:20 -08:00
Linus Torvalds
ae99a78af3 Linux 2.6.19-rc4
Not halloween. Not scary. Just a regular -rc release.
2006-10-30 19:37:36 -08:00
Linus Torvalds
7059abedd2 Linux 2.6.19-rc3 2006-10-23 16:02:02 -07:00
Jan Beulich
690a973f48 [PATCH] x86-64: Speed up dwarf2 unwinder
This changes the dwarf2 unwinder to do a binary search for CIEs
instead of a linear work. The linker is unfortunately not
able to build a proper lookup table at link time, instead it creates
one at runtime as soon as the bootmem allocator is usable (so you'll continue
using the linear lookup for the first [hopefully] few calls).
The code should be ready to utilize a build-time created table once
a fixed linker becomes available.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Andi Kleen <ak@suse.de>
2006-10-21 18:37:01 +02:00
Aneesh Kumar K.V
91b943ee4a [PATCH] Add entry.S labels to tag file
Add functions defined using ENTRY macro to the tags file.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@gmail.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-17 08:18:48 -07:00
Linus Torvalds
b4bd8c6643 Linux 2.6.19-rc2
That was slightly more painful than really necessary..
2006-10-13 09:25:04 -07:00
David Woodhouse
0e7af8d04e [PATCH] Fix headers_check for O= builds; disable automatic check on UML.
* make header_check work with O=

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-13 08:35:39 -07:00
David Woodhouse
0f836e5fec [PATCH] Add CONFIG_HEADERS_CHECK option to automatically run 'make headers_check'
In order to encourage people to notice when they break the exported
headers, add a config option which automatically runs the sanity checks
when building vmlinux.  That way, those who use allyesconfig will notice
failures.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-11 11:14:21 -07:00
Linus Torvalds
d223a60106 Linux 2.6.19-rc1
Merge window closed..
2006-10-04 19:57:05 -07:00
David Gibson
18e39913d4 [PATCH] Fix spurious error on TAGS target when missing defconfig
Not all architectures have a file named 'defconfig' (e.g.  powerpc).
However the make TAGS and make tags targets search such files for tags,
causing an error message when they don't exist.  This patch addresses the
problem by instructing xargs not to run the tags program if there are no
matching files.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-04 07:55:14 -07:00
Jeff Dike
e3ccf6e369 [PATCH] uml: add checkstack support
Make checkstack work for UML.  We need to pass the underlying architecture
name, rather than "um" to checkstack.pl.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Acked-by: Matt Mackall <mpm@selenic.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-27 08:26:16 -07:00
David Woodhouse
2722de7fed Don't remove $(INSTALL_HDR_PATH)/install before headers_install.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-09-24 23:44:57 +01:00
Linus Torvalds
398477d4bd Merge git://git.infradead.org/~dwmw2/khdrs-2.6
* git://git.infradead.org/~dwmw2/khdrs-2.6:
  New 'make headers_install_all' target.
  Use dependencies for 'make headers_install'.
  [S390] Unexport <asm/z90crypt.h>, export <asm/zcrypt.h> in its place.
  Remove dead netfilter_logging.h from include/linux/Kbuild
  Remove offsetof() from user-visible <linux/stddef.h>
  Clean up exported headers on CRIS
  Fix v850 exported headers
  Don't advertise (or allow) headers_{install,check} where inappropriate.
  Remove UML header export
  Remove ARM26 header export.
  Fix H8300 exported headers.
  Fix m68knommu exported headers
  Fix exported headers for SPARC, SPARC64
  Fix 'make headers_check' on m32r
  Fix 'make headers_check' on sh64
  Fix 'make headers_check' on sh
  [HEADERS] Fix ARM 'make headers_check'

Initial pass of manual conflict resolution in top-level Makefile over
conflicting build rule and headers_install changes.
2006-09-24 14:55:52 -07:00
Jesper Juhl
5cc8d246d0 kbuild: add distclean info to 'make help' and more details for 'clean'
Add distclean info, that was previously missing, to 'make help'.
Also add a few more details to the 'make clean' help text.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-09-25 20:21:54 +02:00
Robert P. J. Day
1ef9885690 kbuild: correct and clarify versioning info in Makefile
The attached patch clarifies the creation of KERNELRELEASE and
corrects an error regarding the use of $(LOCALVERSION).

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-09-25 10:50:14 +02:00
Aron Griffis
da7c04083c kbuild: Extend kbuild/defconfig tags support to exuberant ctags
The following patch extends kbuild/defconfig tags support to exuberant
ctags.  The previous support is only for emacs ctags/etags programs.

This patch also corrects the kconfig regex for the emacs invocation.
Previously it would miss some instances because it assumed /^config
instead of /^[ \t]*config

Signed-off-by: Aron Griffis <aron@hp.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-09-25 10:24:20 +02:00
Robert P. J. Day
1c7bafe720 kbuild: clarify "make C=" build option
Clarify the use of "make C=" in the top-level Makefile, and fix a
typo in the Documentation file.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-09-25 10:10:56 +02:00
Robert P. J. Day
b32c826847 kbuild: update help in top level Makefile
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-09-25 10:02:52 +02:00
Sam Ravnborg
4635281c8e kbuild: preperly align SYSMAP output
Align filenames for SYSMAP with other filenames

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-09-25 09:01:49 +02:00
Sam Ravnborg
b805aa0e79 kbuild: make -rR is now default
Do not specify -rR anymore - it is default.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-09-25 09:01:49 +02:00
Sam Ravnborg
45d506bd65 kbuild: make V=2 tell why a target is rebuild
tell why a a target got build
   enabled by make V=2
      Output (listed in the order they are checked):
         (1) - due to target is PHONY
         (2) - due to target missing
         (3) - due to: file1.h file2.h
         (4) - due to command line change
         (5) - due to missing .cmd file
         (6) - due to target not in $(targets)
(1) We always build PHONY targets
(2) No target, so we better build it
(3) Prerequisite is newer than target
(4) The command line stored in the file named dir/.target.cmd
    differed from actual command line. This happens when compiler
    options changes
(5) No dir/.target.cmd file (used to store command line)
(6) No dir/.target.cmd file and target not listed in $(targets)
    This is a good hint that there is a bug in the kbuild file

This patch is inspired by a patch from: Milton Miller <miltonm@bga.com>

Cc: Milton Miller <miltonm@bga.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-09-25 09:01:49 +02:00
Sam Ravnborg
12715d20af kbuild: modpost on vmlinux regardless of CONFIG_MODULES
Based on patch from: Magnus Damm <magnus@valinux.co.jp>
This has the advantage that all section mismatch checks are run regardless
of modules being enabled or not.

When running modpost on vmlinux output:
MODPOST vmlinux

When running modpost on modules output count of modules like this:
MODPOST 5 modules

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-09-25 09:01:49 +02:00
Sam Ravnborg
07aea3a71f kbuild: use in-kernel unifdef
Let headers_install use in-kernel unifdef

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-09-25 09:00:01 +02:00
David Woodhouse
6d71627581 New 'make headers_install_all' target.
Install headers for _all_ architectures, suitable for making a tarball
release or extracting them for use in a separate package.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-09-24 22:16:03 +01:00
David Woodhouse
de78912582 Use dependencies for 'make headers_install'.
Re-export header files only if either they or their controlling Kbuild
file has actually changed. Also allow for similar dependencies with
'headers_check', once we properly create the dependencies for those.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-09-24 22:15:14 +01:00
David Woodhouse
f17b7bad39 Don't advertise (or allow) headers_{install,check} where inappropriate.
For architectures which don't have the include/asm-$(ARCH)/Kbuild file,
like ARM26, UM, etc.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-09-21 09:01:45 +01:00
Linus Torvalds
e478bec0ba Linux v2.6.18. Arrr!
Ahoy, all land-lubbers, test me out right smartly!

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-19 20:42:06 -07:00
David Woodhouse
271fc18eea [PATCH] Add headers_check' target to output of 'make help'
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-19 07:59:59 -07:00
David Woodhouse
1ab7a1f3b4 [PATCH] headers_check: use a different default directory
`make headers_check' wants to go and write stuff in /lib/modules, which
requires root, whic is unfortunate.

In fact, there's no _particular_ reason for headers_install to put it there
either -- it can go into a subdirectory of the build tree in both cases.
It's not intended to go directly into /usr/include, which is why we didn't
put it there -- and we certainly don't want people screwing around with
symlinking to it.  It's for distributors to take away and do stuff with, so
leaving it in $(objtree) is fine, even in the headers_install case.

I picked $(objtree)/usr/include but I have no _particular_ preference
for that; it just seemed reasonable.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-16 12:54:32 -07:00
Linus Torvalds
95064a75eb Linux v2.6.18-rc7
One last time..
2006-09-12 18:41:36 -07:00
Linus Torvalds
c336923b66 Linux 2.6.18-rc6 2006-09-03 19:19:48 -07:00
Linus Torvalds
60d4684068 Linux v2.6.18-rc5 2006-08-27 20:41:48 -07:00
Greg Kroah-Hartman
774bd8613d Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-2.6.18 2006-08-16 12:41:16 -07:00
Sam Ravnborg
c9eca0b910 kbuild: correct assingment to CFLAGS with CROSS_COMPILE
Some architectures change $CC in arch/$(ARCH)/Makefile
mips is one example.

That have impact on what options are supported by gcc so move all
$(call cc-option, ...) after include of arch specific Makefile.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-08-16 21:14:08 +02:00
Greg Kroah-Hartman
20dbfad8e5 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-2.6.18 2006-08-07 13:39:55 -07:00
Sam Ravnborg
9ee4e3365d kbuild: external modules shall not check config consistency
external modules needs include/linux/autoconf.h and include/config/auto.conf
but skip the integrity test of these. Even with a newer Kconfig file we
shall just proceed since external modules simply uses the kernel source and
shall not attempt to modify it.
Error out if a config fiel is missing since they are mandatory.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-08-07 21:01:36 +02:00
Linus Torvalds
9f737633e6 Linux v2.6.18-rc4 2006-08-06 11:20:11 -07:00
Sam Ravnborg
eb2cafa1d9 kbuild: -fno-stack-protector is not good
Ubuntu gcc has hardcoded -fstack-protector - but does not understand
-fno-stack-protector-all. So only try -fno-stack-protector.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-08-01 11:32:46 +02:00
Sam Ravnborg
667918a4cc kbuild: version.h and new headers_* targets does not require a kernel config
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-08-01 11:32:46 +02:00
Linus Torvalds
b6ff50833a Linux v2.6.18-rc3 2006-07-29 23:15:36 -07:00
Linus Torvalds
82d6897fef Linux 2.6.18-rc2
Finishing up for the kernel summit. Ottawa, here I come.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-15 14:53:08 -07:00
Linus Torvalds
120bda20c6 Linux 2.6.18-rc1
It's all good.
2006-07-05 21:09:49 -07:00
Andreas Schwab
e340221acd [PATCH] Makefile typo
Fix a typo in the toplevel makefile.

Signed-off-by: Andreas Schwab <schwab@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-05 10:08:16 -07:00
Linus Torvalds
6fa0cb1141 Merge git://git.infradead.org/hdrinstall-2.6
* git://git.infradead.org/hdrinstall-2.6:
  Remove export of include/linux/isdn/tpam.h
  Remove <linux/i2c-id.h> and <linux/i2c-algo-ite.h> from userspace export
  Restrict headers exported to userspace for SPARC and SPARC64
  Add empty Kbuild files for 'make headers_install' in remaining arches.
  Add Kbuild file for Alpha 'make headers_install'
  Add Kbuild file for SPARC 'make headers_install'
  Add Kbuild file for IA64 'make headers_install'
  Add Kbuild file for S390 'make headers_install'
  Add Kbuild file for i386 'make headers_install'
  Add Kbuild file for x86_64 'make headers_install'
  Add Kbuild file for PowerPC 'make headers_install'
  Add generic Kbuild files for 'make headers_install'
  Basic implementation of 'make headers_check'
  Basic implementation of 'make headers_install'
2006-07-04 12:55:45 -07:00
Sam Ravnborg
63104eec23 kbuild: introduce utsrelease.h
include/linux/version.h contained both actual KERNEL version
and UTS_RELEASE that contains a subset from git SHA1 for when
kernel was compiled as part of a git repository.
This had the unfortunate side-effect that all files including version.h
would be recompiled when some git changes was made due to changes SHA1.
Split it out so we keep independent parts in separate files.

Also update checkversion.pl script to no longer check for UTS_RELEASE.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-07-03 23:30:54 +02:00
Sam Ravnborg
34c162f79e kbuild: explicit turn off gcc stack-protector
Ubuntu has enabled -fstack-protector per default in gcc
breaking kernel build. Explicit turn it off for now.
Later we may decide to make it configurable if the
kernel starts to support it.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-07-02 20:21:49 +02:00
Dustin Kirkland
701842e3bd kbuild: documentation change on allowing checkers besides sparse
Minor documentation change on allowing checkers besides sparse

This patch cleans up a couple of mentions of sparse in the inline
toplevel Makefile documentation such that it's clear that other checkers
besides sparse can override CHECK and CHECKFLAGS.

Signed-off-by: Dustin Kirkland <dustin.kirkland@us.ibm.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-07-01 17:08:33 +02:00
Sam Ravnborg
5e8d780d74 kbuild: fix ia64 breakage after introducing make -rR
kbuild used $¤(*F to get filename of target without extension.
This was used in several places all over kbuild, but introducing
make -rR broke his for all cases where we specified full path to
target/prerequsite. It is assumed that make -rR disables old style
suffix-rules which is why is suddenly failed.

ia64 was impacted by this change because several div* routines in
arch/ia64/lib are build using explicit paths and then kbuild failed.

Thanks to David Mosberger-Tang <David.Mosberger@acm.org> for an explanation
what was the root-cause and for testing on ia64.

This patch also fixes two uses of $(*F) in arch/um

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-07-01 09:58:02 +02:00
Linus Torvalds
2a2ed2db35 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (40 commits)
  kbuild: trivial fixes in Makefile
  kbuild: adding symbols in Kconfig and defconfig to TAGS
  kbuild: replace abort() with exit(1)
  kbuild: support for %.symtypes files
  kbuild: fix silentoldconfig recursion
  kbuild: add option for stripping modules while installing them
  kbuild: kill some false positives from modpost
  kbuild: export-symbol usage report generator
  kbuild: fix make -rR breakage
  kbuild: append -dirty for updated but uncommited changes
  kbuild: append git revision for all untagged commits
  kbuild: fix module.symvers parsing in modpost
  kbuild: ignore make's built-in rules & variables
  kbuild: bugfix with initramfs
  kbuild: modpost build fix
  kbuild: check license compatibility when building modules
  kbuild: export-type enhancement to modpost.c
  kbuild: add dependency on kernel.release to the package targets
  kbuild: `make kernelrelease' speedup
  kconfig: KCONFIG_OVERWRITECONFIG
  ...
2006-06-26 11:05:15 -07:00
Sam Ravnborg
070b98bfda kbuild: trivial fixes in Makefile
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-06-25 00:07:55 +02:00
Masatake YAMATO
e838db685f kbuild: adding symbols in Kconfig and defconfig to TAGS
I'm using TAGS generated from "make TAGS" to read the kernel source code.

When I met a ifdef block

	  #ifdef CONFIG_FOO
	  	 ...
	  #endif

in the soruce code I would like to know the meaning CONFIG_FOO
to decide whether I should read inside the ifdef block
or not. meaning CONFIG_FOO is well documented in Kconfig.
So it is nice if I can jump to CONFIG_FOO entry in Kconfig
from "#ifdef CONFIG_FOO" with the tag jump.

Here is the patch to add symbols in Kconfig and defconfig to TAGS
in "make TAGS" operation.

Signed-off-by: Masatake YAMATO <jet@gyve.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-06-24 23:52:05 +02:00
Andreas Gruenbacher
15fde67518 kbuild: support for %.symtypes files
Here is a patch that adds a new -T option to genksyms for generating dumps of
the type definition that makes up the symbol version hashes. This allows to
trace modversion changes back to what caused them. The dump format is the
name of the type defined, followed by its definition (which is almost C):

  s#list_head struct list_head { s#list_head * next , * prev ; }

The s#, u#, e#, and t# prefixes stand for struct, union, enum, and typedef.
The exported symbols do not define types, and thus do not have an x# prefix:

  nfs4_acl_get_whotype int nfs4_acl_get_whotype ( char * , t#u32 )

The symbol type defintion of a single file can be generated with:

  make fs/jbd/journal.symtypes

If KBUILD_SYMTYPES is defined, all the *.symtypes of all object files that
export symbols are generated.

The single *.symtypes files can be combined into a single file after a kernel
build with a script like the following:

for f in $(find -name '*.symtypes' | sort); do
    f=${f#./}
    echo "/* ${f%.symtypes}.o */"
    cat $f
    echo
done \
| sed -e '\:UNKNOWN:d' \
      -e 's:[,;] }:}:g' \
      -e 's:\([[({]\) :\1:g' \
      -e 's: \([])},;]\):\1:g' \
      -e 's: $::' \
      $f \
| awk '
/^.#/   { if (defined[$1] == $0) {
            print $1
            next
          }
          defined[$1] = $0
        }
        { print }
'

When the kernel ABI changes, diffing individual *.symtype files, or the
combined files, against each other will show which symbol changes caused the
ABI changes. This can save a tremendous amount of time.

Dump the types that make up modversions

Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-06-24 23:42:46 +02:00
Roman Zippel
3041e47e8b kbuild: fix silentoldconfig recursion
kconfig-fix-config-dependencies causes this:

make CC=cc  KBUILD_VERBOSE=1 -C /usr/src/25 SUBDIRS=/home/akpm/NVIDIA-Linux-x86_64-1.0-8762-pkg2/usr/src/nv modules
make -f /usr/src/devel/Makefile silentoldconfig
make -f /usr/src/devel/Makefile silentoldconfig
make -f /usr/src/devel/Makefile silentoldconfig

The basic problem is if we compile external modules, config-targets isn't
set which can cause recursive calls to silentoldconfig to update the
kernel configuration.

Bail out and ask the user to update manually.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-06-24 23:32:37 +02:00
Theodore Ts'o
ac031f26e8 kbuild: add option for stripping modules while installing them
Add option for stripping modules while installing them.

This function adds support for stripping modules while they are being
installed.  CONFIG_DEBUG_KERNEL (which will probably become more
popular as developers use kdump) causes the size of the installed
modules to grow by a factor of 9 or so.

Some kernel package systems solve this problem by stripping the debug
information from /lib/modules after running "make modules_install",
but that may not work for people who are installing directly into
/lib/modules --- root partitions that were sized to handle 16 megs
worth of modules may not be quite so happy with 145 megs of modules,
so the "make modules_install" never succeeds.

This patch allows such users to request modules_install to strip the
modules as they are installed.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-06-24 23:16:45 +02:00
David Woodhouse
684753599a Basic implementation of 'make headers_check'
Based on the 'headers_install' target, this performs a basic sanity check
on the exported headers -- so far only checking that they do not include
any other headers which aren't selected for import, but easily extendable.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-06-18 12:02:10 +01:00