From 393cba1732999e751c3bc53d2f2ce8ae0eb066c7 Mon Sep 17 00:00:00 2001 From: Michael Ellerman Date: Wed, 7 Aug 2013 18:46:47 +1000 Subject: [PATCH] kvm tools: Fix build of guest init with biarch powerpc compilers On powerpc we build kvmtool as a 64bit binary. We do that by setting -m64 in our CFLAGS. For most things we just call $(CC) and it passes that info onto the linker. However there is one place where we explicitly call the linker, in the build of guest/init - and in that case we need to tell the linker to build 64bit. We have gotten away with this so far because we have been building with a 64bit only toolchain. However if you build with a biarch toolchain, which generally defaults to 32bit, we fail to link. The fix is to defined LDFLAGS appropriately and pass it to LD. Tested on powerpc and x86-64. Signed-off-by: Michael Ellerman Signed-off-by: Pekka Enberg --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 8f996cd..b614aab 100644 --- a/Makefile +++ b/Makefile @@ -150,6 +150,7 @@ ifeq ($(ARCH), powerpc) OBJS += powerpc/xics.o ARCH_INCLUDE := powerpc/include CFLAGS += -m64 + LDFLAGS += -m elf64ppc ARCH_WANT_LIBFDT := y endif @@ -348,7 +349,7 @@ $(PROGRAM_ALIAS): $(PROGRAM) $(GUEST_INIT): guest/init.c $(E) " LINK " $@ $(Q) $(CC) -static guest/init.c -o $@ - $(Q) $(LD) -r -b binary -o guest/guest_init.o $(GUEST_INIT) + $(Q) $(LD) $(LDFLAGS) -r -b binary -o guest/guest_init.o $(GUEST_INIT) $(DEPS):