Mailing List Archive

[PATCH] tools/python: pass more -rpath-link options to ld
With the split of libraries, I've observed a number of warnings from
(old?) ld.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
It's unclear to me whether this is ld version dependent - the pattern
of where I've seen such warnings doesn't suggest a clear version
dependency.

--- a/tools/python/setup.py
+++ b/tools/python/setup.py
@@ -7,10 +7,15 @@ XEN_ROOT = "../.."
extra_compile_args = [ "-fno-strict-aliasing", "-Werror" ]

PATH_XEN = XEN_ROOT + "/tools/include"
+PATH_LIBXENTOOLCORE = XEN_ROOT + "/tools/libs/toolcore"
PATH_LIBXENTOOLLOG = XEN_ROOT + "/tools/libs/toollog"
+PATH_LIBXENCALL = XEN_ROOT + "/tools/libs/call"
PATH_LIBXENEVTCHN = XEN_ROOT + "/tools/libs/evtchn"
+PATH_LIBXENGNTTAB = XEN_ROOT + "/tools/libs/gnttab"
PATH_LIBXENCTRL = XEN_ROOT + "/tools/libs/ctrl"
PATH_LIBXENGUEST = XEN_ROOT + "/tools/libs/guest"
+PATH_LIBXENDEVICEMODEL = XEN_ROOT + "/tools/libs/devicemodel"
+PATH_LIBXENFOREIGNMEMORY = XEN_ROOT + "/tools/libs/foreignmemory"
PATH_XENSTORE = XEN_ROOT + "/tools/libs/store"

xc = Extension("xc",
@@ -24,7 +29,13 @@ xc = Extension("xc",
library_dirs = [ PATH_LIBXENCTRL, PATH_LIBXENGUEST ],
libraries = [ "xenctrl", "xenguest" ],
depends = [ PATH_LIBXENCTRL + "/libxenctrl.so", PATH_LIBXENGUEST + "/libxenguest.so" ],
- extra_link_args = [ "-Wl,-rpath-link="+PATH_LIBXENTOOLLOG ],
+ extra_link_args = [. "-Wl,-rpath-link="+PATH_LIBXENCALL,
+ "-Wl,-rpath-link="+PATH_LIBXENDEVICEMODEL,
+ "-Wl,-rpath-link="+PATH_LIBXENEVTCHN,
+ "-Wl,-rpath-link="+PATH_LIBXENFOREIGNMEMORY,
+ "-Wl,-rpath-link="+PATH_LIBXENGNTTAB,
+ "-Wl,-rpath-link="+PATH_LIBXENTOOLCORE,
+ "-Wl,-rpath-link="+PATH_LIBXENTOOLLOG ],
sources = [ "xen/lowlevel/xc/xc.c" ])

xs = Extension("xs",
@@ -33,6 +44,7 @@ xs = Extension("xs",
library_dirs = [ PATH_XENSTORE ],
libraries = [ "xenstore" ],
depends = [ PATH_XENSTORE + "/libxenstore.so" ],
+ extra_link_args = [ "-Wl,-rpath-link="+PATH_LIBXENTOOLCORE ],
sources = [ "xen/lowlevel/xs/xs.c" ])

plat = os.uname()[0]
Re: [PATCH] tools/python: pass more -rpath-link options to ld [ In reply to ]
On Mon, Oct 19, 2020 at 10:31:37AM +0200, Jan Beulich wrote:
> With the split of libraries, I've observed a number of warnings from
> (old?) ld.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> It's unclear to me whether this is ld version dependent - the pattern
> of where I've seen such warnings doesn't suggest a clear version
> dependency.
>
> --- a/tools/python/setup.py
> +++ b/tools/python/setup.py
> @@ -7,10 +7,15 @@ XEN_ROOT = "../.."
> extra_compile_args = [ "-fno-strict-aliasing", "-Werror" ]
>
> PATH_XEN = XEN_ROOT + "/tools/include"
> +PATH_LIBXENTOOLCORE = XEN_ROOT + "/tools/libs/toolcore"
> PATH_LIBXENTOOLLOG = XEN_ROOT + "/tools/libs/toollog"
> +PATH_LIBXENCALL = XEN_ROOT + "/tools/libs/call"
> PATH_LIBXENEVTCHN = XEN_ROOT + "/tools/libs/evtchn"
> +PATH_LIBXENGNTTAB = XEN_ROOT + "/tools/libs/gnttab"
> PATH_LIBXENCTRL = XEN_ROOT + "/tools/libs/ctrl"
> PATH_LIBXENGUEST = XEN_ROOT + "/tools/libs/guest"
> +PATH_LIBXENDEVICEMODEL = XEN_ROOT + "/tools/libs/devicemodel"
> +PATH_LIBXENFOREIGNMEMORY = XEN_ROOT + "/tools/libs/foreignmemory"
> PATH_XENSTORE = XEN_ROOT + "/tools/libs/store"
>
> xc = Extension("xc",
> @@ -24,7 +29,13 @@ xc = Extension("xc",
> library_dirs = [ PATH_LIBXENCTRL, PATH_LIBXENGUEST ],
> libraries = [ "xenctrl", "xenguest" ],
> depends = [ PATH_LIBXENCTRL + "/libxenctrl.so", PATH_LIBXENGUEST + "/libxenguest.so" ],
> - extra_link_args = [ "-Wl,-rpath-link="+PATH_LIBXENTOOLLOG ],
> + extra_link_args = [. "-Wl,-rpath-link="+PATH_LIBXENCALL,
> + "-Wl,-rpath-link="+PATH_LIBXENDEVICEMODEL,
> + "-Wl,-rpath-link="+PATH_LIBXENEVTCHN,
> + "-Wl,-rpath-link="+PATH_LIBXENFOREIGNMEMORY,
> + "-Wl,-rpath-link="+PATH_LIBXENGNTTAB,
> + "-Wl,-rpath-link="+PATH_LIBXENTOOLCORE,
> + "-Wl,-rpath-link="+PATH_LIBXENTOOLLOG ],

This basically open-codes SHLIB_libxenctrl + SHLIB_libxenguest. Isn't it
better to pass it from make that already has all the dependencies
resolved?

> sources = [ "xen/lowlevel/xc/xc.c" ])
>
> xs = Extension("xs",
> @@ -33,6 +44,7 @@ xs = Extension("xs",
> library_dirs = [ PATH_XENSTORE ],
> libraries = [ "xenstore" ],
> depends = [ PATH_XENSTORE + "/libxenstore.so" ],
> + extra_link_args = [ "-Wl,-rpath-link="+PATH_LIBXENTOOLCORE ],
> sources = [ "xen/lowlevel/xs/xs.c" ])
>
> plat = os.uname()[0]

--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?