* [PATCH 0/6] Update coccinelle related files/information
@ 2010-10-08 19:27 Nicolas Palix
2010-10-08 19:27 ` [PATCH 1/6] MAINTAINERS: Coccinelle: Update email address Nicolas Palix
` (5 more replies)
0 siblings, 6 replies; 10+ messages in thread
From: Nicolas Palix @ 2010-10-08 19:27 UTC (permalink / raw)
To: Randy Dunlap, Nicolas Palix, Julia Lawall, Michal Marek,
Kulikov Vasiliy, Gilles Muller, Sam Ravnborg, Joerg Roedel,
linux-kernel, linux-doc, cocci
Nicolas Palix (6):
MAINTAINERS: Coccinelle: Update email address
Coccinelle: Update documentation
Coccinelle: Improve user information with a new kind of comment
Coccinelle: Use new comment format to explain kfree.cocci
Coccinelle: Add a new mode named 'chain'
Coccinelle: Use the -no_show_diff option for org and report mode
Documentation/coccinelle.txt | 42 +++++++++++++++++++++++++++++-----
MAINTAINERS | 2 +-
scripts/coccicheck | 30 +++++++++++++++++++-----
scripts/coccinelle/free/kfree.cocci | 9 ++++---
4 files changed, 64 insertions(+), 19 deletions(-)
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/6] MAINTAINERS: Coccinelle: Update email address
2010-10-08 19:27 [PATCH 0/6] Update coccinelle related files/information Nicolas Palix
@ 2010-10-08 19:27 ` Nicolas Palix
2010-10-08 19:27 ` [PATCH 2/6] Coccinelle: Update documentation Nicolas Palix
` (4 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: Nicolas Palix @ 2010-10-08 19:27 UTC (permalink / raw)
To: Randy Dunlap, Nicolas Palix, Julia Lawall, Michal Marek,
Kulikov Vasiliy, Gilles Muller, Sam Ravnborg, Joerg Roedel,
linux-kernel, linux-doc, cocci
Update my email address
Signed-off-by: Nicolas Palix <npalix.work@gmail.com>
---
MAINTAINERS | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index e4f9e41..146090d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1479,7 +1479,7 @@ F: drivers/platform/x86/classmate-laptop.c
COCCINELLE/Semantic Patches (SmPL)
M: Julia Lawall <julia@diku.dk>
M: Gilles Muller <Gilles.Muller@lip6.fr>
-M: Nicolas Palix <npalix@diku.dk>
+M: Nicolas Palix <npalix.work@gmail.com>
L: cocci@diku.dk (moderated for non-subscribers)
W: http://coccinelle.lip6.fr/
S: Supported
--
1.7.0.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/6] Coccinelle: Update documentation
2010-10-08 19:27 [PATCH 0/6] Update coccinelle related files/information Nicolas Palix
2010-10-08 19:27 ` [PATCH 1/6] MAINTAINERS: Coccinelle: Update email address Nicolas Palix
@ 2010-10-08 19:27 ` Nicolas Palix
2010-10-11 19:49 ` Randy Dunlap
2010-10-08 19:27 ` [PATCH 3/6] Coccinelle: Improve user information with a new kind of comment Nicolas Palix
` (3 subsequent siblings)
5 siblings, 1 reply; 10+ messages in thread
From: Nicolas Palix @ 2010-10-08 19:27 UTC (permalink / raw)
To: Randy Dunlap, Nicolas Palix, Julia Lawall, Michal Marek,
Kulikov Vasiliy, Gilles Muller, Sam Ravnborg, Joerg Roedel,
linux-kernel, linux-doc, cocci
- Add information about use of the C={1,2} make flag
- Add a description of the new chain mode mechanism
- Add a link to the wiki
Signed-off-by: Nicolas Palix <npalix.work@gmail.com>
Signed-off-by: Julia Lawall <julia@diku.dk>
---
Documentation/coccinelle.txt | 42 +++++++++++++++++++++++++++++++++++-------
1 files changed, 35 insertions(+), 7 deletions(-)
diff --git a/Documentation/coccinelle.txt b/Documentation/coccinelle.txt
index cd2b028..a43eaeb 100644
--- a/Documentation/coccinelle.txt
+++ b/Documentation/coccinelle.txt
@@ -24,6 +24,9 @@ of many distributions, e.g. :
You can get the latest version released from the Coccinelle homepage at
http://coccinelle.lip6.fr/
+Information and tips about Coccinelle are also provided on the wiki
+pages at http://cocci.ekstranet.diku.dk/wiki/doku.php
+
Once you have it, run the following command:
./configure
@@ -41,20 +44,22 @@ 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: report, patch, context, and org. The mode to
+Four 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.
+
'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.
-Note that not all semantic patches implement all modes.
+Note that not all semantic patches implement all modes. To easy use
+of Coccinelle, the default mode is "chain" which tries the previous
+modes in the order above until one successes.
To make a report for every semantic patch, run the following command:
@@ -68,9 +73,9 @@ To produce patches, run:
The coccicheck target applies every semantic patch available in the
-subdirectories of 'scripts/coccinelle' to the entire Linux kernel.
+sub-directories of 'scripts/coccinelle' to the entire Linux kernel.
-For each semantic patch, a changelog message is proposed. It gives a
+For each semantic patch, a commit message is proposed. It gives a
description of the problem being checked by the semantic patch, and
includes a reference to Coccinelle.
@@ -93,12 +98,35 @@ or
make coccicheck COCCI=<my_SP.cocci> MODE=report
+ Using Coccinelle on (modified) files
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To apply Coccinelle on a file basis, instead of a directory basis, the
+following command may be used:
+
+ make C=1 CHECK="scripts/coccicheck"
+
+To check only newly edited code, use the value 2 for the C flag, i.e.
+
+ make C=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 as shown in the previous section.
+
+The "chain" 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.
+
+
Proposing new semantic patches
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New semantic patches can be proposed and submitted by kernel
developers. For sake of clarity, they should be organized in the
-subdirectories of 'scripts/coccinelle/'.
+sub-directories of 'scripts/coccinelle/'.
Detailed description of the 'report' mode
--
1.7.0.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 3/6] Coccinelle: Improve user information with a new kind of comment
2010-10-08 19:27 [PATCH 0/6] Update coccinelle related files/information Nicolas Palix
2010-10-08 19:27 ` [PATCH 1/6] MAINTAINERS: Coccinelle: Update email address Nicolas Palix
2010-10-08 19:27 ` [PATCH 2/6] Coccinelle: Update documentation Nicolas Palix
@ 2010-10-08 19:27 ` Nicolas Palix
2010-10-08 19:27 ` [PATCH 4/6] Coccinelle: Use new comment format to explain kfree.cocci Nicolas Palix
` (2 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: Nicolas Palix @ 2010-10-08 19:27 UTC (permalink / raw)
To: Randy Dunlap, Nicolas Palix, Julia Lawall, Michal Marek,
Kulikov Vasiliy, Gilles Muller, Sam Ravnborg, Joerg Roedel,
linux-kernel, linux-doc, cocci
Improve user information with a new kind of comment
about semantic patch output.
Fix spelling.
Signed-off-by: Nicolas Palix <npalix.work@gmail.com>
Signed-off-by: Julia Lawall <julia@diku.dk>
---
scripts/coccicheck | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/scripts/coccicheck b/scripts/coccicheck
index b8bcf1f..ef78c87 100755
--- a/scripts/coccicheck
+++ b/scripts/coccicheck
@@ -25,7 +25,7 @@ fi
if [ "$MODE" = "" ] ; then
if [ "$ONLINE" = "0" ] ; then
- echo 'You have not explicitly specify the mode to use. Fallback to "report".'
+ echo 'You have not explicitly specified the mode to use. Fallback to "report".'
echo 'You can specify the mode with "make coccicheck MODE=<mode>"'
echo 'Available modes are: report, patch, context, org'
fi
@@ -52,10 +52,12 @@ coccinelle () {
FILE=`echo $COCCI | sed "s|$srctree/||"`
- echo "Processing `basename $COCCI` with option(s) \"$OPT\""
+ echo "Processing `basename $COCCI`"
+ echo "with option(s) \"$OPT\""
+ echo ''
echo 'Message example to submit a patch:'
- sed -e '/\/\/\//!d' -e 's|^///||' $COCCI
+ sed -ne 's|^///||p' $COCCI
echo ' The semantic patch that makes this change is available'
echo " in $FILE."
@@ -64,6 +66,12 @@ coccinelle () {
echo ' http://coccinelle.lip6.fr/'
echo ''
+ if [ "`sed -ne 's|^//#||p' $COCCI`" ] ; then
+ echo 'Semantic patch information:'
+ sed -ne 's|^//#||p' $COCCI
+ echo ''
+ fi
+
$SPATCH -D $MODE $FLAGS -sp_file $COCCI $OPT -dir $srctree || exit 1
else
$SPATCH -D $MODE $FLAGS -sp_file $COCCI $OPT $OPTIONS || exit 1
--
1.7.0.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 4/6] Coccinelle: Use new comment format to explain kfree.cocci
2010-10-08 19:27 [PATCH 0/6] Update coccinelle related files/information Nicolas Palix
` (2 preceding siblings ...)
2010-10-08 19:27 ` [PATCH 3/6] Coccinelle: Improve user information with a new kind of comment Nicolas Palix
@ 2010-10-08 19:27 ` Nicolas Palix
2010-10-08 19:27 ` [PATCH 5/6] Coccinelle: Add a new mode named 'chain' Nicolas Palix
2010-10-08 19:27 ` [PATCH 6/6] Coccinelle: Use the -no_show_diff option for org and report mode Nicolas Palix
5 siblings, 0 replies; 10+ messages in thread
From: Nicolas Palix @ 2010-10-08 19:27 UTC (permalink / raw)
To: Randy Dunlap, Nicolas Palix, Julia Lawall, Michal Marek,
Kulikov Vasiliy, Gilles Muller, Sam Ravnborg, Joerg Roedel,
linux-kernel, linux-doc, cocci
Use new comment format to separate proposed commit message
and information about generated false positives
Signed-off-by: Nicolas Palix <npalix.work@gmail.com>
Signed-off-by: Julia Lawall <julia@diku.dk>
---
scripts/coccinelle/free/kfree.cocci | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/scripts/coccinelle/free/kfree.cocci b/scripts/coccinelle/free/kfree.cocci
index c13a539..f9f79d9 100644
--- a/scripts/coccinelle/free/kfree.cocci
+++ b/scripts/coccinelle/free/kfree.cocci
@@ -1,7 +1,8 @@
-/// Find a use after free. Values of variables may imply that some
-/// execution paths are not possible, resulting in false positives.
-/// Another source of false positives are macros such as
-/// SCTP_DBG_OBJCNT_DEC that do not actually evaluate their argument
+/// Find a use after free.
+//# Values of variables may imply that some
+//# execution paths are not possible, resulting in false positives.
+//# Another source of false positives are macros such as
+//# SCTP_DBG_OBJCNT_DEC that do not actually evaluate their argument
///
// Confidence: Moderate
// Copyright: (C) 2010 Nicolas Palix, DIKU. GPLv2.
--
1.7.0.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 5/6] Coccinelle: Add a new mode named 'chain'
2010-10-08 19:27 [PATCH 0/6] Update coccinelle related files/information Nicolas Palix
` (3 preceding siblings ...)
2010-10-08 19:27 ` [PATCH 4/6] Coccinelle: Use new comment format to explain kfree.cocci Nicolas Palix
@ 2010-10-08 19:27 ` Nicolas Palix
2010-10-08 19:27 ` [PATCH 6/6] Coccinelle: Use the -no_show_diff option for org and report mode Nicolas Palix
5 siblings, 0 replies; 10+ messages in thread
From: Nicolas Palix @ 2010-10-08 19:27 UTC (permalink / raw)
To: Randy Dunlap, Nicolas Palix, Julia Lawall, Michal Marek,
Kulikov Vasiliy, Gilles Muller, Sam Ravnborg, Joerg Roedel,
linux-kernel, linux-doc, cocci
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 <npalix.work@gmail.com>
Signed-off-by: Julia Lawall <julia@diku.dk>
---
scripts/coccicheck | 16 +++++++++++-----
1 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/scripts/coccicheck b/scripts/coccicheck
index ef78c87..c7beb63 100755
--- a/scripts/coccicheck
+++ b/scripts/coccicheck
@@ -16,6 +16,7 @@ if [ "$C" = "1" -o "$C" = "2" ]; then
else
ONLINE=0
FLAGS="-very_quiet"
+ OPTIONS="-dir $srctree"
fi
if [ ! -x "$SPATCH" ]; then
@@ -25,11 +26,11 @@ fi
if [ "$MODE" = "" ] ; then
if [ "$ONLINE" = "0" ] ; then
- echo 'You have not explicitly specified the mode to use. Fallback to "report".'
+ echo 'You have not explicitly specified the mode to use. Using default "chain" mode.'
+ echo 'All available modes will be tried (in that order): patch, report, context, org'
echo 'You can specify the mode with "make coccicheck MODE=<mode>"'
- echo 'Available modes are: report, patch, context, org'
fi
- MODE="report"
+ MODE="chain"
fi
if [ "$ONLINE" = "0" ] ; then
@@ -71,10 +72,15 @@ coccinelle () {
sed -ne 's|^//#||p' $COCCI
echo ''
fi
+ fi
- $SPATCH -D $MODE $FLAGS -sp_file $COCCI $OPT -dir $srctree || exit 1
+ if [ "$MODE" = "chain" ] ; then
+ $SPATCH -D patch $FLAGS -sp_file $COCCI $OPT $OPTIONS || \
+ $SPATCH -D report $FLAGS -sp_file $COCCI $OPT $OPTIONS || \
+ $SPATCH -D context $FLAGS -sp_file $COCCI $OPT $OPTIONS || \
+ $SPATCH -D org $FLAGS -sp_file $COCCI $OPT $OPTIONS || exit 1
else
- $SPATCH -D $MODE $FLAGS -sp_file $COCCI $OPT $OPTIONS || exit 1
+ $SPATCH -D $MODE $FLAGS -sp_file $COCCI $OPT $OPTIONS || exit 1
fi
}
--
1.7.0.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 6/6] Coccinelle: Use the -no_show_diff option for org and report mode
2010-10-08 19:27 [PATCH 0/6] Update coccinelle related files/information Nicolas Palix
` (4 preceding siblings ...)
2010-10-08 19:27 ` [PATCH 5/6] Coccinelle: Add a new mode named 'chain' Nicolas Palix
@ 2010-10-08 19:27 ` Nicolas Palix
5 siblings, 0 replies; 10+ messages in thread
From: Nicolas Palix @ 2010-10-08 19:27 UTC (permalink / raw)
To: Randy Dunlap, Nicolas Palix, Julia Lawall, Michal Marek,
Kulikov Vasiliy, Gilles Muller, Sam Ravnborg, Joerg Roedel,
linux-kernel, linux-doc, cocci
This allows to write the semantic patches with code sharing
for the matching parts.
Signed-off-by: Nicolas Palix <npalix.work@gmail.com>
Signed-off-by: Julia Lawall <julia@diku.dk>
---
scripts/coccicheck | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/scripts/coccicheck b/scripts/coccicheck
index c7beb63..7529af1 100755
--- a/scripts/coccicheck
+++ b/scripts/coccicheck
@@ -31,6 +31,8 @@ if [ "$MODE" = "" ] ; then
echo 'You can specify the mode with "make coccicheck MODE=<mode>"'
fi
MODE="chain"
+elif [ "$MODE" = "report" -o "$MODE" = "org" ] ; then
+ FLAGS="$FLAGS -no_show_diff"
fi
if [ "$ONLINE" = "0" ] ; then
@@ -75,10 +77,10 @@ coccinelle () {
fi
if [ "$MODE" = "chain" ] ; then
- $SPATCH -D patch $FLAGS -sp_file $COCCI $OPT $OPTIONS || \
- $SPATCH -D report $FLAGS -sp_file $COCCI $OPT $OPTIONS || \
- $SPATCH -D context $FLAGS -sp_file $COCCI $OPT $OPTIONS || \
- $SPATCH -D org $FLAGS -sp_file $COCCI $OPT $OPTIONS || exit 1
+ $SPATCH -D patch $FLAGS -sp_file $COCCI $OPT $OPTIONS || \
+ $SPATCH -D report $FLAGS -sp_file $COCCI $OPT $OPTIONS -no_show_diff || \
+ $SPATCH -D context $FLAGS -sp_file $COCCI $OPT $OPTIONS || \
+ $SPATCH -D org $FLAGS -sp_file $COCCI $OPT $OPTIONS -no_show_diff || exit 1
else
$SPATCH -D $MODE $FLAGS -sp_file $COCCI $OPT $OPTIONS || exit 1
fi
--
1.7.0.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 2/6] Coccinelle: Update documentation
2010-10-08 19:27 ` [PATCH 2/6] Coccinelle: Update documentation Nicolas Palix
@ 2010-10-11 19:49 ` Randy Dunlap
2010-10-12 22:49 ` Nicolas Palix
0 siblings, 1 reply; 10+ messages in thread
From: Randy Dunlap @ 2010-10-11 19:49 UTC (permalink / raw)
To: Nicolas Palix
Cc: Julia Lawall, Michal Marek, Kulikov Vasiliy, Gilles Muller,
Sam Ravnborg, Joerg Roedel, linux-kernel, linux-doc, cocci
On Fri, 8 Oct 2010 21:27:37 +0200 Nicolas Palix wrote:
> - Add information about use of the C={1,2} make flag
> - Add a description of the new chain mode mechanism
> - Add a link to the wiki
>
> Signed-off-by: Nicolas Palix <npalix.work@gmail.com>
> Signed-off-by: Julia Lawall <julia@diku.dk>
Michal,
I guess that you will merge this one with the other Coccinelle patches?
Thanks.
Nicolas, please see comments below.
> ---
> Documentation/coccinelle.txt | 42 +++++++++++++++++++++++++++++++++++-------
> 1 files changed, 35 insertions(+), 7 deletions(-)
>
> diff --git a/Documentation/coccinelle.txt b/Documentation/coccinelle.txt
> index cd2b028..a43eaeb 100644
> --- a/Documentation/coccinelle.txt
> +++ b/Documentation/coccinelle.txt
> @@ -24,6 +24,9 @@ of many distributions, e.g. :
> You can get the latest version released from the Coccinelle homepage at
> http://coccinelle.lip6.fr/
>
> +Information and tips about Coccinelle are also provided on the wiki
> +pages at http://cocci.ekstranet.diku.dk/wiki/doku.php
> +
> Once you have it, run the following command:
>
> ./configure
> @@ -41,20 +44,22 @@ 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: report, patch, context, and org. The mode to
> +Four 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.
> +
> '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.
>
> -Note that not all semantic patches implement all modes.
> +Note that not all semantic patches implement all modes. To easy use
For easy use
> +of Coccinelle, the default mode is "chain" which tries the previous
> +modes in the order above until one successes.
until one succeeds.
Also, please drop trailing spaces.
>
> To make a report for every semantic patch, run the following command:
>
> @@ -68,9 +73,9 @@ To produce patches, run:
>
>
> The coccicheck target applies every semantic patch available in the
> -subdirectories of 'scripts/coccinelle' to the entire Linux kernel.
> +sub-directories of 'scripts/coccinelle' to the entire Linux kernel.
>
> -For each semantic patch, a changelog message is proposed. It gives a
> +For each semantic patch, a commit message is proposed. It gives a
> description of the problem being checked by the semantic patch, and
> includes a reference to Coccinelle.
>
> @@ -93,12 +98,35 @@ or
> make coccicheck COCCI=<my_SP.cocci> MODE=report
>
>
> + Using Coccinelle on (modified) files
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +
> +To apply Coccinelle on a file basis, instead of a directory basis, the
> +following command may be used:
> +
> + make C=1 CHECK="scripts/coccicheck"
> +
> +To check only newly edited code, use the value 2 for the C flag, i.e.
> +
> + make C=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 as shown in the previous section.
> +
> +The "chain" 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.
> +
> +
> Proposing new semantic patches
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> New semantic patches can be proposed and submitted by kernel
> developers. For sake of clarity, they should be organized in the
> -subdirectories of 'scripts/coccinelle/'.
> +sub-directories of 'scripts/coccinelle/'.
>
>
> Detailed description of the 'report' mode
> --
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/6] Coccinelle: Update documentation
2010-10-11 19:49 ` Randy Dunlap
@ 2010-10-12 22:49 ` Nicolas Palix
2010-10-13 12:29 ` Michal Marek
0 siblings, 1 reply; 10+ messages in thread
From: Nicolas Palix @ 2010-10-12 22:49 UTC (permalink / raw)
To: Randy Dunlap
Cc: Julia Lawall, Michal Marek, Kulikov Vasiliy, Gilles Muller,
Sam Ravnborg, Joerg Roedel, linux-kernel, linux-doc, cocci
- Add information about use of the C={1,2} make flag
- Add a description of the new chain mode mechanism
- Add a link to the wiki
Signed-off-by: Nicolas Palix <npalix.work@gmail.com>
Signed-off-by: Julia Lawall <julia@diku.dk>
---
This is a resubmission that fixes trailing whitespaces and a typo.
Documentation/coccinelle.txt | 42 +++++++++++++++++++++++++++++++++++-------
1 files changed, 35 insertions(+), 7 deletions(-)
diff --git a/Documentation/coccinelle.txt b/Documentation/coccinelle.txt
index cd2b028..de51a3e 100644
--- a/Documentation/coccinelle.txt
+++ b/Documentation/coccinelle.txt
@@ -24,6 +24,9 @@ of many distributions, e.g. :
You can get the latest version released from the Coccinelle homepage at
http://coccinelle.lip6.fr/
+Information and tips about Coccinelle are also provided on the wiki
+pages at http://cocci.ekstranet.diku.dk/wiki/doku.php
+
Once you have it, run the following command:
./configure
@@ -41,20 +44,22 @@ 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: report, patch, context, and org. The mode to
+Four 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.
+
'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.
-Note that not all semantic patches implement all modes.
+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.
To make a report for every semantic patch, run the following command:
@@ -68,9 +73,9 @@ To produce patches, run:
The coccicheck target applies every semantic patch available in the
-subdirectories of 'scripts/coccinelle' to the entire Linux kernel.
+sub-directories of 'scripts/coccinelle' to the entire Linux kernel.
-For each semantic patch, a changelog message is proposed. It gives a
+For each semantic patch, a commit message is proposed. It gives a
description of the problem being checked by the semantic patch, and
includes a reference to Coccinelle.
@@ -93,12 +98,35 @@ or
make coccicheck COCCI=<my_SP.cocci> MODE=report
+ Using Coccinelle on (modified) files
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To apply Coccinelle on a file basis, instead of a directory basis, the
+following command may be used:
+
+ make C=1 CHECK="scripts/coccicheck"
+
+To check only newly edited code, use the value 2 for the C flag, i.e.
+
+ make C=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 as shown in the previous section.
+
+The "chain" 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.
+
+
Proposing new semantic patches
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New semantic patches can be proposed and submitted by kernel
developers. For sake of clarity, they should be organized in the
-subdirectories of 'scripts/coccinelle/'.
+sub-directories of 'scripts/coccinelle/'.
Detailed description of the 'report' mode
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 2/6] Coccinelle: Update documentation
2010-10-12 22:49 ` Nicolas Palix
@ 2010-10-13 12:29 ` Michal Marek
0 siblings, 0 replies; 10+ messages in thread
From: Michal Marek @ 2010-10-13 12:29 UTC (permalink / raw)
To: Nicolas Palix
Cc: Randy Dunlap, Julia Lawall, Kulikov Vasiliy, Gilles Muller,
Sam Ravnborg, Joerg Roedel, linux-kernel, linux-doc, cocci
On 13.10.2010 00:49, Nicolas Palix wrote:
> - Add information about use of the C={1,2} make flag
> - Add a description of the new chain mode mechanism
> - Add a link to the wiki
>
> Signed-off-by: Nicolas Palix <npalix.work@gmail.com>
> Signed-off-by: Julia Lawall <julia@diku.dk>
Thanks, I applied the whole series to kbuild-2.6.git#misc.
Michal
> ---
> This is a resubmission that fixes trailing whitespaces and a typo.
>
> Documentation/coccinelle.txt | 42 +++++++++++++++++++++++++++++++++++-------
> 1 files changed, 35 insertions(+), 7 deletions(-)
>
> diff --git a/Documentation/coccinelle.txt b/Documentation/coccinelle.txt
> index cd2b028..de51a3e 100644
> --- a/Documentation/coccinelle.txt
> +++ b/Documentation/coccinelle.txt
> @@ -24,6 +24,9 @@ of many distributions, e.g. :
> You can get the latest version released from the Coccinelle homepage at
> http://coccinelle.lip6.fr/
>
> +Information and tips about Coccinelle are also provided on the wiki
> +pages at http://cocci.ekstranet.diku.dk/wiki/doku.php
> +
> Once you have it, run the following command:
>
> ./configure
> @@ -41,20 +44,22 @@ 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: report, patch, context, and org. The mode to
> +Four 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.
> +
> '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.
>
> -Note that not all semantic patches implement all modes.
> +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.
>
> To make a report for every semantic patch, run the following command:
>
> @@ -68,9 +73,9 @@ To produce patches, run:
>
>
> The coccicheck target applies every semantic patch available in the
> -subdirectories of 'scripts/coccinelle' to the entire Linux kernel.
> +sub-directories of 'scripts/coccinelle' to the entire Linux kernel.
>
> -For each semantic patch, a changelog message is proposed. It gives a
> +For each semantic patch, a commit message is proposed. It gives a
> description of the problem being checked by the semantic patch, and
> includes a reference to Coccinelle.
>
> @@ -93,12 +98,35 @@ or
> make coccicheck COCCI=<my_SP.cocci> MODE=report
>
>
> + Using Coccinelle on (modified) files
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +
> +To apply Coccinelle on a file basis, instead of a directory basis, the
> +following command may be used:
> +
> + make C=1 CHECK="scripts/coccicheck"
> +
> +To check only newly edited code, use the value 2 for the C flag, i.e.
> +
> + make C=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 as shown in the previous section.
> +
> +The "chain" 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.
> +
> +
> Proposing new semantic patches
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> New semantic patches can be proposed and submitted by kernel
> developers. For sake of clarity, they should be organized in the
> -subdirectories of 'scripts/coccinelle/'.
> +sub-directories of 'scripts/coccinelle/'.
>
>
> Detailed description of the 'report' mode
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2010-10-13 12:30 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-08 19:27 [PATCH 0/6] Update coccinelle related files/information Nicolas Palix
2010-10-08 19:27 ` [PATCH 1/6] MAINTAINERS: Coccinelle: Update email address Nicolas Palix
2010-10-08 19:27 ` [PATCH 2/6] Coccinelle: Update documentation Nicolas Palix
2010-10-11 19:49 ` Randy Dunlap
2010-10-12 22:49 ` Nicolas Palix
2010-10-13 12:29 ` Michal Marek
2010-10-08 19:27 ` [PATCH 3/6] Coccinelle: Improve user information with a new kind of comment Nicolas Palix
2010-10-08 19:27 ` [PATCH 4/6] Coccinelle: Use new comment format to explain kfree.cocci Nicolas Palix
2010-10-08 19:27 ` [PATCH 5/6] Coccinelle: Add a new mode named 'chain' Nicolas Palix
2010-10-08 19:27 ` [PATCH 6/6] Coccinelle: Use the -no_show_diff option for org and report mode Nicolas Palix
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.