* [GIT] kbuild
@ 2009-04-19 9:25 Sam Ravnborg
2009-04-19 22:39 ` Paul Mundt
0 siblings, 1 reply; 21+ messages in thread
From: Sam Ravnborg @ 2009-04-19 9:25 UTC (permalink / raw)
To: Linus Torvalds, linux-kbuild, LKML, Andrew Morton
Cc: Russell King, Ingo Molnar, H. Peter Anvin, Thomas Gleixner, Al Viro
Hi Linus.
We have on the lists recently discussed two features:
1) Move generated files to include/generated
2) Introduce support for subdir-ccflags-y
Both features has low risk of introducing regressions
and including them now allow us to use the features for next
merge window.
This will for example allow arm to support mach-types.h in
include/generated without touching files outside arch/arm.
Please pull.
Sam
The following changes since commit ff54250a0ebab7f90a5f848a0ba63f999830c872:
Linus Torvalds (1):
Remove 'recurse into child resources' logic from 'reserve_region_with_split()'
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes.git master
Sam Ravnborg (2):
kbuild: support include/generated
kbuild: introduce subdir-ccflags-y
.gitignore | 1 +
Documentation/kbuild/makefiles.txt | 10 ++++++++++
Makefile | 2 +-
scripts/Makefile.build | 3 +++
scripts/Makefile.lib | 9 +++++++--
5 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/.gitignore b/.gitignore
index 869e1a3..51bd99d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -49,6 +49,7 @@ include/linux/compile.h
include/linux/version.h
include/linux/utsrelease.h
include/linux/bounds.h
+include/generated
# stgit generated dirs
patches-*
diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
index d4b0567..d76cfd8 100644
--- a/Documentation/kbuild/makefiles.txt
+++ b/Documentation/kbuild/makefiles.txt
@@ -316,6 +316,16 @@ more details, with real examples.
#arch/m68k/fpsp040/Makefile
ldflags-y := -x
+ subdir-ccflags-y, subdir-asflags-y
+ The two flags listed above are similar to ccflags-y and as-falgs-y.
+ The difference is that the subdir- variants has effect for the kbuild
+ file where tey are present and all subdirectories.
+ Options specified using subdir-* are added to the commandline before
+ the options specified using the non-subdir variants.
+
+ Example:
+ subdir-ccflags-y := -Werror
+
CFLAGS_$@, AFLAGS_$@
CFLAGS_$@ and AFLAGS_$@ only apply to commands in current
diff --git a/Makefile b/Makefile
index bfdef56..6f4208f 100644
--- a/Makefile
+++ b/Makefile
@@ -1200,7 +1200,7 @@ CLEAN_FILES += vmlinux System.map \
.tmp_kallsyms* .tmp_version .tmp_vmlinux* .tmp_System.map
# Directories & files removed with 'make mrproper'
-MRPROPER_DIRS += include/config include2 usr/include
+MRPROPER_DIRS += include/config include2 usr/include include/generated
MRPROPER_FILES += .config .config.old include/asm .version .old_version \
include/linux/autoconf.h include/linux/version.h \
include/linux/utsrelease.h \
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 39a9642..5c4b7a4 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -27,6 +27,9 @@ ccflags-y :=
cppflags-y :=
ldflags-y :=
+subdir-asflags-y :=
+subdir-ccflags-y :=
+
# Read auto.conf if it exists, otherwise ignore
-include include/config/auto.conf
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 9796195..cba61ca 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -4,6 +4,11 @@ ccflags-y += $(EXTRA_CFLAGS)
cppflags-y += $(EXTRA_CPPFLAGS)
ldflags-y += $(EXTRA_LDFLAGS)
+#
+# flags that take effect in sub directories
+export KBUILD_SUBDIR_ASFLAGS := $(KBUILD_SUBDIR_ASFLAGS) $(subdir-asflags-y)
+export KBUILD_SUBDIR_CCFLAGS := $(KBUILD_SUBDIR_CCFLAGS) $(subdir-ccflags-y)
+
# Figure out what we need to build from the various variables
# ===========================================================================
@@ -104,10 +109,10 @@ else
debug_flags =
endif
-orig_c_flags = $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) \
+orig_c_flags = $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(KBUILD_SUBDIR_CCFLAGS) \
$(ccflags-y) $(CFLAGS_$(basetarget).o)
_c_flags = $(filter-out $(CFLAGS_REMOVE_$(basetarget).o), $(orig_c_flags))
-_a_flags = $(KBUILD_CPPFLAGS) $(KBUILD_AFLAGS) \
+_a_flags = $(KBUILD_CPPFLAGS) $(KBUILD_AFLAGS) $(KBUILD_SUBDIR_ASFLAGS) \
$(asflags-y) $(AFLAGS_$(basetarget).o)
_cpp_flags = $(KBUILD_CPPFLAGS) $(cppflags-y) $(CPPFLAGS_$(@F))
^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [GIT] kbuild
2009-04-19 9:25 [GIT] kbuild Sam Ravnborg
@ 2009-04-19 22:39 ` Paul Mundt
2009-04-19 23:45 ` Sam Ravnborg
0 siblings, 1 reply; 21+ messages in thread
From: Paul Mundt @ 2009-04-19 22:39 UTC (permalink / raw)
To: Sam Ravnborg
Cc: Linus Torvalds, linux-kbuild, LKML, Andrew Morton, Russell King,
Ingo Molnar, H. Peter Anvin, Thomas Gleixner, Al Viro
On Sun, Apr 19, 2009 at 11:25:55AM +0200, Sam Ravnborg wrote:
> We have on the lists recently discussed two features:
> 1) Move generated files to include/generated
> 2) Introduce support for subdir-ccflags-y
>
> Both features has low risk of introducing regressions
> and including them now allow us to use the features for next
> merge window.
>
> This will for example allow arm to support mach-types.h in
> include/generated without touching files outside arch/arm.
>
This applies to sh also, although apparently I've missed the discussion
about how mach-types.h generation should be using this.
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [GIT] kbuild
2009-04-19 22:39 ` Paul Mundt
@ 2009-04-19 23:45 ` Sam Ravnborg
2009-04-20 0:52 ` Linus Torvalds
0 siblings, 1 reply; 21+ messages in thread
From: Sam Ravnborg @ 2009-04-19 23:45 UTC (permalink / raw)
To: Paul Mundt, Linus Torvalds, linux-kbuild, LKML, Andrew Morton,
Russell King, Ingo Molnar, H. Peter Anvin, Thomas Gleixner,
Al Viro
On Mon, Apr 20, 2009 at 07:39:59AM +0900, Paul Mundt wrote:
> On Sun, Apr 19, 2009 at 11:25:55AM +0200, Sam Ravnborg wrote:
> > We have on the lists recently discussed two features:
> > 1) Move generated files to include/generated
> > 2) Introduce support for subdir-ccflags-y
> >
> > Both features has low risk of introducing regressions
> > and including them now allow us to use the features for next
> > merge window.
> >
> > This will for example allow arm to support mach-types.h in
> > include/generated without touching files outside arch/arm.
> >
> This applies to sh also, although apparently I've missed the discussion
> about how mach-types.h generation should be using this.
You will soon see a path from me where I fix sh too.
Sam
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [GIT] kbuild
2009-04-19 23:45 ` Sam Ravnborg
@ 2009-04-20 0:52 ` Linus Torvalds
2009-04-20 1:41 ` Al Viro
2009-04-20 4:42 ` Sam Ravnborg
0 siblings, 2 replies; 21+ messages in thread
From: Linus Torvalds @ 2009-04-20 0:52 UTC (permalink / raw)
To: Sam Ravnborg
Cc: Paul Mundt, linux-kbuild, LKML, Andrew Morton, Russell King,
Ingo Molnar, H. Peter Anvin, Thomas Gleixner, Al Viro
On Mon, 20 Apr 2009, Sam Ravnborg wrote:
>
> You will soon see a path from me where I fix sh too.
Can we do a global 'sed s:asm/asm-offsets.h:generated/asm-offsets.h:g'
thing too? And then get rid of the include/asm symlink?
That asm-offsets.h mess is scary. I don't quite know why kvm on ia64 seems
to do it's own asm-offsets.h file, for example. And arch/blackfin/Makefile
mentions arch/$(ARCH)/include/asm/asm-offsets.h (but does it actually do
one?).
Linus
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [GIT] kbuild
2009-04-20 0:52 ` Linus Torvalds
@ 2009-04-20 1:41 ` Al Viro
2009-04-20 2:49 ` Al Viro
2009-04-20 4:42 ` Sam Ravnborg
1 sibling, 1 reply; 21+ messages in thread
From: Al Viro @ 2009-04-20 1:41 UTC (permalink / raw)
To: Linus Torvalds
Cc: Sam Ravnborg, Paul Mundt, linux-kbuild, LKML, Andrew Morton,
Russell King, Ingo Molnar, H. Peter Anvin, Thomas Gleixner
On Sun, Apr 19, 2009 at 05:52:32PM -0700, Linus Torvalds wrote:
>
>
> On Mon, 20 Apr 2009, Sam Ravnborg wrote:
> >
> > You will soon see a path from me where I fix sh too.
>
> Can we do a global 'sed s:asm/asm-offsets.h:generated/asm-offsets.h:g'
> thing too? And then get rid of the include/asm symlink?
>
> That asm-offsets.h mess is scary. I don't quite know why kvm on ia64 seems
> to do it's own asm-offsets.h file, for example. And arch/blackfin/Makefile
> mentions arch/$(ARCH)/include/asm/asm-offsets.h (but does it actually do
> one?).
We'll need to update uml as well (contents of shared/kern_constants.h)
As for the arch/ia64/kvm/asm-offsets, AFAICS that could go straight into
arch/ia64/kernel/asm-offsets.c, under ifdef CONFIG_KVM.
I'm not sure about sed job, BTW - might be better to start with
arch/*/include/asm/asm-offsets.h containing just one include, then
do the transition you want piece by piece. And then kill these
files as corresponding architectures lose the last unconverted includes.
Fewer merge conflicts with the stuff in architecture trees that way and the
final result will be exactly the same...
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [GIT] kbuild
2009-04-20 1:41 ` Al Viro
@ 2009-04-20 2:49 ` Al Viro
2009-04-20 4:45 ` Sam Ravnborg
0 siblings, 1 reply; 21+ messages in thread
From: Al Viro @ 2009-04-20 2:49 UTC (permalink / raw)
To: Linus Torvalds
Cc: Sam Ravnborg, Paul Mundt, linux-kbuild, LKML, Andrew Morton,
Russell King, Ingo Molnar, H. Peter Anvin, Thomas Gleixner
On Mon, Apr 20, 2009 at 02:41:58AM +0100, Al Viro wrote:
> On Sun, Apr 19, 2009 at 05:52:32PM -0700, Linus Torvalds wrote:
> >
> >
> > On Mon, 20 Apr 2009, Sam Ravnborg wrote:
> > >
> > > You will soon see a path from me where I fix sh too.
> >
> > Can we do a global 'sed s:asm/asm-offsets.h:generated/asm-offsets.h:g'
> > thing too? And then get rid of the include/asm symlink?
> >
> > That asm-offsets.h mess is scary. I don't quite know why kvm on ia64 seems
> > to do it's own asm-offsets.h file, for example. And arch/blackfin/Makefile
> > mentions arch/$(ARCH)/include/asm/asm-offsets.h (but does it actually do
> > one?).
>
> We'll need to update uml as well (contents of shared/kern_constants.h)
BTW, while we are at it... There's a way to deal with arch/um without
that kind of contortions, provided that we are willing to use -idirafter.
For the current tree the minimal patch would be just this, and after that
we can simply replace all kern_constants.h includes with asm/asm-offsets.h
or generated/asm-offsets.h. And remove kern_constants.h completely once
that is done.
Moreover, once include/generated gets in, we can move user_constants.h
over there and lose the "add -I$(SHARED_HEADERS) to ARCH_INCLUDE for
O=... builds bit" in arch/um/Makefile as well.
diff --git a/arch/um/Makefile b/arch/um/Makefile
index 0728def..dce2d7f 100644
--- a/arch/um/Makefile
+++ b/arch/um/Makefile
@@ -47,7 +47,7 @@ KBUILD_AFLAGS += $(ARCH_INCLUDE)
USER_CFLAGS = $(patsubst $(KERNEL_DEFINES),,$(patsubst -D__KERNEL__,,\
$(patsubst -I%,,$(KBUILD_CFLAGS)))) $(ARCH_INCLUDE) $(MODE_INCLUDE) \
- $(filter -I%,$(CFLAGS)) -D_FILE_OFFSET_BITS=64
+ $(filter -I%,$(CFLAGS)) -D_FILE_OFFSET_BITS=64 -idirafter include
include $(srctree)/$(ARCH_DIR)/Makefile-$(SUBARCH)
@@ -150,6 +150,6 @@ $(SHARED_HEADERS)/user_constants.h: $(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.s
$(SHARED_HEADERS)/kern_constants.h:
$(Q)mkdir -p $(dir $@)
- $(Q)echo '#include "../../../../include/asm/asm-offsets.h"' >$@
+ $(Q)echo '#include <asm/asm-offsets.h>' >$@
export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS HEADER_ARCH DEV_NULL_PATH
^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [GIT] kbuild
2009-04-20 2:49 ` Al Viro
@ 2009-04-20 4:45 ` Sam Ravnborg
2009-04-20 5:15 ` Al Viro
0 siblings, 1 reply; 21+ messages in thread
From: Sam Ravnborg @ 2009-04-20 4:45 UTC (permalink / raw)
To: Al Viro
Cc: Linus Torvalds, Paul Mundt, linux-kbuild, LKML, Andrew Morton,
Russell King, Ingo Molnar, H. Peter Anvin, Thomas Gleixner
On Mon, Apr 20, 2009 at 03:49:54AM +0100, Al Viro wrote:
> On Mon, Apr 20, 2009 at 02:41:58AM +0100, Al Viro wrote:
> > On Sun, Apr 19, 2009 at 05:52:32PM -0700, Linus Torvalds wrote:
> > >
> > >
> > > On Mon, 20 Apr 2009, Sam Ravnborg wrote:
> > > >
> > > > You will soon see a path from me where I fix sh too.
> > >
> > > Can we do a global 'sed s:asm/asm-offsets.h:generated/asm-offsets.h:g'
> > > thing too? And then get rid of the include/asm symlink?
> > >
> > > That asm-offsets.h mess is scary. I don't quite know why kvm on ia64 seems
> > > to do it's own asm-offsets.h file, for example. And arch/blackfin/Makefile
> > > mentions arch/$(ARCH)/include/asm/asm-offsets.h (but does it actually do
> > > one?).
> >
> > We'll need to update uml as well (contents of shared/kern_constants.h)
>
> BTW, while we are at it... There's a way to deal with arch/um without
> that kind of contortions, provided that we are willing to use -idirafter.
For kernel proper the use of -idirafter would be confusing.
But for um alone we should be safe provided it is properly commented.
I have already fixed um the obvious way for asm-offsets in my local tree.
But if you prefer I can add a -dirafter based patch before the "move
asm-offsets.h to incldue/generated" patch.
Sam
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [GIT] kbuild
2009-04-20 4:45 ` Sam Ravnborg
@ 2009-04-20 5:15 ` Al Viro
2009-04-20 8:24 ` Sam Ravnborg
0 siblings, 1 reply; 21+ messages in thread
From: Al Viro @ 2009-04-20 5:15 UTC (permalink / raw)
To: Sam Ravnborg
Cc: Linus Torvalds, Paul Mundt, linux-kbuild, LKML, Andrew Morton,
Russell King, Ingo Molnar, H. Peter Anvin, Thomas Gleixner,
jdike
On Mon, Apr 20, 2009 at 06:45:51AM +0200, Sam Ravnborg wrote:
> For kernel proper the use of -idirafter would be confusing.
> But for um alone we should be safe provided it is properly commented.
Less than for all um - it's only for USER_OBJ there. It is special,
simply because for uml the counterpart of really low-level glue has
to talk to libc. So there we have separation into "normal kernel source"
and "userland code that uses userland headers, calls libc functions, etc."
> I have already fixed um the obvious way for asm-offsets in my local tree.
> But if you prefer I can add a -dirafter based patch before the "move
> asm-offsets.h to incldue/generated" patch.
I've dumped several header cleanup patches for uml into
git://git.kernel.org/pub/scm/linux/kernel/git/viro/um-header.git/
including the -idirafter, move of user_constants.h, etc.
Another fun thing: user.h used to be included directly by just about
every userland-side file. Switched it to -include user.h (for USER_CFLAGS,
of course - not for normal stuff), killed includes, got rid of shitloads
of kern_constants.h includes at the same time. At which point getting
rid of kern_constants.h became trivial.
Up to Jeff's approval, obviously - *including* -idirafter patch.
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [GIT] kbuild
2009-04-20 5:15 ` Al Viro
@ 2009-04-20 8:24 ` Sam Ravnborg
0 siblings, 0 replies; 21+ messages in thread
From: Sam Ravnborg @ 2009-04-20 8:24 UTC (permalink / raw)
To: Al Viro
Cc: Linus Torvalds, Paul Mundt, linux-kbuild, LKML, Andrew Morton,
Russell King, Ingo Molnar, H. Peter Anvin, Thomas Gleixner,
jdike
On Mon, Apr 20, 2009 at 06:15:38AM +0100, Al Viro wrote:
> On Mon, Apr 20, 2009 at 06:45:51AM +0200, Sam Ravnborg wrote:
>
> > For kernel proper the use of -idirafter would be confusing.
> > But for um alone we should be safe provided it is properly commented.
>
> Less than for all um - it's only for USER_OBJ there. It is special,
> simply because for uml the counterpart of really low-level glue has
> to talk to libc. So there we have separation into "normal kernel source"
> and "userland code that uses userland headers, calls libc functions, etc."
>
> > I have already fixed um the obvious way for asm-offsets in my local tree.
> > But if you prefer I can add a -dirafter based patch before the "move
> > asm-offsets.h to incldue/generated" patch.
>
> I've dumped several header cleanup patches for uml into
> git://git.kernel.org/pub/scm/linux/kernel/git/viro/um-header.git/
> including the -idirafter, move of user_constants.h, etc.
> Another fun thing: user.h used to be included directly by just about
> every userland-side file. Switched it to -include user.h (for USER_CFLAGS,
> of course - not for normal stuff), killed includes, got rid of shitloads
> of kern_constants.h includes at the same time. At which point getting
> rid of kern_constants.h became trivial.
>
> Up to Jeff's approval, obviously - *including* -idirafter patch.
I have skimmed the patches - they all looked good to me.
Everyting that cleans up arch/um/Makefile is good!
I you respin them you can add my:
Acked-by: Sam Ravnborg <sam@ravnborg.org>
The asm-offsets.h that um picks us is the one generated by um.
So we still need to add a dummy file in arch/um/include/asm that
only do:
#include <generated/asm-offsets.h>
I will do so in my patch-set.
Sam
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [GIT] kbuild
2009-04-20 0:52 ` Linus Torvalds
2009-04-20 1:41 ` Al Viro
@ 2009-04-20 4:42 ` Sam Ravnborg
1 sibling, 0 replies; 21+ messages in thread
From: Sam Ravnborg @ 2009-04-20 4:42 UTC (permalink / raw)
To: Linus Torvalds
Cc: Paul Mundt, linux-kbuild, LKML, Andrew Morton, Russell King,
Ingo Molnar, H. Peter Anvin, Thomas Gleixner, Al Viro
On Sun, Apr 19, 2009 at 05:52:32PM -0700, Linus Torvalds wrote:
>
>
> On Mon, 20 Apr 2009, Sam Ravnborg wrote:
> >
> > You will soon see a path from me where I fix sh too.
>
> Can we do a global 'sed s:asm/asm-offsets.h:generated/asm-offsets.h:g'
> thing too? And then get rid of the include/asm symlink?
As Al also suggest I did a one-asm-offsets.h file per arch so we
can cnvert them one by one.
> That asm-offsets.h mess is scary. I don't quite know why kvm on ia64 seems
> to do it's own asm-offsets.h file, for example.
Will take a look.
> And arch/blackfin/Makefile
> mentions arch/$(ARCH)/include/asm/asm-offsets.h (but does it actually do
> one?).
Thats just a left over from older days when the arch's had to clean up after
themself.
I will try to finish something within a few days and send it out for review.
Sam
^ permalink raw reply [flat|nested] 21+ messages in thread
* [GIT] kbuild
@ 2010-07-07 9:08 Michal Marek
2010-07-07 16:41 ` Linus Torvalds
0 siblings, 1 reply; 21+ messages in thread
From: Michal Marek @ 2010-07-07 9:08 UTC (permalink / raw)
To: Linus Torvalds; +Cc: mmarek, linux-kbuild, linux-kernel
Hi Linus,
my last pull request broke LOCALVERSION for O=... builds, sorry about
that. The following commit fixes that (verified by Rafael and Stephen
who reported it. I really hope this is the _last_ kbuild thing for
2.6.35.
Michal
The following changes since commit 62052be3a797f26f6f0fe30fc8d7f40ab54e08fd:
Merge branch 'setlocalversion-speedup' into kbuild/rc-fixes (2010-07-02 11:56:52 +0200)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6.git rc-fixes
Michal Marek (1):
kbuild: Fix path to scripts/setlocalversion
Makefile | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [GIT] kbuild
2010-07-07 9:08 Michal Marek
@ 2010-07-07 16:41 ` Linus Torvalds
2010-07-08 5:47 ` Michal Marek
0 siblings, 1 reply; 21+ messages in thread
From: Linus Torvalds @ 2010-07-07 16:41 UTC (permalink / raw)
To: Michal Marek; +Cc: linux-kbuild, linux-kernel
On Wed, Jul 7, 2010 at 2:08 AM, Michal Marek <mmarek@suse.cz> wrote:
>
> my last pull request broke LOCALVERSION for O=... builds, sorry about
> that. The following commit fixes that (verified by Rafael and Stephen
> who reported it. I really hope this is the _last_ kbuild thing for
> 2.6.35.
Hmm. I already applied the patch you sent earlier. It's commit
7263e715c91f in my tree.
Linus
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [GIT] kbuild
2010-07-07 16:41 ` Linus Torvalds
@ 2010-07-08 5:47 ` Michal Marek
0 siblings, 0 replies; 21+ messages in thread
From: Michal Marek @ 2010-07-08 5:47 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-kbuild, linux-kernel
On 7.7.2010 18:41, Linus Torvalds wrote:
> On Wed, Jul 7, 2010 at 2:08 AM, Michal Marek <mmarek@suse.cz> wrote:
>> my last pull request broke LOCALVERSION for O=... builds, sorry about
>> that. The following commit fixes that (verified by Rafael and Stephen
>> who reported it. I really hope this is the _last_ kbuild thing for
>> 2.6.35.
>
> Hmm. I already applied the patch you sent earlier. It's commit
> 7263e715c91f in my tree.
Ok, thanks. I didn't notice that the patch is already in your tree.
Michal
^ permalink raw reply [flat|nested] 21+ messages in thread
* [GIT] kbuild
@ 2010-03-08 14:34 Michal Marek
0 siblings, 0 replies; 21+ messages in thread
From: Michal Marek @ 2010-03-08 14:34 UTC (permalink / raw)
To: Linus Torvalds
Cc: Alexander Beregalov, Andi Kleen, David Rientjes, Denys Vlasenko,
Don Zickus, FEJES Jozsef, Guennadi Liakhovetski,
Himanshu Chauhan, Hui Zhu, Jiafu He, Joe Perches, John Kacur,
John Saalwaechter, Kirill Smelkov, Michal Marek, Nir Tzachar,
Rabin Vincent, Roland McGrath, Stephen Hemminger, Tim Abbott,
Uwe Kleine-König, Vadim Bendebury, linux-kernel,
linux-kbuild
Hi Linus,
Please pull these kbuild changes for 2.6.34. Short summary:
- A new configuration interface (make nconfig)
- Better modpost mismatch reporting
- Section rename to allow for -ffunction-sections -fdata-sections
- Untagged builds without LOCALVERSION_AUTO have a '+' appended to the
version string
- Lots of minor fixes & improvements.
Michal
The following changes since commit abe94c756c08d50566c09a65b9c7fe72f83071c5:
Linus Torvalds (1):
Linux 2.6.33-rc6
are available in the git repository at:
git://repo.or.cz/linux-kbuild.git for-34
Alexander Beregalov (1):
genksyms: close ref_file after use
Andi Kleen (2):
Improve kconfig symbol hashing
kbuild: move -fno-dwarf2-cfi-asm to powerpc only
David Rientjes (1):
kbuild: improve version string logic
Denys Vlasenko (18):
Rename .bss.stack to .bss..stack.
Rename .data.gate to .data..gate.
Rename .data.init_irqstack to .data..init_irqstack.
Rename .data..patch.XXX to .data..patch.XXX.
Rename .data[.percpu][.XXX] to .data[..percpu][..XXX].
Rename .data.read_mostly to .data..read_mostly.
Rename .data.vmpages and .data.vm0.XXX to .data..vmpages and .data..vm0.XXX.
Rename .rodata.compressed to .rodata..compressed.
Rename .text.ivt to .text..ivt.
Rename .text.lock to .text..lock.
Rename .text.page_aligned to .text..page_aligned.
Rename .text.startup to .text..startup.
Rename .data.nosave to .data..nosave.
Rename .data.init to .data..init.
Rename .data.initvect to .data..initvect.
Rename .data.lock_aligned to .data..lock_aligned.
Rename special text sections in arch/frv from .text.XXX to .text..XXX.
Rename .text.start to .text..start.
Don Zickus (1):
scripts: change scripts to use system python instead of env
FEJES Jozsef (1):
kbuild: deb-pkg md5sums
Guennadi Liakhovetski (1):
tags: include headers before source files
Himanshu Chauhan (1):
scripts/kallsyms: suppress build warning
Hui Zhu (3):
markup_oops.pl: fix for faulting instruction in the first line of a range
markup_oops.pl: add options to improve cross-sompilation environments
markup_oops.pl: minor fixes
Jiafu He (1):
kbuild: Fix linking error built-in.o no such file or directory
Joe Perches (1):
Makefile: Document ability to make file.lst and file.S
John Kacur (2):
tags: Fix spelling error in comment (is->if)
tags: Add the ability to make tags for all archs using "all"
John Saalwaechter (1):
scripts: use %_tmppath in "make rpm-pkg"
Kirill Smelkov (1):
kbuild: fix a couple of typos in Documentation
Michal Marek (7):
nconfig: mark local functions as such
scripts/mkcompile_h: don't test for hardcoded paths
MAINTAINERS: add a few more patterns to kbuild
Merge branch 'modpost' of git://git.pengutronix.de/git/ukl/linux-2.6 into kbuild/for-next
tags: Use $SRCARCH
kbuild: Do not unnecessarily regenerate modules.builtin
Revert "kbuild: specify absolute paths for cscope"
Nir Tzachar (1):
nconfig: minor fix
Rabin Vincent (1):
scripts: add ARM support to decodecode
Roland McGrath (1):
kconfig CROSS_COMPILE option
Stephen Hemminger (8):
scripts: improve checkstack
checkincludes: fix perlcritic warnings
checkversion: perl cleanup
namespace: perlcritic warnings
profile2linkerlist: fix perl warnings
export_report: fix perl warnings
headers_check: fix perl warnings
headers_install: use local file handles
Tim Abbott (5):
Rename .data.cacheline_aligned to .data..cacheline_aligned.
Rename .data.init_task to .data..init_task.
powerpc: remove unused __page_aligned definition.
Rename .data.page_aligned to .data..page_aligned.
Rename .bss.page_aligned to .bss..page_aligned.
Uwe Kleine-König (7):
modpost: members of *driver structs should not point to __init functions
modpost: define ALL_XXX{IN,EX}IT_SECTIONS
modpost: give most mismatch constants a better name
modpost: pass around const struct sectioncheck * instead of enum mismatch
modpost: remove now unused NO_MISMATCH constant
modpost: make symbol white list a per mismatch type variable
modpost: don't allow *driver to reference .init.*
Vadim Bendebury (вб) (1):
menuconfig: wrap long help lines
nir.tzachar@gmail.com (1):
kconfig: new configuration interface (nconfig)
Documentation/kbuild/kbuild.txt | 6 +-
Documentation/kbuild/makefiles.txt | 2 +-
Documentation/mutex-design.txt | 4 +-
MAINTAINERS | 5 +-
Makefile | 65 +-
arch/frv/kernel/break.S | 4 +-
arch/frv/kernel/entry.S | 2 +-
arch/frv/kernel/head.S | 2 +-
arch/frv/kernel/vmlinux.lds.S | 10 +-
arch/frv/mm/tlb-miss.S | 2 +-
arch/h8300/boot/compressed/head.S | 2 +-
arch/h8300/boot/compressed/vmlinux.lds | 2 +-
arch/ia64/include/asm/asmmacro.h | 12 +-
arch/ia64/include/asm/cache.h | 2 +-
arch/ia64/include/asm/percpu.h | 2 +-
arch/ia64/kernel/Makefile.gate | 2 +-
arch/ia64/kernel/gate-data.S | 2 +-
arch/ia64/kernel/gate.S | 8 +-
arch/ia64/kernel/gate.lds.S | 10 +-
arch/ia64/kernel/init_task.c | 2 +-
arch/ia64/kernel/ivt.S | 2 +-
arch/ia64/kernel/minstate.h | 4 +-
arch/ia64/kernel/paravirtentry.S | 2 +-
arch/ia64/kernel/vmlinux.lds.S | 28 +-
arch/ia64/kvm/vmm_ivt.S | 2 +-
arch/ia64/scripts/unwcheck.py | 2 +-
arch/ia64/xen/gate-data.S | 2 +-
arch/ia64/xen/xensetup.S | 2 +-
arch/m68knommu/kernel/vmlinux.lds.S | 4 +-
arch/m68knommu/platform/68360/head-ram.S | 2 +-
arch/m68knommu/platform/68360/head-rom.S | 2 +-
arch/mips/lasat/image/head.S | 2 +-
arch/mips/lasat/image/romscript.normal | 2 +-
arch/parisc/include/asm/cache.h | 2 +-
arch/parisc/include/asm/system.h | 2 +-
arch/parisc/kernel/head.S | 2 +-
arch/parisc/kernel/init_task.c | 6 +-
arch/parisc/kernel/vmlinux.lds.S | 12 +-
arch/powerpc/Makefile | 5 +
arch/powerpc/include/asm/cache.h | 2 +-
arch/powerpc/include/asm/page_64.h | 8 -
arch/powerpc/kernel/vmlinux.lds.S | 10 +-
arch/s390/include/asm/cache.h | 2 +-
arch/s390/kernel/swsusp_asm64.S | 2 +-
arch/sh/boot/compressed/vmlinux.scr | 2 +-
arch/sh/include/asm/cache.h | 2 +-
arch/sparc/boot/btfixupprep.c | 2 +-
arch/sparc/include/asm/cache.h | 2 +-
arch/um/kernel/dyn.lds.S | 2 +-
arch/um/kernel/init_task.c | 2 +-
arch/um/kernel/uml.lds.S | 2 +-
arch/x86/boot/compressed/mkpiggy.c | 2 +-
arch/x86/boot/compressed/vmlinux.lds.S | 4 +-
arch/x86/include/asm/cache.h | 2 +-
arch/x86/kernel/acpi/wakeup_32.S | 2 +-
arch/x86/kernel/init_task.c | 2 +-
arch/x86/kernel/setup_percpu.c | 2 +-
arch/x86/kernel/vmlinux.lds.S | 4 +-
include/asm-generic/percpu.h | 10 +-
include/asm-generic/vmlinux.lds.h | 38 +-
include/linux/cache.h | 2 +-
include/linux/init.h | 2 +-
include/linux/init_task.h | 2 +-
include/linux/linkage.h | 8 +-
include/linux/percpu-defs.h | 4 +-
include/linux/spinlock.h | 2 +-
init/Kconfig | 8 +
kernel/module.c | 2 +-
scripts/Makefile.build | 2 +-
scripts/checkincludes.pl | 24 +-
scripts/checkstack.pl | 16 +-
scripts/checkversion.pl | 23 +-
scripts/decodecode | 48 +-
scripts/export_report.pl | 37 +-
scripts/genksyms/genksyms.c | 4 +-
scripts/headers_check.pl | 11 +-
scripts/headers_install.pl | 19 +-
scripts/kallsyms.c | 6 +-
scripts/kconfig/Makefile | 16 +-
scripts/kconfig/expr.c | 27 +-
scripts/kconfig/expr.h | 5 +-
scripts/kconfig/lkc.h | 7 +-
scripts/kconfig/lkc_proto.h | 3 +-
scripts/kconfig/mconf.c | 14 +-
scripts/kconfig/menu.c | 16 +-
scripts/kconfig/nconf.c | 1568 ++++++++++++++++++++++++++++++
scripts/kconfig/nconf.gui.c | 617 ++++++++++++
scripts/kconfig/nconf.h | 95 ++
scripts/kconfig/symbol.c | 29 +-
scripts/kconfig/util.c | 2 +
scripts/kconfig/zconf.tab.c_shipped | 4 +-
scripts/kconfig/zconf.y | 4 +-
scripts/markup_oops.pl | 54 +-
scripts/mkcompile_h | 5 +-
scripts/mod/modpost.c | 152 ++--
scripts/namespace.pl | 65 +-
scripts/package/builddeb | 2 +
scripts/package/mkspec | 2 +-
scripts/profile2linkerlist.pl | 8 +-
scripts/rt-tester/rt-tester.py | 2 +-
scripts/show_delta | 2 +-
scripts/tags.sh | 45 +-
102 files changed, 2873 insertions(+), 426 deletions(-)
create mode 100644 scripts/kconfig/nconf.c
create mode 100644 scripts/kconfig/nconf.gui.c
create mode 100644 scripts/kconfig/nconf.h
^ permalink raw reply [flat|nested] 21+ messages in thread
* [GIT] kbuild
@ 2009-09-21 17:56 Sam Ravnborg
0 siblings, 0 replies; 21+ messages in thread
From: Sam Ravnborg @ 2009-09-21 17:56 UTC (permalink / raw)
To: Linus Torvalds, linux-kbuild, lkml
Hi Linus.
First (delayed) batch of kbuild stuff.
o kconfig refactoring
o allyesconfig is now buildable with gold
o support -fconserve-stack for newer gcc's
We do not gain much for now but it is nice to be prepared
o more linker script/sections consolidation
Archs are starting to pick up the individual patches,
this is the stuff that is generic or touches a lot of architectures
o save ARCH and CROSS_COMPILE settings in two files named:
include/generated/kernel.arch
include/generated/kernel.cross
So we no longer need to set correct each time we do a build.
o no longer respect $(CROSS_COMPILE) for installkernel script.
It was used by very few persons and did not play well when
we saved CROSS_COMPILE.
Stuff planned for next batch:
- move a lot of stuff to include/generated
I just need to test it a bit more
- support listing builtin modules with modutils
I have been sitting on a patch for months and only gave feedback now.
There is some minor updates needed before it is ready
And I guess a bit more if I find time to crawl through my mailbox.
Most patches has been in -next but not all.
Some patches has come in via akpm so thay have more airtime than their
commit time says.
Sam
The following changes since commit 78f28b7c555359c67c2a0d23f7436e915329421e:
Linus Torvalds (1):
Merge branch 'x86-platform-for-linus' of git://git.kernel.org/.../tip/linux-2.6-tip
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next.git master
Andi Kleen (4):
kbuild: Check if linker supports the -X option
kbuild: echo the record_mcount command
kbuild: set -fconserve-stack option for gcc 4.5
kbuild: fail build if recordmcount.pl fails
Cheng Renquan (6):
kconfig: add symbol value to help find the real depend
kconfig: add menu_get_ext_help function to display more information
kconfig: make use of menu_get_ext_help in menuconfig
kconfig: make use of menu_get_ext_help in qconfig
kconfig: make use of menu_get_ext_help in "make config"
kconfig: make use of menu_get_ext_help in gconfig
Diego Elio 'Flameeyes' Pettenò (1):
gconfig: disable "typeahead find" search in treeviews
Jaswinder Singh Rajput (1):
gitignore usr/initramfs_data.cpio.bz2 and usr/initramfs_data.cpio.lzma
Joe Perches (1):
Use new __init_task_data macro in arch init_task.c files.
Jory A. Pratt (1):
kbuild: fix cc1 options check to ensure we do not use -fPIC when compiling
Luis R. Rodriguez (3):
checkincludes.pl: close file as soon as we're done with it
checkincludes.pl: provide usage helper
checkincludes.pl: add option to remove duplicates in place
Ozan Ãaglayan (1):
markup_oops: use modinfo to avoid confusion with underscored module names
Randy Dunlap (1):
kernel hacking: move STRIP_ASM_SYMS from General
Robert P. J. Day (1):
kbuild: correct initramfs compression comment
Sam Ravnborg (5):
kbuild: use INSTALLKERNEL to select customized installkernel script
kbuild: save ARCH & CROSS_COMPILE when building a kernel
kbuild: rename ld-option to cc-ldoption
kbuild: introduce ld-option
arm, cris, mips, sparc, powerpc, um, xtensa: fix build with bash 4.0
Stefani Seibold (1):
ctags: usability fix
Tim Abbott (3):
kbuild: Don't define ALIGN and ENTRY when preprocessing linker scripts.
Use macros for .bss.page_aligned section.
Use macros for .data.page_aligned section.
Trevor Keith (1):
kbuild: add static to prototypes
Documentation/kbuild/kbuild.txt | 16 +++++
Documentation/kbuild/makefiles.txt | 20 ++++++-
Makefile | 62 ++++++++++++++++---
arch/arm/Makefile | 6 +-
arch/arm/boot/install.sh | 4 +-
arch/arm/kernel/Makefile | 3 +-
arch/arm/kernel/init_task.c | 5 +-
arch/avr32/kernel/init_task.c | 5 +-
arch/avr32/mm/init.c | 4 +-
arch/blackfin/Makefile | 4 +-
arch/blackfin/boot/install.sh | 6 +-
arch/cris/Makefile | 2 -
arch/cris/kernel/Makefile | 1 +
arch/cris/kernel/process.c | 5 +-
arch/frv/kernel/init_task.c | 5 +-
arch/h8300/kernel/init_task.c | 5 +-
arch/ia64/install.sh | 4 +-
arch/ia64/kernel/Makefile.gate | 2 +-
arch/ia64/kernel/init_task.c | 3 +-
arch/m32r/boot/compressed/install.sh | 4 +-
arch/m32r/kernel/init_task.c | 5 +-
arch/m68k/install.sh | 4 +-
arch/m68k/kernel/process.c | 6 +-
arch/m68knommu/kernel/init_task.c | 5 +-
arch/microblaze/kernel/init_task.c | 5 +-
arch/mips/Makefile | 27 +--------
arch/mips/kernel/init_task.c | 5 +-
arch/mips/kernel/vmlinux.lds.S | 13 ++++-
arch/mn10300/kernel/init_task.c | 5 +-
arch/parisc/Makefile | 4 +-
arch/parisc/install.sh | 4 +-
arch/parisc/kernel/init_task.c | 4 +-
arch/powerpc/Makefile | 6 +-
arch/powerpc/boot/install.sh | 4 +-
arch/powerpc/kernel/init_task.c | 5 +-
arch/powerpc/kernel/machine_kexec_64.c | 5 +-
arch/powerpc/kernel/vdso.c | 3 +-
arch/powerpc/kernel/vdso32/Makefile | 2 +-
arch/powerpc/kernel/vdso32/vdso32_wrapper.S | 3 +-
arch/powerpc/kernel/vdso64/Makefile | 2 +-
arch/powerpc/kernel/vdso64/vdso64_wrapper.S | 3 +-
arch/s390/boot/install.sh | 4 +-
arch/s390/kernel/init_task.c | 5 +-
arch/s390/kernel/vdso.c | 2 +-
arch/s390/kernel/vdso32/Makefile | 2 +-
arch/s390/kernel/vdso32/vdso32_wrapper.S | 3 +-
arch/s390/kernel/vdso64/Makefile | 2 +-
arch/s390/kernel/vdso64/vdso64_wrapper.S | 3 +-
arch/score/kernel/init_task.c | 5 +-
arch/sh/boot/compressed/install.sh | 4 +-
arch/sh/kernel/init_task.c | 5 +-
arch/sh/kernel/irq.c | 6 +-
arch/sh/kernel/vsyscall/Makefile | 2 +-
arch/sparc/Makefile | 4 -
arch/sparc/kernel/Makefile | 6 ++-
arch/sparc/kernel/init_task.c | 5 +-
arch/um/Makefile | 9 +--
arch/um/kernel/Makefile | 3 +
arch/um/kernel/init_task.c | 5 +-
arch/um/kernel/vmlinux.lds.S | 3 +
arch/x86/Makefile | 4 +-
arch/x86/boot/install.sh | 4 +-
arch/x86/include/asm/cache.h | 4 +-
arch/x86/kernel/head_32.S | 4 +-
arch/x86/kernel/head_64.S | 2 +-
arch/x86/kernel/init_task.c | 5 +-
arch/x86/vdso/Makefile | 2 +-
arch/xtensa/kernel/Makefile | 3 +-
arch/xtensa/kernel/head.S | 2 +-
arch/xtensa/kernel/init_task.c | 5 +-
include/linux/linkage.h | 2 +
init/Kconfig | 8 ---
lib/Kconfig.debug | 8 +++
scripts/Kbuild.include | 16 ++++--
scripts/Makefile.build | 6 +-
scripts/basic/docproc.c | 34 ++++++------
scripts/basic/fixdep.c | 26 ++++----
scripts/basic/hash.c | 4 +-
scripts/checkincludes.pl | 71 +++++++++++++++++++++--
scripts/kconfig/conf.c | 24 ++++----
scripts/kconfig/confdata.c | 2 +-
scripts/kconfig/expr.c | 6 +-
scripts/kconfig/gconf.c | 21 +------
scripts/kconfig/gconf.glade | 4 +-
scripts/kconfig/kxgettext.c | 4 +-
scripts/kconfig/lkc_proto.h | 2 +
scripts/kconfig/mconf.c | 78 +------------------------
scripts/kconfig/menu.c | 84 ++++++++++++++++++++++++++-
scripts/kconfig/qconf.cc | 10 +--
scripts/kconfig/symbol.c | 6 +-
scripts/markup_oops.pl | 5 +-
scripts/tags.sh | 3 +-
usr/.gitignore | 2 +
usr/Makefile | 2 +-
94 files changed, 473 insertions(+), 354 deletions(-)
^ permalink raw reply [flat|nested] 21+ messages in thread
* [GIT] kbuild
@ 2009-06-14 21:09 Sam Ravnborg
0 siblings, 0 replies; 21+ messages in thread
From: Sam Ravnborg @ 2009-06-14 21:09 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-kbuild, LKML
Hi Linus.
Kbuild updated for this merge window.
The highlights:
o rework of deb-pkg from the debian folks
o various kconfig updates - but nothing major
o prepared for start of vmlinux.lds cleanup (no users yet)
The rest is lots of small details here and there.
Most patches has been in -next for a while.
Sam
The following changes since commit 3af968e066d593bc4dacc021715f3e95ddf0996f:
Linus Torvalds (1):
async: Fix lack of boot-time console due to insufficient synchronization
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next.git master
Adam Lackorzynski (1):
documentation: make version fix
Amerigo Wang (3):
kbuild: clean up scripts/headers.sh
kbuild/headers_check: refine extern check
kbuild: fix a compile warning
Arne Janbu (1):
.gitignore: ignore *.lzma files
Cheng Renquan (1):
kbuild: remove extra ifdef/endif of top Makefile
David VomLehn (1):
kbuild/Documentation: Incorrect makefile syntax in example
Frans Pop (9):
kbuild, deb-pkg: minor general improvements in builddeb script
kbuild, deb-pkg: refactor code to reduce duplication
kbuild, deb-pkg: fix 'file not found' error when building .deb package for arm
kbuild, deb-pkg: pass Debian maintainer script parameters to packaging hook scripts
kbuild, deb-pkg: allow to specify a custom revision for .deb packages
kbuild, deb-pkg: allow alternative hook scripts directory in .deb packages
kbuild, deb-pkg: improve changelog entry and package descriptions
kbuild, deb-pkg: generate debian/copyright file
kbuild, deb-pkg: improve Source field
Jan Beulich (1):
initconst adjustments
Jani Nikula (1):
gitignore: Add GNU GLOBAL files to top .gitignore
Jiri Slaby (1):
kbuild: allow docproc invocation from external
Manish Katiyar (1):
kernel/kallsyms.c: replace deprecated __initcall with device_initcall and fix whitespace
Markus Heidelberg (10):
kconfig: fix typo "mconfig" to "menuconfig" in a comment
kconfig: add a note about the deps to the 'silentoldconfig' help
kconfig: resort the documentation of the environment variables
gitignore: ignore Kconfig i18n files
kconfig qconf: fix -Wall compiler warnings
kconfig qconf: fix namespace for Horizontal and Vertical enum values
kconfig qconf: add namespace for use of Key_ enum values
kconfig qconf: fix the type of the desktop widget
kconfig: do not hardcode ".config" filename
kconfig: do not hardcode "include/config/auto.conf" filename
Michal Marek (3):
kbuild: handle non-existing options in scripts/config
kbuild: simplify argument loop in scripts/config
kbuild: add generic --set-str option to scripts/config
Mike Frysinger (2):
ignore *.patch files
kallsyms: generalize text region handling
Nico Schottelius (1):
kbuild: fix delay in setlocalversion on readonly source
Patrick Ringl (1):
README: fix misleading pointer to the defconf directory
Peter Korsgaard (1):
kconfig: handle comment entries within choice/endchoice
Randy Dunlap (2):
menu: fix embedded menu presentation
kernel-doc: cleanup perl script
Robert P. J. Day (1):
scripts/headers_check.pl: correct RE in header CONFIG leak check
Robin Getz (1):
kallsyms: support kernel symbols in Blackfin on-chip memory
Russell King (1):
kbuild: fix headers_exports with boolean expression
Sam Ravnborg (3):
kbuild: add hint about __refdata to modpost
Improve vmlinux.lds.h support for arch specific linker scripts
vmlinux.lds.h update
Sergei Poselenov (1):
kbuild: fix "Argument list too long" error for "make headers_check",
dann frazier (1):
Remove bashisms from scripts
maximilian attems (5):
kbuild, deb-pkg: improve maintainer identification
kbuild, deb-pkg: fix generated package name
kbuild, deb-pkg: fix Provides field
kbuild, deb-pkg: fix Section field
kbuild, deb-pkg: bump standards version
.gitignore | 8 +
Documentation/Changes | 4 +-
Documentation/kbuild/kconfig.txt | 116 +++++++++--------
Documentation/kbuild/modules.txt | 2 +-
Makefile | 26 ++---
README | 11 ++-
include/asm-generic/vmlinux.lds.h | 241 ++++++++++++++++++++++++++++++++--
include/linux/init.h | 7 +-
include/linux/section-names.h | 6 -
init/Kconfig | 16 +-
kernel/kallsyms.c | 134 +++++++++++--------
scripts/Makefile.headersinst | 8 +-
scripts/basic/docproc.c | 13 ++-
scripts/basic/fixdep.c | 5 +-
scripts/config | 87 ++++++-------
scripts/gcc-version.sh | 2 +-
scripts/headers.sh | 7 -
scripts/headers_check.pl | 14 +-
scripts/kallsyms.c | 76 +++++++++--
scripts/kconfig/.gitignore | 3 +
scripts/kconfig/Makefile | 4 +-
scripts/kconfig/conf.c | 7 +-
scripts/kconfig/confdata.c | 20 ++-
scripts/kconfig/lkc.h | 1 +
scripts/kconfig/lxdialog/checklist.c | 3 +-
scripts/kconfig/mconf.c | 10 ++-
scripts/kconfig/qconf.cc | 48 ++++---
scripts/kconfig/util.c | 6 +-
scripts/kernel-doc | 174 ++++++++++++------------
scripts/mod/modpost.c | 50 ++++++--
scripts/package/builddeb | 149 ++++++++++++++-------
scripts/setlocalversion | 6 +-
scripts/unifdef.c | 48 +++++--
scripts/ver_linux | 2 +-
34 files changed, 872 insertions(+), 442 deletions(-)
delete mode 100644 include/linux/section-names.h
^ permalink raw reply [flat|nested] 21+ messages in thread
* [GIT] kbuild
@ 2009-05-01 10:15 Sam Ravnborg
0 siblings, 0 replies; 21+ messages in thread
From: Sam Ravnborg @ 2009-05-01 10:15 UTC (permalink / raw)
To: Linus Torvalds
Cc: linux-kbuild, LKML, Anders Kaseorg, Ralf Baechle,
Nico Schottelius, Cedric Hombourger, Andrew Morton, Randy Dunlap,
Matt Kraai, Frédéric Brière, Jesper Nilsson,
Haavard Skinnemoen
Hi Linus.
kbuild fixes:
o fixed check for section flags. Replace a heuristics with correct check of the flags
o a cygwin build fix (people do build kernels with cygwin these days)
o remove more files when cleaning
o fix tags so we do not append to the tags database
o improve support for git tags in setlocalversion
Sam
The following changes since commit 091438dd5668396328a3419abcbc6591159eb8d1:
Linus Torvalds (1):
Linux 2.6.30-rc4
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes.git master
Anders Kaseorg (1):
kbuild, modpost: Check the section flags, to catch missing "ax"/"aw"
Cedric Hombourger (1):
kbuild: fix Module.markers permission error under cygwin
Frédéric Brière (1):
kbuild: clean Module.markers and modules.order for out-of-tree modules
Matt Kraai (1):
kbuild: remove a tag file before it is regenerated
Nico Schottelius (1):
kbuild: fix scripts/setlocalversion with git
Randy Dunlap (1):
docs: also clean index.html
Robert P. J. Day (1):
kbuild: "make prepare" should be "make modules_prepare"
Sam Ravnborg (2):
avr32: drop unused CLEAN_FILES
kbuild: fix comment in modpost.c
Documentation/DocBook/Makefile | 5 ++-
Makefile | 6 +++-
arch/avr32/Makefile | 2 -
scripts/mod/modpost.c | 55 +++++++++++++++------------------------
scripts/setlocalversion | 13 ++++-----
scripts/tags.sh | 2 +
6 files changed, 36 insertions(+), 47 deletions(-)
^ permalink raw reply [flat|nested] 21+ messages in thread
* [GIT] kbuild
@ 2009-04-11 19:45 Sam Ravnborg
0 siblings, 0 replies; 21+ messages in thread
From: Sam Ravnborg @ 2009-04-11 19:45 UTC (permalink / raw)
To: Linus Torvalds
Cc: linux-kbuild, LKML, Randy Dunlap, Maxime Bizon, David Howells,
Andrew Morton, Jan Beulich, Kirill Smelkov, Oskar Schirmer,
Mikael Starvik, Peter Korsgaard, Massimo Maiurana,
Uwe Kleine-König
Hi Linus.
kbuild stuff where the majority of the patch is Documentation updates.
The most controversial part is the addition of a flag to discard
local symbols from vmlinux.
The patch has been in my inbox for a while but I had just not
got around to it until now. It came in via Andrew so I expect it has
been in -nect for a while.
This pull also add support for destination-y in header export files.
This is not a fix but a few people has asked for this feature
and they cannot use it until it is present.
The rest is assorted set of fixes as the shortlog below tells.
Please pull.
Sam
The following changes since commit d848223808c5d21e1b3cea090047e34722c6254b:
Linus Torvalds (1):
Merge git://git.kernel.org/.../dhowells/linux-2.6-mn10300
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes.git master
David Howells (1):
kbuild: make it possible for the linker to discard local symbols from vmlinux
Jan Beulich (1):
kbuild: remove pointless strdup() on arguments passed to new_module() in modpost
Kirill Smelkov (1):
kbuild: fix a few typos in top-level Makefile
Maxime Bizon (1):
kbuild: fix spurious initramfs rebuild
Peter Korsgaard (1):
kbuild: use git svn instead of git-svn in setlocalversion
Randy Dunlap (1):
docbook: make cleandocs
Sam Ravnborg (3):
kconfig: fix update-po-config to accect backslash in input
kbuild: introduce destination-y for exported headers
Documentation: explain the difference between __bitwise and __bitwise__
Uwe Kleine-König (1):
kbuild: fix option processing for -I in headerdep
Documentation/DocBook/Makefile | 11 +++-
Documentation/kbuild/makefiles.txt | 83 ++++++++++++++++++++++++++++++++---
Documentation/sparse.txt | 8 +++
Makefile | 8 +++-
init/Kconfig | 8 +++
| 2 +
scripts/gen_initramfs_list.sh | 2 +-
| 2 +-
scripts/kconfig/kxgettext.c | 4 ++
scripts/mod/modpost.c | 4 +-
scripts/setlocalversion | 2 +-
11 files changed, 116 insertions(+), 18 deletions(-)
diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
index a3a83d3..8918a32 100644
--- a/Documentation/DocBook/Makefile
+++ b/Documentation/DocBook/Makefile
@@ -31,7 +31,7 @@ PS_METHOD = $(prefer-db2x)
###
# The targets that may be used.
-PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs
+PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs cleandocs
BOOKS := $(addprefix $(obj)/,$(DOCBOOKS))
xmldocs: $(BOOKS)
@@ -213,11 +213,12 @@ silent_gen_xml = :
dochelp:
@echo ' Linux kernel internal documentation in different formats:'
@echo ' htmldocs - HTML'
- @echo ' installmandocs - install man pages generated by mandocs'
- @echo ' mandocs - man pages'
@echo ' pdfdocs - PDF'
@echo ' psdocs - Postscript'
@echo ' xmldocs - XML DocBook'
+ @echo ' mandocs - man pages'
+ @echo ' installmandocs - install man pages generated by mandocs'
+ @echo ' cleandocs - clean all generated DocBook files'
###
# Temporary files left by various tools
@@ -235,6 +236,10 @@ clean-files := $(DOCBOOKS) \
clean-dirs := $(patsubst %.xml,%,$(DOCBOOKS)) man
+cleandocs:
+ $(Q)rm -f $(call objectify, $(clean-files))
+ $(Q)rm -rf $(call objectify, $(clean-dirs))
+
# Declare the contents of the .PHONY variable as phony. We keep that
# information in a variable se we can use it in if_changed and friends.
diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
index 51104f9..d4b0567 100644
--- a/Documentation/kbuild/makefiles.txt
+++ b/Documentation/kbuild/makefiles.txt
@@ -40,10 +40,16 @@ This document describes the Linux kernel Makefiles.
--- 6.7 Custom kbuild commands
--- 6.8 Preprocessing linker scripts
- === 7 Kbuild Variables
- === 8 Makefile language
- === 9 Credits
- === 10 TODO
+ === 7 Kbuild syntax for exported headers
+ --- 7.1 header-y
+ --- 7.2 objhdr-y
+ --- 7.3 destination-y
+ --- 7.4 unifdef-y (deprecated)
+
+ === 8 Kbuild Variables
+ === 9 Makefile language
+ === 10 Credits
+ === 11 TODO
=== 1 Overview
@@ -1143,8 +1149,69 @@ When kbuild executes, the following steps are followed (roughly):
The kbuild infrastructure for *lds file are used in several
architecture-specific files.
+=== 7 Kbuild syntax for exported headers
+
+The kernel include a set of headers that is exported to userspace.
+Many headers can be exported as-is but other headers requires a
+minimal pre-processing before they are ready for user-space.
+The pre-processing does:
+- drop kernel specific annotations
+- drop include of compiler.h
+- drop all sections that is kernel internat (guarded by ifdef __KERNEL__)
+
+Each relevant directory contain a file name "Kbuild" which specify the
+headers to be exported.
+See subsequent chapter for the syntax of the Kbuild file.
+
+ --- 7.1 header-y
+
+ header-y specify header files to be exported.
+
+ Example:
+ #include/linux/Kbuild
+ header-y += usb/
+ header-y += aio_abi.h
+
+ The convention is to list one file per line and
+ preferably in alphabetic order.
+
+ header-y also specify which subdirectories to visit.
+ A subdirectory is identified by a trailing '/' which
+ can be seen in the example above for the usb subdirectory.
+
+ Subdirectories are visited before their parent directories.
+
+ --- 7.2 objhdr-y
+
+ objhdr-y specifies generated files to be exported.
+ Generated files are special as they need to be looked
+ up in another directory when doing 'make O=...' builds.
+
+ Example:
+ #include/linux/Kbuild
+ objhdr-y += version.h
+
+ --- 7.3 destination-y
+
+ When an architecture have a set of exported headers that needs to be
+ exported to a different directory destination-y is used.
+ destination-y specify the destination directory for all exported
+ headers in the file where it is present.
+
+ Example:
+ #arch/xtensa/platforms/s6105/include/platform/Kbuild
+ destination-y := include/linux
+
+ In the example above all exported headers in the Kbuild file
+ will be located in the directory "include/linux" when exported.
+
+
+ --- 7.4 unifdef-y (deprecated)
+
+ unifdef-y is deprecated. A direct replacement is header-y.
+
-=== 7 Kbuild Variables
+=== 8 Kbuild Variables
The top Makefile exports the following variables:
@@ -1206,7 +1273,7 @@ The top Makefile exports the following variables:
INSTALL_MOD_STRIP will used as the option(s) to the strip command.
-=== 8 Makefile language
+=== 9 Makefile language
The kernel Makefiles are designed to be run with GNU Make. The Makefiles
use only the documented features of GNU Make, but they do use many
@@ -1225,14 +1292,14 @@ time the left-hand side is used.
There are some cases where "=" is appropriate. Usually, though, ":="
is the right choice.
-=== 9 Credits
+=== 10 Credits
Original version made by Michael Elizabeth Chastain, <mailto:mec@shout.net>
Updates by Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de>
Updates by Sam Ravnborg <sam@ravnborg.org>
Language QA by Jan Engelhardt <jengelh@gmx.de>
-=== 10 TODO
+=== 11 TODO
- Describe how kbuild supports shipped files with _shipped.
- Generating offset header files.
diff --git a/Documentation/sparse.txt b/Documentation/sparse.txt
index 42f43fa..34c76a5 100644
--- a/Documentation/sparse.txt
+++ b/Documentation/sparse.txt
@@ -42,6 +42,14 @@ sure that bitwise types don't get mixed up (little-endian vs big-endian
vs cpu-endian vs whatever), and there the constant "0" really _is_
special.
+__bitwise__ - to be used for relatively compact stuff (gfp_t, etc.) that
+is mostly warning-free and is supposed to stay that way. Warnings will
+be generated without __CHECK_ENDIAN__.
+
+__bitwise - noisy stuff; in particular, __le*/__be* are that. We really
+don't want to drown in noise unless we'd explicitly asked for it.
+
+
Getting sparse
~~~~~~~~~~~~~~
diff --git a/Makefile b/Makefile
index e5ad5fd..ad830bd 100644
--- a/Makefile
+++ b/Makefile
@@ -567,7 +567,7 @@ KBUILD_CFLAGS += $(call cc-option,-Wdeclaration-after-statement,)
# disable pointer signed / unsigned warnings in gcc 4.0
KBUILD_CFLAGS += $(call cc-option,-Wno-pointer-sign,)
-# disable invalid "can't wrap" optimzations for signed / pointers
+# disable invalid "can't wrap" optimizations for signed / pointers
KBUILD_CFLAGS += $(call cc-option,-fwrapv)
# revert to pre-gcc-4.4 behaviour of .eh_frame
@@ -597,6 +597,10 @@ LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\
LDFLAGS_MODULE += $(LDFLAGS_BUILD_ID)
LDFLAGS_vmlinux += $(LDFLAGS_BUILD_ID)
+ifeq ($(CONFIG_STRIP_ASM_SYMS),y)
+LDFLAGS_vmlinux += -X
+endif
+
# Default kernel image to build when no specific target is given.
# KBUILD_IMAGE may be overruled on the command line or
# set in the environment
@@ -1587,5 +1591,5 @@ PHONY += FORCE
FORCE:
# Declare the contents of the .PHONY variable as phony. We keep that
-# information in a variable se we can use it in if_changed and friends.
+# information in a variable so we can use it in if_changed and friends.
.PHONY: $(PHONY)
diff --git a/init/Kconfig b/init/Kconfig
index f2f9b53..7be4d38 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -808,6 +808,14 @@ config KALLSYMS_EXTRA_PASS
you wait for kallsyms to be fixed.
+config STRIP_ASM_SYMS
+ bool "Strip assembler-generated symbols during link"
+ default n
+ help
+ Strip internal assembler-generated symbols during a link (symbols
+ that look like '.Lxxx') so they don't pollute the output of
+ get_wchan() and suchlike.
+
config HOTPLUG
bool "Support for hot-pluggable devices" if EMBEDDED
default y
--git a/scripts/Makefile.headersinst b/scripts/Makefile.headersinst
index 612dc13..095cfc8 100644
--- a/scripts/Makefile.headersinst
+++ b/scripts/Makefile.headersinst
@@ -14,6 +14,8 @@ _dst := $(if $(dst),$(dst),$(obj))
kbuild-file := $(srctree)/$(obj)/Kbuild
include $(kbuild-file)
+_dst := $(if $(destination-y),$(destination-y),$(_dst))
+
include scripts/Kbuild.include
install := $(INSTALL_HDR_PATH)/$(_dst)
diff --git a/scripts/gen_initramfs_list.sh b/scripts/gen_initramfs_list.sh
index 3eea8f1..76af5f9 100644
--- a/scripts/gen_initramfs_list.sh
+++ b/scripts/gen_initramfs_list.sh
@@ -97,7 +97,7 @@ print_mtime() {
}
list_parse() {
- echo "$1 \\"
+ [ ! -L "$1" ] && echo "$1 \\" || :
}
# for each file print a line in following format
--git a/scripts/headerdep.pl b/scripts/headerdep.pl
index 97399da..b7f6c56 100755
--- a/scripts/headerdep.pl
+++ b/scripts/headerdep.pl
@@ -19,7 +19,7 @@ my $opt_graph;
version => \&version,
all => \$opt_all,
- I => \@opt_include,
+ "I=s" => \@opt_include,
graph => \$opt_graph,
);
diff --git a/scripts/kconfig/kxgettext.c b/scripts/kconfig/kxgettext.c
index 6eb72a7..8d9ce22 100644
--- a/scripts/kconfig/kxgettext.c
+++ b/scripts/kconfig/kxgettext.c
@@ -43,6 +43,10 @@ static char *escape(const char* text, char *bf, int len)
++text;
goto next;
}
+ else if (*text == '\\') {
+ *bfp++ = '\\';
+ len--;
+ }
*bfp++ = *text++;
next:
--len;
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 8cc7061..df6e628 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -1913,7 +1913,7 @@ static void read_dump(const char *fname, unsigned int kernel)
if (!mod) {
if (is_vmlinux(modname))
have_vmlinux = 1;
- mod = new_module(NOFAIL(strdup(modname)));
+ mod = new_module(modname);
mod->skip = 1;
}
s = sym_add_exported(symname, mod, export_no(export));
@@ -1997,7 +1997,7 @@ static void read_markers(const char *fname)
mod = find_module(modname);
if (!mod) {
- mod = new_module(NOFAIL(strdup(modname)));
+ mod = new_module(modname);
mod->skip = 1;
}
if (is_vmlinux(modname)) {
diff --git a/scripts/setlocalversion b/scripts/setlocalversion
index f1c4b35..47e75b6 100755
--- a/scripts/setlocalversion
+++ b/scripts/setlocalversion
@@ -21,7 +21,7 @@ if head=`git rev-parse --verify --short HEAD 2>/dev/null`; then
# Is this git on svn?
if git config --get svn-remote.svn.url >/dev/null; then
- printf -- '-svn%s' "`git-svn find-rev $head`"
+ printf -- '-svn%s' "`git svn find-rev $head`"
fi
# Are there uncommitted changes?
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [GIT] kbuild
@ 2009-03-18 19:35 Sam Ravnborg
0 siblings, 0 replies; 21+ messages in thread
From: Sam Ravnborg @ 2009-03-18 19:35 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-kbuild, LKML, Roman Zippel, Ingo Molnar
Fix the following issues:
o 'make randconfig' failed to generate random values for choices
thus letting several build-time bugs slip through the randconfig
based testing in tip - and likely for others doing builds based
on randconfig too
This fix is not a minimal fix - some effort were put into making
the code more strightforward and a few comments was added in the
process.
o Use seed for random with a resolution higher than 1 second.
Now that 'make randconfig' is much faster we can generate more
than one randconfig on a decent box within one second.
Please pull,
Sam
The following changes since commit 5bee17f18b595937e6beafeee5197868a3f74a06:
Kyle McMartin (1):
parisc: sba_iommu: fix build bug when CONFIG_PARISC_AGP=y
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes.git master
Ingo Molnar (1):
kconfig: improve seed in randconfig
Sam Ravnborg (1):
kconfig: fix randconfig for choice blocks
Full diff of the two changes:
scripts/kconfig/conf.c | 16 +++++++++++++-
scripts/kconfig/confdata.c | 51 +++++++++++++++++++++++++++++++-------------
2 files changed, 51 insertions(+), 16 deletions(-)
diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
index 3e1057f..d190092 100644
--- a/scripts/kconfig/conf.c
+++ b/scripts/kconfig/conf.c
@@ -11,6 +11,7 @@
#include <time.h>
#include <unistd.h>
#include <sys/stat.h>
+#include <sys/time.h>
#define LKC_DIRECT_LINK
#include "lkc.h"
@@ -464,9 +465,22 @@ int main(int ac, char **av)
input_mode = set_yes;
break;
case 'r':
+ {
+ struct timeval now;
+ unsigned int seed;
+
+ /*
+ * Use microseconds derived seed,
+ * compensate for systems where it may be zero
+ */
+ gettimeofday(&now, NULL);
+
+ seed = (unsigned int)((now.tv_sec + 1) * (now.tv_usec + 1));
+ srand(seed);
+
input_mode = set_random;
- srand(time(NULL));
break;
+ }
case 'h':
printf(_("See README for usage info\n"));
exit(0);
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index 830d9ea..273d738 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -843,7 +843,7 @@ void conf_set_all_new_symbols(enum conf_def_mode mode)
default:
continue;
}
- if (!sym_is_choice(sym) || mode != def_random)
+ if (!(sym_is_choice(sym) && mode == def_random))
sym->flags |= SYMBOL_DEF_USER;
break;
default:
@@ -856,28 +856,49 @@ void conf_set_all_new_symbols(enum conf_def_mode mode)
if (mode != def_random)
return;
-
+ /*
+ * We have different type of choice blocks.
+ * If curr.tri equal to mod then we can select several
+ * choice symbols in one block.
+ * In this case we do nothing.
+ * If curr.tri equal yes then only one symbol can be
+ * selected in a choice block and we set it to yes,
+ * and the rest to no.
+ */
for_all_symbols(i, csym) {
if (sym_has_value(csym) || !sym_is_choice(csym))
continue;
sym_calc_value(csym);
+
+ if (csym->curr.tri != yes)
+ continue;
+
prop = sym_get_choice_prop(csym);
- def = -1;
- while (1) {
- cnt = 0;
- expr_list_for_each_sym(prop->expr, e, sym) {
- if (sym->visible == no)
- continue;
- if (def == cnt++) {
- csym->def[S_DEF_USER].val = sym;
- break;
- }
+
+ /* count entries in choice block */
+ cnt = 0;
+ expr_list_for_each_sym(prop->expr, e, sym)
+ cnt++;
+
+ /*
+ * find a random value and set it to yes,
+ * set the rest to no so we have only one set
+ */
+ def = (rand() % cnt);
+
+ cnt = 0;
+ expr_list_for_each_sym(prop->expr, e, sym) {
+ if (def == cnt++) {
+ sym->def[S_DEF_USER].tri = yes;
+ csym->def[S_DEF_USER].val = sym;
+ }
+ else {
+ sym->def[S_DEF_USER].tri = no;
}
- if (def >= 0 || cnt < 2)
- break;
- def = (rand() % cnt) + 1;
}
csym->flags |= SYMBOL_DEF_USER;
+ /* clear VALID to get value calculated */
+ csym->flags &= ~(SYMBOL_VALID);
}
}
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [GIT] kbuild
@ 2009-03-11 19:24 Sam Ravnborg
0 siblings, 0 replies; 21+ messages in thread
From: Sam Ravnborg @ 2009-03-11 19:24 UTC (permalink / raw)
To: Linus Torvalds
Cc: linux-kbuild, LKML, Kyle McMartin, Gilles Espinasse, Josh Hunt,
Justin P. Mattock
Hi Linus.
A few late kbuild related fixes.
1) Fix unidef to build on latest RAWHIDE. They have doen some changes that
casued unifdef to fail.
2) Remove unused option to depmod. This is not fixing a real bug but
gives us better busybox compatibility.
3) Two fixes for make rpm - it should be working again after long time
suffering.
Please pull,
Thanks - Sam
The following changes since commit 559595a985e106d2fa9f0c79b7f5805453fed593:
Linus Torvalds (1):
Merge branch 'merge' of git://git.kernel.org/.../benh/powerpc
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes.git master
Gilles Espinasse (1):
kbuild: remove unused -r option for module-init-tool depmod
Josh Hunt (2):
kbuild: fix mkspec to cleanup RPM_BUILD_ROOT
kbuild: fix 'make rpm' when CONFIG_LOCALVERSION_AUTO=y and using SCM tree
Justin P. Mattock (1):
kbuild: fix C libary confusion in unifdef.c due to getline()
Makefile | 18 ++++++++++++------
scripts/package/Makefile | 3 ++-
scripts/package/mkspec | 2 +-
scripts/unifdef.c | 6 +++---
4 files changed, 18 insertions(+), 11 deletions(-)
Full diff for reference.
diff --git a/Makefile b/Makefile
index d04ee0a..5a5b82e 100644
--- a/Makefile
+++ b/Makefile
@@ -904,12 +904,18 @@ localver = $(subst $(space),, $(string) \
# and if the SCM is know a tag from the SCM is appended.
# The appended tag is determined by the SCM used.
#
-# Currently, only git is supported.
-# Other SCMs can edit scripts/setlocalversion and add the appropriate
-# checks as needed.
+# .scmversion is used when generating rpm packages so we do not loose
+# the version information from the SCM when we do the build of the kernel
+# from the copied source
ifdef CONFIG_LOCALVERSION_AUTO
- _localver-auto = $(shell $(CONFIG_SHELL) \
- $(srctree)/scripts/setlocalversion $(srctree))
+
+ifeq ($(wildcard .scmversion),)
+ _localver-auto = $(shell $(CONFIG_SHELL) \
+ $(srctree)/scripts/setlocalversion $(srctree))
+else
+ _localver-auto = $(shell cat .scmversion 2> /dev/null)
+endif
+
localver-auto = $(LOCALVERSION)$(_localver-auto)
endif
@@ -1537,7 +1543,7 @@ quiet_cmd_depmod = DEPMOD $(KERNELRELEASE)
cmd_depmod = \
if [ -r System.map -a -x $(DEPMOD) ]; then \
$(DEPMOD) -ae -F System.map \
- $(if $(strip $(INSTALL_MOD_PATH)), -b $(INSTALL_MOD_PATH) -r) \
+ $(if $(strip $(INSTALL_MOD_PATH)), -b $(INSTALL_MOD_PATH) ) \
$(KERNELRELEASE); \
fi
diff --git a/scripts/package/Makefile b/scripts/package/Makefile
index 8c6b7b0..fa4a0a1 100644
--- a/scripts/package/Makefile
+++ b/scripts/package/Makefile
@@ -35,9 +35,10 @@ $(objtree)/kernel.spec: $(MKSPEC) $(srctree)/Makefile
rpm-pkg rpm: $(objtree)/kernel.spec FORCE
$(MAKE) clean
$(PREV) ln -sf $(srctree) $(KERNELPATH)
+ $(CONFIG_SHELL) $(srctree)/scripts/setlocalversion > $(objtree)/.scmversion
$(PREV) tar -cz $(RCS_TAR_IGNORE) -f $(KERNELPATH).tar.gz $(KERNELPATH)/.
$(PREV) rm $(KERNELPATH)
-
+ rm -f $(objtree)/.scmversion
set -e; \
$(CONFIG_SHELL) $(srctree)/scripts/mkversion > $(objtree)/.tmp_version
set -e; \
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index ee448cd..3d93f8c 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -96,7 +96,7 @@ echo "%endif"
echo ""
echo "%clean"
-echo '#echo -rf $RPM_BUILD_ROOT'
+echo 'rm -rf $RPM_BUILD_ROOT'
echo ""
echo "%files"
echo '%defattr (-, root, root)'
diff --git a/scripts/unifdef.c b/scripts/unifdef.c
index 552025e..05a31a6 100644
--- a/scripts/unifdef.c
+++ b/scripts/unifdef.c
@@ -206,7 +206,7 @@ static void done(void);
static void error(const char *);
static int findsym(const char *);
static void flushline(bool);
-static Linetype getline(void);
+static Linetype get_line(void);
static Linetype ifeval(const char **);
static void ignoreoff(void);
static void ignoreon(void);
@@ -512,7 +512,7 @@ process(void)
for (;;) {
linenum++;
- lineval = getline();
+ lineval = get_line();
trans_table[ifstate[depth]][lineval]();
debug("process %s -> %s depth %d",
linetype_name[lineval],
@@ -526,7 +526,7 @@ process(void)
* help from skipcomment().
*/
static Linetype
-getline(void)
+get_line(void)
{
const char *cp;
int cursym;
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [GIT] kbuild
@ 2009-02-17 21:11 Sam Ravnborg
0 siblings, 0 replies; 21+ messages in thread
From: Sam Ravnborg @ 2009-02-17 21:11 UTC (permalink / raw)
To: Linus Torvalds, linux-kbuild, LKML
Hi Linus.
Please pull the following kbuild related fixes.
The significant part of this is the updates to the markup_oops.pl script.
The rest is udpated to tags, rpm and setlocalversion.
And a small update that touches top-lvel Makefile:
- We create a source symlink during *config and not the prepare phase as before
Sam
The following changes since commit d2f8d7ee1a9b4650b4e43325b321801264f7c37a:
Linus Torvalds (1):
Linux 2.6.29-rc5
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes.git master
Alexey Dobriyan (1):
kbuild: fix tags generation of config symbols
Andi Kleen (1):
kbuild: create the source symlink earlier in the objdir
Arjan van de Ven (2):
scripts: add x86 register parser to markup_oops.pl
scripts: add x86 64 bit support to the markup_oops.pl script
Josh Hunt (1):
kbuild: add vmlinux to kernel rpm
Michael Neuling (1):
bootgraph: fix for use with dot symbols
Mike Frysinger (1):
kbuild,setlocalversion: shorten the make time when using svn
Rabin Vincent (1):
kbuild: add sys_* entries for syscalls in tags
Makefile | 2 +-
scripts/bootgraph.pl | 4 +-
scripts/markup_oops.pl | 161 ++++++++++++++++++++++++++++++++++++++++++++---
scripts/package/mkspec | 8 +++
scripts/setlocalversion | 9 +---
scripts/tags.sh | 12 +++-
6 files changed, 174 insertions(+), 22 deletions(-)
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2010-07-08 5:47 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-19 9:25 [GIT] kbuild Sam Ravnborg
2009-04-19 22:39 ` Paul Mundt
2009-04-19 23:45 ` Sam Ravnborg
2009-04-20 0:52 ` Linus Torvalds
2009-04-20 1:41 ` Al Viro
2009-04-20 2:49 ` Al Viro
2009-04-20 4:45 ` Sam Ravnborg
2009-04-20 5:15 ` Al Viro
2009-04-20 8:24 ` Sam Ravnborg
2009-04-20 4:42 ` Sam Ravnborg
-- strict thread matches above, loose matches on Subject: below --
2010-07-07 9:08 Michal Marek
2010-07-07 16:41 ` Linus Torvalds
2010-07-08 5:47 ` Michal Marek
2010-03-08 14:34 Michal Marek
2009-09-21 17:56 Sam Ravnborg
2009-06-14 21:09 Sam Ravnborg
2009-05-01 10:15 Sam Ravnborg
2009-04-11 19:45 Sam Ravnborg
2009-03-18 19:35 Sam Ravnborg
2009-03-11 19:24 Sam Ravnborg
2009-02-17 21:11 Sam Ravnborg
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.