From: Ian Campbell <Ian.Campbell@citrix.com>
To: Olaf Hering <olaf@aepfle.de>, Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [PATCH 00 of 30] tools: shave build yaks
Date: Wed, 23 Mar 2011 16:57:31 +0000 [thread overview]
Message-ID: <1300899451.10719.41.camel@cthulhu.hellion.org.uk> (raw)
In-Reply-To: <20110323161544.GA23640@aepfle.de>
On Wed, 2011-03-23 at 16:15 +0000, Olaf Hering wrote:
> On Mon, Mar 21, Ian Campbell wrote:
>
> > Clean up a bunch of inconsistency, wierdness, cut-and-paste etc in the
> > tools/ build system. All in all it's a bit of a grab bag of stuff I
> > happened to notice as I was trawling
> >
> > One specific useful thing which comes out of it is to isolate users of
> > libxl from needing to know about libxenstore or libxenctrl.
>
> Ian,
>
> from a quick look its not clear which patch between changeset 23062 and
> 23082 causes a link failure in libxenstat.
> Appending -fPIC to the CFLAGS in tools/xenstat/libxenstat/Makefile
> fixed this failure for me:
>
> /usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld:
> src/xenstat.o: relocation R_X86_64_32S against `.rodata' can not be used
> when making a shared object; recompile with -fPIC
Sorry, I should have compile tested 64 bit and I forgot.
In theory we should compile to .opic as well as .o files and use them
for the .so and the .a respectively. However I'm not sure we care much
about the PIC overhead in the .a version of a library such as this so I
think simply adding the -fPIC is ok.
8<-----------------------------------------------
# HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1300899163 0
# Node ID 7b4578c97a8f51f566595a269018f786cfeeb22b
# Parent d7d3aabffa1b70955ba347cfbe3869b9461374ee
tools/xenstat: 23075:b4351d57464b added libxenstat.so but didn't build fPIC
This broke on x86_64.
Reported by Olaf Hering
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
diff -r d7d3aabffa1b -r 7b4578c97a8f tools/xenstat/libxenstat/Makefile
--- a/tools/xenstat/libxenstat/Makefile Wed Mar 23 16:44:47 2011 +0000
+++ b/tools/xenstat/libxenstat/Makefile Wed Mar 23 16:52:43 2011 +0000
@@ -36,6 +36,7 @@ SONAME_FLAGS=-Wl,$(SONAME_LDFLAG) -Wl,li
WARN_FLAGS=-Wall -Werror
+CFLAGS+=-fPIC
CFLAGS+=-Isrc $(CFLAGS_libxenctrl) $(CFLAGS_libxenstore) $(CFLAGS_xeninclude)
LDLIBS-y = $(LDLIBS_libxenstore) $(LDLIBS_libxenctrl)
prev parent reply other threads:[~2011-03-23 16:57 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-21 14:44 [PATCH 00 of 30] tools: shave build yaks Ian Campbell
2011-03-21 14:44 ` [PATCH 01 of 30] libxc: remove dependency on xenstore headers Ian Campbell
2011-03-21 14:44 ` [PATCH 02 of 30] tools: libxc: drop rpm.spec Ian Campbell
2011-03-21 14:44 ` [PATCH 03 of 30] tools: vnet: Remove Ian Campbell
2011-03-21 14:44 ` [PATCH 04 of 30] tools: Drop use of $(INCLUDES) Ian Campbell
2011-03-21 14:44 ` [PATCH 05 of 30] tools: vtpm: Use $(BINDIR) rather than a privately defined variable Ian Campbell
2011-03-21 14:44 ` [PATCH 06 of 30] tools: remove unnecessary uses of -L Ian Campbell
2011-03-21 14:44 ` [PATCH 07 of 30] tools: remove unnecessary uses of -I Ian Campbell
2011-03-21 14:44 ` [PATCH 08 of 30] tools: Drop XEN_XC variable Ian Campbell
2011-03-21 14:44 ` [PATCH 09 of 30] tools: blktap2: copy xenstore/hashtable.h into blktap2 Ian Campbell
2011-03-21 18:03 ` Ian Jackson
2011-03-21 20:47 ` Shriram Rajagopalan
2011-03-21 21:56 ` Ian Campbell
2011-03-21 22:17 ` Shriram Rajagopalan
2011-03-24 10:29 ` Ian Campbell
2011-03-24 17:35 ` Shriram Rajagopalan
2011-03-29 8:19 ` Ian Campbell
2011-03-31 17:17 ` Ian Jackson
2011-03-21 14:44 ` [PATCH 10 of 30] tools: consistently use $(CFLAGS_xeninclude) instead of open coding Ian Campbell
2011-03-21 14:44 ` [PATCH 11 of 30] tools: consistently use $({CFLAGS, LDLIBS}_libxenctrl) " Ian Campbell
2011-03-21 14:44 ` [PATCH 12 of 30] tools: consistently use $({CFLAGS, LDLIBS}_libxenstore) " Ian Campbell
2011-03-21 14:44 ` [PATCH 13 of 30] tools: consistently use $({CFLAGS, LDLIBS}_libxenlight) " Ian Campbell
2011-03-21 14:44 ` [PATCH 14 of 30] tools: xenstat: install and use shared library Ian Campbell
2011-03-21 14:44 ` [PATCH 15 of 30] tools: Drop $(X11_LDPATH) from build Ian Campbell
2011-03-21 14:44 ` [PATCH 16 of 30] tools: allow Makefiles to define CFLAGS_foo.o Ian Campbell
2011-03-21 14:44 ` [PATCH 17 of 30] tools: ocaml: link xl bindings against libxl Ian Campbell
2011-03-21 14:44 ` [PATCH 18 of 30] tools: ocaml: link evtchn bindings against libxenctrl Ian Campbell
2011-03-21 14:44 ` [PATCH 19 of 30] tools: users of libxl currently need to see libxc and libxenstore headers Ian Campbell
2011-03-21 14:44 ` [PATCH 20 of 30] tools: ocaml: push CFLAGS usage down into the specific bindings Ian Campbell
2011-03-21 14:44 ` [PATCH 21 of 30] tools: flask: Remove BASECFLAGS, just use CFLAGS Ian Campbell
2011-03-21 14:44 ` [PATCH 22 of 30] tools: flask: remove $(LOADLIBES) Ian Campbell
2011-03-21 14:44 ` [PATCH 23 of 30] tools: provide generic rules for compiling .S files Ian Campbell
2011-03-21 14:44 ` [PATCH 24 of 30] tools: Remove $(CFLAGS) from links lines Ian Campbell
2011-03-21 14:44 ` [PATCH 25 of 30] libxl: move libxl_doimid_valid_guest out of line Ian Campbell
2011-03-21 14:44 ` [PATCH 26 of 30] libxl: drop protype for libxl_ctx_set_log Ian Campbell
2011-03-21 14:44 ` [PATCH 27 of 30] libxl: remove XS transaction from public API Ian Campbell
2011-03-21 14:44 ` [PATCH 28 of 30] libxl: do not expose libxenctrl/libxenstore headers via libxl.h Ian Campbell
2011-03-21 14:44 ` [PATCH 29 of 30] tools: drop further uses of -Wp, -MD, .$(@F).d to generate dependencies Ian Campbell
2011-03-21 14:44 ` [PATCH 30 of 30] tools: remove pattern matched linking rules Ian Campbell
2011-03-21 18:15 ` [PATCH 00 of 30] tools: shave build yaks Ian Jackson
2011-03-23 16:15 ` Olaf Hering
2011-03-23 16:57 ` Ian Campbell [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1300899451.10719.41.camel@cthulhu.hellion.org.uk \
--to=ian.campbell@citrix.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=olaf@aepfle.de \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).