These allow an x86_64 hypervisor to build on FreeBSD 9.1/amd64. - like OpenBSD, needs a different arch passed to ld. - like OpenBSD, sdtarg.h and stdbool.h are in /usr/include Signed-off-by: Tim Deegan <tim@xen.org> --- config/x86_64.mk | 4 ++++ xen/include/xen/stdarg.h | 2 +- xen/include/xen/stdbool.h | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/config/x86_64.mk b/config/x86_64.mk index 70c0d8d..d925b23 100644 --- a/config/x86_64.mk +++ b/config/x86_64.mk @@ -20,5 +20,9 @@ EFI_DIR ?= /usr/lib64/efi ifeq ($(XEN_OS),OpenBSD) LDFLAGS_DIRECT += -melf_x86_64_obsd else +ifeq ($(XEN_OS),FreeBSD) +LDFLAGS_DIRECT += -melf_x86_64_fbsd +else LDFLAGS_DIRECT += -melf_x86_64 endif +endif diff --git a/xen/include/xen/stdarg.h b/xen/include/xen/stdarg.h index ade7a65..d1b2540 100644 --- a/xen/include/xen/stdarg.h +++ b/xen/include/xen/stdarg.h @@ -1,7 +1,7 @@ #ifndef __XEN_STDARG_H__ #define __XEN_STDARG_H__ -#if defined(__OpenBSD__) || defined (__NetBSD__) +#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) typedef __builtin_va_list va_list; # ifdef __GNUC__ # define __GNUC_PREREQ__(x, y) \ diff --git a/xen/include/xen/stdbool.h b/xen/include/xen/stdbool.h index 2eecd52..f0faedf 100644 --- a/xen/include/xen/stdbool.h +++ b/xen/include/xen/stdbool.h @@ -1,7 +1,7 @@ #ifndef __XEN_STDBOOL_H__ #define __XEN_STDBOOL_H__ -#if defined(__OpenBSD__) || defined(__NetBSD__) +#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) # define bool _Bool # define true 1 # define false 0 -- 1.7.10.4
Jan Beulich
2013-Aug-16 08:33 UTC
Re: [PATCH] xen/x86: hypervisor build fixes for FreeBSD.
>>> On 15.08.13 at 17:44, Tim Deegan <tim@xen.org> wrote: > These allow an x86_64 hypervisor to build on FreeBSD 9.1/amd64. > - like OpenBSD, needs a different arch passed to ld. > - like OpenBSD, sdtarg.h and stdbool.h are in /usr/includeWhat a mess (assuming that''s still GNU ld and gcc). But anyway, this looks okay to me (but giving a Reviewed-by would be sort of odd, considering that I know nothing about all these BSDs). Jan
Keir Fraser
2013-Aug-16 15:25 UTC
Re: [PATCH] xen/x86: hypervisor build fixes for FreeBSD.
On 15/08/2013 16:44, "Tim Deegan" <tim@xen.org> wrote:> These allow an x86_64 hypervisor to build on FreeBSD 9.1/amd64. > - like OpenBSD, needs a different arch passed to ld. > - like OpenBSD, sdtarg.h and stdbool.h are in /usr/include > > Signed-off-by: Tim Deegan <tim@xen.org>Acked-by: Keir Fraser <keir@xen.org>> --- > config/x86_64.mk | 4 ++++ > xen/include/xen/stdarg.h | 2 +- > xen/include/xen/stdbool.h | 2 +- > 3 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/config/x86_64.mk b/config/x86_64.mk > index 70c0d8d..d925b23 100644 > --- a/config/x86_64.mk > +++ b/config/x86_64.mk > @@ -20,5 +20,9 @@ EFI_DIR ?= /usr/lib64/efi > ifeq ($(XEN_OS),OpenBSD) > LDFLAGS_DIRECT += -melf_x86_64_obsd > else > +ifeq ($(XEN_OS),FreeBSD) > +LDFLAGS_DIRECT += -melf_x86_64_fbsd > +else > LDFLAGS_DIRECT += -melf_x86_64 > endif > +endif > diff --git a/xen/include/xen/stdarg.h b/xen/include/xen/stdarg.h > index ade7a65..d1b2540 100644 > --- a/xen/include/xen/stdarg.h > +++ b/xen/include/xen/stdarg.h > @@ -1,7 +1,7 @@ > #ifndef __XEN_STDARG_H__ > #define __XEN_STDARG_H__ > > -#if defined(__OpenBSD__) || defined (__NetBSD__) > +#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) > typedef __builtin_va_list va_list; > # ifdef __GNUC__ > # define __GNUC_PREREQ__(x, y) \ > diff --git a/xen/include/xen/stdbool.h b/xen/include/xen/stdbool.h > index 2eecd52..f0faedf 100644 > --- a/xen/include/xen/stdbool.h > +++ b/xen/include/xen/stdbool.h > @@ -1,7 +1,7 @@ > #ifndef __XEN_STDBOOL_H__ > #define __XEN_STDBOOL_H__ > > -#if defined(__OpenBSD__) || defined(__NetBSD__) > +#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) > # define bool _Bool > # define true 1 > # define false 0
Roger Pau Monné
2013-Aug-26 15:06 UTC
Re: [PATCH] xen/x86: hypervisor build fixes for FreeBSD.
On 15/08/13 17:44, Tim Deegan wrote:> These allow an x86_64 hypervisor to build on FreeBSD 9.1/amd64. > - like OpenBSD, needs a different arch passed to ld. > - like OpenBSD, sdtarg.h and stdbool.h are in /usr/includeJust for curiosity, have you tried this with -current FreeBSD (10)? I''m specifically asking this because -current has switched to clang.
At 17:06 +0200 on 26 Aug (1377536819), Roger Pau Monn? wrote:> On 15/08/13 17:44, Tim Deegan wrote: > > These allow an x86_64 hypervisor to build on FreeBSD 9.1/amd64. > > - like OpenBSD, needs a different arch passed to ld. > > - like OpenBSD, sdtarg.h and stdbool.h are in /usr/include > > Just for curiosity, have you tried this with -current FreeBSD (10)? I''m > specifically asking this because -current has switched to clang.No - although I do use FreeBSD for some things I didn''t have a v10 image to try. I might give it a go if I get a moment. :) Clang will build the hypervisor (if you use ''make xen clang=y'') but IIRC it might not build the tools without some more work. The tools build uses autoconf now so on the one hand it should be possible for ./configure to DTRT, but on the other hand I really don''t want to get involved in any autotools wrangling. :) Cheers, Tim.