When reviewing helg@'s last diff I noticed a bunch of stuff that
shouldn't be exported. So here's a diff similar to the recent
diffs for libutil and libkvm. To get the list of public symbols I used
symbol visibility.
The diff below only reduces the symbols list, it does not remove PLT
entries for internal calls, as I don't feel confident using this
machinery. AFAIK this can be done in a subsequent step with no bump.
check_sym output:
/usr/lib/libfuse.so.1.1 --> obj/libfuse.so.2.0
Dynamic export changes:
removed:
__bss_start
__data_start
_edata
_end
_fini
_init
alloc_vn
build_realname
dict_SPLAY
dict_SPLAY_INSERT
dict_SPLAY_MINMAX
dict_SPLAY_REMOVE
dict_check
dict_get
dict_pop
dict_set
get_vn_by_name_and_parent
ifuse_debug
ifuse_debug_init
ifuse_exec_opcode
ref_vn
remove_vnode_from_name_tree
set_vn
tree_SPLAY
tree_SPLAY_INSERT
tree_SPLAY_MINMAX
tree_SPLAY_REMOVE
tree_check
tree_get
tree_pop
tree_set
unref_vn
PLT removed:
alloc_vn
build_realname
dict_SPLAY
dict_check
dict_get
dict_pop
dict_set
get_vn_by_name_and_parent
ifuse_debug_init
ifuse_exec_opcode
ref_vn
set_vn
tree_SPLAY
tree_get
tree_pop
tree_set
unref_vn
To be committed in the next lib bump.
Thoughts? ok?
Index: Makefile
===================================================================
--- Makefile.orig
+++ Makefile
@@ -17,6 +17,8 @@ CFLAGS+= -I${.CURDIR}
SRCS= debug.c dict.c fuse.c fuse_ops.c fuse_opt.c fuse_subr.c tree.c
HDRS= fuse.h fuse_opt.h
+VERSION_SCRIPT= ${.CURDIR}/Symbols.map
+
PC_FILES=fuse.pc
CLEANFILES+=${PC_FILES}
Index: Symbols.map
===================================================================
--- /dev/null
+++ Symbols.map
@@ -0,0 +1,31 @@
+{
+ global:
+ fuse_chan_fd;
+ fuse_daemonize;
+ fuse_destroy;
+ fuse_get_context;
+ fuse_get_session;
+ fuse_invalidate;
+ fuse_is_lib_option;
+ fuse_loop;
+ fuse_loop_mt;
+ fuse_main;
+ fuse_mount;
+ fuse_new;
+ fuse_opt_add_arg;
+ fuse_opt_add_opt;
+ fuse_opt_add_opt_escaped;
+ fuse_opt_free_args;
+ fuse_opt_insert_arg;
+ fuse_opt_match;
+ fuse_opt_parse;
+ fuse_parse_cmdline;
+ fuse_remove_signal_handlers;
+ fuse_set_signal_handlers;
+ fuse_setup;
+ fuse_teardown;
+ fuse_unmount;
+ fuse_version;
+ local:
+ *;
+};
Index: shlib_version
===================================================================
--- shlib_version.orig
+++ shlib_version
@@ -1,2 +1,2 @@
-major=1
-minor=1
+major=2
+minor=0
--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE