Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

coccicheck: replace --very-quiet with --quiet when debugging

When debugging (using --profile or --show-trying) you want to
avoid supressing output, use --quiet instead. While at it, extend
documentation for SPFLAGS use.

For instance one can use:

$ export COCCI=scripts/coccinelle/misc/irqf_oneshot.cocci
$ make coccicheck DEBUG_FILE="poo.err" MODE=report SPFLAGS="--profile --show-trying" M=./drivers/mfd/arizona-irq.c

Expand Documentation/coccinelle.txt as well.

v4: expand Documentation/coccinelle.txt
v3: rebased, resolve conflicts, expand Documentation/coccinelle.txt
v2: use egrep instead of the *"=--option"* check, this doesn't work for
disjunctions.

Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Michal Marek <mmarek@suse.com>

authored by

Luis R. Rodriguez and committed by
Michal Marek
5c384dba be1fa900

+33
+12
Documentation/coccinelle.txt
··· 175 175 make coccicheck COCCI=scripts/coccinelle/free/kfree.cocci MODE=report DEBUG_FILE=cocci.err 176 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 190 DEBUG_FILE support is only supported when using coccinelle >= 1.2. 179 191 180 192 Additional flags
+21
scripts/coccicheck
··· 32 32 33 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 56 # spatch only allows include directories with the syntax "-I include" 36 57 # while gcc also allows "-Iinclude" and "-include include" 37 58 COCCIINCLUDE=${LINUXINCLUDE//-I/-I }