From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH RFC] tools: add map files for libxen{store, ctrl, guest}.so Date: Thu, 7 Jan 2016 14:36:46 +0000 Message-ID: <568E77FE.1030104@citrix.com> References: <1452174718-13233-1-git-send-email-ian.campbell@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1452174718-13233-1-git-send-email-ian.campbell@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell , ian.jackson@eu.citrix.com, wei.liu2@citrix.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org 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. > 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. 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 */ > +};