Browse Source

Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild

* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild:
  scsi: fix dependency bug in aic7 Makefile
  kbuild: add svn revision information to setlocalversion
  kbuild: do not warn about __*init/__*exit symbols being exported
  Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig
  Add HAVE_KPROBES
  Add HAVE_OPROFILE
  Create arch/Kconfig
  Fix ARM to play nicely with generic Instrumentation menu
  kconfig: ignore select of unknown symbol
  kconfig: mark config as changed when loading an alternate config
  kbuild: Spelling/grammar fixes for config DEBUG_SECTION_MISMATCH
  Remove __INIT_REFOK and __INITDATA_REFOK
  kbuild: print only total number of section mismatces found
Linus Torvalds 17 years ago
parent
commit
519cb68807

+ 31 - 0
arch/Kconfig

@@ -0,0 +1,31 @@
+#
+# General architecture dependent options
+#
+
+config OPROFILE
+	tristate "OProfile system profiling (EXPERIMENTAL)"
+	depends on PROFILING
+	depends on HAVE_OPROFILE
+	help
+	  OProfile is a profiling system capable of profiling the
+	  whole system, include the kernel, kernel modules, libraries,
+	  and applications.
+
+	  If unsure, say N.
+
+config HAVE_OPROFILE
+	def_bool n
+
+config KPROBES
+	bool "Kprobes"
+	depends on KALLSYMS && MODULES
+	depends on HAVE_KPROBES
+	help
+	  Kprobes allows you to trap at almost any kernel address and
+	  execute a callback function.  register_kprobe() establishes
+	  a probepoint and specifies the callback.  Kprobes is useful
+	  for kernel debugging, non-intrusive instrumentation and testing.
+	  If in doubt, say "N".
+
+config HAVE_KPROBES
+	def_bool n

+ 1 - 2
arch/alpha/Kconfig

@@ -5,6 +5,7 @@
 config ALPHA
 config ALPHA
 	bool
 	bool
 	default y
 	default y
+	select HAVE_OPROFILE
 	help
 	help
 	  The Alpha is a 64-bit general-purpose processor designed and
 	  The Alpha is a 64-bit general-purpose processor designed and
 	  marketed by the Digital Equipment Corporation of blessed memory,
 	  marketed by the Digital Equipment Corporation of blessed memory,
@@ -649,8 +650,6 @@ source "drivers/Kconfig"
 
 
 source "fs/Kconfig"
 source "fs/Kconfig"
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/alpha/Kconfig.debug"
 source "arch/alpha/Kconfig.debug"
 
 
 # DUMMY_CONSOLE may be defined in drivers/video/console/Kconfig
 # DUMMY_CONSOLE may be defined in drivers/video/console/Kconfig

+ 19 - 2
arch/arm/Kconfig

@@ -10,6 +10,8 @@ config ARM
 	default y
 	default y
 	select RTC_LIB
 	select RTC_LIB
 	select SYS_SUPPORTS_APM_EMULATION
 	select SYS_SUPPORTS_APM_EMULATION
+	select HAVE_OPROFILE
+	select HAVE_KPROBES if (!XIP_KERNEL)
 	help
 	help
 	  The ARM series is a line of low-power-consumption RISC chip designs
 	  The ARM series is a line of low-power-consumption RISC chip designs
 	  licensed by ARM Ltd and targeted at embedded applications and
 	  licensed by ARM Ltd and targeted at embedded applications and
@@ -135,6 +137,23 @@ config FIQ
 config ARCH_MTD_XIP
 config ARCH_MTD_XIP
 	bool
 	bool
 
 
+if OPROFILE
+
+config OPROFILE_ARMV6
+	def_bool y
+	depends on CPU_V6 && !SMP
+	select OPROFILE_ARM11_CORE
+
+config OPROFILE_MPCORE
+	def_bool y
+	depends on CPU_V6 && SMP
+	select OPROFILE_ARM11_CORE
+
+config OPROFILE_ARM11_CORE
+	bool
+
+endif
+
 config VECTORS_BASE
 config VECTORS_BASE
 	hex
 	hex
 	default 0xffff0000 if MMU || CPU_HIGH_VECTOR
 	default 0xffff0000 if MMU || CPU_HIGH_VECTOR
@@ -1128,8 +1147,6 @@ endmenu
 
 
 source "fs/Kconfig"
 source "fs/Kconfig"
 
 
-source "arch/arm/Kconfig.instrumentation"
-
 source "arch/arm/Kconfig.debug"
 source "arch/arm/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 0 - 62
arch/arm/Kconfig.instrumentation

@@ -1,62 +0,0 @@
-menuconfig INSTRUMENTATION
-	bool "Instrumentation Support"
-	default y
-	---help---
-	  Say Y here to get to see options related to performance measurement,
-	  system-wide debugging, and testing. This option alone does not add any
-	  kernel code.
-
-	  If you say N, all options in this submenu will be skipped and
-	  disabled. If you're trying to debug the kernel itself, go see the
-	  Kernel Hacking menu.
-
-if INSTRUMENTATION
-
-config PROFILING
-	bool "Profiling support (EXPERIMENTAL)"
-	help
-	  Say Y here to enable the extended profiling support mechanisms used
-	  by profilers such as OProfile.
-
-config OPROFILE
-	tristate "OProfile system profiling (EXPERIMENTAL)"
-	depends on PROFILING && !UML
-	help
-	  OProfile is a profiling system capable of profiling the
-	  whole system, include the kernel, kernel modules, libraries,
-	  and applications.
-
-	  If unsure, say N.
-
-config OPROFILE_ARMV6
-	bool
-	depends on OPROFILE && CPU_V6 && !SMP
-	default y
-	select OPROFILE_ARM11_CORE
-
-config OPROFILE_MPCORE
-	bool
-	depends on OPROFILE && CPU_V6 && SMP
-	default y
-	select OPROFILE_ARM11_CORE
-
-config OPROFILE_ARM11_CORE
-	bool
-
-config KPROBES
-	bool "Kprobes"
-	depends on KALLSYMS && MODULES && !UML && !XIP_KERNEL
-	help
-	  Kprobes allows you to trap at almost any kernel address and
-	  execute a callback function.  register_kprobe() establishes
-	  a probepoint and specifies the callback.  Kprobes is useful
-	  for kernel debugging, non-intrusive instrumentation and testing.
-	  If in doubt, say "N".
-
-config MARKERS
-	bool "Activate markers"
-	help
-	  Place an empty function call at each marker site. Can be
-	  dynamically changed for a probe function.
-
-endif # INSTRUMENTATION

+ 2 - 3
arch/avr32/Kconfig

@@ -10,6 +10,8 @@ config AVR32
 	# With EMBEDDED=n, we get lots of stuff automatically selected
 	# With EMBEDDED=n, we get lots of stuff automatically selected
 	# that we usually don't need on AVR32.
 	# that we usually don't need on AVR32.
 	select EMBEDDED
 	select EMBEDDED
+	select HAVE_OPROFILE
+	select HAVE_KPROBES
 	help
 	help
 	  AVR32 is a high-performance 32-bit RISC microprocessor core,
 	  AVR32 is a high-performance 32-bit RISC microprocessor core,
 	  designed for cost-sensitive embedded applications, with particular
 	  designed for cost-sensitive embedded applications, with particular
@@ -54,9 +56,6 @@ config ARCH_HAS_ILOG2_U32
 config ARCH_HAS_ILOG2_U64
 config ARCH_HAS_ILOG2_U64
 	def_bool n
 	def_bool n
 
 
-config ARCH_SUPPORTS_OPROFILE
-	def_bool y
-
 config GENERIC_HWEIGHT
 config GENERIC_HWEIGHT
 	def_bool y
 	def_bool y
 
 

+ 1 - 2
arch/blackfin/Kconfig

@@ -24,6 +24,7 @@ config RWSEM_XCHGADD_ALGORITHM
 config BLACKFIN
 config BLACKFIN
 	bool
 	bool
 	default y
 	default y
+	select HAVE_OPROFILE
 
 
 config ZONE_DMA
 config ZONE_DMA
 	bool
 	bool
@@ -973,8 +974,6 @@ source "drivers/Kconfig"
 
 
 source "fs/Kconfig"
 source "fs/Kconfig"
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/blackfin/Kconfig.debug"
 source "arch/blackfin/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 0 - 2
arch/cris/Kconfig

@@ -213,8 +213,6 @@ source "drivers/pci/Kconfig"
 
 
 source "drivers/usb/Kconfig"
 source "drivers/usb/Kconfig"
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/cris/Kconfig.debug"
 source "arch/cris/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 0 - 2
arch/frv/Kconfig

@@ -375,8 +375,6 @@ source "drivers/Kconfig"
 
 
 source "fs/Kconfig"
 source "fs/Kconfig"
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/frv/Kconfig.debug"
 source "arch/frv/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 0 - 2
arch/h8300/Kconfig

@@ -223,8 +223,6 @@ endmenu
 
 
 source "fs/Kconfig"
 source "fs/Kconfig"
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/h8300/Kconfig.debug"
 source "arch/h8300/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 2 - 2
arch/ia64/Kconfig

@@ -15,6 +15,8 @@ config IA64
 	select ACPI if (!IA64_HP_SIM)
 	select ACPI if (!IA64_HP_SIM)
 	select PM if (!IA64_HP_SIM)
 	select PM if (!IA64_HP_SIM)
 	select ARCH_SUPPORTS_MSI
 	select ARCH_SUPPORTS_MSI
+	select HAVE_OPROFILE
+	select HAVE_KPROBES
 	default y
 	default y
 	help
 	help
 	  The Itanium Processor Family is Intel's 64-bit successor to
 	  The Itanium Processor Family is Intel's 64-bit successor to
@@ -600,8 +602,6 @@ config IRQ_PER_CPU
 
 
 source "arch/ia64/hp/sim/Kconfig"
 source "arch/ia64/hp/sim/Kconfig"
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/ia64/Kconfig.debug"
 source "arch/ia64/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 1 - 2
arch/m32r/Kconfig

@@ -8,6 +8,7 @@ mainmenu "Linux/M32R Kernel Configuration"
 config M32R
 config M32R
 	bool
 	bool
 	default y
 	default y
+	select HAVE_OPROFILE
 
 
 config SBUS
 config SBUS
 	bool
 	bool
@@ -426,8 +427,6 @@ source "drivers/Kconfig"
 
 
 source "fs/Kconfig"
 source "fs/Kconfig"
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/m32r/Kconfig.debug"
 source "arch/m32r/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 0 - 2
arch/m68k/Kconfig

@@ -678,8 +678,6 @@ endmenu
 
 
 source "fs/Kconfig"
 source "fs/Kconfig"
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/m68k/Kconfig.debug"
 source "arch/m68k/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 0 - 2
arch/m68knommu/Kconfig

@@ -711,8 +711,6 @@ source "drivers/Kconfig"
 
 
 source "fs/Kconfig"
 source "fs/Kconfig"
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/m68knommu/Kconfig.debug"
 source "arch/m68knommu/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 1 - 2
arch/mips/Kconfig

@@ -1,6 +1,7 @@
 config MIPS
 config MIPS
 	bool
 	bool
 	default y
 	default y
+	select HAVE_OPROFILE
 	# Horrible source of confusion.  Die, die, die ...
 	# Horrible source of confusion.  Die, die, die ...
 	select EMBEDDED
 	select EMBEDDED
 	select RTC_LIB
 	select RTC_LIB
@@ -2095,8 +2096,6 @@ source "drivers/Kconfig"
 
 
 source "fs/Kconfig"
 source "fs/Kconfig"
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/mips/Kconfig.debug"
 source "arch/mips/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 1 - 2
arch/parisc/Kconfig

@@ -7,6 +7,7 @@ mainmenu "Linux/PA-RISC Kernel Configuration"
 
 
 config PARISC
 config PARISC
 	def_bool y
 	def_bool y
+	select HAVE_OPROFILE
 	help
 	help
 	  The PA-RISC microprocessor is designed by Hewlett-Packard and used
 	  The PA-RISC microprocessor is designed by Hewlett-Packard and used
 	  in many of their workstations & servers (HP9000 700 and 800 series,
 	  in many of their workstations & servers (HP9000 700 and 800 series,
@@ -272,8 +273,6 @@ source "drivers/Kconfig"
 
 
 source "fs/Kconfig"
 source "fs/Kconfig"
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/parisc/Kconfig.debug"
 source "arch/parisc/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 2 - 2
arch/powerpc/Kconfig

@@ -87,6 +87,8 @@ config ARCH_NO_VIRT_TO_BUS
 config PPC
 config PPC
 	bool
 	bool
 	default y
 	default y
+	select HAVE_OPROFILE
+	select HAVE_KPROBES
 
 
 config EARLY_PRINTK
 config EARLY_PRINTK
 	bool
 	bool
@@ -713,8 +715,6 @@ source "arch/powerpc/sysdev/qe_lib/Kconfig"
 
 
 source "lib/Kconfig"
 source "lib/Kconfig"
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/powerpc/Kconfig.debug"
 source "arch/powerpc/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 2 - 2
arch/ppc/Kconfig

@@ -42,6 +42,8 @@ config GENERIC_CALIBRATE_DELAY
 config PPC
 config PPC
 	bool
 	bool
 	default y
 	default y
+	select HAVE_OPROFILE
+	select HAVE_KPROBES
 
 
 config PPC32
 config PPC32
 	bool
 	bool
@@ -1256,8 +1258,6 @@ endmenu
 
 
 source "lib/Kconfig"
 source "lib/Kconfig"
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/ppc/Kconfig.debug"
 source "arch/ppc/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 2 - 2
arch/s390/Kconfig

@@ -51,6 +51,8 @@ mainmenu "Linux Kernel Configuration"
 
 
 config S390
 config S390
 	def_bool y
 	def_bool y
+	select HAVE_OPROFILE
+	select HAVE_KPROBES
 
 
 source "init/Kconfig"
 source "init/Kconfig"
 
 
@@ -526,8 +528,6 @@ source "drivers/Kconfig"
 
 
 source "fs/Kconfig"
 source "fs/Kconfig"
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/s390/Kconfig.debug"
 source "arch/s390/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 1 - 2
arch/sh/Kconfig

@@ -8,6 +8,7 @@ mainmenu "Linux/SuperH Kernel Configuration"
 config SUPERH
 config SUPERH
 	def_bool y
 	def_bool y
 	select EMBEDDED
 	select EMBEDDED
+	select HAVE_OPROFILE
 	help
 	help
 	  The SuperH is a RISC processor targeted for use in embedded systems
 	  The SuperH is a RISC processor targeted for use in embedded systems
 	  and consumer electronics; it was also used in the Sega Dreamcast
 	  and consumer electronics; it was also used in the Sega Dreamcast
@@ -896,8 +897,6 @@ source "drivers/Kconfig"
 
 
 source "fs/Kconfig"
 source "fs/Kconfig"
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/sh/Kconfig.debug"
 source "arch/sh/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 1 - 2
arch/sparc/Kconfig

@@ -63,6 +63,7 @@ config NR_CPUS
 config SPARC
 config SPARC
 	bool
 	bool
 	default y
 	default y
+	select HAVE_OPROFILE
 
 
 # Identify this as a Sparc32 build
 # Identify this as a Sparc32 build
 config SPARC32
 config SPARC32
@@ -320,8 +321,6 @@ endmenu
 
 
 source "fs/Kconfig"
 source "fs/Kconfig"
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/sparc/Kconfig.debug"
 source "arch/sparc/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 2 - 2
arch/sparc64/Kconfig

@@ -8,6 +8,8 @@ mainmenu "Linux/UltraSPARC Kernel Configuration"
 config SPARC
 config SPARC
 	bool
 	bool
 	default y
 	default y
+	select HAVE_OPROFILE
+	select HAVE_KPROBES
 
 
 config SPARC64
 config SPARC64
 	bool
 	bool
@@ -465,8 +467,6 @@ source "drivers/sbus/char/Kconfig"
 
 
 source "fs/Kconfig"
 source "fs/Kconfig"
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/sparc64/Kconfig.debug"
 source "arch/sparc64/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 0 - 2
arch/um/Kconfig

@@ -289,6 +289,4 @@ config INPUT
 	bool
 	bool
 	default n
 	default n
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/um/Kconfig.debug"
 source "arch/um/Kconfig.debug"

+ 0 - 2
arch/v850/Kconfig

@@ -331,8 +331,6 @@ source "sound/Kconfig"
 
 
 source "drivers/usb/Kconfig"
 source "drivers/usb/Kconfig"
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/v850/Kconfig.debug"
 source "arch/v850/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 2 - 6
arch/x86/Kconfig

@@ -18,6 +18,8 @@ config X86_64
 ### Arch settings
 ### Arch settings
 config X86
 config X86
 	def_bool y
 	def_bool y
+	select HAVE_OPROFILE
+	select HAVE_KPROBES
 
 
 config GENERIC_LOCKBREAK
 config GENERIC_LOCKBREAK
 	def_bool n
 	def_bool n
@@ -106,10 +108,6 @@ config GENERIC_TIME_VSYSCALL
 config HAVE_SETUP_PER_CPU_AREA
 config HAVE_SETUP_PER_CPU_AREA
 	def_bool X86_64
 	def_bool X86_64
 
 
-config ARCH_SUPPORTS_OPROFILE
-	bool
-	default y
-
 select HAVE_KVM
 select HAVE_KVM
 
 
 config ARCH_HIBERNATION_POSSIBLE
 config ARCH_HIBERNATION_POSSIBLE
@@ -1597,8 +1595,6 @@ source "drivers/firmware/Kconfig"
 
 
 source "fs/Kconfig"
 source "fs/Kconfig"
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/x86/Kconfig.debug"
 source "arch/x86/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 0 - 2
arch/xtensa/Kconfig

@@ -246,8 +246,6 @@ config EMBEDDED_RAMDISK_IMAGE
 	  provide one yourself.
 	  provide one yourself.
 endmenu
 endmenu
 
 
-source "kernel/Kconfig.instrumentation"
-
 source "arch/xtensa/Kconfig.debug"
 source "arch/xtensa/Kconfig.debug"
 
 
 source "security/Kconfig"
 source "security/Kconfig"

+ 2 - 7
drivers/scsi/aic7xxx/Makefile

@@ -44,13 +44,8 @@ clean-files += aic79xx_seq.h aic79xx_reg.h aic79xx_reg_print.c
 
 
 # Dependencies for generated files need to be listed explicitly
 # Dependencies for generated files need to be listed explicitly
 
 
-$(obj)/aic7xxx_core.o: $(obj)/aic7xxx_seq.h
-$(obj)/aic7xxx_core.o: $(obj)/aic7xxx_reg.h
-$(obj)/aic79xx_core.o: $(obj)/aic79xx_seq.h
-$(obj)/aic79xx_core.o: $(obj)/aic79xx_reg.h
-
-$(addprefix $(obj)/,$(aic7xxx-y)): $(obj)/aic7xxx_seq.h
-$(addprefix $(obj)/,$(aic79xx-y)): $(obj)/aic79xx_seq.h
+$(addprefix $(src)/,$(aic7xxx-y:.o=.c)): $(obj)/aic7xxx_seq.h $(obj)/aic7xxx_reg.h
+$(addprefix $(src)/,$(aic79xx-y:.o=.c)): $(obj)/aic79xx_seq.h $(obj)/aic79xx_reg.h
 
 
 aic7xxx-gen-$(CONFIG_AIC7XXX_BUILD_FIRMWARE)	:= $(obj)/aic7xxx_reg.h
 aic7xxx-gen-$(CONFIG_AIC7XXX_BUILD_FIRMWARE)	:= $(obj)/aic7xxx_reg.h
 aic7xxx-gen-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT)	+= $(obj)/aic7xxx_reg_print.c
 aic7xxx-gen-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT)	+= $(obj)/aic7xxx_reg_print.c

+ 0 - 3
include/linux/init.h

@@ -124,9 +124,6 @@
 #define __REF            .section       ".ref.text", "ax"
 #define __REF            .section       ".ref.text", "ax"
 #define __REFDATA        .section       ".ref.data", "aw"
 #define __REFDATA        .section       ".ref.data", "aw"
 #define __REFCONST       .section       ".ref.rodata", "aw"
 #define __REFCONST       .section       ".ref.rodata", "aw"
-/* backward compatibility */
-#define __INIT_REFOK     .section	__REF
-#define __INITDATA_REFOK .section	__REFDATA
 
 
 #ifndef __ASSEMBLY__
 #ifndef __ASSEMBLY__
 /*
 /*

+ 14 - 0
init/Kconfig

@@ -665,6 +665,20 @@ config SLOB
 
 
 endchoice
 endchoice
 
 
+config PROFILING
+	bool "Profiling support (EXPERIMENTAL)"
+	help
+	  Say Y here to enable the extended profiling support mechanisms used
+	  by profilers such as OProfile.
+
+config MARKERS
+	bool "Activate markers"
+	help
+	  Place an empty function call at each marker site. Can be
+	  dynamically changed for a probe function.
+
+source "arch/Kconfig"
+
 endmenu		# General setup
 endmenu		# General setup
 
 
 config SLABINFO
 config SLABINFO

+ 0 - 49
kernel/Kconfig.instrumentation

@@ -1,49 +0,0 @@
-menuconfig INSTRUMENTATION
-	bool "Instrumentation Support"
-	default y
-	---help---
-	  Say Y here to get to see options related to performance measurement,
-	  system-wide debugging, and testing. This option alone does not add any
-	  kernel code.
-
-	  If you say N, all options in this submenu will be skipped and
-	  disabled. If you're trying to debug the kernel itself, go see the
-	  Kernel Hacking menu.
-
-if INSTRUMENTATION
-
-config PROFILING
-	bool "Profiling support (EXPERIMENTAL)"
-	help
-	  Say Y here to enable the extended profiling support mechanisms used
-	  by profilers such as OProfile.
-
-config OPROFILE
-	tristate "OProfile system profiling (EXPERIMENTAL)"
-	depends on PROFILING && !UML
-	depends on ARCH_SUPPORTS_OPROFILE || ALPHA || ARM || BLACKFIN || IA64 || M32R || PARISC || PPC || S390 || SUPERH || SPARC
-	help
-	  OProfile is a profiling system capable of profiling the
-	  whole system, include the kernel, kernel modules, libraries,
-	  and applications.
-
-	  If unsure, say N.
-
-config KPROBES
-	bool "Kprobes"
-	depends on KALLSYMS && MODULES && !UML
-	depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32
-	help
-	  Kprobes allows you to trap at almost any kernel address and
-	  execute a callback function.  register_kprobe() establishes
-	  a probepoint and specifies the callback.  Kprobes is useful
-	  for kernel debugging, non-intrusive instrumentation and testing.
-	  If in doubt, say "N".
-
-config MARKERS
-	bool "Activate markers"
-	help
-	  Place an empty function call at each marker site. Can be
-	  dynamically changed for a probe function.
-
-endif # INSTRUMENTATION

+ 7 - 7
lib/Kconfig.debug

@@ -81,7 +81,7 @@ config HEADERS_CHECK
 
 
 config DEBUG_SECTION_MISMATCH
 config DEBUG_SECTION_MISMATCH
 	bool "Enable full Section mismatch analysis"
 	bool "Enable full Section mismatch analysis"
-	default n
+	depends on UNDEFINED
 	help
 	help
 	  The section mismatch analysis checks if there are illegal
 	  The section mismatch analysis checks if there are illegal
 	  references from one section to another section.
 	  references from one section to another section.
@@ -90,19 +90,19 @@ config DEBUG_SECTION_MISMATCH
 	  most likely result in an oops.
 	  most likely result in an oops.
 	  In the code functions and variables are annotated with
 	  In the code functions and variables are annotated with
 	  __init, __devinit etc. (see full list in include/linux/init.h)
 	  __init, __devinit etc. (see full list in include/linux/init.h)
-	  which result in the code/data being placed in specific sections.
-	  The section mismatch anaylsis are always done after a full
-	  kernel build but enabling this options will in addition
+	  which results in the code/data being placed in specific sections.
+	  The section mismatch analysis is always done after a full
+	  kernel build but enabling this option will in addition
 	  do the following:
 	  do the following:
 	  - Add the option -fno-inline-functions-called-once to gcc
 	  - Add the option -fno-inline-functions-called-once to gcc
 	    When inlining a function annotated __init in a non-init
 	    When inlining a function annotated __init in a non-init
-	    function we would loose the section information and thus
+	    function we would lose the section information and thus
 	    the analysis would not catch the illegal reference.
 	    the analysis would not catch the illegal reference.
-	    This options tell gcc to inline less but will also
+	    This option tells gcc to inline less but will also
 	    result in a larger kernel.
 	    result in a larger kernel.
 	  - Run the section mismatch analysis for each module/built-in.o
 	  - Run the section mismatch analysis for each module/built-in.o
 	    When we run the section mismatch analysis on vmlinux.o we
 	    When we run the section mismatch analysis on vmlinux.o we
-	    looses valueable information about where the mismatch was
+	    lose valueble information about where the mismatch was
 	    introduced.
 	    introduced.
 	    Running the analysis for each module/built-in.o file
 	    Running the analysis for each module/built-in.o file
 	    will tell where the mismatch happens much closer to the
 	    will tell where the mismatch happens much closer to the

+ 1 - 0
scripts/kconfig/mconf.c

@@ -821,6 +821,7 @@ static void conf_load(void)
 				return;
 				return;
 			if (!conf_read(dialog_input_result)) {
 			if (!conf_read(dialog_input_result)) {
 				set_config_filename(dialog_input_result);
 				set_config_filename(dialog_input_result);
+				sym_set_change_count(1);
 				return;
 				return;
 			}
 			}
 			show_textbox(NULL, _("File does not exist!"), 5, 38);
 			show_textbox(NULL, _("File does not exist!"), 5, 38);

+ 3 - 6
scripts/kconfig/menu.c

@@ -203,12 +203,9 @@ void sym_check_prop(struct symbol *sym)
 				prop_warn(prop,
 				prop_warn(prop,
 				    "config symbol '%s' uses select, but is "
 				    "config symbol '%s' uses select, but is "
 				    "not boolean or tristate", sym->name);
 				    "not boolean or tristate", sym->name);
-			else if (sym2->type == S_UNKNOWN)
-				prop_warn(prop,
-				    "'select' used by config symbol '%s' "
-				    "refers to undefined symbol '%s'",
-				    sym->name, sym2->name);
-			else if (sym2->type != S_BOOLEAN && sym2->type != S_TRISTATE)
+			else if (sym2->type != S_UNKNOWN &&
+			         sym2->type != S_BOOLEAN &&
+			         sym2->type != S_TRISTATE)
 				prop_warn(prop,
 				prop_warn(prop,
 				    "'%s' has wrong type. 'select' only "
 				    "'%s' has wrong type. 'select' only "
 				    "accept arguments of boolean and "
 				    "accept arguments of boolean and "

+ 8 - 9
scripts/mod/modpost.c

@@ -870,7 +870,7 @@ const struct sectioncheck sectioncheck[] = {
 /* Do not export init/exit functions or data */
 /* Do not export init/exit functions or data */
 {
 {
 	.fromsec = { "__ksymtab*", NULL },
 	.fromsec = { "__ksymtab*", NULL },
-	.tosec   = { ALL_INIT_SECTIONS, ALL_EXIT_SECTIONS, NULL },
+	.tosec   = { INIT_SECTIONS, EXIT_SECTIONS, NULL },
 	.mismatch = EXPORT_TO_INIT_EXIT
 	.mismatch = EXPORT_TO_INIT_EXIT
 }
 }
 };
 };
