Message ID | 1375865207-11794-1-git-send-email-michael@ellerman.id.au (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Aug 7, 2013 at 11:46 AM, Michael Ellerman <michael@ellerman.id.au> wrote: > 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 <michael@ellerman.id.au> Applied, thanks a lot! -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/tools/kvm/Makefile b/tools/kvm/Makefile index 8f996cd..b614aab 100644 --- a/tools/kvm/Makefile +++ b/tools/kvm/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):
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 <michael@ellerman.id.au> --- tools/kvm/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)