Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1428165

Re: [Cocci] [PATCH v3 0/8] coccicheck: modernize

From Julia Lawall <julia.lawall@lip6.fr>
Newsgroups linux.kernel
Subject Re: [Cocci] [PATCH v3 0/8] coccicheck: modernize
Date 2016-06-21 23:10 +0200
Message-ID <rMB5L-2DJ-15@gated-at.bofh.it> (permalink)
References <rMzwZ-1xY-3@gated-at.bofh.it> <rMAt3-29u-7@gated-at.bofh.it> <rMAW5-2lh-15@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v3 0/8] coccicheck: modernize "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-06-21 21:30 +0200
  [PATCH v3 3/8] coccicheck: enable parmap support "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-06-21 21:30 +0200
    Re: [PATCH v3 3/8] coccicheck: enable parmap support Julia Lawall <julia.lawall@lip6.fr> - 2016-06-21 22:20 +0200
      Re: [PATCH v3 3/8] coccicheck: enable parmap support "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-06-21 22:50 +0200
        Re: [PATCH v3 3/8] coccicheck: enable parmap support "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-06-21 23:00 +0200
          Re: [PATCH v3 3/8] coccicheck: enable parmap support Julia Lawall <julia.lawall@lip6.fr> - 2016-06-21 23:20 +0200
            Re: [PATCH v3 3/8] coccicheck: enable parmap support "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-06-21 23:30 +0200
              Re: [PATCH v3 3/8] coccicheck: enable parmap support Julia Lawall <julia.lawall@lip6.fr> - 2016-06-21 23:40 +0200
        Re: [PATCH v3 3/8] coccicheck: enable parmap support "Nicolas Palix (LIG)" <Nicolas.Palix@imag.fr> - 2016-06-21 23:10 +0200
          Re: [PATCH v3 3/8] coccicheck: enable parmap support "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-06-21 23:30 +0200
            Re: [PATCH v3 3/8] coccicheck: enable parmap support Julia Lawall <julia.lawall@lip6.fr> - 2016-06-21 23:40 +0200
              Re: [PATCH v3 3/8] coccicheck: enable parmap support Julia Lawall <julia.lawall@lip6.fr> - 2016-06-21 23:50 +0200
                Re: [PATCH v3 3/8] coccicheck: enable parmap support "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-06-22 00:40 +0200
                Re: [PATCH v3 3/8] coccicheck: enable parmap support Julia Lawall <julia.lawall@lip6.fr> - 2016-06-22 07:30 +0200
                Re: [Cocci] [PATCH v3 3/8] coccicheck: enable parmap support "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-06-22 17:20 +0200
                Re: [Cocci] [PATCH v3 3/8] coccicheck: enable parmap support Julia Lawall <julia.lawall@lip6.fr> - 2016-06-22 21:50 +0200
              Re: [PATCH v3 3/8] coccicheck: enable parmap support "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-06-22 00:00 +0200
        Re: [PATCH v3 3/8] coccicheck: enable parmap support Julia Lawall <julia.lawall@lip6.fr> - 2016-06-21 23:30 +0200
  [PATCH v3 8/8] scripts/coccinelle: require coccinelle >= 1.0.4 on device_node_continue.cocci "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-06-21 21:30 +0200
    Re: [PATCH v3 8/8] scripts/coccinelle: require coccinelle >= 1.0.4  on device_node_continue.cocci Julia Lawall <julia.lawall@lip6.fr> - 2016-06-21 22:40 +0200
      Re: [PATCH v3 8/8] scripts/coccinelle: require coccinelle >= 1.0.4 on  device_node_continue.cocci "Nicolas Palix (LIG)" <Nicolas.Palix@imag.fr> - 2016-06-21 23:50 +0200
  [PATCH v3 4/8] coccicheck: replace --very-quiet with --quit when debugging "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-06-21 21:30 +0200
  [PATCH v3 1/8] coccicheck: move spatch binary check up "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-06-21 21:30 +0200
    Re: [PATCH v3 1/8] coccicheck: move spatch binary check up "Nicolas Palix (LIG)" <Nicolas.Palix@imag.fr> - 2016-06-21 22:40 +0200
  [PATCH v3 7/8] coccicheck: refer to coccicheck bottest wiki for documentation "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-06-21 21:30 +0200
    Re: [PATCH v3 7/8] coccicheck: refer to coccicheck bottest wiki for  documentation "Nicolas Palix (LIG)" <Nicolas.Palix@imag.fr> - 2016-06-21 23:20 +0200
      Re: [PATCH v3 7/8] coccicheck: refer to coccicheck bottest wiki for  documentation Julia Lawall <julia.lawall@lip6.fr> - 2016-06-21 23:20 +0200
        Re: [PATCH v3 7/8] coccicheck: refer to coccicheck bottest wiki for  documentation "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-06-22 02:10 +0200
          Re: [PATCH v3 7/8] coccicheck: refer to coccicheck bottest wiki for  documentation Julia Lawall <julia.lawall@lip6.fr> - 2016-06-22 08:10 +0200
  Re: [PATCH v3 0/8] coccicheck: modernize Julia Lawall <julia.lawall@lip6.fr> - 2016-06-21 22:30 +0200
    Re: [Cocci] [PATCH v3 0/8] coccicheck: modernize "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-06-21 23:00 +0200
      Re: [Cocci] [PATCH v3 0/8] coccicheck: modernize Julia Lawall <julia.lawall@lip6.fr> - 2016-06-21 23:10 +0200
        Re: [Cocci] [PATCH v3 0/8] coccicheck: modernize "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-06-21 23:30 +0200
          Re: [Cocci] [PATCH v3 0/8] coccicheck: modernize "Luis R. Rodriguez" <mcgrof@kernel.org> - 2016-06-21 23:40 +0200
          Re: [Cocci] [PATCH v3 0/8] coccicheck: modernize Julia Lawall <julia.lawall@lip6.fr> - 2016-06-21 23:40 +0200

csiph-web