1. 01 Jul, 2006 1 commit
    • Sam Ravnborg's avatar
      kbuild: fix ia64 breakage after introducing make -rR · 5e8d780d
      Sam Ravnborg authored
      kbuild used $¤(*F to get filename of target without extension.
      This was used in several places all over kbuild, but introducing
      make -rR broke his for all cases where we specified full path to
      target/prerequsite. It is assumed that make -rR disables old style
      suffix-rules which is why is suddenly failed.
      
      ia64 was impacted by this change because several div* routines in
      arch/ia64/lib are build using explicit paths and then kbuild failed.
      
      Thanks to David Mosberger-Tang <David.Mosberger@acm.org> for an explanation
      what was the root-cause and for testing on ia64.
      
      This patch also fixes two uses of $(*F) in arch/um
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      5e8d780d
  2. 26 Jun, 2006 1 commit
    • Linus Torvalds's avatar
      Revert "kbuild: fix make -rR breakage" · d38b6968
      Linus Torvalds authored
      This reverts commit e5c44fd8.
      
      Thanks to Daniel Ritz and Michal Piotrowski for noticing the problem.
      
      Daniel says:
      
        "[The] reason is a recent change that made modules always shows as
         module.mod.  it breaks modprobe and probably many scripts..besides
         lsmod looking horrible
      
         stuff like this in modprobe.conf:
              install pcmcia_core /sbin/modprobe --ignore-install pcmcia_core; /sbin/modprobe pcmcia
         makes modprobe fork/exec endlessly calling itself...until oom
         interrupts it"
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      d38b6968
  3. 24 Jun, 2006 2 commits
    • Andreas Gruenbacher's avatar
      kbuild: support for %.symtypes files · 15fde675
      Andreas Gruenbacher authored
      Here is a patch that adds a new -T option to genksyms for generating dumps of
      the type definition that makes up the symbol version hashes. This allows to
      trace modversion changes back to what caused them. The dump format is the
      name of the type defined, followed by its definition (which is almost C):
      
        s#list_head struct list_head { s#list_head * next , * prev ; }
      
      The s#, u#, e#, and t# prefixes stand for struct, union, enum, and typedef.
      The exported symbols do not define types, and thus do not have an x# prefix:
      
        nfs4_acl_get_whotype int nfs4_acl_get_whotype ( char * , t#u32 )
      
      The symbol type defintion of a single file can be generated with:
      
        make fs/jbd/journal.symtypes
      
      If KBUILD_SYMTYPES is defined, all the *.symtypes of all object files that
      export symbols are generated.
      
      The single *.symtypes files can be combined into a single file after a kernel
      build with a script like the following:
      
      for f in $(find -name '*.symtypes' | sort); do
          f=${f#./}
          echo "/* ${f%.symtypes}.o */"
          cat $f
          echo
      done \
      | sed -e '\:UNKNOWN:d' \
            -e 's:[,;] }:}:g' \
            -e 's:\([[({]\) :\1:g' \
            -e 's: \([])},;]\):\1:g' \
            -e 's: $::' \
            $f \
      | awk '
      /^.#/   { if (defined[$1] == $0) {
                  print $1
                  next
                }
                defined[$1] = $0
              }
              { print }
      '
      
      When the kernel ABI changes, diffing individual *.symtype files, or the
      combined files, against each other will show which symbol changes caused the
      ABI changes. This can save a tremendous amount of time.
      
      Dump the types that make up modversions
      Signed-off-by: default avatarAndreas Gruenbacher <agruen@suse.de>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      15fde675
    • Sam Ravnborg's avatar
      kbuild: fix make -rR breakage · e5c44fd8
      Sam Ravnborg authored
      make failed to supply the filename when using make -rR and using $(*F)
      to get target filename without extension.
      This bug was not reproduceable in small scale but using:
      $(basename $(notdir $@)) fixes it with same functionality.
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      e5c44fd8
  4. 09 Jun, 2006 1 commit
    • Roman Zippel's avatar
      kconfig: fix .config dependencies · c955ccaf
      Roman Zippel authored
      This fixes one of the worst kbuild warts left - the broken dependencies used
      to check and regenerate the .config file.  This was done via an indirect
      dependency and the .config itself had an empty command, which can cause make
      not to reread the changed .config file.
      
      Instead of this we generate now a new file include/config/auto.conf from
      .config, which is used for kbuild and has the proper dependencies.  It's also
      the main make target now for all files generated during this step (and thus
      replaces include/linux/autoconf.h).
      
      This also means we can now relax the syntax requirements for the .config file
      and we don't have to rewrite it all the time, i.e.  silentoldconfig only
      writes .config now when it's necessary to keep it in sync with the Kconfig
      files and even this can be suppressed by setting the environment variable
      KCONFIG_NOSILENTUPDATE, so the update can (and must) be done manually.
      Signed-off-by: default avatarRoman Zippel <zippel@linux-m68k.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      c955ccaf
  5. 12 Mar, 2006 2 commits
  6. 05 Mar, 2006 1 commit
  7. 19 Feb, 2006 2 commits
    • Jan Beulich's avatar
      kbuild: consolidate command line escaping · 6176aa9a
      Jan Beulich authored
      While the recent change to also escape # symbols when storing C-file
      compilation command lines was helpful, it should be in effect for all
      command lines, as much as the dollar escaping should be in effect for
      C-source compilation commands. Additionally, for better readability and
      maintenance, consolidating all the escaping (single quotes, dollars,
      and now sharps) was also desirable.
      Signed-Off-By: default avatarJan Beulich <jbeulich@novell.com>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      6176aa9a
    • Sam Ravnborg's avatar
      kbuild: make cc-version available in kbuild files · 20a468b5
      Sam Ravnborg authored
      Move $(CC) support functions to Kbuild.include so they are available
      in the kbuild files.
      In addition the following was done:
      	o as-option documented in Documentation/kbuild/makefiles.txt
      	o Moved documentation to new section to match
      	  new scope of functions
      	o added cc-ifversion used to conditionally select a text string
      	  dependent on actual $(CC) version
      	o documented cc-ifversion
      	o change so Kbuild.include is read before the kbuild file
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      20a468b5
  8. 06 Jan, 2006 1 commit
  9. 27 Jul, 2005 1 commit
    • Sam Ravnborg's avatar
      kbuild: fix building external modules · db8c1a7b
      Sam Ravnborg authored
      kbuild failed to locate Makefile for external modules.
      This brought to my attention how the variables for directories
      have different values in different usage scenarios.
      
      Different kbuild usage scenarios:
      make       - plain make in same directory where kernel source lives
      make O=    - kbuild is told to store output files in another directory
      make M=    - building an external module
      make O= M= - building an external module with kernel output seperate from src
      
      Value assigned to the different variables:
      
                 |$(src)          |$(obj) |$(srctree)        |$(objtree)
      make       |reldir to k src |as src |abs path to k src |abs path to k src
      make O=    |reldir to k src |as src |abs path to k src |abs path to output dir
      make M=    |abs path to src |as src |abs path to k src |abs path to k src
      make O= M= |abs path to src |as src |abs path to k src |abs path to k output
      
      path to kbuild file:
      
      make       | $(srctree)/$(src), $(src)
      make O=    | $(srctree)/$(src)
      make M=    | $(src)
      make O= M= | $(src)
      
      From the table above it can be seen that the only good way to find the
      home directory of the kbuild file is to locate the one of the two variants
      that is an absolute path. If $(src) is an absolute path (starts with /)
      then use it, otherwise prefix $(src) with $(srctree).
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      db8c1a7b
  10. 25 Jul, 2005 2 commits
  11. 14 Jul, 2005 1 commit
  12. 23 Jun, 2005 1 commit
  13. 16 Apr, 2005 1 commit
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4