# HG changeset patch # Parent d9b8e793328272584ed82e5d3e2974721b427a55 Fixes for cross-compiling 32-bit tools on 64-bit host. Signed-off-by: Adin Scannell diff -r d9b8e7933282 tools/Makefile --- a/tools/Makefile +++ b/tools/Makefile @@ -73,7 +73,13 @@ distclean: subdirs-distclean rm -rf ioemu-dir ioemu-remote ifneq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH)) -IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TARGET_ARCH) \ +ifeq ($(XEN_TARGET_ARCH),x86_32) +# The qemu build uses i386 instead of x86_32. +IOEMU_CONFIGURE_CPU ?= --cpu=i386 +else +IOEMU_CONFIGURE_CPU ?= --cpu=$(XEN_TARGET_ARCH) +endif +IOEMU_CONFIGURE_CROSS ?= $(IOEMU_CONFIGURE_CPU) \ --cross-prefix=$(CROSS_COMPILE) \ --interp-prefix=$(CROSS_SYS_ROOT) endif diff -r d9b8e7933282 tools/blktap/drivers/Makefile --- a/tools/blktap/drivers/Makefile +++ b/tools/blktap/drivers/Makefile @@ -14,6 +14,7 @@ CFLAGS += $(CFLAGS_libxenstore) CFLAGS += -I $(LIBAIO_DIR) CFLAGS += -I $(MEMSHR_DIR) CFLAGS += -D_GNU_SOURCE +CFLAGS += -D_FILE_OFFSET_BITS=64 ifeq ($(shell . ./check_gcrypt $(CC)),yes) CFLAGS += -DUSE_GCRYPT diff -r d9b8e7933282 tools/blktap2/vhd/lib/Makefile --- a/tools/blktap2/vhd/lib/Makefile +++ b/tools/blktap2/vhd/lib/Makefile @@ -18,6 +18,7 @@ CFLAGS += -I../../include CFLAGS += -D_GNU_SOURCE CFLAGS += -fPIC CFLAGS += -g +CFLAGS += -D_FILE_OFFSET_BITS=64 ifeq ($(CONFIG_Linux),y) LIBS := -luuid diff -r d9b8e7933282 tools/libfsimage/common/Makefile --- a/tools/libfsimage/common/Makefile +++ b/tools/libfsimage/common/Makefile @@ -4,8 +4,8 @@ include $(XEN_ROOT)/tools/Rules.mk MAJOR = 1.0 MINOR = 0 -LDFLAGS-$(CONFIG_SunOS) = -Wl,-M -Wl,mapfile-SunOS -LDFLAGS-$(CONFIG_Linux) = -Wl,mapfile-GNU +LDFLAGS-$(CONFIG_SunOS) := $(LDFLAGS) -Wl,-M -Wl,mapfile-SunOS +LDFLAGS-$(CONFIG_Linux) := $(LDFLAGS) -Wl,mapfile-GNU LDFLAGS = $(LDFLAGS-y) LIB_SRCS-y = fsimage.c fsimage_plugin.c fsimage_grub.c