diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-19 20:36:08 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-19 20:36:08 -0400 |
| commit | df48d8716eab9608fe93924e4ae06ff110e8674f (patch) | |
| tree | 0fe10733a414b3651e1dae29518b7960a4da0aa4 /scripts/Makefile.build | |
| parent | acd30250d7d0f495685d1c7c6184636a22fcdf7f (diff) | |
| parent | 29510ec3b626c86de9707bb8904ff940d430289b (diff) | |
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (107 commits)
perf stat: Add more cache-miss percentage printouts
perf stat: Add -d -d and -d -d -d options to show more CPU events
ftrace/kbuild: Add recordmcount files to force full build
ftrace: Add self-tests for multiple function trace users
ftrace: Modify ftrace_set_filter/notrace to take ops
ftrace: Allow dynamically allocated function tracers
ftrace: Implement separate user function filtering
ftrace: Free hash with call_rcu_sched()
ftrace: Have global_ops store the functions that are to be traced
ftrace: Add ops parameter to ftrace_startup/shutdown functions
ftrace: Add enabled_functions file
ftrace: Use counters to enable functions to trace
ftrace: Separate hash allocation and assignment
ftrace: Create a global_ops to hold the filter and notrace hashes
ftrace: Use hash instead for FTRACE_FL_FILTER
ftrace: Replace FTRACE_FL_NOTRACE flag with a hash of ignored functions
perf bench, x86: Add alternatives-asm.h wrapper
x86, 64-bit: Fix copy_[to/from]_user() checks for the userspace address limit
x86, mem: memset_64.S: Optimize memset by enhanced REP MOVSB/STOSB
x86, mem: memmove_64.S: Optimize memmove by enhanced REP MOVSB/STOSB
...
Diffstat (limited to 'scripts/Makefile.build')
| -rw-r--r-- | scripts/Makefile.build | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/scripts/Makefile.build b/scripts/Makefile.build index d5f925abe4d2..6165622c3e29 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build | |||
| @@ -244,14 +244,19 @@ endif | |||
| 244 | 244 | ||
| 245 | ifdef CONFIG_FTRACE_MCOUNT_RECORD | 245 | ifdef CONFIG_FTRACE_MCOUNT_RECORD |
| 246 | ifdef BUILD_C_RECORDMCOUNT | 246 | ifdef BUILD_C_RECORDMCOUNT |
| 247 | ifeq ("$(origin RECORDMCOUNT_WARN)", "command line") | ||
| 248 | RECORDMCOUNT_FLAGS = -w | ||
| 249 | endif | ||
| 247 | # Due to recursion, we must skip empty.o. | 250 | # Due to recursion, we must skip empty.o. |
| 248 | # The empty.o file is created in the make process in order to determine | 251 | # The empty.o file is created in the make process in order to determine |
| 249 | # the target endianness and word size. It is made before all other C | 252 | # the target endianness and word size. It is made before all other C |
| 250 | # files, including recordmcount. | 253 | # files, including recordmcount. |
| 251 | sub_cmd_record_mcount = \ | 254 | sub_cmd_record_mcount = \ |
| 252 | if [ $(@) != "scripts/mod/empty.o" ]; then \ | 255 | if [ $(@) != "scripts/mod/empty.o" ]; then \ |
| 253 | $(objtree)/scripts/recordmcount "$(@)"; \ | 256 | $(objtree)/scripts/recordmcount $(RECORDMCOUNT_FLAGS) "$(@)"; \ |
| 254 | fi; | 257 | fi; |
| 258 | recordmcount_source := $(srctree)/scripts/recordmcount.c \ | ||
| 259 | $(srctree)/scripts/recordmcount.h | ||
| 255 | else | 260 | else |
| 256 | sub_cmd_record_mcount = set -e ; perl $(srctree)/scripts/recordmcount.pl "$(ARCH)" \ | 261 | sub_cmd_record_mcount = set -e ; perl $(srctree)/scripts/recordmcount.pl "$(ARCH)" \ |
| 257 | "$(if $(CONFIG_CPU_BIG_ENDIAN),big,little)" \ | 262 | "$(if $(CONFIG_CPU_BIG_ENDIAN),big,little)" \ |
| @@ -259,6 +264,7 @@ sub_cmd_record_mcount = set -e ; perl $(srctree)/scripts/recordmcount.pl "$(ARCH | |||
| 259 | "$(OBJDUMP)" "$(OBJCOPY)" "$(CC) $(KBUILD_CFLAGS)" \ | 264 | "$(OBJDUMP)" "$(OBJCOPY)" "$(CC) $(KBUILD_CFLAGS)" \ |
| 260 | "$(LD)" "$(NM)" "$(RM)" "$(MV)" \ | 265 | "$(LD)" "$(NM)" "$(RM)" "$(MV)" \ |
| 261 | "$(if $(part-of-module),1,0)" "$(@)"; | 266 | "$(if $(part-of-module),1,0)" "$(@)"; |
| 267 | recordmcount_source := $(srctree)/scripts/recordmcount.pl | ||
| 262 | endif | 268 | endif |
| 263 | cmd_record_mcount = \ | 269 | cmd_record_mcount = \ |
| 264 | if [ "$(findstring -pg,$(_c_flags))" = "-pg" ]; then \ | 270 | if [ "$(findstring -pg,$(_c_flags))" = "-pg" ]; then \ |
| @@ -279,13 +285,13 @@ define rule_cc_o_c | |||
| 279 | endef | 285 | endef |
| 280 | 286 | ||
| 281 | # Built-in and composite module parts | 287 | # Built-in and composite module parts |
| 282 | $(obj)/%.o: $(src)/%.c FORCE | 288 | $(obj)/%.o: $(src)/%.c $(recordmcount_source) FORCE |
| 283 | $(call cmd,force_checksrc) | 289 | $(call cmd,force_checksrc) |
| 284 | $(call if_changed_rule,cc_o_c) | 290 | $(call if_changed_rule,cc_o_c) |
| 285 | 291 | ||
| 286 | # Single-part modules are special since we need to mark them in $(MODVERDIR) | 292 | # Single-part modules are special since we need to mark them in $(MODVERDIR) |
| 287 | 293 | ||
| 288 | $(single-used-m): $(obj)/%.o: $(src)/%.c FORCE | 294 | $(single-used-m): $(obj)/%.o: $(src)/%.c $(recordmcount_source) FORCE |
| 289 | $(call cmd,force_checksrc) | 295 | $(call cmd,force_checksrc) |
| 290 | $(call if_changed_rule,cc_o_c) | 296 | $(call if_changed_rule,cc_o_c) |
| 291 | @{ echo $(@:.o=.ko); echo $@; } > $(MODVERDIR)/$(@F:.o=.mod) | 297 | @{ echo $(@:.o=.ko); echo $@; } > $(MODVERDIR)/$(@F:.o=.mod) |
