Use explicit version scripts to control symbol visibility

Unfortunately Nica is now very noisy and infects our symbol visibility,
so we'll now control exactly what symbols are exported in our .so's.

Signed-off-by: Ikey Doherty <ikey@solus-project.com>
This commit is contained in:
Ikey Doherty
2017-10-23 20:33:56 +01:00
parent d4eb0ca042
commit ede4e130f4
4 changed files with 19 additions and 0 deletions
+3
View File
@@ -6,10 +6,13 @@ if with_libintercept == true
'main.c',
]
sym_map = join_paths(meson.current_source_dir(), 'sym.map')
main_intercept = shared_library(
'lsi-intercept',
sources: intercept_sources,
c_args: ['-fvisibility=hidden'],
link_args: ['-Wl,--version-script=@0@'.format(sym_map)],
include_directories: nica_includes,
dependencies: [
link_lsi_common,
+7
View File
@@ -0,0 +1,7 @@
{
global:
la_objsearch;
la_version;
local:
*;
};
+3
View File
@@ -11,10 +11,13 @@ if with_libredirect == true
'profiles/ark.c',
]
sym_map = join_paths(meson.current_source_dir(), 'sym.map')
main_redirect = shared_library(
'lsi-redirect',
sources: redirect_sources,
c_args: ['-fvisibility=hidden'],
link_args: ['-Wl,--version-script=@0@'.format(sym_map)],
include_directories: nica_includes,
dependencies: [
libdl,
+6
View File
@@ -0,0 +1,6 @@
{
global:
open;
local:
*;
};