Skip to content

Commit

Permalink
Merge branch 'for-35' of git://repo.or.cz/linux-kbuild
Browse files Browse the repository at this point in the history
* 'for-35' of git://repo.or.cz/linux-kbuild: (81 commits)
  kbuild: Revert part of e8d400a to resolve a conflict
  kbuild: Fix checking of scm-identifier variable
  gconfig: add support to show hidden options that have prompts
  menuconfig: add support to show hidden options which have prompts
  gconfig: remove show_debug option
  gconfig: remove dbg_print_ptype() and dbg_print_stype()
  kconfig: fix zconfdump()
  kconfig: some small fixes
  add random binaries to .gitignore
  kbuild: Include gen_initramfs_list.sh and the file list in the .d file
  kconfig: recalc symbol value before showing search results
  .gitignore: ignore *.lzo files
  headerdep: perlcritic warning
  scripts/Makefile.lib: Align the output of LZO
  kbuild: Generate modules.builtin in make modules_install
  Revert "kbuild: specify absolute paths for cscope"
  kbuild: Do not unnecessarily regenerate modules.builtin
  headers_install: use local file handles
  headers_check: fix perl warnings
  export_report: fix perl warnings
  ...
  • Loading branch information
torvalds committed Jun 1, 2010
2 parents b904d71 + 64ffc9f commit 1f73897
Show file tree
Hide file tree
Showing 111 changed files with 3,023 additions and 538 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -28,6 +28,7 @@ modules.builtin
*.gz
*.bz2
*.lzma
*.lzo
*.patch
*.gcno

Expand Down
7 changes: 7 additions & 0 deletions Documentation/.gitignore
@@ -0,0 +1,7 @@
filesystems/dnotify_test
laptops/dslm
timers/hpet_example
vm/hugepage-mmap
vm/hugepage-shm
vm/map_hugetlb

6 changes: 5 additions & 1 deletion Documentation/kbuild/kbuild.txt
Expand Up @@ -65,7 +65,7 @@ CROSS_COMPILE
Specify an optional fixed part of the binutils filename.
CROSS_COMPILE can be a part of the filename or the full path.

CROSS_COMPILE is also used for ccache is some setups.
CROSS_COMPILE is also used for ccache in some setups.

CF
--------------------------------------------------
Expand Down Expand Up @@ -162,3 +162,7 @@ For tags/TAGS/cscope targets, you can specify more than one arch
to be included in the databases, separated by blank space. E.g.:

$ make ALLSOURCE_ARCHS="x86 mips arm" tags

To get all available archs you can also specify all. E.g.:

$ make ALLSOURCE_ARCHS=all tags
4 changes: 2 additions & 2 deletions Documentation/mutex-design.txt
Expand Up @@ -66,14 +66,14 @@ of advantages of mutexes:

c0377ccb <mutex_lock>:
c0377ccb: f0 ff 08 lock decl (%eax)
c0377cce: 78 0e js c0377cde <.text.lock.mutex>
c0377cce: 78 0e js c0377cde <.text..lock.mutex>
c0377cd0: c3 ret

the unlocking fastpath is equally tight:

c0377cd1 <mutex_unlock>:
c0377cd1: f0 ff 00 lock incl (%eax)
c0377cd4: 7e 0f jle c0377ce5 <.text.lock.mutex+0x7>
c0377cd4: 7e 0f jle c0377ce5 <.text..lock.mutex+0x7>
c0377cd6: c3 ret

- 'struct mutex' semantics are well-defined and are enforced if
Expand Down
5 changes: 4 additions & 1 deletion MAINTAINERS
Expand Up @@ -3242,7 +3242,7 @@ L: autofs@linux.kernel.org
S: Maintained
F: fs/autofs4/

KERNEL BUILD
KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
M: Michal Marek <mmarek@suse.cz>
T: git git://repo.or.cz/linux-kbuild.git for-next
T: git git://repo.or.cz/linux-kbuild.git for-linus
Expand All @@ -3251,6 +3251,9 @@ S: Maintained
F: Documentation/kbuild/
F: Makefile
F: scripts/Makefile.*
F: scripts/basic/
F: scripts/mk*
F: scripts/package/

KERNEL JANITORS
L: kernel-janitors@vger.kernel.org
Expand Down
65 changes: 40 additions & 25 deletions Makefile
Expand Up @@ -183,11 +183,14 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
# CROSS_COMPILE can be set on the command line
# make CROSS_COMPILE=ia64-linux-
# Alternatively CROSS_COMPILE can be set in the environment.
# A third alternative is to store a setting in .config so that plain
# "make" in the configured kernel build directory always uses that.
# Default value for CROSS_COMPILE is not to prefix executables
# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
export KBUILD_BUILDHOST := $(SUBARCH)
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?=
CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)

