Print this page
11972 resync smatch

Split Close
Expand all
Collapse all
          --- old/usr/src/tools/smatch/src/Documentation/smatch.txt
          +++ new/usr/src/tools/smatch/src/Documentation/smatch.txt
↓ open down ↓ 47 lines elided ↑ open up ↑
  48   48  If you are running Smatch just over one kernel file:
  49   49  
  50   50          ~/progs/smatch/devel/smatch_scripts/kchecker drivers/whatever/file.c
  51   51  
  52   52  You can also build a directory like this:
  53   53  
  54   54          ~/progs/smatch/devel/smatch_scripts/kchecker drivers/whatever/
  55   55  
  56   56  The kchecker script prints its warnings to stdout.
  57   57  
       58 +The above scripts will ensure that any ARCH or CROSS_COMPILE environment
       59 +variables are passed to kernel build system - thus allowing for the use of
       60 +Smatch with kernels that are normally built with cross-compilers.
       61 +
  58   62  If you are building something else (which is not the Linux kernel) then use
  59   63  something like:
  60   64  
  61   65          make CHECK="~/progs/smatch/devel/smatch --full-path" \
  62   66                  CC=~/progs/smatch/devel/smatch/cgcc | tee smatch_warns.txt
  63   67  
  64   68  The makefile has to let people set the CC with an environment variable for that
  65   69  to work, of course.
  66   70  
  67   71  
  68   72  Section 3:  Smatch vs Sparse
  69   73  ----------------------------
  70   74  
  71   75  Smatch uses Sparse as a C parser.  I have made a few hacks to Sparse so I
  72   76  have to distribute the two together.  Sparse is released under the MIT license
  73   77  and Smatch is GPLv2+.  If you make changes to Sparse please send those to the
  74   78  Sparse mailing list linux-sparse@vger.kernel.org and I will pick them up from
  75   79  there.  Partly I do that for licensing reasons because I don't want to pull GPL
  76   80  changes into the Sparse code I re-distribute.
  77   81  
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX