[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen: Don't use -nostdinc flags with CLANG
George: ping. At 15:33 +0100 on 11 Feb (1392129226), Tim Deegan wrote: > At 14:24 +0000 on 11 Feb (1392125052), Julien Grall wrote: > > If it's possible I'd like this patch goes in Xen 4.4 to fix build with > > official version of clang (until 3.4). > > > > Clang 3.5 is still under development, so I don't think it's important to > > have support for it in Xen 4.4. > > Fair enough. In that case it needs a release ack from George. It: > - fixes a compile issue on some version s of clang; > - might cause a regression with other compilers, but the regression > is likely to be obvious (i.e. a compile-time failure). > > And it needs an ack from Keir, for changing common code. > > v2 is below, removing "-iwithprefix". I've kept your tested-by; hope > that's OK. > > Cheers, > > Tim. > > commit 1d62fcb9ad8d2b409ac2cf0e8a3824e19ca3313f > Author: Tim Deegan <tim@xxxxxxx> > Date: Tue Feb 11 12:44:09 2014 +0000 > > xen: stop trying to use the system <stdarg.h> and <stdbool.h> > > We already have our own versions of the stdarg/stdbool definitions, for > systems where those headers are installed in /usr/include. > > On linux, they're typically installed in compiler-specific paths, but > finding them has proved unreliable. Drop that and use our own versions > everywhere. > > Signed-off-by: Tim Deegan <tim@xxxxxxx> > Tested-by: Julien Grall <julien.grall@xxxxxxxxxx> > > diff --git a/xen/Rules.mk b/xen/Rules.mk > index df1428f..3a6cec5 100644 > --- a/xen/Rules.mk > +++ b/xen/Rules.mk > @@ -44,10 +44,7 @@ ALL_OBJS-$(x86) += $(BASEDIR)/crypto/built_in.o > CFLAGS += -fno-builtin -fno-common > CFLAGS += -Werror -Wredundant-decls -Wno-pointer-arith > CFLAGS += -pipe -g -D__XEN__ -include $(BASEDIR)/include/xen/config.h > -# Solaris puts stdarg.h &c in the system include directory. > -ifneq ($(XEN_OS),SunOS) > -CFLAGS += -nostdinc -iwithprefix include > -endif > +CFLAGS += -nostdinc > > CFLAGS-$(XSM_ENABLE) += -DXSM_ENABLE > CFLAGS-$(FLASK_ENABLE) += -DFLASK_ENABLE -DXSM_MAGIC=0xf97cff8c > diff --git a/xen/include/xen/stdarg.h b/xen/include/xen/stdarg.h > index d1b2540..0283f06 100644 > --- a/xen/include/xen/stdarg.h > +++ b/xen/include/xen/stdarg.h > @@ -1,23 +1,21 @@ > #ifndef __XEN_STDARG_H__ > #define __XEN_STDARG_H__ > > -#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) > - typedef __builtin_va_list va_list; > -# ifdef __GNUC__ > -# define __GNUC_PREREQ__(x, y) \ > - ((__GNUC__ == (x) && __GNUC_MINOR__ >= (y)) || \ > - (__GNUC__ > (x))) > -# else > -# define __GNUC_PREREQ__(x, y) 0 > -# endif > -# if !__GNUC_PREREQ__(4, 5) > -# define __builtin_va_start(ap, last) __builtin_stdarg_start((ap), > (last)) > -# endif > -# define va_start(ap, last) __builtin_va_start((ap), (last)) > -# define va_end(ap) __builtin_va_end(ap) > -# define va_arg __builtin_va_arg > +#ifdef __GNUC__ > +# define __GNUC_PREREQ__(x, y) \ > + ((__GNUC__ == (x) && __GNUC_MINOR__ >= (y)) || \ > + (__GNUC__ > (x))) > #else > -# include <stdarg.h> > +# define __GNUC_PREREQ__(x, y) 0 > #endif > > +#if !__GNUC_PREREQ__(4, 5) > +# define __builtin_va_start(ap, last) __builtin_stdarg_start((ap), > (last)) > +#endif > + > +typedef __builtin_va_list va_list; > +#define va_start(ap, last) __builtin_va_start((ap), (last)) > +#define va_end(ap) __builtin_va_end(ap) > +#define va_arg __builtin_va_arg > + > #endif /* __XEN_STDARG_H__ */ > diff --git a/xen/include/xen/stdbool.h b/xen/include/xen/stdbool.h > index f0faedf..b0947a6 100644 > --- a/xen/include/xen/stdbool.h > +++ b/xen/include/xen/stdbool.h > @@ -1,13 +1,9 @@ > #ifndef __XEN_STDBOOL_H__ > #define __XEN_STDBOOL_H__ > > -#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) > -# define bool _Bool > -# define true 1 > -# define false 0 > -# define __bool_true_false_are_defined 1 > -#else > -# include <stdbool.h> > -#endif > +#define bool _Bool > +#define true 1 > +#define false 0 > +#define __bool_true_false_are_defined 1 > > #endif /* __XEN_STDBOOL_H__ */ > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |