[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v6 3/5] xen: arm: include public/xen.h in foreign interface checking



On Wed, 2013-08-07 at 16:48 +0100, Ian Jackson wrote:
> Ian Campbell writes ("[Xen-devel] [PATCH v6 3/5] xen: arm: include 
> public/xen.h in foreign interface checking"):
> > mkheader.py doesn't cope with
> >     struct foo { };
> > so add a newline.
> > 
> > Define unsigned long and long to a non-existent type on ARM so as to catch
> > their use.
> > 
> > Teach mkheader.py to cope with structs which are ifdef'd.
> ...
> >  #ifdef XEN_HAVE_PV_GUEST_ENTRY
> > -#define MAX_GUEST_CMDLINE 1024
> ...
> > +#define MAX_GUEST_CMDLINE 1024
> 
> Is this deliberate ?

IIRC the magic in mkheader.py requires
        #ifdef FOO
        struct ...
        
and cannot cope with 

        #ifdef FOO
        #define BAR
        struct ...
        
I could make the regex more complicated to cope with this case but just
moving the #define next to its only usage seemed simpler.

The regex has other shortcomings like only dealing with a single struct
per ifdef and such. I think regex lacks the expressive power to fix this
and I don't much fancy rewriting this script in something more capable.

>   It's not mentioned in the commit message AFAICT.

I rewrote the final line of the changelog to be:

   Teach mkheader.py to cope with structs which are ifdef'd. This cannot cope
   with #defines between the #ifdef and the struct definitions, so move
   MAX_GUEST_CMDLINE to be next to its only usage.

Does that suffice?

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.