@@ -1125,15 +1125,15 @@ static void report_sec_mismatch(const char *modname, enum mismatch mismatch,
 	to = to_is_func ? "function" : "variable";
 	to = to_is_func ? "function" : "variable";
 	to_p = to_is_func ? "()" : "";
 	to_p = to_is_func ? "()" : "";
 
 
+	sec_mismatch_count++;
+	if (!sec_mismatch_verbose)
+		return;
+
 	fprintf(stderr, "WARNING: %s(%s+0x%llx): Section mismatch in"
 	fprintf(stderr, "WARNING: %s(%s+0x%llx): Section mismatch in"
 	                " reference from the %s %s%s to the %s %s:%s%s\n",
 	                " reference from the %s %s%s to the %s %s:%s%s\n",
                         modname, fromsec, fromaddr, from, fromsym, from_p,
                         modname, fromsec, fromaddr, from, fromsym, from_p,
 	                to, tosec, tosym, to_p);
 	                to, tosec, tosym, to_p);
 
 
-	sec_mismatch_count++;
-	if (!sec_mismatch_verbose)
-		return;
-
 	switch (mismatch) {
 	switch (mismatch) {
 	case TEXT_TO_INIT:
 	case TEXT_TO_INIT:
 		fprintf(stderr,
 		fprintf(stderr,
@@ -1939,10 +1939,9 @@ int main(int argc, char **argv)
 		write_dump(dump_write);
 		write_dump(dump_write);
 	if (sec_mismatch_count && !sec_mismatch_verbose)
 	if (sec_mismatch_count && !sec_mismatch_verbose)
 		fprintf(stderr, "modpost: Found %d section mismatch(es).\n"
 		fprintf(stderr, "modpost: Found %d section mismatch(es).\n"
-		        "To see additional details select \"Enable full "
-		        "Section mismatch analysis\"\n"
-		        "in the Kernel Hacking menu "
-		        "(CONFIG_SECTION_MISMATCH).\n", sec_mismatch_count);
+		        "To see full details build your kernel with:\n"
+		        "'make CONFIG_DEBUG_SECTION_MISMATCH=y'\n",
+		        sec_mismatch_count);
 
 
 	return err;
 	return err;
 }
 }

+ 16 - 0
scripts/setlocalversion

@@ -45,3 +45,19 @@ if hgid=`hg id 2>/dev/null`; then
 	# All done with mercurial
 	# All done with mercurial
 	exit
 	exit
 fi
 fi
+
+# Check for svn and a svn repo.
+if rev=`svn info 2>/dev/null | grep '^Revision'`; then
+	rev=`echo $rev | awk '{print $NF}'`
+	changes=`svn status 2>/dev/null | grep '^[AMD]' | wc -l`
+
+	# Are there uncommitted changes?
+	if [ $changes != 0 ]; then
+		printf -- '-svn%s%s%s' "$rev" -dirty "$changes"
+	else
+		printf -- '-svn%s' "$rev"
+	fi
+
+	# All done with svn
+	exit
+fi