mirror of
https://github.com/torvalds/linux.git
synced 2024-12-27 05:11:48 +00:00
Coccinelle: Update the documentation
- The new default mode is 'report'. - The available modes are detailed a bit more. - Some information about the use of spatch options are also given concerning the use of indexing tools. Signed-off-by: Nicolas Palix <nicolas.palix@imag.fr> Signed-off-by: Michal Marek <mmarek@suse.cz>
This commit is contained in:
parent
4b92b2aa98
commit
78a95b9b4b
@ -48,7 +48,7 @@ A Coccinelle-specific target is defined in the top level
|
||||
Makefile. This target is named 'coccicheck' and calls the 'coccicheck'
|
||||
front-end in the 'scripts' directory.
|
||||
|
||||
Four modes are defined: patch, report, context, and org. The mode to
|
||||
Four basic modes are defined: patch, report, context, and org. The mode to
|
||||
use is specified by setting the MODE variable with 'MODE=<mode>'.
|
||||
|
||||
'patch' proposes a fix, when possible.
|
||||
@ -62,18 +62,24 @@ diff-like style.Lines of interest are indicated with '-'.
|
||||
'org' generates a report in the Org mode format of Emacs.
|
||||
|
||||
Note that not all semantic patches implement all modes. For easy use
|
||||
of Coccinelle, the default mode is "chain" which tries the previous
|
||||
modes in the order above until one succeeds.
|
||||
of Coccinelle, the default mode is "report".
|
||||
|
||||
To make a report for every semantic patch, run the following command:
|
||||
Two other modes provide some common combinations of these modes.
|
||||
|
||||
make coccicheck MODE=report
|
||||
'chain' tries the previous modes in the order above until one succeeds.
|
||||
|
||||
NB: The 'report' mode is the default one.
|
||||
'rep+ctxt' runs successively the report mode and the context mode.
|
||||
It should be used with the C option (described later)
|
||||
which checks the code on a file basis.
|
||||
|
||||
To produce patches, run:
|
||||
Examples:
|
||||
To make a report for every semantic patch, run the following command:
|
||||
|
||||
make coccicheck MODE=patch
|
||||
make coccicheck MODE=report
|
||||
|
||||
To produce patches, run:
|
||||
|
||||
make coccicheck MODE=patch
|
||||
|
||||
|
||||
The coccicheck target applies every semantic patch available in the
|
||||
@ -129,26 +135,33 @@ To check only newly edited code, use the value 2 for the C flag, i.e.
|
||||
|
||||
make C=2 CHECK="scripts/coccicheck"
|
||||
|
||||
In these modes, which works on a file basis, there is no information
|
||||
about semantic patches displayed, and no commit message proposed.
|
||||
|
||||
This runs every semantic patch in scripts/coccinelle by default. The
|
||||
COCCI variable may additionally be used to only apply a single
|
||||
semantic patch as shown in the previous section.
|
||||
|
||||
The "chain" mode is the default. You can select another one with the
|
||||
The "report" mode is the default. You can select another one with the
|
||||
MODE variable explained above.
|
||||
|
||||
In this mode, there is no information about semantic patches
|
||||
displayed, and no commit message proposed.
|
||||
|
||||
Additional flags
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Additional flags can be passed to spatch through the SPFLAGS
|
||||
variable.
|
||||
|
||||
make SPFLAGS=--use_glimpse coccicheck
|
||||
make SPFLAGS=--use-glimpse coccicheck
|
||||
make SPFLAGS=--use-idutils coccicheck
|
||||
|
||||
See spatch --help to learn more about spatch options.
|
||||
|
||||
Note that the '--use-glimpse' and '--use-idutils' options
|
||||
require external tools for indexing the code. None of them is
|
||||
thus active by default. However, by indexing the code with
|
||||
one of these tools, and according to the cocci file used,
|
||||
spatch could proceed the entire code base more quickly.
|
||||
|
||||
Proposing new semantic patches
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user