Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 23 Sep 2009 22:37:02 +0000 (15:37 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 23 Sep 2009 22:37:02 +0000 (15:37 -0700)
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (30 commits)
  Use macros for .data.page_aligned section.
  Use macros for .bss.page_aligned section.
  Use new __init_task_data macro in arch init_task.c files.
  kbuild: Don't define ALIGN and ENTRY when preprocessing linker scripts.
  arm, cris, mips, sparc, powerpc, um, xtensa: fix build with bash 4.0
  kbuild: add static to prototypes
  kbuild: fail build if recordmcount.pl fails
  kbuild: set -fconserve-stack option for gcc 4.5
  kbuild: echo the record_mcount command
  gconfig: disable "typeahead find" search in treeviews
  kbuild: fix cc1 options check to ensure we do not use -fPIC when compiling
  checkincludes.pl: add option to remove duplicates in place
  markup_oops: use modinfo to avoid confusion with underscored module names
  checkincludes.pl: provide usage helper
  checkincludes.pl: close file as soon as we're done with it
  ctags: usability fix
  kernel hacking: move STRIP_ASM_SYMS from General
  gitignore usr/initramfs_data.cpio.bz2 and usr/initramfs_data.cpio.lzma
  kbuild: Check if linker supports the -X option
  kbuild: introduce ld-option
  ...

Fix trivial conflict in scripts/basic/fixdep.c

1  2 
arch/arm/Makefile
arch/avr32/mm/init.c
arch/sparc/kernel/Makefile
init/Kconfig
scripts/basic/fixdep.c

diff --combined arch/arm/Makefile
index 54661125a8bfff2b69a1daee5d6de3ae5ebd1395,c695fdac5b3061d945a9ab0291974f9389aea94b..a73caaf667633c286e8812da535aa43203170134
@@@ -14,7 -14,7 +14,7 @@@ LDFLAGS_vmlinux       :=-p --no-undefined -
  ifeq ($(CONFIG_CPU_ENDIAN_BE8),y)
  LDFLAGS_vmlinux       += --be8
  endif
- CPPFLAGS_vmlinux.lds = -DTEXT_OFFSET=$(TEXT_OFFSET)
  OBJCOPYFLAGS  :=-O binary -R .note -R .note.gnu.build-id -R .comment -S
  GZFLAGS               :=-9
  #KBUILD_CFLAGS        +=-pipe
@@@ -25,7 -25,7 +25,7 @@@ KBUILD_CFLAGS +=$(call cc-option,-marm,
  # Select a platform tht is kept up-to-date
  KBUILD_DEFCONFIG := versatile_defconfig
  
 -# defines filename extension depending memory manement type.
 +# defines filename extension depending memory management type.
  ifeq ($(CONFIG_MMU),)
  MMUEXT                := -nommu
  endif
@@@ -279,7 -279,7 +279,7 @@@ define archhel
    echo  '                  (supply initrd image via make variable INITRD=<path>)'
    echo  '  install       - Install uncompressed kernel'
    echo  '  zinstall      - Install compressed kernel'
-   echo  '                  Install using (your) ~/bin/installkernel or'
-   echo  '                  (distribution) /sbin/installkernel or'
+   echo  '                  Install using (your) ~/bin/$(INSTALLKERNEL) or'
+   echo  '                  (distribution) /sbin/$(INSTALLKERNEL) or'
    echo  '                  install to $$(INSTALL_PATH) and run lilo'
  endef
diff --combined arch/avr32/mm/init.c
index 376f18c4a6cb90370ded166c29eaa614d3fcf108,cc60d10cf8f7b446a16e1567966f85d4f538dc28..94925641e53e64fbb87b2754b5d927be00a8b3ac
  #include <asm/setup.h>
  #include <asm/sections.h>
  
- #define __page_aligned        __attribute__((section(".data.page_aligned")))
  DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
  
- pgd_t swapper_pg_dir[PTRS_PER_PGD] __page_aligned;
+ pgd_t swapper_pg_dir[PTRS_PER_PGD] __page_aligned_data;
  
  struct page *empty_zero_page;
  EXPORT_SYMBOL(empty_zero_page);
@@@ -141,7 -139,7 +139,7 @@@ void __init mem_init(void
  
        printk ("Memory: %luk/%luk available (%dk kernel code, "
                "%dk reserved, %dk data, %dk init)\n",
 -              (unsigned long)nr_free_pages() << (PAGE_SHIFT - 10),
 +              nr_free_pages() << (PAGE_SHIFT - 10),
                totalram_pages << (PAGE_SHIFT - 10),
                codesize >> 10,
                reservedpages << (PAGE_SHIFT - 10),
index 3a048fad7ee238b1253d1c7de2312a462dad36d6,96aad394cd3041e03ea14b0f2aaea190a9747e4e..5b47fab9966e34e8030db1628a47e22a966dedb5
@@@ -7,7 -7,11 +7,11 @@@ ccflags-y := -Werro
  
  extra-y     := head_$(BITS).o
  extra-y     += init_task.o
- extra-y     += vmlinux.lds
+ # Undefine sparc when processing vmlinux.lds - it is used
+ # And teach CPP we are doing $(BITS) builds (for this case)
+ CPPFLAGS_vmlinux.lds := -Usparc -m$(BITS)
+ extra-y              += vmlinux.lds
  
  obj-$(CONFIG_SPARC32)   += entry.o wof.o wuf.o
  obj-$(CONFIG_SPARC32)   += etrap_32.o
@@@ -104,5 -108,5 +108,5 @@@ obj-$(CONFIG_AUDIT)     += audit.
  audit--$(CONFIG_AUDIT)  := compat_audit.o
  obj-$(CONFIG_COMPAT)    += $(audit--y)
  
 -pc--$(CONFIG_PERF_COUNTERS) := perf_counter.o
 +pc--$(CONFIG_PERF_EVENTS) := perf_event.o
  obj-$(CONFIG_SPARC64) += $(pc--y)
diff --combined init/Kconfig
index 0aa6579504cc93757ea0ecd284fb7b6782029ff8,85c24ff9484ddbc8d1b5b65dcc82ebb2b895f287..c7bac39d6c61b7da35e5ee1e9a8c9e33a2033807
@@@ -331,8 -331,7 +331,8 @@@ config TREE_PREEMPT_RC
          This option selects the RCU implementation that is
          designed for very large SMP systems with hundreds or
          thousands of CPUs, but for which real-time response
 -        is also required.
 +        is also required.  It also scales down nicely to
 +        smaller systems.
  
  endchoice
  
@@@ -916,36 -915,31 +916,36 @@@ config AI
            by some high performance threaded applications. Disabling
            this option saves about 7k.
  
 -config HAVE_PERF_COUNTERS
 +config HAVE_PERF_EVENTS
        bool
        help
          See tools/perf/design.txt for details.
  
 -menu "Performance Counters"
 +menu "Kernel Performance Events And Counters"
  
 -config PERF_COUNTERS
 -      bool "Kernel Performance Counters"
 -      default y if PROFILING
 -      depends on HAVE_PERF_COUNTERS
 +config PERF_EVENTS
 +      bool "Kernel performance events and counters"
 +      default y if (PROFILING || PERF_COUNTERS)
 +      depends on HAVE_PERF_EVENTS
        select ANON_INODES
        help
 -        Enable kernel support for performance counter hardware.
 +        Enable kernel support for various performance events provided
 +        by software and hardware.
 +
 +        Software events are supported either build-in or via the
 +        use of generic tracepoints.
  
 -        Performance counters are special hardware registers available
 -        on most modern CPUs. These registers count the number of certain
 +        Most modern CPUs support performance events via performance
 +        counter registers. These registers count the number of certain
          types of hw events: such as instructions executed, cachemisses
          suffered, or branches mis-predicted - without slowing down the
          kernel or applications. These registers can also trigger interrupts
          when a threshold number of events have passed - and can thus be
          used to profile the code that runs on that CPU.
  
 -        The Linux Performance Counter subsystem provides an abstraction of
 -        these hardware capabilities, available via a system call. It
 +        The Linux Performance Event subsystem provides an abstraction of
 +        these software and hardware cevent apabilities, available via a
 +        system call and used by the "perf" utility in tools/perf/. It
          provides per task and per CPU counters, and it provides event
          capabilities on top of those.
  
  
  config EVENT_PROFILE
        bool "Tracepoint profiling sources"
 -      depends on PERF_COUNTERS && EVENT_TRACING
 +      depends on PERF_EVENTS && EVENT_TRACING
        default y
        help
 -       Allow the use of tracepoints as software performance counters.
 +       Allow the use of tracepoints as software performance events.
  
 -       When this is enabled, you can create perf counters based on
 +       When this is enabled, you can create perf events based on
         tracepoints using PERF_TYPE_TRACEPOINT and the tracepoint ID
         found in debugfs://tracing/events/*/*/id. (The -e/--events
         option to the perf tool can parse and interpret symbolic
         tracepoints, in the subsystem:tracepoint_name format.)
  
 +config PERF_COUNTERS
 +      bool "Kernel performance counters (old config option)"
 +      depends on HAVE_PERF_EVENTS
 +      help
 +        This config has been obsoleted by the PERF_EVENTS
 +        config option - please see that one for details.
 +
 +        It has no effect on the kernel whether you enable
 +        it or not, it is a compatibility placeholder.
 +
 +        Say N if unsure.
 +
  endmenu
  
  config VM_EVENT_COUNTERS
@@@ -1006,14 -988,6 +1006,6 @@@ config SLUB_DEBU
          SLUB sysfs support. /sys/slab will not exist and there will be
          no support for cache validation etc.
  
- 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 COMPAT_BRK
        bool "Disable heap randomization"
        default y
@@@ -1072,6 -1046,13 +1064,6 @@@ config PROFILIN
  config TRACEPOINTS
        bool
  
 -config MARKERS
 -      bool "Activate markers"
 -      select TRACEPOINTS
 -      help
 -        Place an empty function call at each marker site. Can be
 -        dynamically changed for a probe function.
 -
  source "arch/Kconfig"
  
  config SLOW_WORK
diff --combined scripts/basic/fixdep.c
index 8ab44861168087b01e3d3a643704e3ba6efe1129,d7c1b04791f7be030c2218f4188272a89b78a0e6..6bf21f83837dff5a42893d57dde41e8d225948e4
@@@ -16,7 -16,8 +16,7 @@@
   * tells make when to remake a file.
   *
   * To use this list as-is however has the drawback that virtually
 - * every file in the kernel includes <linux/config.h> which then again
 - * includes <linux/autoconf.h>
 + * every file in the kernel includes <linux/autoconf.h>.
   *
   * If the user re-runs make *config, linux/autoconf.h will be
   * regenerated.  make notices that and will rebuild every file which
@@@ -124,7 -125,8 +124,7 @@@ char *target
  char *depfile;
  char *cmdline;
  
- void usage(void)
static void usage(void)
 -
  {
        fprintf(stderr, "Usage: fixdep <depfile> <target> <cmdline>\n");
        exit(1);
  /*
   * Print out the commandline prefixed with cmd_<target filename> :=
   */
- void print_cmdline(void)
static void print_cmdline(void)
  {
        printf("cmd_%s := %s\n\n", target, cmdline);
  }
@@@ -146,7 -148,7 +146,7 @@@ int    len_config  = 0
   * Grow the configuration string to a desired length.
   * Usually the first growth is plenty.
   */
- void grow_config(int len)
static void grow_config(int len)
  {
        while (len_config + len > size_config) {
                if (size_config == 0)
  /*
   * Lookup a value in the configuration string.
   */
- int is_defined_config(const char * name, int len)
static int is_defined_config(const char * name, int len)
  {
        const char * pconfig;
        const char * plast = str_config + len_config - len;
  /*
   * Add a new value to the configuration string.
   */
- void define_config(const char * name, int len)
static void define_config(const char * name, int len)
  {
        grow_config(len + 1);
  
  /*
   * Clear the set of configuration strings.
   */
- void clear_config(void)
static void clear_config(void)
  {
        len_config = 0;
        define_config("", 0);
  /*
   * Record the use of a CONFIG_* word.
   */
- void use_config(char *m, int slen)
static void use_config(char *m, int slen)
  {
        char s[PATH_MAX];
        char *p;
        printf("    $(wildcard include/config/%s.h) \\\n", s);
  }
  
- void parse_config_file(char *map, size_t len)
static void parse_config_file(char *map, size_t len)
  {
        int *end = (int *) (map + len);
        /* start at +1, so that p can never be < map */
  }
  
  /* test is s ends in sub */
- int strrcmp(char *s, char *sub)
static int strrcmp(char *s, char *sub)
  {
        int slen = strlen(s);
        int sublen = strlen(sub);
        return memcmp(s + slen - sublen, sub, sublen);
  }
  
- void do_config_file(char *filename)
static void do_config_file(char *filename)
  {
        struct stat st;
        int fd;
        close(fd);
  }
  
- void parse_dep_file(void *map, size_t len)
static void parse_dep_file(void *map, size_t len)
  {
        char *m = map;
        char *end = m + len;
        printf("$(deps_%s):\n", target);
  }
  
- void print_deps(void)
static void print_deps(void)
  {
        struct stat st;
        int fd;
        close(fd);
  }
  
- void traps(void)
static void traps(void)
  {
        static char test[] __attribute__((aligned(sizeof(int)))) = "CONF";
        int *p = (int *)test;