[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH RFC] tools: add map files for libxen{store, ctrl, guest}.so



On Thu, 2016-01-07 at 14:36 +0000, Andrew Cooper wrote:
> On 07/01/16 13:51, Ian Campbell wrote:
> > The map files highlight a number of namespacing inconsistencies
> > (particularly with libxenguest using xc_* a significant amount).
> > 
> > It also seems to highlight a bunch of libxenguest.so functionalty
> > which appears to want to be exported (xc_*) but is not used in tree.
> > The initial list was based on what was needed to compile everything in
> > tree. I then looked through the list for xc_* and checked if any were
> > exported in a public header, leading to adding the following functions
> > which are intended to be public but not used in tree to the
> > libxenguest.map:
> > Â - xc_cpuid_to_str
> > Â - xc_compression_add_page
> > Â - xc_compression_compress_pages
> > Â - xc_compression_create_context
> > Â - xc_compression_free_context
> > Â - xc_compression_reset_pagebuf
> > Â - xc_compression_uncompress_page
> 
> These compression functions became unused when I dropped legacy
> migration.

Indeed, I anticipated them either coming back or getting removed at some
point.

> > diff --git a/tools/libxc/libxenctrl.map b/tools/libxc/libxenctrl.map
> > new file mode 100644
> > index 0000000..cc93a5b
> > --- /dev/null
> > +++ b/tools/libxc/libxenctrl.map
> > @@ -0,0 +1,18 @@
> > +{
> > +   global:
> > +           xc_*;
> > +
> > +           /*
> > +           Â* Supposedly internal functions which are also used
> > +           Â* by libxenguest (only, it seems)
> > +           Â*/
> > +           read_exact;
> > +           write_exact;
> > +           writev_exact;
> 
> read/write_exact are used in libxc by xc_tmem.c, but only because the
> tmem part of legacy migration split across the two libraries.

They are also used by various osdep backend stuff in libxc, which should go
away with my split of those into other libraries and by xc_core.c (which is
in libxc, perhaps wrongly).

> In the long term, they should move to being xenguest private.
> 
> ~Andrew
> 
> > +
> > +           /* Other un-namespaced functions used elsewhere in
> > tree */
> > +           do_xen_hypercall;
> > +           do_memory_op;
> > +
> > +   local: *; /* Do not expose anything by default */
> > +};
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.