All of lore.kernel.org
 help / color / mirror / Atom feed
* [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
* [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
* [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 +++
 scripts/Makefile.headersinst       |    2 +
 scripts/gen_initramfs_list.sh      |    2 +-
 scripts/headerdep.pl               |    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
diff --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
diff --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.