From: Keir Fraser Date: Fri, 24 Dec 2010 10:17:49 +0000 (+0000) Subject: libxc: Use .opic to build xenctrl_osdep_ENOSYS.so X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~11010 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=39810ac59bf2e15cb2a54464ac0059384e56b912;p=xen.git libxc: Use .opic to build xenctrl_osdep_ENOSYS.so Resolves build error: /usr/bin/ld: xenctrl_osdep_ENOSYS.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC xenctrl_osdep_ENOSYS.o: could not read symbols: Bad value collect2: ld returned 1 exit status Clean up object files correctly too. Signed-off-by: Ian Campbell --- diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile index d59a2f1e5d..a99f5c7e4c 100644 --- a/tools/libxc/Makefile +++ b/tools/libxc/Makefile @@ -62,6 +62,8 @@ GUEST_SRCS-$(CONFIG_X86) += xc_dom_x86.c GUEST_SRCS-$(CONFIG_X86) += xc_cpuid_x86.c GUEST_SRCS-$(CONFIG_IA64) += xc_dom_ia64.c +OSDEP_SRCS-y += xenctrl_osdep_ENOSYS.c + -include $(XEN_TARGET_ARCH)/Makefile CFLAGS += -Werror -Wmissing-prototypes @@ -82,6 +84,9 @@ CTRL_PIC_OBJS := $(patsubst %.c,%.opic,$(CTRL_SRCS-y)) GUEST_LIB_OBJS := $(patsubst %.c,%.o,$(GUEST_SRCS-y)) GUEST_PIC_OBJS := $(patsubst %.c,%.opic,$(GUEST_SRCS-y)) +OSDEP_LIB_OBJS := $(patsubst %.c,%.o,$(OSDEP_SRCS-y)) +OSDEP_PIC_OBJS := $(patsubst %.c,%.opic,$(OSDEP_SRCS-y)) + LIB := libxenctrl.a ifneq ($(stubdom),y) LIB += libxenctrl.so libxenctrl.so.$(MAJOR) libxenctrl.so.$(MAJOR).$(MINOR) @@ -129,7 +134,8 @@ TAGS: clean: rm -rf *.rpm $(LIB) *~ $(DEPS) \ $(CTRL_LIB_OBJS) $(CTRL_PIC_OBJS) \ - $(GUEST_LIB_OBJS) $(GUEST_PIC_OBJS) + $(GUEST_LIB_OBJS) $(GUEST_PIC_OBJS) \ + $(OSDEP_LIB_OBJS) $(OSDEP_PIC_OBJS) .PHONY: rpm rpm: build @@ -190,8 +196,8 @@ libxenguest.so.$(MAJOR).$(MINOR): COMPRESSION_LIBS = $(call zlib-options,l) libxenguest.so.$(MAJOR).$(MINOR): $(GUEST_PIC_OBJS) libxenctrl.so $(CC) $(CFLAGS) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenguest.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $(GUEST_PIC_OBJS) $(COMPRESSION_LIBS) -lz -lxenctrl $(PTHREAD_LIBS) -xenctrl_osdep_ENOSYS.so: xenctrl_osdep_ENOSYS.o libxenctrl.so - $(CC) -g $(CFLAGS) $(LDFLAGS) $(SHLIB_LDFLAGS) -o $@ xenctrl_osdep_ENOSYS.o -lxenctrl +xenctrl_osdep_ENOSYS.so: $(OSDEP_PIC_OBJS) libxenctrl.so + $(CC) -g $(CFLAGS) $(LDFLAGS) $(SHLIB_LDFLAGS) -o $@ $(OSDEP_PIC_OBJS) -lxenctrl -include $(DEPS)