We are about to release 2.1 of the library. This is a good time to check that none of the old and particularly the new code is leaking any symbols that we will then have to keep supporting. Also we need to ensure that all of the new interfaces are actually exported in the V2.1 API. Needless to say there are a pile of things exported which should not be. This patch set is the result of this work.
As part of this work I have introduced a new library local idiom. This greatly simplifies the conversion of a function to and from library static. Previously we had to rename the function to or from the __lh_ prefix. Now we simply add a simple define to the libhugetlbfs_internal.h header file. It also adds a new local utilities library. It is possible to export internal functions from libhugetlbfs into this library for use by other utilities, these are marked similarly with the __pu_ prefix. Following this email are 14 patches. The first is the library conversion idiom change. The second introduces the new libhugetlbfs_privutils library. Of the remainder all but the last two move various routines and variables from being exported to file status, library static, or privutils exported. The final two patches export the four routines we have added to the offical API in this release. -apw Andy Whitcroft (14): move to a new library local idiom add a new private utilities library stop exposing pool configuration in the main library make hugetlb_counter_info/select_pool_counter file static stop exporting kernel detection make print_valid_features/check_features_env_valid file static make dump_proc_pid_maps library static make hpage_sizes file static make libhugetlbfs_version file static make __hugetlbfs_* flags library static make plt_extrasz library static make direct_syscall library static export getpagesizes/gethugepagesizes as V2.1 API export hugetlbfs_find_path_for_size/hugetlbfs_unlinked_fd_for_size as V2.1 API Makefile | 35 ++++++++++++++++++++----- alloc.c | 2 +- debug.c | 2 +- elf32ppclinux.c | 2 + elf64ppc.c | 2 + elflink.c | 6 ++-- hugeadm.c | 14 +++++----- hugetlbfs.h | 29 --------------------- hugeutils.c | 32 ++++++++++------------- init.c | 10 +++--- init_privutils.c | 27 +++++++++++++++++++ kernel-features.c | 7 +++-- libhugetlbfs_internal.h | 64 +++++++++++++++++++++++++++++++++++++++------ libhugetlbfs_privutils.h | 55 +++++++++++++++++++++++++++++++++++++++ morecore.c | 10 +++--- pagesize.c | 2 +- privutils.lds | 6 ++++ tests/Makefile | 2 +- tests/counters.c | 1 + tests/hugetests.h | 3 ++ tests/libtestutils.c | 1 + version.c | 2 +- version.lds | 10 +++++++ 23 files changed, 233 insertions(+), 91 deletions(-) create mode 100644 init_privutils.c create mode 100644 libhugetlbfs_privutils.h create mode 100644 privutils.lds ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Libhugetlbfs-devel mailing list Libhugetlbfs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel