[SSSD] [PATCH][ding_libs] Add version symbol files

Lukas Slebodnik lslebodn at redhat.com
Fri Feb 21 10:21:36 UTC 2014


On (21/02/14 10:54), Lukas Slebodnik wrote:
>On (16/01/14 10:17), Lukas Slebodnik wrote:
>>On (13/01/14 19:42), Lukas Slebodnik wrote:
>>>ehlo,
>>>
>>>attached patch addresses ticket #2193
>>>
>>>I have just a question about refarray/libref_array.sym
>>>There is extern function ref_array_debug, which is not defined
>>>in public header file (not exposed in public API), but it is used in ref_array
>>>unit tests. It needs to be in global section because linker with fail to find
>>>symbol. Should I add any comment to the file libref_array.sym or does anyone
>>>better solution?
>>>
>>>LS
>>
>>I forgot to include files into lib..._SOURCES, they was not part of dist
>>tarball. Updated patch is attached.
>>
>>I would like to know what we want to do with function ref_array_debug.
>>
>>LS
>
>The previous patch cannot be applied on ding-libs master due to conflict in
>Makefile.am
>
>Rebased version is attached.
>
>LS

and now with correctly resolved problems after rebase.
Is should have tested patch before sending mail.

LS
-------------- next part --------------
>From 5e9a029a5caa279ecac101c607c80cb287190a93 Mon Sep 17 00:00:00 2001
From: Lukas Slebodnik <lslebodn at redhat.com>
Date: Fri, 10 Jan 2014 21:14:46 +0100
Subject: [PATCH] Add version symbol files

Resolves:
https://fedorahosted.org/sssd/ticket/2193
---
 Makefile.am                      |  38 ++++++----
 basicobjects/libbasicobjects.sym |  20 ++++++
 collection/libcollection.sym     | 150 +++++++++++++++++++++++++++++++++++++++
 dhash/libdhash.sym               |  22 ++++++
 ini/libini_config.sym            | 136 +++++++++++++++++++++++++++++++++++
 path_utils/libpath_utils.sym     |  20 ++++++
 refarray/libref_array.sym        |  24 +++++++
 7 files changed, 398 insertions(+), 12 deletions(-)
 create mode 100644 basicobjects/libbasicobjects.sym
 create mode 100644 collection/libcollection.sym
 create mode 100644 dhash/libdhash.sym
 create mode 100644 ini/libini_config.sym
 create mode 100644 path_utils/libpath_utils.sym
 create mode 100644 refarray/libref_array.sym

diff --git a/Makefile.am b/Makefile.am
index 99e8565df633b50ab49c1ed0434ffb1c47a491c0..9a60d19c1ac9935f3de6b30171f8428edcd9e03b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -56,9 +56,12 @@ lib_LTLIBRARIES += libpath_utils.la
 dist_pkgconfig_DATA += path_utils/path_utils.pc
 dist_include_HEADERS += path_utils/path_utils.h
 
-libpath_utils_la_SOURCES = path_utils/path_utils.c
+libpath_utils_la_SOURCES = \
+    path_utils/path_utils.c \
+    path_utils/libpath_utils.sym
 libpath_utils_la_LDFLAGS = \
-    -version-info 1:0:0
+    -version-info 1:0:0 \
+    -Wl,--version-script=$(top_srcdir)/path_utils/libpath_utils.sym
 
 if HAVE_CHECK
     check_PROGRAMS += path_utils_ut
@@ -89,9 +92,12 @@ lib_LTLIBRARIES += libdhash.la
 dist_pkgconfig_DATA += dhash/dhash.pc
 dist_include_HEADERS += dhash/dhash.h
 
-libdhash_la_SOURCES = dhash/dhash.c
+libdhash_la_SOURCES = \
+    dhash/dhash.c \
+    dhash/libdhash.sym
 libdhash_la_LDFLAGS = \
-    -version-info 1:1:0
+    -version-info 1:1:0 \
+    -Wl,--version-script=$(top_srcdir)/dhash/libdhash.sym
 
 check_PROGRAMS += dhash_test dhash_example
 TESTS += dhash_test dhash_example
@@ -129,9 +135,11 @@ libcollection_la_SOURCES = \
     collection/collection_cmp.c \
     collection/collection_iter.c \
     collection/collection_priv.h \
-    trace/trace.h
+    trace/trace.h \
+    collection/libcollection.sym
 libcollection_la_LDFLAGS = \
-    -version-info 3:0:1
+    -version-info 3:0:1 \
+    -Wl,--version-script=$(top_srcdir)/collection/libcollection.sym
 
 check_PROGRAMS += \
     collection_ut \
@@ -165,9 +173,11 @@ dist_include_HEADERS += refarray/ref_array.h
 
 libref_array_la_SOURCES = \
     refarray/ref_array.c \