# Architecture as present in compile.h
UTS_MACHINE := $(ARCH)
Expand Down Expand Up @@ -576,9 +579,6 @@ KBUILD_CFLAGS += $(call cc-option,-Wno-pointer-sign,)
# disable invalid "can't wrap" optimizations for signed / pointers
KBUILD_CFLAGS += $(call cc-option,-fno-strict-overflow)

# revert to pre-gcc-4.4 behaviour of .eh_frame
KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm)

# conserve stack if available
KBUILD_CFLAGS += $(call cc-option,-fconserve-stack)

Expand Down Expand Up @@ -882,9 +882,6 @@ $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ;
PHONY += $(vmlinux-dirs)
$(vmlinux-dirs): prepare scripts
$(Q)$(MAKE) $(build)=$@
ifdef CONFIG_MODULES
$(Q)$(MAKE) $(modbuiltin)=$@
endif

# Build the kernel release string
#
Expand All @@ -907,14 +904,19 @@ endif
# $(localver)
# localversion* (files without backups, containing '~')
# $(CONFIG_LOCALVERSION) (from kernel config setting)
# $(localver-auto) (only if CONFIG_LOCALVERSION_AUTO is set)
# ./scripts/setlocalversion (SCM tag, if one exists)
# $(LOCALVERSION) (from make command line if provided)
# $(LOCALVERSION) (from make command line, if provided)
# $(localver-extra)
# $(scm-identifier) (unique SCM tag, if one exists)
# ./scripts/setlocalversion (only with CONFIG_LOCALVERSION_AUTO)
# .scmversion (only with CONFIG_LOCALVERSION_AUTO)
# + (only without CONFIG_LOCALVERSION_AUTO
# and without LOCALVERSION= and
# repository is at non-tagged commit)
#
# Note how the final $(localver-auto) string is included *only* if the
# kernel config option CONFIG_LOCALVERSION_AUTO is selected. Also, at the
# moment, only git is supported but other SCMs can edit the script
# scripts/setlocalversion and add the appropriate checks as needed.
# For kernels without CONFIG_LOCALVERSION_AUTO compiled from an SCM that has
# been revised beyond a tagged commit, `+' is appended to the version string
# when not overridden by using "make LOCALVERSION=". This indicates that the
# kernel is not a vanilla release version and has been modified.

pattern = ".*/localversion[^~]*"
string = $(shell cat /dev/null \
Expand All @@ -923,26 +925,32 @@ string = $(shell cat /dev/null \
localver = $(subst $(space),, $(string) \
$(patsubst "%",%,$(CONFIG_LOCALVERSION)))

# If CONFIG_LOCALVERSION_AUTO is set scripts/setlocalversion is called
# and if the SCM is know a tag from the SCM is appended.
# The appended tag is determined by the SCM used.
# scripts/setlocalversion is called to create a unique identifier if the source
# is managed by a known SCM and the repository has been revised since the last
# tagged (release) commit. The format of the identifier is determined by the
# SCM's implementation.
#
# .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

ifeq ($(wildcard .scmversion),)
_localver-auto = $(shell $(CONFIG_SHELL) \
scm-identifier = $(shell $(CONFIG_SHELL) \
$(srctree)/scripts/setlocalversion $(srctree))
else
_localver-auto = $(shell cat .scmversion 2> /dev/null)
scm-identifier = $(shell cat .scmversion 2> /dev/null)
endif

localver-auto = $(LOCALVERSION)$(_localver-auto)
ifdef CONFIG_LOCALVERSION_AUTO
localver-extra = $(scm-identifier)
else
ifneq ($(scm-identifier),)
ifeq ($(LOCALVERSION),)
localver-extra = +
endif
endif
endif

localver-full = $(localver)$(localver-auto)
localver-full = $(localver)$(LOCALVERSION)$(localver-extra)

# Store (new) KERNELRELASE string in include/config/kernel.release
kernelrelease = $(KERNELVERSION)$(localver-full)
Expand Down Expand Up @@ -1089,11 +1097,16 @@ all: modules
PHONY += modules
modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux)
$(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order
$(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.builtin) > $(objtree)/modules.builtin
@$(kecho) ' Building modules, stage 2.';
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modbuild

modules.builtin: $(vmlinux-dirs:%=%/modules.builtin)
$(Q)$(AWK) '!x[$$0]++' $^ > $(objtree)/modules.builtin

%/modules.builtin: include/config/auto.conf
$(Q)$(MAKE) $(modbuiltin)=$*


# Target to prepare building external modules
PHONY += modules_prepare
Expand All @@ -1104,7 +1117,7 @@ PHONY += modules_install
modules_install: _modinst_ _modinst_post

PHONY += _modinst_
_modinst_:
_modinst_: modules.builtin
@if [ -z "`$(DEPMOD) -V 2>/dev/null | grep module-init-tools`" ]; then \
echo "Warning: you may need to install module-init-tools"; \
echo "See http://www.codemonkey.org.uk/docs/post-halloween-2.6.txt";\
Expand Down Expand Up @@ -1247,7 +1260,9 @@ help:
@echo ' firmware_install- Install all firmware to INSTALL_FW_PATH'
@echo ' (default: $$(INSTALL_MOD_PATH)/lib/firmware)'
@echo ' dir/ - Build all files in dir and below'
@echo ' dir/file.[ois] - Build specified target only'
@echo ' dir/file.[oisS] - Build specified target only'
@echo ' dir/file.lst - Build specified mixed source/assembly target only'
@echo ' (requires a recent binutils and recent build (System.map))'
@echo ' dir/file.ko - Build module including final link'
@echo ' modules_prepare - Set up for building external modules'
@echo ' tags/TAGS - Generate tags file for editors'
Expand Down
4 changes: 2 additions & 2 deletions arch/frv/kernel/break.S
Expand Up @@ -21,7 +21,7 @@
#
# the break handler has its own stack
#
.section .bss.stack
.section .bss..stack
.globl __break_user_context
.balign THREAD_SIZE
__break_stack:
Expand Down Expand Up @@ -63,7 +63,7 @@ __break_trace_through_exceptions:
# entry point for Break Exceptions/Interrupts
#
###############################################################################
.section .text.break
.section .text..break
.balign 4
.globl __entry_break
__entry_break:
Expand Down
2 changes: 1 addition & 1 deletion arch/frv/kernel/entry.S
Expand Up @@ -38,7 +38,7 @@

#define nr_syscalls ((syscall_table_size)/4)

.section .text.entry
.section .text..entry
.balign 4

.macro LEDS val
Expand Down
2 changes: 1 addition & 1 deletion arch/frv/kernel/head.S
Expand Up @@ -542,7 +542,7 @@ __head_end:
.size _boot, .-_boot

# provide a point for GDB to place a break
.section .text.start,"ax"
.section .text..start,"ax"
.globl _start
.balign 4
_start:
Expand Down
10 changes: 5 additions & 5 deletions arch/frv/kernel/vmlinux.lds.S
Expand Up @@ -57,10 +57,10 @@ SECTIONS
_text = .;
_stext = .;
.text : {
*(.text.start)
*(.text.entry)
*(.text.break)
*(.text.tlbmiss)
*(.text..start)
*(.text..entry)
*(.text..break)
*(.text..tlbmiss)
TEXT_TEXT
SCHED_TEXT
LOCK_TEXT
Expand Down Expand Up @@ -114,7 +114,7 @@ SECTIONS

.sbss : { *(.sbss .sbss.*) }
.bss : { *(.bss .bss.*) }
.bss.stack : { *(.bss) }
.bss..stack : { *(.bss) }

__bss_stop = .;
_end = . ;
Expand Down
2 changes: 1 addition & 1 deletion arch/frv/mm/tlb-miss.S
Expand Up @@ -15,7 +15,7 @@
#include <asm/pgtable.h>
#include <asm/spr-regs.h>

.section .text.tlbmiss
.section .text..tlbmiss
.balign 4

.globl __entry_insn_mmu_miss
Expand Down
2 changes: 1 addition & 1 deletion arch/h8300/boot/compressed/head.S
Expand Up @@ -9,7 +9,7 @@

#define SRAM_START 0xff4000

.section .text.startup
.section .text..startup
.global startup
startup:
mov.l #SRAM_START+0x8000, sp
Expand Down
2 changes: 1 addition & 1 deletion arch/h8300/boot/compressed/vmlinux.lds
Expand Up @@ -4,7 +4,7 @@ SECTIONS
{
__stext = . ;
__text = .;
*(.text.startup)
*(.text..startup)
*(.text)
__etext = . ;
}
Expand Down
12 changes: 6 additions & 6 deletions arch/ia64/include/asm/asmmacro.h
Expand Up @@ -70,12 +70,12 @@
* path (ivt.S - TLB miss processing) or in places where it might not be
* safe to use a "tpa" instruction (mca_asm.S - error recovery).
*/
.section ".data.patch.vtop", "a" // declare section & section attributes
.section ".data..patch.vtop", "a" // declare section & section attributes
.previous

#define LOAD_PHYSICAL(pr, reg, obj) \
[1:](pr)movl reg = obj; \
.xdata4 ".data.patch.vtop", 1b-.
.xdata4 ".data..patch.vtop", 1b-.

/*
* For now, we always put in the McKinley E9 workaround. On CPUs that don't need it,
Expand All @@ -84,11 +84,11 @@
#define DO_MCKINLEY_E9_WORKAROUND

#ifdef DO_MCKINLEY_E9_WORKAROUND
.section ".data.patch.mckinley_e9", "a"
.section ".data..patch.mckinley_e9", "a"
.previous
/* workaround for Itanium 2 Errata 9: */
# define FSYS_RETURN \
.xdata4 ".data.patch.mckinley_e9", 1f-.; \
.xdata4 ".data..patch.mckinley_e9", 1f-.; \
1:{ .mib; \
nop.m 0; \
mov r16=ar.pfs; \
Expand All @@ -107,11 +107,11 @@
* If physical stack register size is different from DEF_NUM_STACK_REG,
* dynamically patch the kernel for correct size.
*/
.section ".data.patch.phys_stack_reg", "a"
.section ".data..patch.phys_stack_reg", "a"
.previous
#define LOAD_PHYS_STACK_REG_SIZE(reg) \
[1:] adds reg=IA64_NUM_PHYS_STACK_REG*8+8,r0; \
.xdata4 ".data.patch.phys_stack_reg", 1b-.
.xdata4 ".data..patch.phys_stack_reg", 1b-.

/*
* Up until early 2004, use of .align within a function caused bad unwind info.
Expand Down
2 changes: 1 addition & 1 deletion arch/ia64/include/asm/cache.h
Expand Up @@ -24,6 +24,6 @@
# define SMP_CACHE_BYTES (1 << 3)
#endif

#define __read_mostly __attribute__((__section__(".data.read_mostly")))
#define __read_mostly __attribute__((__section__(".data..read_mostly")))

#endif /* _ASM_IA64_CACHE_H */
2 changes: 1 addition & 1 deletion arch/ia64/include/asm/percpu.h
Expand Up @@ -31,7 +31,7 @@ extern void *per_cpu_init(void);

#endif /* SMP */

#define PER_CPU_BASE_SECTION ".data.percpu"
#define PER_CPU_BASE_SECTION ".data..percpu"

/*
* Be extremely careful when taking the address of this variable! Due to virtual
Expand Down
2 changes: 1 addition & 1 deletion arch/ia64/kernel/Makefile.gate
Expand Up @@ -21,7 +21,7 @@ GATECFLAGS_gate-syms.o = -r
$(obj)/gate-syms.o: $(obj)/gate.lds $(obj)/gate.o FORCE
$(call if_changed,gate)

# gate-data.o contains the gate DSO image as data in section .data.gate.
# gate-data.o contains the gate DSO image as data in section .data..gate.
# We must build gate.so before we can assemble it.
# Note: kbuild does not track this dependency due to usage of .incbin
$(obj)/gate-data.o: $(obj)/gate.so
2 changes: 1 addition & 1 deletion arch/ia64/kernel/gate-data.S
@@ -1,3 +1,3 @@
.section .data.gate, "aw"
.section .data..gate, "aw"

.incbin "arch/ia64/kernel/gate.so"
8 changes: 4 additions & 4 deletions arch/ia64/kernel/gate.S
Expand Up @@ -21,18 +21,18 @@
* to targets outside the shared object) and to avoid multi-phase kernel builds, we
* simply create minimalistic "patch lists" in special ELF sections.
*/
.section ".data.patch.fsyscall_table", "a"
.section ".data..patch.fsyscall_table", "a"
.previous
#define LOAD_FSYSCALL_TABLE(reg) \
[1:] movl reg=0; \
.xdata4 ".data.patch.fsyscall_table", 1b-.
.xdata4 ".data..patch.fsyscall_table", 1b-.

.section ".data.patch.brl_fsys_bubble_down", "a"
.section ".data..patch.brl_fsys_bubble_down", "a"
.previous
#define BRL_COND_FSYS_BUBBLE_DOWN(pr) \
[1:](pr)brl.cond.sptk 0; \
;; \
.xdata4 ".data.patch.brl_fsys_bubble_down", 1b-.
.xdata4 ".data..patch.brl_fsys_bubble_down", 1b-.

GLOBAL_ENTRY(__kernel_syscall_via_break)
.prologue
Expand Down

0 comments on commit 1f73897

Please sign in to comment.