1. 03 8月, 2010 13 次提交
    • D
      modpost: support objects with more than 64k sections · 1ce53adf
      Denys Vlasenko 提交于
      This patch makes modpost able to process object files with more than
      64k sections. Needed for huge kernel builds (allyesconfig, for example)
      with -ffunction-sections. 64k sections handling is covered, for example,
      by this document:
      
      "IA-64 gABI Proposal 74: Section Indexes"
      http://www.codesourcery.com/public/cxx-abi/abi/prop-74-sindex.htmlSigned-off-by: NDenys Vlasenko <vda.linux@googlemail.com>
      Signed-off-by: NAnders Kaseorg <andersk@mit.edu>
      Acked-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Andi Kleen <andi@firstfloor.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      1ce53adf
    • U
      4696e295
    • S
      kbuild: allow assignment to {A,C}FLAGS_KERNEL on the command line · 80c00ba9
      Sam Ravnborg 提交于
      It is now possible to assign options to AS and CC
      on the command line - which is only used for built-in code.
      
      {A,C}FLAGS_KERNEL was used both in the top-level Makefile
      in the arch makefiles, thus users had no way to specify
      additional options to AS, CC without overriding
      the original value.
      
      Introduce a new set of variables KBUILD_{A,C}FLAGS_KERNEL
      that is used by arch specific files and free up
      {A,C}FLAGS_KERNEL so they can be assigned on
      the command line.
      
      All arch Makefiles that used the old variables has been updated.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Hirokazu Takata <takata@linux-m32r.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      80c00ba9
    • S
      kbuild: allow assignment to {A,C,LD}FLAGS_MODULE on the command line · 6588169d
      Sam Ravnborg 提交于
      It is now possible to assign options to AS, CC and LD
      on the command line - which is only used when building modules.
      
      {A,C,LD}FLAGS_MODULE was all used both in the top-level Makefile
      in the arch makefiles, thus users had no way to specify
      additional options to AS, CC, LD when building modules
      without overriding the original value.
      
      Introduce a new set of variables KBUILD_{A,C,LD}FLAGS_MODULE
      that is used by arch specific files and free up
      {A,C,LD}FLAGS_MODULE so they can be assigned on
      the command line.
      
      All arch Makefiles that used the old variables has been updated.
      
      Note: Previously we had a MODFLAGS variable for both
      AS and CC. But in favour of consistency this was dropped.
      So in some cases arch Makefile has one assignmnet replaced by
      two assignmnets.
      
      Note2: MODFLAGS was not documented and is dropped
      without any notice. I do not expect much/any breakage
      from this.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Denys Vlasenko <vda.linux@googlemail.com>
      Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
      Cc: Mike Frysinger <vapier@gentoo.org>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Chen Liqin <liqin.chen@sunplusct.com>
      Acked-by: Mike Frysinger <vapier@gentoo.org> [blackfin]
      Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> [avr32]
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      6588169d
    • S
      kconfig: add savedefconfig · 7cf3d73b
      Sam Ravnborg 提交于
      savedefconfig will save a minimal config to a file
      named "defconfig".
      
      The config symbols are saved in the same order as
      they appear in the menu structure so it should
      be possible to map them to the relevant menus
      if desired.
      
      The implementation was tested against several minimal
      configs for arm which was created using brute-force.
      
      There was one regression related to default numbers
      which had their valid range further limited by another symbol.
      
      Sample:
      
      config FOO
      	int "foo"
      	default 4
      
      config BAR
      	int "bar"
      	range 0 FOO
      
      If FOO is set to 3 then BAR cannot take a value higher than 3.
      But the current implementation will set BAR equal to 4.
      
      This is seldomly used and the final configuration is OK,
      and the fix was non-trivial.
      So it was documented in the code and left as is.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Acked-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      7cf3d73b
    • S
      kconfig: code refactoring in confdata.c · 49192f26
      Sam Ravnborg 提交于
      Add a a few local functions to avoid some code duplication
      No functional changes.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      49192f26
    • S
      kconfig: refactor code in symbol.c · c252147d
      Sam Ravnborg 提交于
      Move logic to determine default for a choice to
      a separate function.
      No functional changes.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      c252147d
    • S
      kconfig: add alldefconfig · 0748cb3e
      Sam Ravnborg 提交于
      alldefconfig create a configuration with all values set
      to their default value (form the Kconfig files).
      
      This may be useful when we try to use more sensible default
      values and may also be used in combination with
      the minimal defconfigs.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      0748cb3e
    • R
      kconfig: print more info when we see a recursive dependency · d595cea6
      Roman Zippel 提交于
      Consider following kconfig file:
      
      config TEST1
      	bool "test 1"
      	depends on TEST2
      
      config TEST2
      	bool "test 2"
      	depends on TEST1
      
      Previously kconfig would report:
      
      foo:6:error: found recursive dependency: TEST2 -> TEST1 -> TEST2
      
      With the following patch kconfig reports:
      foo:5:error: recursive dependency detected!
      foo:5:  symbol TEST2 depends on TEST1
      foo:1:  symbol TEST1 depends on TEST2
      
      Note that we now report where the offending symbols are defined.
      This can be a great help for complex situations involving
      several files.
      
      Patch is originally from Roman Zippel with a few adjustments by Sam.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      d595cea6
    • S
      kconfig: save location of config symbols · 59e89e3d
      Sam Ravnborg 提交于
      When we add a new config symbol save the file/line
      so we later can refer to their location.
      
      The information is saved as a property to a config symbol
      because we may have multiple definitions of the same symbol.
      
      This has the side-effect that a symbol always has
      at least one property.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      59e89e3d
    • S
      kconfig: change nonint_oldconfig to listnewconfig · 861b4ea4
      Sam Ravnborg 提交于
      Rename to a name that better match the other kconfig targets.
      
      listnewconfig shall read as:
      
      - list new options compared to current configuration
      
      New options are now written to stdout so one can redirect the output.
      
      Do not exit with an error code if there is new options.
      
      These are feature changes compared to the original
      nonint_oldconfig - but as this feature has not yet been in a
      released kernel it should not matter.
      
      It is still possible to do:
      
      make listnewconfig
      lookup new config options in Kconfig*
      edit .config
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Aristeu Rozanski <aris@redhat.com>
      Acked-by: NAristeu Rozanski <aris@redhat.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      861b4ea4
    • S
      kconfig: rename loose_nonint_oldconfig => oldnoconfig · ef61ca88
      Sam Ravnborg 提交于
      Rename target to something that fall more in line
      with the other kconfig targets.
      
      oldnoconfig shall read as:
      
      - read the old configuration and set all new options to no
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Aristeu Rozanski <aris@redhat.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      ef61ca88
    • S
      kconfig: use long options in conf · 4062f1a4
      Sam Ravnborg 提交于
      The list of options supported by conf is growing
      and their abbreviation did not resemble anything usefull.
      
      So drop the single letter options in favour of long options.
      
      The long options are named equal to what we know from
      the make target.
      The internal implmentation was changed to match this,
      resulting in much more readable code.
      
      Support for short options is dropped - no one is supposed
      to call this program direct anyway.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      4062f1a4
  2. 29 7月, 2010 1 次提交
    • U
      kconfig: fix MODULES-related bug in case of no .config · ac1ffde1
      Ulf Magnusson 提交于
      There seems to be a kconfig bug due to MODULES not always being
      evaluated if no .config is found. Take the following Kconfig as an
      example:
      
      config MODULES
      	def_bool y
      
      config FOO
      	def_tristate m
      
      With no .config, the following configuration is generated:
      
      CONFIG_MODULES=y
      CONFIG_FOO=y
      
      With an empty .config, the following:
      
      CONFIG_MODULES=y
      CONFIG_FOO=m
      
      Tristate choice statements can also exhibit the problem, due to having an
      implicit rev_dep (select) containing "m".
      
      The problem is that MODULES is never evaluted in conf_read_simple() unless
      there's a .config. The following patch fixes this.
      Signed-off-by: NUlf Magnusson <ulfalizer.lkml@gmail.com>
      Reviewed-by: NWANG Cong <xiyou.wangcong@gmail.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      ac1ffde1
  3. 26 7月, 2010 1 次提交
  4. 23 7月, 2010 1 次提交
    • S
      nconfig: Fix segfault when help contains special characters · 58f915a3
      Stephen Boyd 提交于
      nconfig segfaults when help text contains the character '%'. For a quick
      example, navigate to the kernel compression options and get the help for
      bzip2. Doing so triggers a call to mvwprintw() with a string containing
      '%' and no extra arguments to fill in the specifier's value. Fix this
      case by printing the literal string retrieved from the kconfig.
      
       #0  0x00002b52b6b11d83 in vfprintf () from /lib/libc.so.6
       #1  0x00002b52b6bad010 in __vsnprintf_chk () from /lib/libc.so.6
       #2  0x00002b52b623991b in _nc_printf_string () from
       /lib/libncursesw.so.5
       #3  0x00002b52b6234cff in vwprintw () from /lib/libncursesw.so.5
       #4  0x00002b52b6234db9 in mvwprintw () from /lib/libncursesw.so.5
       #5  0x00000000004151d8 in fill_window (win=0x21b64c0,
           text=0x21b62b0 "CONFIG_KERNEL_BZIP2:\n\nIts compression ratio and
           speed is intermediate.\nDecompression speed is slowest among the
           three.  The kernel\nsize is about 10% smaller with bzip2, in
           comparison to gzip.\nBzip2 us"...)
           at scripts/kconfig/nconf.gui.c:229
       #6  0x0000000000416335 in show_scroll_win (main_window=0x21a5630,
               title=0x157fa30 "Bzip2",
       	    text=0x21b62b0 "CONFIG_KERNEL_BZIP2:\n\nIts compression
       	    ratio and speed is intermediate.\nDecompression speed is
       	    slowest among the three.  The kernel\nsize is about 10%
       	    smaller with bzip2, in comparison to gzip.\nBzip2 us"...)
           at scripts/kconfig/nconf.gui.c:535
       #7  0x00000000004055b2 in show_help (menu=0x157f9d0)
               at scripts/kconfig/nconf.c:1257
       #8  0x0000000000405897 in conf_choice (menu=0x157f130)
       	    at scripts/kconfig/nconf.c:1321
       #9  0x0000000000405326 in conf (menu=0x157d130) at
       	    scripts/kconfig/nconf.c:1208
       #10 0x00000000004052e8 in conf (menu=0xb434a0) at
       	    scripts/kconfig/nconf.c:1203
       #11 0x0000000000406092 in main (ac=2, av=0x7fff96a93c38)
      
      Cc: Michal Marek <mmarek@suse.cz>
      Cc: Nir Tzachar <nir.tzachar@gmail.com>
      Signed-off-by: NStephen Boyd <bebarino@gmail.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      58f915a3
  5. 21 7月, 2010 1 次提交
  6. 20 7月, 2010 1 次提交
    • M
      kbuild: Make the setlocalversion script POSIX-compliant · 6dc0c2f3
      Michał Górny 提交于
      The 'source' builtin is a bash alias to the '.' (dot) builtin. While the
      former is supported only by bash, the latter is specified in POSIX and
      works fine with all POSIX-compliant shells I am aware of.
      
      The '$_' special parameter is specific to bash. It is partially
      supported in dash too but it always evaluates to the current script path
      (which causes the script to enter a loop recursively re-executing
      itself). This is why I have replaced the two occurences of '$_' with the
      explicit parameter.
      
      The 'local' builtin is another example of bash-specific code. Although
      it is supported by all POSIX-compliant shells I am aware of, it is not
      part of POSIX specification and thus the code should not rely on it
      assigning a specific value to the local variable. Moreover, the 'posh'
      shell has a limited version of 'local' builtin not supporting direct
      variable assignments. Thus, I have broken one of the 'local'
      declarations down into a (non-POSIX) 'local' declaration and a plain
      (POSIX-compliant) variable assignment.
      Signed-off-by: NMichał Górny <gentoo@mgorny.alt.pl>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      6dc0c2f3
  7. 08 7月, 2010 2 次提交
  8. 02 7月, 2010 1 次提交
    • C
      kbuild: Warn on selecting symbols with unmet direct dependencies · 246cf9c2
      Catalin Marinas 提交于
      The "select" statement in Kconfig files allows the enabling of options
      even if they have unmet direct dependencies (i.e. "depends on" expands
      to "no"). Currently, the "depends on" clauses are used in calculating
      the visibility but they do not affect the reverse dependencies in any
      way.
      
      The patch introduces additional tracking of the "depends on" statements
      and prints a warning on selecting an option if its direct dependencies
      are not met.
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      246cf9c2
  9. 18 6月, 2010 1 次提交
    • M
      kbuild: Clean up and speed up the localversion logic · 09155120
      Michal Marek 提交于
      Now that we run scripts/setlocalversion during every build, it makes
      sense to move all the localversion logic there. This cleans up the
      toplevel Makefile and also makes sure that the script is called only
      once in 'make prepare' (previously, it would be called every time due to
      a variable expansion in an ifneq statement). No user-visible change is
      intended, unless one runs the setlocalversion script directly.
      Reported-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Greg Thelen <gthelen@google.com>
      Cc: Nico Schottelius <nico-linuxsetlocalversion@schottelius.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      09155120
  10. 12 6月, 2010 2 次提交
  11. 10 6月, 2010 1 次提交
  12. 04 6月, 2010 1 次提交
    • D
      Makefile.build: make KBUILD_SYMTYPES work again · e26d6b83
      Don Zickus 提交于
      commit 37a8d9f6 tried to combine some
      duplicate code and accidentally broke how KBUILD_SYMTYPES worked
      
      This fixes the code to match the original intention by the author who
      originally added the code I believe.
      
      The fixes include:
      - removing extra whitespaces in the if-statements
      - moving the if-statement from around the -r to the -T
      - adding a second arg to cmd_gensymtypes to simplify the options passed
        to genksyms.
      
      Tested by instrumenting genksyms and seeing what options were passed in
      during a make, KBUILD_SYMTYPES make, and when a foo.symref was created.
      
      Everything compiled and looked ok.
      Signed-off-by: NDon Zickus <dzickus@redhat.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      e26d6b83
  13. 03 6月, 2010 3 次提交
  14. 02 6月, 2010 10 次提交
  15. 28 5月, 2010 1 次提交