-    trace/trace.h
+    trace/trace.h \
+    refarray/libref_array.sym
 libref_array_la_LDFLAGS = \
-    -version-info 2:0:1
+    -version-info 2:0:1 \
+    -Wl,--version-script=$(top_srcdir)/refarray/libref_array.sym
 
 check_PROGRAMS += ref_array_ut
 TESTS += ref_array_ut
@@ -192,9 +202,11 @@ dist_include_HEADERS += basicobjects/simplebuffer.h
 
 libbasicobjects_la_SOURCES = \
     basicobjects/simplebuffer.c \
-    trace/trace.h
+    trace/trace.h \
+    basicobjects/libbasicobjects.sym
 libbasicobjects_la_LDFLAGS = \
-    -version-info 0:0:0
+    -version-info 0:0:0 \
+    -Wl,--version-script=$(top_srcdir)/basicobjects/libbasicobjects.sym
 
 check_PROGRAMS += simplebuffer_ut
 TESTS += simplebuffer_ut
@@ -239,14 +251,16 @@ libini_config_la_SOURCES = \
     ini/ini_get_valueobj.c \
     ini/ini_get_array_valueobj.c \
     ini/ini_list_valueobj.c \
-    trace/trace.h
+    trace/trace.h \
+    ini/libini_config.sym
 libini_config_la_LIBADD = \
     libcollection.la \
     libpath_utils.la \
     libref_array.la \
     libbasicobjects.la
 libini_config_la_LDFLAGS = \
-    -version-info 4:0:1
+    -version-info 4:0:1 \
+    -Wl,--version-script=$(top_srcdir)/ini/libini_config.sym
 
 dist_noinst_DATA += \
     ini/ini.conf \
diff --git a/basicobjects/libbasicobjects.sym b/basicobjects/libbasicobjects.sym
new file mode 100644
index 0000000000000000000000000000000000000000..e73274c68f54e4c34ff8ae294c60efed2eb0f384
--- /dev/null
+++ b/basicobjects/libbasicobjects.sym
@@ -0,0 +1,20 @@
+LIBBASICOBJECTS_0.1.0 {
+global:
+    simplebuffer_free;
+    simplebuffer_alloc;
+    simplebuffer_grow;
+    simplebuffer_add_raw;
+    simplebuffer_add_str;
+    simplebuffer_add_cr;
+    simplebuffer_write;
+    simplebuffer_get_buf;
+    simplebuffer_get_len;
+
+local:
+    *;
+};
+
+LIBBASICOBJECTS_0.1.1 {
+global:
+    simplebuffer_get_vbuf;
+} LIBBASICOBJECTS_0.1.0;
diff --git a/collection/libcollection.sym b/collection/libcollection.sym
new file mode 100644
index 0000000000000000000000000000000000000000..9f97de10d48be8d43524047eb168b140b9111853
--- /dev/null
+++ b/collection/libcollection.sym
@@ -0,0 +1,150 @@
+LIBCOLLECTION_0.6.0 {
+global:
+    /* collection.h */
+    col_create_collection;
+    col_destroy_collection;
+    col_copy_collection_with_cb;
+    col_copy_collection;
+    col_add_collection_to_collection;
+    col_traverse_collection;
+    col_get_item_and_do;
+    col_get_item;
+    col_sort_collection;
+    col_delete_property;
+    col_is_item_in_collection;
+    col_get_collection_reference;
+    col_get_reference_from_item;
+    col_get_collection_class;
+    col_set_collection_class;
+    col_get_collection_count;
+    col_is_of_class;
+    col_add_str_property;
+    col_add_binary_property;
+    col_add_int_property;
+    col_add_unsigned_property;
+    col_add_long_property;
+    col_add_ulong_property;
+    col_add_double_property;
+    col_add_bool_property;
+    col_add_any_property;
+    col_add_str_property_with_ref;
+    col_add_binary_property_with_ref;
+    col_add_int_property_with_ref;
+    col_add_unsigned_property_with_ref;
+    col_add_long_property_with_ref;
+    col_add_ulong_property_with_ref;
+    col_add_double_property_with_ref;
+    col_add_bool_property_with_ref;
+    col_add_any_property_with_ref;
+    col_insert_str_property;
+    col_insert_binary_property;
+    col_insert_int_property;
+    col_insert_unsigned_property;
+    col_insert_long_property;
+    col_insert_ulong_property;
+    col_insert_double_property;
+    col_insert_bool_property;
+    col_insert_str_property_with_ref;
+    col_insert_binary_property_with_ref;
+    col_insert_int_property_with_ref;
+    col_insert_unsigned_property_with_ref;
+    col_insert_long_property_with_ref;
+    col_insert_ulong_property_with_ref;
+    col_insert_double_property_with_ref;
+    col_insert_bool_property_with_ref;
+    col_insert_property_with_ref;
+    col_update_str_property;
+    col_update_binary_property;
+    col_update_int_property;
+    col_update_unsigned_property;
+    col_update_long_property;
+    col_update_ulong_property;
+    col_update_double_property;
+    col_update_bool_property;
+    col_update_property;
+    col_get_item_property;
+    col_get_item_type;
+    col_get_item_length;
+    col_get_item_data;
+    col_get_item_hash;
+    col_make_hash;
+    col_compare_items;
+    col_modify_item;
+    col_modify_item_property;
+    col_modify_str_item;
+    col_modify_binary_item;
+    col_modify_bool_item;
+    col_modify_int_item;
+    col_modify_long_item;
+    col_modify_ulong_item;
+    col_modify_unsigned_item;
+    col_modify_double_item;
+    col_extract_item;
+    col_extract_item_from_current;
+    col_remove_item;
+    col_remove_item_from_current;
+    col_insert_item;
+    col_insert_item_into_current;
+    col_delete_item;
+    col_bind_iterator;
+    col_unbind_iterator;
+    col_iterate_collection;
+    col_iterate_up;
+    col_get_iterator_depth;
+    col_get_item_depth;
+    col_pin_iterator;
+    col_rewind_iterator;
+
+    /* collection_queue.h */
+    col_create_queue;
+    col_destroy_queue;
+    col_enqueue_str_property;
+    col_enqueue_binary_property;
+    col_enqueue_int_property;
+    col_enqueue_unsigned_property;
+    col_enqueue_long_property;
+    col_enqueue_ulong_property;
+    col_enqueue_double_property;
+    col_enqueue_bool_property;
+    col_enqueue_any_property;
+    col_enqueue_item;
+    col_dequeue_item;
+
+    /* collection_stack.h */
+    col_create_stack;
+    col_destroy_stack;
+    col_push_str_property;
+    col_push_binary_property;
+    col_push_int_property;
+    col_push_unsigned_property;
+    col_push_long_property;
+    col_push_ulong_property;
+    col_push_double_property;
+    col_push_bool_property;
+    col_push_any_property;
+    col_push_item;
+    col_pop_item;
+
+    /* collection_tools.h */
+    col_get_data_len;
+    col_grow_buffer;
+    col_put_marker;
+    col_serialize;
+    col_debug_handle;
+    col_debug_item;
+    col_debug_collection;
+    col_print_collection;
+    col_print_collection2;
+    col_print_item;
+    col_collection_to_list;
+    col_free_property_list;
+
+local:
+    *;
+};
+
+LIBCOLLECTION_0.6.2 {
+global:
+    /* collection.h */
+    col_destroy_collection_with_cb;
+} LIBCOLLECTION_0.6.0;
diff --git a/dhash/libdhash.sym b/dhash/libdhash.sym
new file mode 100644
index 0000000000000000000000000000000000000000..bbfcc8571006464ca32a5f9ab3b1c7f711415191
--- /dev/null
+++ b/dhash/libdhash.sym
@@ -0,0 +1,22 @@
+LIBDHASH_0.4.3 {
+global:
+    hash_error_string;
+    hash_create;
+    hash_create_ex;
+    hash_get_statistics;
+    hash_destroy;
+    hash_enter;
+    hash_lookup;
+    hash_get_default;
+    hash_delete;
+    hash_iterate;
+    new_hash_iter_context;
+    hash_count;
+    hash_keys;
+    hash_values;
+    hash_entries;
+    hash_has_key;
+
+local:
+    *;
+};
diff --git a/ini/libini_config.sym b/ini/libini_config.sym
new file mode 100644
index 0000000000000000000000000000000000000000..0543ee233083936ed0dbb52fe35498263b4e3ecd
--- /dev/null
+++ b/ini/libini_config.sym
@@ -0,0 +1,136 @@
+LIBINI_CONFIG_1.0.0 {
+global:
+    /* ini_config.h */
+    config_from_file;
+    config_from_fd;
+    config_from_file_with_metadata;
+    config_from_fd_with_metadata;
+    config_for_app;
+    config_for_app_with_metadata;
+    config_access_check;
+    config_changed;
+    free_ini_config;
+    free_ini_config_errors;
+    free_ini_config_metadata;
+    print_file_parsing_errors;
+    print_config_parsing_errors;
+    get_section_list;
+    free_section_list;
+    get_attribute_list;
+    free_attribute_list;
+    get_config_item;
+    get_int_config_value;
+    get_long_config_value;
+    get_unsigned_config_value;
+    get_ulong_config_value;
+    get_int32_config_value;
+    get_uint32_config_value;
+    get_int64_config_value;
+    get_uint64_config_value;
+    get_double_config_value;
+    get_bool_config_value;
+    get_string_config_value;
+    get_const_string_config_value;
+    get_bin_config_value;
+    free_bin_config_value;
+    get_string_config_array;
+    get_raw_string_config_array;
+    get_long_config_array;
+    get_double_config_array;
+    free_string_config_array;
+    free_long_config_array;
+    free_double_config_array;
+
+    /* ini_configobj.h */
+    ini_config_create;
+    ini_config_destroy;
+    ini_config_clean_state;
+    ini_config_file_open;
+    ini_config_file_close;
+    ini_config_file_reopen;
+    ini_config_file_destroy;
+    ini_config_error_count;
+    ini_config_get_errors;
+    ini_config_free_errors;
+    ini_config_print_errors;
+    ini_config_get_filename;
+    ini_config_get_stat;
+    ini_config_file_print;
+    ini_config_access_check;
+    ini_config_changed;
+    ini_config_parse;
+    ini_config_copy;
+    ini_config_merge;
+    ini_config_set_wrap;
+    ini_config_serialize;
+    ini_get_section_list;
+    ini_free_section_list;
+    ini_get_attribute_list;
+    ini_free_attribute_list;
+    ini_get_config_valueobj;
+    ini_get_int_config_value;
+    ini_get_unsigned_config_value;
+    ini_get_long_config_value;
+    ini_get_ulong_config_value;
+    ini_get_int32_config_value;
+    ini_get_uint32_config_value;
+    ini_get_int64_config_value;
+    ini_get_uint64_config_value;
+    ini_get_double_config_value;
+    ini_get_bool_config_value;
+    ini_get_string_config_value;
+    ini_get_const_string_config_value;
+    ini_get_bin_config_value;
+    ini_free_bin_config_value;
+    ini_get_string_config_array;
+    ini_get_raw_string_config_array;
+    ini_get_long_config_array;
+    ini_get_double_config_array;
+    ini_free_string_config_array;
+    ini_free_long_config_array;
+    ini_free_double_config_array;
+
+    /* ini_valueobj.h */
+    value_create_from_refarray;
+    value_lines_cleanup_cb;
+    value_create_arrays;
+    value_add_to_arrays;
+    value_destroy_arrays;
+    value_create_new;
+    value_copy;
+    value_destroy;
+    value_get_concatenated;
+    value_get_concatenated_len;
+    value_get_origin;
+    value_get_line;
+    value_set_keylen;
+    value_set_boundary;
+    value_update;
+    value_extract_comment;
+    value_put_comment;
+    value_merge_comment;
+    value_serialize;
+    value_print;
+
+    /* ini_comment.h */
+    ini_comment_create;
+    ini_comment_destroy;
+    ini_comment_build;
+    ini_comment_build_wl;
+    ini_comment_insert;
+    ini_comment_append;
+    ini_comment_remove;
+    ini_comment_clear;
+    ini_comment_replace;
+    ini_comment_reset;
+    ini_comment_get_numlines;
+    ini_comment_get_line;
+    ini_comment_swap;
+    ini_comment_copy;
+    ini_comment_add;
+    ini_comment_serialize;
+    ini_comment_print;
+
+local:
+    *;
+};
diff --git a/path_utils/libpath_utils.sym b/path_utils/libpath_utils.sym
new file mode 100644
index 0000000000000000000000000000000000000000..267deb57db18e7fc2b6de1b0d6412bd4c6e4abc0
--- /dev/null
+++ b/path_utils/libpath_utils.sym
@@ -0,0 +1,20 @@
+LIBPATH_UTILS_0.2.1 {
+global:
+    path_utils_error_string;
+    get_basename;
+    get_dirname;
+    get_directory_and_base_name;
+    is_absolute_path;
+    path_concat;
+    make_path_absolute;
+    split_path;
+    normalize_path;
+    common_path_prefix;
+    make_normalized_absolute_path;
+    find_existing_directory_ancestor;
+    directory_list;
+    is_ancestor_path;
+
+local:
+    *;
+};
diff --git a/refarray/libref_array.sym b/refarray/libref_array.sym
new file mode 100644
index 0000000000000000000000000000000000000000..439c598f363ed509363660a7791862bcca67738c
--- /dev/null
+++ b/refarray/libref_array.sym
@@ -0,0 +1,24 @@
+LIBREF_ARRAY_0.1.1 {
+global:
+    ref_array_create;
+    ref_array_getref;
+    ref_array_destroy;
+    ref_array_append;
+    ref_array_get;
+    ref_array_getlen;
+    ref_array_len;
+    ref_array_insert;
+    ref_array_replace;
+    ref_array_remove;
+    ref_array_swap;
+    ref_array_reset;
+    ref_array_debug;
+
+local:
+    *;
+};
+
+LIBREF_ARRAY_0.1.3 {
+global:
+    ref_array_copy;
+} LIBREF_ARRAY_0.1.1;
-- 
1.8.5.3



More information about the sssd-devel mailing list