1. 12 Oct, 2007 3 commits
    • Sam Ravnborg's avatar
      kbuild: apply genksyms changes · 70f75246
      Sam Ravnborg authored
      This patch updates the _shipped files for genksyms.
      See previous patch for actual functional changes.
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      70f75246
    • Sam Ravnborg's avatar
      kbuild: __extension__ support in genksyms (fix unknown CRC warning) · 3550a516
      Sam Ravnborg authored
      Recently the __extension__ keyword has been introduced in the kernel.
      Teach genksyms about this keyword so it can generate correct CRC for
      exported symbols that uses a symbol marked __extension__.
      For now only the typedef variant:
      
      	__extension__ typedef ...
      
      is supported.
      Later we may add more variants as needed.
      
      This patch contains the actual source file changes. The
      following patch will hold modifications to the generated
      files (*_shipped) and only after the second patch the fix
      has effect.
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      3550a516
    • Sam Ravnborg's avatar
      kbuild: fix genksyms Makefile · a3a6261a
      Sam Ravnborg authored
      When enabling GENERATE_PARSER the genksyms Makefile
      failed to create _shipped version of generated files.
      
      Modifying keywords.gperf failed to cause a rebuild
      of genksyms.
      Fixed by specifying keywowrds .c as explicit prerequisite
      of the lexer.
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      a3a6261a
  2. 07 May, 2007 1 commit
  3. 24 Jun, 2006 2 commits
    • Sam Ravnborg's avatar
      kbuild: replace abort() with exit(1) · 6803dc0e
      Sam Ravnborg authored
      We have had no use of the coredump file for a long time.
      So just exit(1) and avoid coredumping.
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      6803dc0e
    • 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
  4. 20 Mar, 2006 1 commit
  5. 12 Mar, 2006 3 commits
  6. 08 Mar, 2006 1 commit
  7. 01 Jan, 2006 1 commit
  8. 26 Dec, 2005 2 commits
    • Sam Ravnborg's avatar
      kbuild: Create _shipped files for genksyms · c40f5640
      Sam Ravnborg authored
      Generate _shipped files so the genksyms change in previous commit is enabled.
      The files are generated with latest versions of the tools:
      
      bison (GNU Bison) 2.0
      flex version 2.5.4
      GNU gperf 3.0.1
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      c40f5640
    • Robin Holt's avatar
      kbuild: Fix genksyms handling of DEFINE_PER_CPU(struct foo_s *, bar); · a89a0a23
      Robin Holt authored
      This is a one-line change to parse.y.
      To take advantage of this the scripts/genksyms/*_shipped files needs to
      be rebuild - this is the next patch.
      
      When a .c file contains:
      DEFINE_PER_CPU(struct foo_s *, bar);
      
      the .cpp output looks like:
      __attribute__((__section__(".data.percpu"))) __typeof__(struct foo_s *) per_cpu__bar;
      
      With the existing parse.y, the value inside the paranthesis of
      __typeof__() does not evaluate as a type_specifier and therefore
      per_cpu__bar does not get assigned a type for genksyms which results in
      the EXPORT_PER_CPU_SYMBOL() not generating a CRC value.
      
      I have compared the Modules.symvers with and without this
      patch and for ia64's defconfig, the only change is:
      Before 0x00000000    per_cpu____sn_nodepda   vmlinux
      After  0x9d3f3faa    per_cpu____sn_nodepda   vmlinux
      
      per_cpu____sn_nodepda was the original source of my problems.
      Signed-off-by: default avatarRobin Holt <holt@sgi.com>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      a89a0a23
  9. 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