aboutsummaryrefslogtreecommitdiff
path: root/scripts/coccicheck
AgeCommit message (Collapse)AuthorFilesLines
2013-07-03Coccinelle: Update information about the minimal version requiredNicolas Palix1-0/+5
The naming convention of options has changed one year ago. The options have been recently updated in the cocci file and in scripts/coccicheck. This patch also adds this information in the documentation. Signed-off-by: Nicolas Palix <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2013-07-03Coccinelle: Update the options used to the new option schemeNicolas Palix1-14/+14
spatch has changed its option scheme. E.g., --no_show_diff is now --no-show-diff This patch updates: - scripts/coccicheck - Semantic patches under scripts/coccinelle/ Signed-off-by: Nicolas Palix <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2013-07-03coccicheck: span checks across CPUsKees Cook1-3/+28
This adds parallelism by default to the "coccicheck" target using spatch's "-max" and "-index" arguments. Signed-off-by: Kees Cook <[email protected]> Signed-off-by: Nicolas Palix <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2013-06-14Coccinelle: Make 'report' the default modeNicolas Palix1-3/+11
It appears that the 'report' mode is the one always provided by the semantic patches included in the kernel. It is thus more natural to select it by default. The 'chain' mode is however kept and the 'patch' mode is still the first tried in that case. Signed-off-by: Nicolas Palix <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2013-04-08Coccinelle: Fix patch output when coccicheck is used with M= and C=Nicolas Palix1-1/+5
When the M variable is used, the -patch option should be given to spatch. This patch fixes the case where C is used. Signed-off-by: Nicolas Palix <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2013-04-08Coccinelle: Add support to the SPFLAGS variableNicolas Palix1-1/+1
The SPFLAGS variable allows to pass additional options to spatch, e.g. -use_glimpse. Signed-off-by: Nicolas Palix <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2013-04-08Coccinelle: Cleanup the setting of the FLAGS and OPTIONS variablesNicolas Palix1-12/+13
The FLAGS variable is factorized independently of the ONLINE mode. The OPTIONS variable is now based on LINUXINCLUDE and explicit includes are thus removed. The format of the -I option differs between gcc and spatch. The COCCIINCLUDE is used to adapt the format. This rewritting needs bash. Signed-off-by: Nicolas Palix <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2013-04-08Coccinelle: Restore coccicheck verbosity in ONLINE mode (C=1 or C=2)Nicolas Palix1-1/+1
A recent patch have introduce the VERBOSE variable and comments now depend on it. However, the message printed for each cocci file such not be printed when the ONLINE mode is active, whatever is the value of VERBOSE. Signed-off-by: Nicolas Palix <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2013-02-22coccicheck: Allow to show the executed command lineBernd Schubert1-7/+21
On my system one of the tests failed with "Fatal error: exception Failure("No OCaml compiler found! Install either ocamlopt or ocamlopt.opt")". Investigating such issues is easier if the executed command line is being shown. Signed-off-by: Bernd Schubert <[email protected]> CC: Julia Lawall <[email protected]> Acked-by: Nicolas Palix <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2013-02-22coccicheck: Allow the user to give a V= (verbose) argumentBernd Schubert1-1/+10
Do not run with verbosity on/off depending on the ONLINE variable, which gets set with C=1 or C=2, but allow the user to set the verbosity using kernel default make V= paramemter. Verbosity is off by default now. Signed-off-by: Bernd Schubert <[email protected]> CC: Julia Lawall <[email protected]> Acked-by: Nicolas Palix <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2012-10-11coccicheck: Add the rep+ctxt modeNicolas Palix1-0/+3
This adds a 'rep+ctxt' mode which prints the warning message followed by the context. Signed-off-by: Nicolas Palix <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2012-02-24coccicheck: change handling of C={1,2} when M= is setGreg Dietsche1-9/+4
This patch reverts a portion of d0bc1fb4 so that coccicheck will work properly when C=1 or C=2. Reported-and-tested-by: Brice Goglin <[email protected]> Signed-off-by: Greg Dietsche <[email protected]> Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2012-01-14coccicheck: add M= option to control which dir is processedGreg Dietsche1-5/+14
Examples: make coccicheck M=drivers/net/wireless/ make coccicheck SUBDIRS=drivers/net/wireless/ Version 2: fix patch file names when using M= tell coccinelle where the include files are Version 3: Add second include option to support out of tree development Fix error message Signed-off-by: Greg Dietsche <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2010-10-28Coccinelle: Add contextual messageNicolas Palix1-3/+13
Change the message displayed to the user according to the current mode used. Fix trailing white-space and spelling Signed-off-by: Nicolas Palix <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2010-10-13Coccinelle: Use the -no_show_diff option for org and report modeNicolas Palix1-4/+6
This allows to write the semantic patches with code sharing for the matching parts. Signed-off-by: Nicolas Palix <[email protected]> Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2010-10-13Coccinelle: Add a new mode named 'chain'Nicolas Palix1-5/+11
spatch now returns -1 when a virtual rule (given with -D on the command line) is not defined in the semantic patch. Using this spatch feature, coccicheck is now tries several modes by default, in the order: patch, report, context, org Signed-off-by: Nicolas Palix <[email protected]> Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2010-10-13Coccinelle: Improve user information with a new kind of commentNicolas Palix1-3/+11
Improve user information with a new kind of comment about semantic patch output. Fix spelling. Signed-off-by: Nicolas Palix <[email protected]> Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2010-06-28Add support for the C variable in the coccicheck scriptNicolas Palix1-25/+51
This patch makes it possible to use the Coccinelle checker with the C variable of the build system. To check only newly edited code, the following command may be used: 'make C={1,2} CHECK="scripts/coccicheck"' This runs every semantic patch in scripts/coccinelle by default. The COCCI variable may additionally be used to only apply a single semantic patch. Signed-off-by: Nicolas Palix <[email protected]> Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2010-06-12Add a target to use the Coccinelle checkerNicolas Palix1-0/+54
A 'coccicheck' target is added. It can be called with four different modes. Each one generates a different kind of output, i.e. context, patch, org, report, according to the corresponding mode to be activated. The new target calls the 'coccicheck' front-end in the 'scripts' directory with the MODE argument. Every SmPL file in the subdirectories of 'scripts/coccinelle' is then given to the front-end and applied to the entire source tree. The four modes behave as follows: 'report' generates a list in the following format: file:line:column-column: message 'patch' proposes a fix, when possible. 'context' highlights lines of interest and their context in a diff-like style. Lines of interest are indicated with '-'. 'org' generates a report in the Org mode format of Emacs. Signed-off-by: Nicolas Palix <[email protected]> Signed-off-by: Julia Lawall <[email protected]> Acked-by: Sam Ravnborg <[email protected]> Acked-by: Joerg Roedel <[email protected]> Signed-off-by: Michal Marek <[email protected]>