Ian Campbell
2010-Dec-24 09:27 UTC
[Xen-devel] [PATCH] libxc: Use .opic to build xenctrl_osdep_ENOSYS.so
# HG changeset patch # User Ian Campbell <ian.campbell@citrix.com> # Date 1293182819 0 # Node ID 923c2e711e5fc2b9e03afc6b55df4a6b24c63c8d # Parent 98db4e9677d13accd8f38ebe9d90dcf2221afac5 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 <ian.campbell@citrix.com> diff -r 98db4e9677d1 -r 923c2e711e5f tools/libxc/Makefile --- a/tools/libxc/Makefile Fri Dec 24 08:58:14 2010 +0000 +++ b/tools/libxc/Makefile Fri Dec 24 09:26:59 2010 +0000 @@ -62,6 +62,8 @@ GUEST_SRCS-$(CONFIG_X86) += xc_cpuid 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 @@ -81,6 +83,9 @@ CTRL_PIC_OBJS := $(patsubst %.c,%.opic,$ 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) @@ -129,7 +134,8 @@ clean: 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): $(GUES 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) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2010-Dec-24 10:03 UTC
[Xen-devel] Re: [PATCH] libxc: Use .opic to build xenctrl_osdep_ENOSYS.so
Hi Keir, I''m not sure if IanJ is around today, could you take this 64 bit build fix in his absence since it''s blocking testing. Ta! Ian. On Fri, 2010-12-24 at 09:27 +0000, Ian Campbell wrote:> # HG changeset patch > # User Ian Campbell <ian.campbell@citrix.com> > # Date 1293182819 0 > # Node ID 923c2e711e5fc2b9e03afc6b55df4a6b24c63c8d > # Parent 98db4e9677d13accd8f38ebe9d90dcf2221afac5 > 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 <ian.campbell@citrix.com> > > diff -r 98db4e9677d1 -r 923c2e711e5f tools/libxc/Makefile > --- a/tools/libxc/Makefile Fri Dec 24 08:58:14 2010 +0000 > +++ b/tools/libxc/Makefile Fri Dec 24 09:26:59 2010 +0000 > @@ -62,6 +62,8 @@ GUEST_SRCS-$(CONFIG_X86) += xc_cpuid > 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 > @@ -81,6 +83,9 @@ CTRL_PIC_OBJS := $(patsubst %.c,%.opic,$ > > 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) > @@ -129,7 +134,8 @@ clean: > 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): $(GUES > 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) >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2010-Dec-24 10:16 UTC
[Xen-devel] Re: [PATCH] libxc: Use .opic to build xenctrl_osdep_ENOSYS.so
Will do. K. On 24/12/2010 10:03, "Ian Campbell" <Ian.Campbell@eu.citrix.com> wrote:> Hi Keir, > > I''m not sure if IanJ is around today, could you take this 64 bit build > fix in his absence since it''s blocking testing. > > Ta! > > Ian. > > On Fri, 2010-12-24 at 09:27 +0000, Ian Campbell wrote: >> # HG changeset patch >> # User Ian Campbell <ian.campbell@citrix.com> >> # Date 1293182819 0 >> # Node ID 923c2e711e5fc2b9e03afc6b55df4a6b24c63c8d >> # Parent 98db4e9677d13accd8f38ebe9d90dcf2221afac5 >> 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 <ian.campbell@citrix.com> >> >> diff -r 98db4e9677d1 -r 923c2e711e5f tools/libxc/Makefile >> --- a/tools/libxc/Makefile Fri Dec 24 08:58:14 2010 +0000 >> +++ b/tools/libxc/Makefile Fri Dec 24 09:26:59 2010 +0000 >> @@ -62,6 +62,8 @@ GUEST_SRCS-$(CONFIG_X86) += xc_cpuid >> 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 >> @@ -81,6 +83,9 @@ CTRL_PIC_OBJS := $(patsubst %.c,%.opic,$ >> >> 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) >> @@ -129,7 +134,8 @@ clean: >> 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): $(GUES >> 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) >> > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel