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
This commit is contained in:
commit
519cb68807
34 changed files with 122 additions and 194 deletions
arch
Kconfig
alpha
arm
avr32
blackfin
cris
frv
h8300
ia64
m32r
m68k
m68knommu
mips
parisc
powerpc
ppc
s390
sh
sparc
sparc64
um
v850
x86
xtensa
drivers/scsi/aic7xxx
include/linux
init
kernel
lib
scripts
31
arch/Kconfig
Normal file
31
arch/Kconfig
Normal file
|
@ -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
|
|
@ -5,6 +5,7 @@
|
|||
config ALPHA
|
||||
bool
|
||||
default y
|
||||
select HAVE_OPROFILE
|
||||
help
|
||||
The Alpha is a 64-bit general-purpose processor designed and
|
||||
marketed by the Digital Equipment Corporation of blessed memory,
|
||||
|
@ -649,8 +650,6 @@ source "drivers/Kconfig"
|
|||
|
||||
source "fs/Kconfig"
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/alpha/Kconfig.debug"
|
||||
|
||||
# DUMMY_CONSOLE may be defined in drivers/video/console/Kconfig
|
||||
|
|
|
@ -10,6 +10,8 @@ config ARM
|
|||
default y
|
||||
select RTC_LIB
|
||||
select SYS_SUPPORTS_APM_EMULATION
|
||||
select HAVE_OPROFILE
|
||||
select HAVE_KPROBES if (!XIP_KERNEL)
|
||||
help
|
||||
The ARM series is a line of low-power-consumption RISC chip designs
|
||||
licensed by ARM Ltd and targeted at embedded applications and
|
||||
|
@ -135,6 +137,23 @@ config FIQ
|
|||
config ARCH_MTD_XIP
|
||||
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
|
||||
hex
|
||||
default 0xffff0000 if MMU || CPU_HIGH_VECTOR
|
||||
|
@ -1128,8 +1147,6 @@ endmenu
|
|||
|
||||
source "fs/Kconfig"
|
||||
|
||||
source "arch/arm/Kconfig.instrumentation"
|
||||
|
||||
source "arch/arm/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -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
|
|
@ -10,6 +10,8 @@ config AVR32
|
|||
# With EMBEDDED=n, we get lots of stuff automatically selected
|
||||
# that we usually don't need on AVR32.
|
||||
select EMBEDDED
|
||||
select HAVE_OPROFILE
|
||||
select HAVE_KPROBES
|
||||
help
|
||||
AVR32 is a high-performance 32-bit RISC microprocessor core,
|
||||
designed for cost-sensitive embedded applications, with particular
|
||||
|
@ -54,9 +56,6 @@ config ARCH_HAS_ILOG2_U32
|
|||
config ARCH_HAS_ILOG2_U64
|
||||
def_bool n
|
||||
|
||||
config ARCH_SUPPORTS_OPROFILE
|
||||
def_bool y
|
||||
|
||||
config GENERIC_HWEIGHT
|
||||
def_bool y
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@ config RWSEM_XCHGADD_ALGORITHM
|
|||
config BLACKFIN
|
||||
bool
|
||||
default y
|
||||
select HAVE_OPROFILE
|
||||
|
||||
config ZONE_DMA
|
||||
bool
|
||||
|
@ -973,8 +974,6 @@ source "drivers/Kconfig"
|
|||
|
||||
source "fs/Kconfig"
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/blackfin/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -213,8 +213,6 @@ source "drivers/pci/Kconfig"
|
|||
|
||||
source "drivers/usb/Kconfig"
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/cris/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -375,8 +375,6 @@ source "drivers/Kconfig"
|
|||
|
||||
source "fs/Kconfig"
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/frv/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -223,8 +223,6 @@ endmenu
|
|||
|
||||
source "fs/Kconfig"
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/h8300/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -15,6 +15,8 @@ config IA64
|
|||
select ACPI if (!IA64_HP_SIM)
|
||||
select PM if (!IA64_HP_SIM)
|
||||
select ARCH_SUPPORTS_MSI
|
||||
select HAVE_OPROFILE
|
||||
select HAVE_KPROBES
|
||||
default y
|
||||
help
|
||||
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 "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/ia64/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -8,6 +8,7 @@ mainmenu "Linux/M32R Kernel Configuration"
|
|||
config M32R
|
||||
bool
|
||||
default y
|
||||
select HAVE_OPROFILE
|
||||
|
||||
config SBUS
|
||||
bool
|
||||
|
@ -426,8 +427,6 @@ source "drivers/Kconfig"
|
|||
|
||||
source "fs/Kconfig"
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/m32r/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -678,8 +678,6 @@ endmenu
|
|||
|
||||
source "fs/Kconfig"
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/m68k/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -711,8 +711,6 @@ source "drivers/Kconfig"
|
|||
|
||||
source "fs/Kconfig"
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/m68knommu/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
config MIPS
|
||||
bool
|
||||
default y
|
||||
select HAVE_OPROFILE
|
||||
# Horrible source of confusion. Die, die, die ...
|
||||
select EMBEDDED
|
||||
select RTC_LIB
|
||||
|
@ -2095,8 +2096,6 @@ source "drivers/Kconfig"
|
|||
|
||||
source "fs/Kconfig"
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/mips/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -7,6 +7,7 @@ mainmenu "Linux/PA-RISC Kernel Configuration"
|
|||
|
||||
config PARISC
|
||||
def_bool y
|
||||
select HAVE_OPROFILE
|
||||
help
|
||||
The PA-RISC microprocessor is designed by Hewlett-Packard and used
|
||||
in many of their workstations & servers (HP9000 700 and 800 series,
|
||||
|
@ -272,8 +273,6 @@ source "drivers/Kconfig"
|
|||
|
||||
source "fs/Kconfig"
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/parisc/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -87,6 +87,8 @@ config ARCH_NO_VIRT_TO_BUS
|
|||
config PPC
|
||||
bool
|
||||
default y
|
||||
select HAVE_OPROFILE
|
||||
select HAVE_KPROBES
|
||||
|
||||
config EARLY_PRINTK
|
||||
bool
|
||||
|
@ -713,8 +715,6 @@ source "arch/powerpc/sysdev/qe_lib/Kconfig"
|
|||
|
||||
source "lib/Kconfig"
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/powerpc/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -42,6 +42,8 @@ config GENERIC_CALIBRATE_DELAY
|
|||
config PPC
|
||||
bool
|
||||
default y
|
||||
select HAVE_OPROFILE
|
||||
select HAVE_KPROBES
|
||||
|
||||
config PPC32
|
||||
bool
|
||||
|
@ -1256,8 +1258,6 @@ endmenu
|
|||
|
||||
source "lib/Kconfig"
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/ppc/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -51,6 +51,8 @@ mainmenu "Linux Kernel Configuration"
|
|||
|
||||
config S390
|
||||
def_bool y
|
||||
select HAVE_OPROFILE
|
||||
select HAVE_KPROBES
|
||||
|
||||
source "init/Kconfig"
|
||||
|
||||
|
@ -526,8 +528,6 @@ source "drivers/Kconfig"
|
|||
|
||||
source "fs/Kconfig"
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/s390/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -8,6 +8,7 @@ mainmenu "Linux/SuperH Kernel Configuration"
|
|||
config SUPERH
|
||||
def_bool y
|
||||
select EMBEDDED
|
||||
select HAVE_OPROFILE
|
||||
help
|
||||
The SuperH is a RISC processor targeted for use in embedded systems
|
||||
and consumer electronics; it was also used in the Sega Dreamcast
|
||||
|
@ -896,8 +897,6 @@ source "drivers/Kconfig"
|
|||
|
||||
source "fs/Kconfig"
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/sh/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -63,6 +63,7 @@ config NR_CPUS
|
|||
config SPARC
|
||||
bool
|
||||
default y
|
||||
select HAVE_OPROFILE
|
||||
|
||||
# Identify this as a Sparc32 build
|
||||
config SPARC32
|
||||
|
@ -320,8 +321,6 @@ endmenu
|
|||
|
||||
source "fs/Kconfig"
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/sparc/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -8,6 +8,8 @@ mainmenu "Linux/UltraSPARC Kernel Configuration"
|
|||
config SPARC
|
||||
bool
|
||||
default y
|
||||
select HAVE_OPROFILE
|
||||
select HAVE_KPROBES
|
||||
|
||||
config SPARC64
|
||||
bool
|
||||
|
@ -465,8 +467,6 @@ source "drivers/sbus/char/Kconfig"
|
|||
|
||||
source "fs/Kconfig"
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/sparc64/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -289,6 +289,4 @@ config INPUT
|
|||
bool
|
||||
default n
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/um/Kconfig.debug"
|
||||
|
|
|
@ -331,8 +331,6 @@ source "sound/Kconfig"
|
|||
|
||||
source "drivers/usb/Kconfig"
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/v850/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -18,6 +18,8 @@ config X86_64
|
|||
### Arch settings
|
||||
config X86
|
||||
def_bool y
|
||||
select HAVE_OPROFILE
|
||||
select HAVE_KPROBES
|
||||
|
||||
config GENERIC_LOCKBREAK
|
||||
def_bool n
|
||||
|
@ -106,10 +108,6 @@ config GENERIC_TIME_VSYSCALL
|
|||
config HAVE_SETUP_PER_CPU_AREA
|
||||
def_bool X86_64
|
||||
|
||||
config ARCH_SUPPORTS_OPROFILE
|
||||
bool
|
||||
default y
|
||||
|
||||
select HAVE_KVM
|
||||
|
||||
config ARCH_HIBERNATION_POSSIBLE
|
||||
|
@ -1597,8 +1595,6 @@ source "drivers/firmware/Kconfig"
|
|||
|
||||
source "fs/Kconfig"
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/x86/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -246,8 +246,6 @@ config EMBEDDED_RAMDISK_IMAGE
|
|||
provide one yourself.
|
||||
endmenu
|
||||
|
||||
source "kernel/Kconfig.instrumentation"
|
||||
|
||||
source "arch/xtensa/Kconfig.debug"
|
||||
|
||||
source "security/Kconfig"
|
||||
|
|
|
@ -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
|
||||
|
||||
$(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_REG_PRETTY_PRINT) += $(obj)/aic7xxx_reg_print.c
|
||||
|
|
|
@ -124,9 +124,6 @@
|
|||
#define __REF .section ".ref.text", "ax"
|
||||
#define __REFDATA .section ".ref.data", "aw"
|
||||
#define __REFCONST .section ".ref.rodata", "aw"
|
||||
/* backward compatibility */
|
||||
#define __INIT_REFOK .section __REF
|
||||
#define __INITDATA_REFOK .section __REFDATA
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
/*
|
||||
|
|
14
init/Kconfig
14
init/Kconfig
|
@ -665,6 +665,20 @@ config SLOB
|
|||
|
||||
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
|
||||
|
||||
config SLABINFO
|
||||
|
|
|
@ -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
|
|
@ -81,7 +81,7 @@ config HEADERS_CHECK
|
|||
|
||||
config DEBUG_SECTION_MISMATCH
|
||||
bool "Enable full Section mismatch analysis"
|
||||
default n
|
||||
depends on UNDEFINED
|
||||
help
|
||||
The section mismatch analysis checks if there are illegal
|
||||
references from one section to another section.
|
||||
|
@ -90,19 +90,19 @@ config DEBUG_SECTION_MISMATCH
|
|||
most likely result in an oops.
|
||||
In the code functions and variables are annotated with
|
||||
__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:
|
||||
- Add the option -fno-inline-functions-called-once to gcc
|
||||
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.
|
||||
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.
|
||||
- Run the section mismatch analysis for each module/built-in.o
|
||||
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.
|
||||
Running the analysis for each module/built-in.o file
|
||||
will tell where the mismatch happens much closer to the
|
||||
|
|
|
@ -821,6 +821,7 @@ static void conf_load(void)
|
|||
return;
|
||||
if (!conf_read(dialog_input_result)) {
|
||||
set_config_filename(dialog_input_result);
|
||||
sym_set_change_count(1);
|
||||
return;
|
||||
}
|
||||
show_textbox(NULL, _("File does not exist!"), 5, 38);
|
||||
|
|
|
@ -203,12 +203,9 @@ void sym_check_prop(struct symbol *sym)
|
|||
prop_warn(prop,
|
||||
"config symbol '%s' uses select, but is "
|
||||
"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,
|
||||
"'%s' has wrong type. 'select' only "
|
||||
"accept arguments of boolean and "
|
||||
|
|
|
@ -870,7 +870,7 @@ const struct sectioncheck sectioncheck[] = {
|
|||
/* Do not export init/exit functions or data */
|
||||
{
|
||||
.fromsec = { "__ksymtab*", NULL },
|
||||
.tosec = { ALL_INIT_SECTIONS, ALL_EXIT_SECTIONS, NULL },
|
||||
.tosec = { INIT_SECTIONS, EXIT_SECTIONS, NULL },
|
||||
.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_p = to_is_func ? "()" : "";
|
||||
|
||||
sec_mismatch_count++;
|
||||
if (!sec_mismatch_verbose)
|
||||
return;
|
||||
|
||||
fprintf(stderr, "WARNING: %s(%s+0x%llx): Section mismatch in"
|
||||
" reference from the %s %s%s to the %s %s:%s%s\n",
|
||||
modname, fromsec, fromaddr, from, fromsym, from_p,
|
||||
to, tosec, tosym, to_p);
|
||||
|
||||
sec_mismatch_count++;
|
||||
if (!sec_mismatch_verbose)
|
||||
return;
|
||||
|
||||
switch (mismatch) {
|
||||
case TEXT_TO_INIT:
|
||||
fprintf(stderr,
|
||||
|
@ -1939,10 +1939,9 @@ int main(int argc, char **argv)
|
|||
write_dump(dump_write);
|
||||
if (sec_mismatch_count && !sec_mismatch_verbose)
|
||||
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;
|
||||
}
|
||||
|
|
16
scripts/setlocalversion
Normal file → Executable file
16
scripts/setlocalversion
Normal file → Executable file
|
@ -45,3 +45,19 @@ if hgid=`hg id 2>/dev/null`; then
|
|||
# All done with mercurial
|
||||
exit
|
||||
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
|
||||
|
|
Loading…
Add table
Reference in a new issue