Re: [RFC PATCH 17/35] Segment register changes for Xen

Pavel Machek
2006-05-10T20:30:56Z

On St 10-05-06 22:09:04, Andi Kleen wrote:
> On Tuesday 09 May 2006 09:16, Pavel Machek wrote:
> > Hi!
> >
> > > --- linus-2.6.orig/include/asm-i386/mach-default/mach_system.h
> > > +++ linus-2.6/include/asm-i386/mach-default/mach_system.h
> > > @@ -1,6 +1,8 @@
> > > #ifndef __ASM_MACH_SYSTEM_H
> > > #define __ASM_MACH_SYSTEM_H
> > >
> > > +#define clearsegment(seg)
> >
> > do {} while (0), please.
>
> It's not needed. Think about it.

Really? If someone does

if (something)
clearsegment(seg)
somethingelse();

... he'll get very confusing behaviour instead of compile error.

Okay, that's weaker argument than expected...

Also clearsegment(x) clearsegment(y); will compile when it should not.

Also clearsegment(i++) will behave strangely. So perhaps

#define clearsegment(seg) do { seg; } while (0)

is best variant?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html