diff options
-rw-r--r-- | Documentation/coccinelle.txt | 12 | ||||
-rwxr-xr-x | scripts/coccicheck | 21 |
2 files changed, 33 insertions, 0 deletions
diff --git a/Documentation/coccinelle.txt b/Documentation/coccinelle.txt index 2516c5ef1691..66e822f8caee 100644 --- a/Documentation/coccinelle.txt +++ b/Documentation/coccinelle.txt | |||
@@ -175,6 +175,18 @@ instance: | |||
175 | make coccicheck COCCI=scripts/coccinelle/free/kfree.cocci MODE=report DEBUG_FILE=cocci.err | 175 | make coccicheck COCCI=scripts/coccinelle/free/kfree.cocci MODE=report DEBUG_FILE=cocci.err |
176 | cat cocci.err | 176 | cat cocci.err |
177 | 177 | ||
178 | You can use SPFLAGS to add debugging flags, for instance you may want to | ||
179 | add both --profile --show-trying to SPFLAGS when debugging. For instance | ||
180 | you may want to use: | ||
181 | |||
182 | rm -f err.log | ||
183 | export COCCI=scripts/coccinelle/misc/irqf_oneshot.cocci | ||
184 | make coccicheck DEBUG_FILE="err.log" MODE=report SPFLAGS="--profile --show-trying" M=./drivers/mfd/arizona-irq.c | ||
185 | |||
186 | err.log will now have the profiling information, while stdout will | ||
187 | provide some progress information as Coccinelle moves forward with | ||
188 | work. | ||
189 | |||
178 | DEBUG_FILE support is only supported when using coccinelle >= 1.2. | 190 | DEBUG_FILE support is only supported when using coccinelle >= 1.2. |
179 | 191 | ||
180 | Additional flags | 192 | Additional flags |
diff --git a/scripts/coccicheck b/scripts/coccicheck index 3f0bb3f0fddc..081ba5bff79c 100755 --- a/scripts/coccicheck +++ b/scripts/coccicheck | |||
@@ -32,6 +32,27 @@ fi | |||
32 | 32 | ||
33 | FLAGS="--very-quiet" | 33 | FLAGS="--very-quiet" |
34 | 34 | ||
35 | # You can use SPFLAGS to append extra arguments to coccicheck or override any | ||
36 | # heuristics done in this file as Coccinelle accepts the last options when | ||
37 | # options conflict. | ||
38 | # | ||
39 | # A good example for use of SPFLAGS is if you want to debug your cocci script, | ||
40 | # you can for instance use the following: | ||
41 | # | ||
42 | # $ export COCCI=scripts/coccinelle/misc/irqf_oneshot.cocci | ||
43 | # $ make coccicheck MODE=report DEBUG_FILE="all.err" SPFLAGS="--profile --show-trying" M=./drivers/mfd/arizona-irq.c | ||
44 | # | ||
45 | # "--show-trying" should show you what rule is being processed as it goes to | ||
46 | # stdout, you do not need a debug file for that. The profile output will be | ||
47 | # be sent to stdout, if you provide a DEBUG_FILE the profiling data can be | ||
48 | # inspected there. | ||
49 | # | ||
50 | # --profile will not output if --very-quiet is used, so avoid it. | ||
51 | echo $SPFLAGS | egrep -e "--profile|--show-trying" 2>&1 > /dev/null | ||
52 | if [ $? -eq 0 ]; then | ||
53 | FLAGS="--quiet" | ||
54 | fi | ||
55 | |||
35 | # spatch only allows include directories with the syntax "-I include" | 56 | # spatch only allows include directories with the syntax "-I include" |
36 | # while gcc also allows "-Iinclude" and "-include include" | 57 | # while gcc also allows "-Iinclude" and "-include include" |
37 | COCCIINCLUDE=${LINUXINCLUDE//-I/-I } | 58 | COCCIINCLUDE=${LINUXINCLUDE//-I/-I } |