diff options
author | Pino Toscano <toscano.pino@tiscali.it> | 2013-03-22 19:09:55 +0100 |
---|---|---|
committer | Pino Toscano <toscano.pino@tiscali.it> | 2013-03-22 19:09:55 +0100 |
commit | d11c83ecc49830dd2caf7e8aa70e9e6dad7922e3 (patch) | |
tree | 46887e41ece2520f2202c1858bbab2f0f0679742 | |
parent | 6ff1c4ce7e024833263a2cddba424bf5cb48ed42 (diff) |
Import the ld version script from FUSE 2.5.x
Copy and use the version script for the linker from FUSE 2.5.x;
with this, it is possible to properly provide the compat functions in an
ABI-compatible way.
Note this temporarly breaks translators since the netfs_* symbols implemented
in libfuse are now hidden.
* src/Makefile.am (libfuse_la_LDFLAGS): Use fuse_versionscript.
* src/fuse_versionscript: New file.
-rw-r--r-- | src/Makefile.am | 3 | ||||
-rw-r--r-- | src/fuse_versionscript | 90 |
2 files changed, 92 insertions, 1 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index 4d1cd4d36..c696c6c43 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -5,7 +5,8 @@ lib_LTLIBRARIES = libfuse.la -libfuse_la_LDFLAGS = -version-number 0:0:1 +libfuse_la_LDFLAGS = -version-number 0:0:1 \ + -Wl,--version-script,$(srcdir)/fuse_versionscript libfuse_la_SOURCES = \ main.c \ netfs.c \ diff --git a/src/fuse_versionscript b/src/fuse_versionscript new file mode 100644 index 000000000..99271584e --- /dev/null +++ b/src/fuse_versionscript @@ -0,0 +1,90 @@ +FUSE_2.2 { + global: + fuse_destroy; + fuse_exit; + fuse_exited; + fuse_get_context; + fuse_invalidate; + fuse_is_lib_option; + fuse_loop; + fuse_loop_mt; + fuse_loop_mt_proc; + fuse_main; + fuse_main_compat1; + fuse_main_compat2; + fuse_mount_compat1; + fuse_new_compat1; + fuse_new_compat2; + fuse_process_cmd; + fuse_read_cmd; + fuse_set_getcontext_func; + fuse_setup_compat2; + fuse_teardown; + fuse_unmount; +}; + +FUSE_2.4 { + global: + fuse_add_dirent; + fuse_chan_bufsize; + fuse_chan_data; + fuse_chan_destroy; + fuse_chan_fd; + fuse_chan_new; + fuse_chan_receive; + fuse_chan_send; + fuse_chan_session; + fuse_dirent_size; + fuse_kern_chan_new; + fuse_lowlevel_is_lib_option; + fuse_reply_attr; + fuse_reply_buf; + fuse_reply_entry; + fuse_reply_err; + fuse_reply_none; + fuse_reply_readlink; + fuse_reply_write; + fuse_reply_xattr; + fuse_req_ctx; + fuse_req_userdata; + fuse_session_add_chan; + fuse_session_destroy; + fuse_session_exit; + fuse_session_exited; + fuse_session_loop; + fuse_session_loop_mt; + fuse_session_new; + fuse_session_next_chan; + fuse_session_process; + fuse_session_reset; +} FUSE_2.2; + +FUSE_2.5 { + global: + fuse_lowlevel_new; + fuse_lowlevel_new_compat; + fuse_main_real; + fuse_main_real_compat22; + fuse_mount; + fuse_mount_compat22; + fuse_new; + fuse_new_compat22; + fuse_opt_parse; + fuse_opt_add_opt; + fuse_opt_add_arg; + fuse_opt_free_args; + fuse_opt_match; + fuse_parse_cmdline; + fuse_remove_signal_handlers; + fuse_reply_create; + fuse_reply_open; + fuse_reply_open_compat; + fuse_reply_statfs; + fuse_reply_statfs_compat; + fuse_setup; + fuse_setup_compat22; + fuse_set_signal_handlers; + + local: + *; +} FUSE_2.4; |