1. 28 Aug, 2016 5 commits
  2. 27 Aug, 2016 1 commit
  3. 18 Aug, 2016 1 commit
  4. 01 May, 2016 1 commit
  5. 14 Dec, 2015 2 commits
  6. 04 Aug, 2015 3 commits
  7. 24 May, 2015 2 commits
  8. 24 Mar, 2015 1 commit
  9. 16 Mar, 2015 1 commit
    • Valentin Rothberg's avatar
      checkkconfigsymbols.py: make it Git aware · b1a3f243
      Valentin Rothberg authored
      The script now supports to check a specified commit or a specified range
      of commits (i.e., commit1..commit2).  Developers and maintainers are
      encouraged to use this functionality before sending or merging patches
      to avoid potential bugs and to keep the code, documentation, etc. clean.
      
      This patch adds the following options to the script:
      
       -c COMMIT, --commit=COMMIT
                        Check if the specified commit (hash) introduces
                        undefined Kconfig symbols.
      
       -d DIFF, --diff=DIFF
                        Diff undefined symbols between two commits.  The input
                        format bases on Git log's 'commmit1..commit2'.
      
        --force         Reset current Git tree even when it's dirty.
      
      Note that the first two options require to 'git reset --hard' the user's
      Git tree.  This hard reset is necessary to keep the script fast, but it
      can lead to the loss of uncommitted data.  Hence, the script aborts in
      case it is executed in a dirty tree.  It won't abort if '--force' is
      passed.
      
      If neither -c nor -d is specified, the script defaults to check the
      entire local tree (i.e., the previous behavior).
      Signed-off-by: 's avatarValentin Rothberg <valentinrothberg@gmail.com>
      Signed-off-by: 's avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      b1a3f243
  10. 09 Mar, 2015 1 commit
  11. 09 Nov, 2014 1 commit
  12. 07 Nov, 2014 1 commit
    • Valentin Rothberg's avatar
      checkkconfigsymbols.sh: reimplementation in python · 24fe1f03
      Valentin Rothberg authored
      The scripts/checkkconfigsymbols.sh script searches Kconfig features
      in the source code that are not defined in Kconfig. Such identifiers
      always evaluate to false and are the source of various kinds of bugs.
      However, the shell script is slow and it does not detect such broken
      references in Kbuild and Kconfig files (e.g., ``depends on UNDEFINED´´).
      Furthermore, it generates false positives. The script is also hard to
      read and understand, and is thereby difficult to maintain.
      
      This patch replaces the shell script with an implementation in Python,
      which:
          (a) detects the same bugs, but does not report previous false positives
          (b) additionally detects broken references in Kconfig and all
              non-Kconfig files, such as Kbuild, .[cSh], .txt, .sh, defconfig, etc.
          (c) is up to 75 times faster than the shell script
          (d) only checks files under version control
      
      The new script reduces the runtime on my machine (i7-2620M, 8GB RAM, SSD)
      from 3m47s to 0m3s, and reports 938 broken references in Linux v3.17-rc1;
      419 additional reports of which 16 are located in Kconfig files,
      287 in defconfigs, 63 in ./Documentation, 1 in Kbuild.
      
      Moreover, we intentionally include references in comments, which have been
      ignored until now. Such comments may be leftovers of features that have
      been removed or renamed in Kconfig (e.g., ``#endif /* CONFIG_MPC52xx */´´).
      These references can be misleading and should be removed or replaced.
      
      Note that the output format changed from (file list <tab> feature) to
      (feature <tab> file list) as it simplifies the detection of the Kconfig
      feature for long file lists.
      Signed-off-by: 's avatarValentin Rothberg <valentinrothberg@gmail.com>
      Signed-off-by: 's avatarStefan Hengelein <stefan.hengelein@fau.de>
      Signed-off-by: 's avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      24fe1f03