Track symbols exposed by built so's
We really ought to know when we're adding or removing symbols. Change-Id: I4e2fc6c2d9f685dbf852b65716657bd2374bc092
This commit is contained in:
51
check-symbols.sh
Executable file
51
check-symbols.sh
Executable file
@@ -0,0 +1,51 @@
|
||||
#!/bin/bash
|
||||
#/ Usage: check-symbols.sh {check,build}
|
||||
#/ Commands:
|
||||
#/
|
||||
#/ build - Update the *.sym files at the root of this repository
|
||||
#/ based on the *.so files that have been built.
|
||||
#/ check - Compare the *.sym files against the symbols exposed in
|
||||
#/ the *.so files that have been built.
|
||||
#/
|
||||
#/ By checking in the *.sym files and running `check-symbols.sh check`
|
||||
#/ in the gate, we establish an auditable record of when symbols are
|
||||
#/ added or removed from the various *.so files we produce.
|
||||
set -e
|
||||
|
||||
get() {
|
||||
nm --dynamic --defined-only $1 | cut -c18- | LC_COLLATE=C sort
|
||||
}
|
||||
|
||||
check() {
|
||||
if [ ! -e $2 ]; then
|
||||
touch $2
|
||||
fi
|
||||
diff -u $2 <( get $1 )
|
||||
}
|
||||
|
||||
build() {
|
||||
get $1 > $2
|
||||
}
|
||||
|
||||
case $1 in
|
||||
check | build)
|
||||
func=$1
|
||||
;;
|
||||
*)
|
||||
grep '^#/' "$0" |cut -c4-
|
||||
exit 1
|
||||
esac
|
||||
|
||||
rc=0
|
||||
for lib in $(find . -name '*.so') ; do
|
||||
echo "${func}ing $( basename $lib )"
|
||||
if ! $func $lib $( basename ${lib/%.so/.sym} ) ; then
|
||||
rc=1
|
||||
echo
|
||||
fi
|
||||
done
|
||||
|
||||
if [ $rc == 1 ]; then
|
||||
echo "Symbols don't match! Try running '$0 build' before committing."
|
||||
fi
|
||||
exit $rc
|
||||
110
libXorcode.sym
Normal file
110
libXorcode.sym
Normal file
@@ -0,0 +1,110 @@
|
||||
D data_bm_hd3
|
||||
D data_bm_hd4
|
||||
D g_10_5_3_hd_code_data_bms
|
||||
D g_10_5_3_hd_code_parity_bms
|
||||
D g_10_5_4_hd_code_data_bms
|
||||
D g_10_5_4_hd_code_parity_bms
|
||||
D g_10_6_3_hd_code_data_bms
|
||||
D g_10_6_3_hd_code_parity_bms
|
||||
D g_10_6_4_hd_code_data_bms
|
||||
D g_10_6_4_hd_code_parity_bms
|
||||
D g_11_6_3_hd_code_data_bms
|
||||
D g_11_6_3_hd_code_parity_bms
|
||||
D g_11_6_4_hd_code_data_bms
|
||||
D g_11_6_4_hd_code_parity_bms
|
||||
D g_12_6_3_hd_code_data_bms
|
||||
D g_12_6_3_hd_code_parity_bms
|
||||
D g_12_6_4_hd_code_data_bms
|
||||
D g_12_6_4_hd_code_parity_bms
|
||||
D g_13_6_3_hd_code_data_bms
|
||||
D g_13_6_3_hd_code_parity_bms
|
||||
D g_13_6_4_hd_code_data_bms
|
||||
D g_13_6_4_hd_code_parity_bms
|
||||
D g_14_6_3_hd_code_data_bms
|
||||
D g_14_6_3_hd_code_parity_bms
|
||||
D g_14_6_4_hd_code_data_bms
|
||||
D g_14_6_4_hd_code_parity_bms
|
||||
D g_15_6_3_hd_code_data_bms
|
||||
D g_15_6_3_hd_code_parity_bms
|
||||
D g_15_6_4_hd_code_data_bms
|
||||
D g_15_6_4_hd_code_parity_bms
|
||||
D g_16_6_4_hd_code_data_bms
|
||||
D g_16_6_4_hd_code_parity_bms
|
||||
D g_17_6_4_hd_code_data_bms
|
||||
D g_17_6_4_hd_code_parity_bms
|
||||
D g_18_6_4_hd_code_data_bms
|
||||
D g_18_6_4_hd_code_parity_bms
|
||||
D g_19_6_4_hd_code_data_bms
|
||||
D g_19_6_4_hd_code_parity_bms
|
||||
D g_20_6_4_hd_code_data_bms
|
||||
D g_20_6_4_hd_code_parity_bms
|
||||
D g_3_3_3_hd_code_data_bms
|
||||
D g_3_3_3_hd_code_parity_bms
|
||||
D g_5_5_3_hd_code_data_bms
|
||||
D g_5_5_3_hd_code_parity_bms
|
||||
D g_5_5_4_hd_code_data_bms
|
||||
D g_5_5_4_hd_code_parity_bms
|
||||
D g_6_5_3_hd_code_data_bms
|
||||
D g_6_5_3_hd_code_parity_bms
|
||||
D g_6_5_4_hd_code_data_bms
|
||||
D g_6_5_4_hd_code_parity_bms
|
||||
D g_6_6_3_hd_code_data_bms
|
||||
D g_6_6_3_hd_code_parity_bms
|
||||
D g_6_6_4_hd_code_data_bms
|
||||
D g_6_6_4_hd_code_parity_bms
|
||||
D g_7_5_3_hd_code_data_bms
|
||||
D g_7_5_3_hd_code_parity_bms
|
||||
D g_7_5_4_hd_code_data_bms
|
||||
D g_7_5_4_hd_code_parity_bms
|
||||
D g_7_6_3_hd_code_data_bms
|
||||
D g_7_6_3_hd_code_parity_bms
|
||||
D g_7_6_4_hd_code_data_bms
|
||||
D g_7_6_4_hd_code_parity_bms
|
||||
D g_8_5_3_hd_code_data_bms
|
||||
D g_8_5_3_hd_code_parity_bms
|
||||
D g_8_5_4_hd_code_data_bms
|
||||
D g_8_5_4_hd_code_parity_bms
|
||||
D g_8_6_3_hd_code_data_bms
|
||||
D g_8_6_3_hd_code_parity_bms
|
||||
D g_8_6_4_hd_code_data_bms
|
||||
D g_8_6_4_hd_code_parity_bms
|
||||
D g_9_5_3_hd_code_data_bms
|
||||
D g_9_5_3_hd_code_parity_bms
|
||||
D g_9_5_4_hd_code_data_bms
|
||||
D g_9_5_4_hd_code_parity_bms
|
||||
D g_9_6_3_hd_code_data_bms
|
||||
D g_9_6_3_hd_code_parity_bms
|
||||
D g_9_6_4_hd_code_data_bms
|
||||
D g_9_6_4_hd_code_parity_bms
|
||||
D hd3_m3_data
|
||||
D hd3_m3_parity
|
||||
D hd3_m5_data
|
||||
D hd3_m5_parity
|
||||
D hd3_m6_data
|
||||
D hd3_m6_parity
|
||||
D hd4_m5_data
|
||||
D hd4_m5_parity
|
||||
D hd4_m6_data
|
||||
D hd4_m6_parity
|
||||
D parity_bm_hd3
|
||||
D parity_bm_hd4
|
||||
R g_bit_lookup
|
||||
T data_bit_lookup
|
||||
T does_parity_have_data
|
||||
T fast_memcpy
|
||||
T get_failure_pattern
|
||||
T get_missing_data
|
||||
T get_missing_parity
|
||||
T index_of_connected_parity
|
||||
T init_xor_hd_code
|
||||
T is_data_in_parity
|
||||
T missing_elements_bm
|
||||
T num_missing_data_in_parity
|
||||
T parity_bit_lookup
|
||||
T remove_from_missing_list
|
||||
T selective_encode
|
||||
T xor_bufs_and_store
|
||||
T xor_code_encode
|
||||
T xor_hd_decode
|
||||
T xor_hd_fragments_needed
|
||||
T xor_reconstruct_one
|
||||
130
liberasurecode.sym
Normal file
130
liberasurecode.sym
Normal file
@@ -0,0 +1,130 @@
|
||||
B active_instances
|
||||
B active_instances_rwlock
|
||||
B ec_backends_supported_str
|
||||
B flat_xor_hd
|
||||
B flat_xor_hd_ops
|
||||
B ilog_table
|
||||
B ilog_table_begin
|
||||
B isa_l_rs_cauchy
|
||||
B isa_l_rs_cauchy_ops
|
||||
B isa_l_rs_vand
|
||||
B isa_l_rs_vand_ops
|
||||
B jerasure_rs_cauchy
|
||||
B jerasure_rs_cauchy_ops
|
||||
B jerasure_rs_vand
|
||||
B jerasure_rs_vand_ops
|
||||
B liberasurecode_rs_vand
|
||||
B liberasurecode_rs_vand_ops
|
||||
B libphazr
|
||||
B libphazr_ops
|
||||
B log_table
|
||||
B next_backend_desc
|
||||
B null
|
||||
B null_ops
|
||||
B num_supported_backends
|
||||
B shss
|
||||
B shss_ops
|
||||
D backend_flat_xor_hd
|
||||
D backend_isa_l_rs_cauchy
|
||||
D backend_isa_l_rs_vand
|
||||
D backend_jerasure_rs_cauchy
|
||||
D backend_jerasure_rs_vand
|
||||
D backend_liberasurecode_rs_vand
|
||||
D backend_libphazr
|
||||
D backend_null
|
||||
D backend_shss
|
||||
D ec_backends_supported
|
||||
D flat_xor_hd_op_stubs
|
||||
D isa_l_rs_cauchy_op_stubs
|
||||
D isa_l_rs_vand_op_stubs
|
||||
D jerasure_rs_cauchy_op_stubs
|
||||
D jerasure_rs_vand_op_stubs
|
||||
D liberasurecode_rs_vand_op_stubs
|
||||
D libphazr_op_stubs
|
||||
D null_op_stubs
|
||||
D shss_op_stubs
|
||||
D valid_gf_w
|
||||
D valid_pairs
|
||||
T add_fragment_metadata
|
||||
T alloc_and_set_buffer
|
||||
T alloc_fragment_buffer
|
||||
T alloc_zeroed_buffer
|
||||
T check_and_free_buffer
|
||||
T compute_alg_sig
|
||||
T destroy_alg_sig
|
||||
T finalize_fragments_after_encode
|
||||
T fragments_to_string
|
||||
T free_fragment_buffer
|
||||
T get_aligned_buffer16
|
||||
T get_aligned_data_size
|
||||
T get_backend_id
|
||||
T get_backend_version
|
||||
T get_data_ptr_array_from_fragments
|
||||
T get_data_ptr_from_fragment
|
||||
T get_fragment_backend_metadata_size
|
||||
T get_fragment_buffer_size
|
||||
T get_fragment_idx
|
||||
T get_fragment_partition
|
||||
T get_fragment_payload_size
|
||||
T get_fragment_ptr_array_from_data
|
||||
T get_fragment_ptr_from_data
|
||||
T get_fragment_ptr_from_data_novalidate
|
||||
T get_fragment_size
|
||||
T get_galois_multi_func
|
||||
T get_galois_uninit_func
|
||||
T get_jerasure_sohandle
|
||||
T get_libec_version
|
||||
T get_orig_data_size
|
||||
T init_alg_sig
|
||||
T is_invalid_fragment
|
||||
T is_invalid_fragment_header
|
||||
T is_invalid_fragment_metadata
|
||||
T isa_l_common_init
|
||||
T isa_l_decode
|
||||
T isa_l_element_size
|
||||
T isa_l_encode
|
||||
T isa_l_exit
|
||||
T isa_l_min_fragments
|
||||
T isa_l_reconstruct
|
||||
T liberasurecode_backend_alloc_desc
|
||||
T liberasurecode_backend_available
|
||||
T liberasurecode_backend_close
|
||||
T liberasurecode_backend_instance_get_by_desc
|
||||
T liberasurecode_backend_instance_register
|
||||
T liberasurecode_backend_instance_unregister
|
||||
T liberasurecode_backend_open
|
||||
T liberasurecode_crc32_alt
|
||||
T liberasurecode_decode
|
||||
T liberasurecode_decode_cleanup
|
||||
T liberasurecode_encode
|
||||
T liberasurecode_encode_cleanup
|
||||
T liberasurecode_exit
|
||||
T liberasurecode_fragments_needed
|
||||
T liberasurecode_get_aligned_data_size
|
||||
T liberasurecode_get_fragment_metadata
|
||||
T liberasurecode_get_fragment_size
|
||||
T liberasurecode_get_minimum_encode_size
|
||||
T liberasurecode_get_version
|
||||
T liberasurecode_init
|
||||
T liberasurecode_instance_create
|
||||
T liberasurecode_instance_destroy
|
||||
T liberasurecode_reconstruct_fragment
|
||||
T liberasurecode_verify_fragment_metadata
|
||||
T liberasurecode_verify_stripe_metadata
|
||||
T load_gf_functions
|
||||
T prepare_fragments_for_decode
|
||||
T prepare_fragments_for_encode
|
||||
T rs_galois_deinit_tables
|
||||
T rs_galois_div
|
||||
T rs_galois_init_tables
|
||||
T rs_galois_inverse
|
||||
T rs_galois_mult
|
||||
T set_backend_id
|
||||
T set_backend_version
|
||||
T set_checksum
|
||||
T set_fragment_backend_metadata_size
|
||||
T set_fragment_idx
|
||||
T set_fragment_payload_size
|
||||
T set_libec_version
|
||||
T set_orig_data_size
|
||||
T stub_galois_uninit_field
|
||||
34
liberasurecode_rs_vand.sym
Normal file
34
liberasurecode_rs_vand.sym
Normal file
@@ -0,0 +1,34 @@
|
||||
B ilog_table
|
||||
B ilog_table_begin
|
||||
B log_table
|
||||
T col_mult
|
||||
T col_mult_and_add
|
||||
T copy_row
|
||||
T create_decoding_matrix
|
||||
T create_non_systematic_vand_matrix
|
||||
T deinit_liberasurecode_rs_vand
|
||||
T free_systematic_matrix
|
||||
T gaussj_inversion
|
||||
T get_first_k_available
|
||||
T get_matrix_row
|
||||
T get_non_zero_diagonal
|
||||
T init_liberasurecode_rs_vand
|
||||
T is_identity_matrix
|
||||
T is_missing
|
||||
T liberasurecode_rs_vand_decode
|
||||
T liberasurecode_rs_vand_encode
|
||||
T liberasurecode_rs_vand_reconstruct
|
||||
T make_systematic_matrix
|
||||
T print_matrix
|
||||
T region_dot_product
|
||||
T region_multiply
|
||||
T region_xor
|
||||
T row_mult
|
||||
T row_mult_and_add
|
||||
T rs_galois_deinit_tables
|
||||
T rs_galois_div
|
||||
T rs_galois_init_tables
|
||||
T rs_galois_inverse
|
||||
T rs_galois_mult
|
||||
T square_matrix_multiply
|
||||
T swap_matrix_rows
|
||||
5
libnullcode.sym
Normal file
5
libnullcode.sym
Normal file
@@ -0,0 +1,5 @@
|
||||
T null_code_decode
|
||||
T null_code_encode
|
||||
T null_code_fragments_needed
|
||||
T null_code_init
|
||||
T null_reconstruct
|
||||
@@ -10,5 +10,6 @@
|
||||
make
|
||||
make test
|
||||
make valgrind-test
|
||||
./check-symbols.sh check
|
||||
executable: /bin/bash
|
||||
chdir: '{{ zuul.project.src_dir }}'
|
||||
|
||||
Reference in New Issue
Block a user