From: Julia Lawall <julia.lawall@lip6.fr>
To: "Luis R. Rodriguez" <mcgrof@kernel.org>
Cc: Julia Lawall <julia.lawall@lip6.fr>,
dmitry.torokhov@gmail.com, tiwai@suse.de, ming.lei@canonical.com,
stephen.boyd@linaro.org, deepa.kernel@gmail.com,
chunkeey@googlemail.com, cocci@systeme.lip6.fr,
jwboyer@fedoraproject.org, jslaby@suse.com,
zohar@linux.vnet.ibm.com, dwmw2@infradead.org, hauke@hauke-m.de,
broonie@kernel.org, akpm@linux-foundation.org,
gregkh@linuxfoundation.org, markivx@codeaurora.org,
linux-kernel@vger.kernel.org, mmarek@suse.com,
johannes@sipsolutions.net, torvalds@linux-foundation.org
Subject: Re: [Cocci] [PATCH v3 0/8] coccicheck: modernize
Date: Tue, 21 Jun 2016 23:02:49 +0200 (CEST) [thread overview]
Message-ID: <alpine.DEB.2.02.1606212252570.2040@localhost6.localdomain6> (raw)
In-Reply-To: <20160621205100.GV25646@wotan.suse.de>
On Tue, 21 Jun 2016, Luis R. Rodriguez wrote:
> On Tue, Jun 21, 2016 at 10:13:31PM +0200, Julia Lawall wrote:
> >
> >
> > On Tue, 21 Jun 2016, Luis R. Rodriguez wrote:
> >
> > > This v3 series addresses the feedback from the last v2 series
> > > on the coccicheck enhancements [0], namely:
> > >
> > > o it drops the indexing heuristics in favor for a .cocciconfig use
> > > o drops glimpse support as its simply not well maintained, recommends
> > > idutils instead.
> > > o adds a Linux .cocciconfig -- the assumption is you'd run spatch when
> > > you're at the top level of the kernel. This has not only the side effect
> > > of picking up .cocciconfig, but also that the coccicheck use of the
> > > make variables passed on are assumed to be correct given the base
> > > directory as the current directory.
> >
> > I don't understand this point. Coccinelle picks up the .cocciconfig, if
> > any, of the directory on which you want to work, not of the current one.
>
> The order of precedence for variables for .coccoconfig is as follows:
>
> o Your current user's home directory is processed first
> o Your directory from which spatch is called is processed next
> o The directory provided with the --dir option is processed last, if used
>
> Since coccicheck runs through make, it naturally runs from the kernel proper
> dir, as such the second rule above would be implied for picking up a .cocciconfig.
> That's part of the point I'm making.
OK
> Up next let us consider when M= is used or when it is not used, if used
> it populates KBUILD_EXTMOD.
>
> if [ "$KBUILD_EXTMOD" = "" ] ; then
> OPTIONS="--dir $srctree $COCCIINCLUDE"
> else
> OPTIONS="--dir $KBUILD_EXTMOD $COCCIINCLUDE"
> fi
>
> Either way --dir is used, so the third rule applies and so your .cocciconfig
> from there is also read if one is found. My other point was that $COCCIINCLUDE
> has some useful tidbits of includes for coccinelle, and that also assumes
> one is on the top level dir of the kernel.
OK.
> That is sanitized as follows:
>
> # spatch only allows include directories with the syntax "-I include"
> # while gcc also allows "-Iinclude" and "-include include"
> COCCIINCLUDE=${LINUXINCLUDE//-I/-I }
> COCCIINCLUDE=${COCCIINCLUDE// -include/ --include}
I don't get the second case. Is it to replace -include by --include?
Coccinelle actually supports both, although it doesn't advertise that.
Also, in LINUXINCLUDE, what is the meaning of -include? For Coccinelle,
it is not the same as -I. It is for files that should be included that
are not in the set of includes seen by whatever is the specified include
strategy (--all-includes, etc). The argument is a specific file name, not
a directory. It is a way of eg not bothering with --recursive-includes
when there is one or a few key header files that each file will need.
> So the point is to annotate that the .cocconfig is picked up first due
> to the fact make is used and its issued from the top level makefile
> and starts from the top level. The fact that --dir is used is important
> but secondary to its introduction as well.
OK, the original text seemed to me to imply that running from the kernel
directory was essential to getting the kernels .cocciconfig, so I wanted
to point out that this is not the case.
julia
next prev parent reply other threads:[~2016-06-21 21:03 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-21 19:21 [PATCH v3 0/8] coccicheck: modernize Luis R. Rodriguez
2016-06-21 19:21 ` [PATCH v3 1/8] coccicheck: move spatch binary check up Luis R. Rodriguez
2016-06-21 20:34 ` Nicolas Palix (LIG)
2016-06-21 19:21 ` [PATCH v3 2/8] coccicheck: make SPFLAGS more useful Luis R. Rodriguez
2016-06-22 20:39 ` Nicolas Palix (LIG)
2016-06-21 19:21 ` [PATCH v3 3/8] coccicheck: enable parmap support Luis R. Rodriguez
2016-06-21 20:17 ` Julia Lawall
2016-06-21 20:39 ` Luis R. Rodriguez
2016-06-21 20:43 ` Julia Lawall
2016-06-21 20:54 ` Luis R. Rodriguez
2016-06-21 21:10 ` Julia Lawall
2016-06-21 21:27 ` Luis R. Rodriguez
2016-06-21 21:31 ` Julia Lawall
2016-06-21 21:00 ` Nicolas Palix (LIG)
2016-06-21 21:28 ` Luis R. Rodriguez
2016-06-21 21:32 ` Julia Lawall
2016-06-21 21:39 ` Luis R. Rodriguez
2016-06-21 21:44 ` Julia Lawall
2016-06-21 22:14 ` Luis R. Rodriguez
2016-06-22 5:25 ` Julia Lawall
2016-06-22 15:10 ` [Cocci] " Luis R. Rodriguez
2016-06-22 19:47 ` Julia Lawall
2016-06-21 19:21 ` [PATCH v3 4/8] coccicheck: replace --very-quiet with --quit when debugging Luis R. Rodriguez
2016-06-21 19:21 ` [PATCH v3 5/8] scripts: add Linux .cocciconfig for coccinelle Luis R. Rodriguez
2016-06-21 20:29 ` Julia Lawall
2016-06-21 23:43 ` Luis R. Rodriguez
2016-06-22 5:53 ` Julia Lawall
2016-06-21 21:07 ` Nicolas Palix (LIG)
2016-06-21 21:12 ` Julia Lawall
2016-06-21 23:38 ` Luis R. Rodriguez
2016-06-22 5:51 ` Julia Lawall
2016-06-21 19:21 ` [PATCH v3 6/8] coccicheck: add support for requring a coccinelle version Luis R. Rodriguez
2016-06-21 21:11 ` Nicolas Palix (LIG)
2016-06-21 19:21 ` [PATCH v3 7/8] coccicheck: refer to coccicheck bottest wiki for documentation Luis R. Rodriguez
2016-06-21 21:14 ` Nicolas Palix (LIG)
2016-06-21 21:18 ` Julia Lawall
2016-06-22 0:07 ` Luis R. Rodriguez
2016-06-22 5:56 ` Julia Lawall
2016-06-21 19:21 ` [PATCH v3 8/8] scripts/coccinelle: require coccinelle >= 1.0.4 on device_node_continue.cocci Luis R. Rodriguez
2016-06-21 20:36 ` Julia Lawall
2016-06-21 21:17 ` Nicolas Palix (LIG)
2016-06-21 20:13 ` [PATCH v3 0/8] coccicheck: modernize Julia Lawall
2016-06-21 20:51 ` [Cocci] " Luis R. Rodriguez
2016-06-21 21:02 ` Julia Lawall [this message]
2016-06-21 21:21 ` Luis R. Rodriguez
2016-06-21 21:30 ` Julia Lawall
2016-06-21 21:34 ` Luis R. Rodriguez
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.DEB.2.02.1606212252570.2040@localhost6.localdomain6 \
--to=julia.lawall@lip6.fr \
--cc=akpm@linux-foundation.org \
--cc=broonie@kernel.org \
--cc=chunkeey@googlemail.com \
--cc=cocci@systeme.lip6.fr \
--cc=deepa.kernel@gmail.com \
--cc=dmitry.torokhov@gmail.com \
--cc=dwmw2@infradead.org \
--cc=gregkh@linuxfoundation.org \
--cc=hauke@hauke-m.de \
--cc=johannes@sipsolutions.net \
--cc=jslaby@suse.com \
--cc=jwboyer@fedoraproject.org \
--cc=linux-kernel@vger.kernel.org \
--cc=markivx@codeaurora.org \
--cc=mcgrof@kernel.org \
--cc=ming.lei@canonical.com \
--cc=mmarek@suse.com \
--cc=stephen.boyd@linaro.org \
--cc=tiwai@suse.de \
--cc=torvalds@linux-foundation.org \
--cc=zohar@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).