libsemanage: fix linker script symbol versions

In previous work to cleanup the exports and linker scripts, I introduced
a regression causing symbols to be named in both the 1.0 and 1.1
sections. This went un-noticed and was reported by
nicolas.iooss@m4x.org.

Previous patches checked for correctness by:
This was checked by generating an old export map (from master):
nm --defined-only -g ./src/libsemanage.so | cut -d' ' -f 3-3 | grep -v '^_' > old.map

Then creating a new one for this library after this patch is applied:
nm --defined-only -g ./src/libsemanage.so | cut -d' ' -f 3-3 | grep -v '^_' > new.map

And diffing them:
diff old.map new.map

However, this discards the version information. Nicolas points out a
better way, by using objdump so we can see the version information. A
better sequence of commands for checking is as follows:

git checkout 1967477913
objdump -T ./src/libsemanage.so | grep LIBSEMANAGE | cut -d' ' -f 8- | sed 's/^ //' > map.old

git checkout origin/master
objdump -T ./src/libsemanage.so | grep LIBSEMANAGE | cut -d' ' -f 8- | sed 's/^ //' > map.new

diff map.old map.new

Acked-by: Nicolas Iooss <nicolas.iooss@m4x.org>
Signed-off-by: William Roberts <william.c.roberts@intel.com>
This commit is contained in:
William Roberts 2020-04-12 12:00:03 -05:00
parent 5447c8490b
commit 6d170a7615

View File

@ -76,10 +76,7 @@ LIBSEMANAGE_1.0 {
semanage_fcontext_set_con;
semanage_fcontext_set_expr;
semanage_fcontext_set_type;
semanage_get_default_priority;
semanage_get_disable_dontaudit;
semanage_get_hll_compiler_path;
semanage_get_ignore_module_cache;
semanage_get_preserve_tunables;
semanage_handle_create;
semanage_handle_destroy;
@ -170,39 +167,17 @@ LIBSEMANAGE_1.0 {
semanage_mls_enabled;
semanage_module_disable;
semanage_module_enable;
semanage_module_extract;
semanage_module_get_enabled;
semanage_module_get_module_info;
semanage_module_get_name;
semanage_module_get_version;
semanage_module_info_create;
semanage_module_info_datum_destroy;
semanage_module_info_destroy;
semanage_module_info_get_enabled;
semanage_module_info_get_lang_ext;
semanage_module_info_get_name;
semanage_module_info_get_priority;
semanage_module_info_set_enabled;
semanage_module_info_set_lang_ext;
semanage_module_info_set_name;
semanage_module_info_set_priority;
semanage_module_install;
semanage_module_install_base;
semanage_module_install_base_file;
semanage_module_install_file;
semanage_module_install_info;
semanage_module_key_create;
semanage_module_key_destroy;
semanage_module_key_get_name;
semanage_module_key_get_priority;
semanage_module_key_set_name;
semanage_module_key_set_priority;
semanage_module_list;
semanage_module_list_all;
semanage_module_list_nth;
semanage_module_remove;
semanage_module_remove_key;
semanage_module_set_enabled;
semanage_module_upgrade;
semanage_module_upgrade_file;
semanage_msg_get_channel;
@ -276,14 +251,11 @@ LIBSEMANAGE_1.0 {
semanage_select_store;
semanage_set_check_contexts;
semanage_set_create_store;
semanage_set_default_priority;
semanage_set_disable_dontaudit;
semanage_set_ignore_module_cache;
semanage_set_preserve_tunables;
semanage_set_rebuild;
semanage_set_reload;
semanage_set_root;
semanage_set_store_root;
semanage_seuser_clone;
semanage_seuser_compare;
semanage_seuser_compare2;