tags 861166 patch
found 861166 10.1.23-3
thanks

On Tue, 2017-04-25 at 11:42 +0200, Svante Signell wrote:
> On Tue, 2017-04-25 at 11:32 +0200, Mattia Rizzolo wrote:
> > Source: mariadb-10.1
> > Severity: important
> > User: debian-h...@lists.debian.org
> > Usertags: hurd
...
> > On a more general note: this package is very important due to being a
> > dependecy of things like Qt, gdal and several others, so it's appreciate
> > if it stays buildable on all architectures.
> 
> I can take a look if nobody else beats me to it.

Attached are patches to make mariadb-10.1 to build on GNU/Hurd. Unfortunately
there are still some warnings to fix and the testsuite fails, and has been
removed with debian/rules patch. Attached is also an updated symbols file, the
link given in debian/ points to a file having three symbols not in the Hurd
version.

The patched package has also been successfully built on GNU/Linux amd64 with
pbuilder. It does not build in my host environment, 10 tests do time-out, any
ideas?

cmake.patch defines the system name GNU, tries to disable dtrace (which is Linux
only from systemtap-sdt-dev) and add a check for HAVE_SYS_POLL_H, see
path_max.patch. Unfortunately disabling dtrace did not work, I had to uninstall 
systemtap-sdt-dev, I wonder why?

path_max.patch defines GNU_SOURCE if not already defined, avoids a FreeBSD-
specific definition of O_PATH, and fixes PATH_MAX issues in files
/mysys/mysys_priv.h, sql/wsrep_binlog.cc and extra/mariabackup/backup_copy.cc.
The POLL stuff in storage/mroonga/vendor/groonga/lib/grn_com.h and
storage/mroonga/vendor/groonga/lib/com.c fixes the USE_POLL case. That case is
not properly handled in the upstream code. GNU/Hurd could of course use
USE_SELECT, but since the OS is detected as using POLL, that choice is fixed
too.

There are probably other fixes needed too, feedback welcomed.

Thanks!  

Index: mariadb-10.1-10.1.23/cmake/package_name.cmake
===================================================================
--- mariadb-10.1-10.1.23.orig/cmake/package_name.cmake
+++ mariadb-10.1-10.1.23/cmake/package_name.cmake
@@ -81,6 +81,9 @@ IF(NOT VERSION)
           SET(DEFAULT_MACHINE "i386")
         ENDIF()
       ENDIF()
+    ELSEIF(CMAKE_SYSTEM_NAME MATCHES "GNU")
+      SET(DEFAULT_PLATFORM "GNU")
+      SET(DEFAULT_MACHINE "i386")
     ELSEIF(CMAKE_SYSTEM_NAME MATCHES "Darwin")
       IF(CMAKE_OSX_DEPLOYMENT_TARGET)
         SET(DEFAULT_PLATFORM "osx${CMAKE_OSX_DEPLOYMENT_TARGET}")
Index: mariadb-10.1-10.1.23/cmake/dtrace.cmake
===================================================================
--- mariadb-10.1-10.1.23.orig/cmake/dtrace.cmake
+++ mariadb-10.1-10.1.23/cmake/dtrace.cmake
@@ -45,6 +45,10 @@ MACRO(CHECK_DTRACE)
      AND NOT BUGGY_LINUX_DTRACE) 
    SET(ENABLE_DTRACE ON CACHE BOOL "Enable dtrace")
  ENDIF()
+ # On GNU/Hurd, dtrace is not supported
+ IF(DTRACE AND CMAKE_SYSTEM_NAME MATCHES "GNU")
+   SET(ENABLE_DTRACE OFF CACHE BOOL "Disable dtrace")
+ ENDIF()
  SET(HAVE_DTRACE ${ENABLE_DTRACE})
  IF(CMAKE_SYSTEM_NAME MATCHES "SunOS")
    IF(CMAKE_SIZEOF_VOID_P EQUAL 4)
Index: mariadb-10.1-10.1.23/storage/mroonga/vendor/groonga/config.h.cmake
===================================================================
--- mariadb-10.1-10.1.23.orig/storage/mroonga/vendor/groonga/config.h.cmake
+++ mariadb-10.1-10.1.23/storage/mroonga/vendor/groonga/config.h.cmake
@@ -109,6 +109,7 @@
 #cmakedefine HAVE_STRING_H
 #cmakedefine HAVE_SYS_MMAN_H
 #cmakedefine HAVE_SYS_PARAM_H
+#cmakedefine HAVE_SYS_POLL_H
 #cmakedefine HAVE_SYS_RESOURCE_H
 #cmakedefine HAVE_SYS_SELECT_H
 #cmakedefine HAVE_SYS_SOCKET_H
--- a/debian/rules.orig	2017-05-04 23:08:54.000000000 +0200
+++ b/debian/rules    	2017-05-04 23:11:01.000000000 +0200
@@ -27,7 +27,7 @@
 endif
 
 # Ignore test suite exit code on unstable platforms
-ifeq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH),mips mipsel alpha powerpc sh4))
+ifeq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH),mips mipsel alpha powerpc sh4 hurd-i386))
     TESTSUITE_FAIL_CMD:=true
 else
     TESTSUITE_FAIL_CMD:=exit 1
libmariadbclient.so.18 libmariadbclient18 #MINVER#
 PSI_hook@Base 10.1.22
 PSI_server@Base 10.1.22
 THR_COND_threads@Base 10.1.22
 THR_KEY_mysys@Base 5.5.36
 THR_LOCK_charset@Base 10.1.22
 THR_LOCK_heap@Base 10.1.22
 THR_LOCK_lock@Base 10.1.22
 THR_LOCK_malloc@Base 10.1.22
 THR_LOCK_myisam@Base 10.1.22
 THR_LOCK_myisam_mmap@Base 10.1.22
 THR_LOCK_net@Base 10.1.22
 THR_LOCK_open@Base 10.1.22
 THR_LOCK_threads@Base 10.1.22
 THR_thread_count@Base 10.1.22
 TIME_to_double@Base 10.1.22
 TIME_to_ulonglong@Base 10.1.22
 TIME_to_ulonglong_date@Base 10.1.22
 TIME_to_ulonglong_datetime@Base 10.1.22
 TIME_to_ulonglong_time@Base 10.1.22
 _Z11my_net_readP6st_net@Base 10.1.22
 _dig_vec_lower@Base 10.1.22
 _dig_vec_upper@Base 10.1.22
 _my_sig_remember@Base 10.1.22
 _my_signals@Base 10.1.22
 _my_thread_var@Base 10.1.22
 add_compiled_collation@Base 10.1.22
 all_charsets@Base 10.1.22
 all_mysys_stages@Base 10.1.22
 alloc_dynamic@Base 5.5.37
 alloc_root@Base 5.5.37
 allocate_dynamic@Base 10.1.22
 array_append_string_unique@Base 10.1.22
 autoset_my_option@Base 10.1.22
 bchange@Base 10.1.22
 bin2decimal@Base 10.1.22
 bmove_upp@Base 10.1.22
 calc_daynr@Base 10.1.22
 calc_days_in_year@Base 10.1.22
 cant_connect_sqlstate@Base 10.1.22
 charsets@Base 10.1.22
 charsets_dir@Base 10.1.22
 check_date@Base 10.1.22
 check_datetime_range@Base 10.1.22
 check_scramble@Base 10.1.22
 check_scramble_323@Base 10.1.22
 check_time_range@Base 10.1.22
 cleanup_dirname@Base 10.1.22
 cli_advanced_command@Base 10.1.22
 cli_list_fields@Base 10.1.22
 cli_read_binary_rows@Base 10.1.22
 cli_read_change_user_result@Base 10.1.22
 cli_read_prepare_result@Base 10.1.22
 cli_read_rows@Base 10.1.22
 cli_read_statistics@Base 10.1.22
 cli_safe_read@Base 10.1.22
 cli_stmt_execute@Base 10.1.22
 cli_unbuffered_fetch@Base 10.1.22
 client_errors@Base 5.5.36
 compiled_charsets@Base 10.1.22
 convert_dirname@Base 10.1.22
 copy_typelib@Base 10.1.22
 create_random_string@Base 10.1.22
 curr_dir@Base 10.1.22
 days_in_month@Base 10.1.22
 debug_sync_C_callback_ptr@Base 10.1.22
 decimal2bin@Base 10.1.22
 decimal2double@Base 10.1.22
 decimal2longlong@Base 10.1.22
 decimal2string@Base 10.1.22
 decimal2ulonglong@Base 10.1.22
 decimal_actual_fraction@Base 10.1.22
 decimal_add@Base 10.1.22
 decimal_bin_size@Base 10.1.22
 decimal_cmp@Base 10.1.22
 decimal_div@Base 10.1.22
 decimal_intg@Base 10.1.22
 decimal_is_zero@Base 10.1.22
 decimal_mod@Base 10.1.22
 decimal_mul@Base 10.1.22
 decimal_result_size@Base 10.1.22
 decimal_round@Base 10.1.22
 decimal_shift@Base 10.1.22
 decimal_size@Base 10.1.22
 decimal_sub@Base 10.1.22
 default_charset_info@Base 5.5.36
 default_client_charset_info@Base 10.1.22
 delete_dynamic@Base 5.5.37
 delete_dynamic_element@Base 10.1.22
 delete_dynamic_with_callback@Base 10.1.22
 dirname_length@Base 10.1.22
 dirname_part@Base 10.1.22
 disabled_my_option@Base 10.1.22
 do_mini_left_shift@Base 10.1.22
 do_mini_right_shift@Base 10.1.22
 double2decimal@Base 10.1.22
 dynamic_column_create@Base 5.5.36
 dynamic_column_create_many@Base 5.5.36
 dynamic_column_exists@Base 5.5.36
 dynamic_column_get@Base 5.5.36
 dynamic_column_list@Base 5.5.36
 dynamic_column_prepare_decimal@Base 5.5.36
 dynamic_column_update@Base 5.5.36
 dynamic_column_update_many@Base 5.5.36
 dynstr_append@Base 5.5.37
 dynstr_append_mem@Base 5.5.37
 dynstr_append_os_quoted@Base 5.5.37
 dynstr_append_quoted@Base 10.1.22
 dynstr_free@Base 5.5.37
 dynstr_realloc@Base 5.5.37
 dynstr_reassociate@Base 10.1.22
 dynstr_set@Base 10.1.22
 dynstr_trunc@Base 10.1.22
 enabled_my_option@Base 10.1.22
 end_server@Base 10.1.22
 error_handler_hook@Base 10.1.22
 escape_quotes_for_mysql@Base 10.1.22
 escape_string_for_mysql@Base 10.1.22
 fatal_error_handler_hook@Base 10.1.22
 find_set_from_flags@Base 10.1.22
 find_type@Base 10.1.22
 find_type_or_exit@Base 10.1.22
 find_type_with_warning@Base 10.1.22
 find_typeset@Base 10.1.22
 finish_client_errs@Base 10.1.22
 flush_one_result@Base 10.1.22
 fn_ext2@Base 10.1.22
 fn_ext@Base 10.1.22
 fn_format@Base 10.1.22
 free_charsets@Base 10.1.22
 free_defaults@Base 5.5.36
 free_old_query@Base 10.1.22
 free_root@Base 5.5.37
 free_rows@Base 10.1.22
 free_vio_ssl_acceptor_fd@Base 10.1.22
 freeze_size@Base 10.1.22
 get_attr_key@Base 10.1.22
 get_charset@Base 5.5.36
 get_charset_by_csname@Base 5.5.36
 get_charset_by_name@Base 10.1.22
 get_charset_name@Base 10.1.22
 get_charset_number@Base 10.1.22
 get_charsets_dir@Base 10.1.22
 get_client_errmsgs@Base 10.1.22
 get_collation_number@Base 10.1.22
 get_defaults_options@Base 10.1.22
 get_dynamic@Base 5.5.37
 get_global_errmsgs@Base 10.1.22
 get_salt_from_password@Base 10.1.22
 get_salt_from_password_323@Base 10.1.22
 get_tty_password@Base 5.5.36
 get_tty_password_buff@Base 10.1.22
 get_type@Base 10.1.22
 getopt_compare_strings@Base 10.1.22
 getopt_double2ulonglong@Base 10.1.22
 getopt_double_limit_value@Base 10.1.22
 getopt_ll_limit_value@Base 10.1.22
 getopt_ull_limit_value@Base 10.1.22
 getopt_ulonglong2double@Base 10.1.22
 globerrs@Base 10.1.22
 handle_local_infile@Base 10.1.22
 handle_options@Base 5.5.36
 has_path@Base 10.1.22
 hash_password@Base 10.1.22
 home_dir@Base 10.1.22
 home_dir_buff@Base 10.1.22
 init_alloc_root@Base 10.1.22
 init_client_errs@Base 10.1.22
 init_compiled_charsets@Base 10.1.22
 init_dynamic_array2@Base 5.5.37
 init_dynamic_string@Base 5.5.37
 init_glob_errs@Base 10.1.22
 insert_dynamic@Base 10.1.22
 int10_to_str@Base 10.1.22
 int2str@Base 5.5.37
 intern_filename@Base 10.1.22
 internal_str2dec@Base 10.1.22
 is_prefix@Base 5.5.36
 key_BITMAP_mutex@Base 10.1.22
 key_COND_alarm@Base 10.1.22
 key_COND_timer@Base 10.1.22
 key_IO_CACHE_SHARE_cond@Base 10.1.22
 key_IO_CACHE_SHARE_cond_writer@Base 10.1.22
 key_IO_CACHE_SHARE_mutex@Base 10.1.22
 key_IO_CACHE_append_buffer_lock@Base 10.1.22
 key_KEY_CACHE_cache_lock@Base 10.1.22
 key_LOCK_alarm@Base 10.1.22
 key_LOCK_timer@Base 10.1.22
 key_LOCK_uuid_generator@Base 10.1.22
 key_SAFEHASH_mutex@Base 10.1.22
 key_THR_COND_threads@Base 10.1.22
 key_THR_LOCK_charset@Base 10.1.22
 key_THR_LOCK_heap@Base 10.1.22
 key_THR_LOCK_lock@Base 10.1.22
 key_THR_LOCK_malloc@Base 10.1.22
 key_THR_LOCK_mutex@Base 10.1.22
 key_THR_LOCK_myisam@Base 10.1.22
 key_THR_LOCK_myisam_mmap@Base 10.1.22
 key_THR_LOCK_net@Base 10.1.22
 key_THR_LOCK_open@Base 10.1.22
 key_THR_LOCK_threads@Base 10.1.22
 key_TMPDIR_mutex@Base 10.1.22
 key_WT_RESOURCE_cond@Base 10.1.22
 key_file_charset@Base 10.1.22
 key_file_cnf@Base 10.1.22
 key_my_thread_var_mutex@Base 10.1.22
 key_my_thread_var_suspend@Base 10.1.22
 key_thread_timer@Base 10.1.22
 libmysql_api_funcs@Base 10.1.22
 list_add@Base 5.5.37
 list_cons@Base 10.1.22
 list_delete@Base 5.5.37
 list_free@Base 10.1.22
 list_length@Base 10.1.22
 list_reverse@Base 10.1.22
 list_walk@Base 10.1.22
 ll2str@Base 10.1.22
 llstr@Base 10.1.22
 load_defaults@Base 5.5.36
 log_10_int@Base 10.1.22
 longlong10_to_str@Base 10.1.22
 longlong2decimal@Base 10.1.22
 make_password_from_salt@Base 10.1.22
 make_password_from_salt_323@Base 10.1.22
 make_scrambled_password@Base 5.5.37
 make_scrambled_password_323@Base 5.5.37
 make_type@Base 10.1.22
 mariadb_connection@Base 10.1.22
 mariadb_deinitialize_ssl@Base 10.0.26
 mariadb_dyncol_check@Base 5.5.36
 mariadb_dyncol_column_cmp_named@Base 5.5.36
 mariadb_dyncol_column_count@Base 5.5.36
 mariadb_dyncol_create_many_named@Base 5.5.36
 mariadb_dyncol_create_many_num@Base 5.5.36
 mariadb_dyncol_exists_named@Base 5.5.36
 mariadb_dyncol_exists_num@Base 5.5.36
 mariadb_dyncol_free@Base 5.5.36
 mariadb_dyncol_get_named@Base 5.5.36
 mariadb_dyncol_get_num@Base 5.5.36
 mariadb_dyncol_has_names@Base 5.5.36
 mariadb_dyncol_json@Base 5.5.36
 mariadb_dyncol_list_named@Base 5.5.36
 mariadb_dyncol_list_num@Base 5.5.36
 mariadb_dyncol_prepare_decimal@Base 5.5.36
 mariadb_dyncol_unpack@Base 5.5.36
 mariadb_dyncol_unpack_free@Base 5.5.37
 mariadb_dyncol_update_many_named@Base 5.5.36
 mariadb_dyncol_update_many_num@Base 5.5.36
 mariadb_dyncol_val_double@Base 5.5.36
 mariadb_dyncol_val_long@Base 5.5.36
 mariadb_dyncol_val_str@Base 5.5.36
 max_allowed_packet@Base 10.1.22
 max_decimal@Base 10.1.22
 memdup_root@Base 10.1.22
 mpvio_info@Base 10.1.22
 multi_alloc_root@Base 10.1.22
 my_TIME_to_str@Base 10.1.22
 my_assert_on_error@Base 10.1.22
 my_atof@Base 10.1.22
 my_az_allocator@Base 10.1.22
 my_az_free@Base 10.1.22
 my_casedn_8bit@Base 10.1.22
 my_casedn_mb@Base 10.1.22
 my_casedn_mb_varlen@Base 10.1.22
 my_casedn_str_8bit@Base 10.1.22
 my_casedn_str_mb@Base 10.1.22
 my_casedn_ujis@Base 10.1.22
 my_caseinfo_cp932@Base 10.1.22
 my_caseup_8bit@Base 10.1.22
 my_caseup_mb@Base 10.1.22
 my_caseup_mb_varlen@Base 10.1.22
 my_caseup_str_8bit@Base 10.1.22
 my_caseup_str_mb@Base 10.1.22
 my_caseup_ujis@Base 10.1.22
 my_charlen_8bit@Base 10.1.22
 my_charpos_8bit@Base 10.1.22
 my_charpos_mb@Base 10.1.22
 my_charset_8bit_handler@Base 10.1.22
 my_charset_big5_bin@Base 10.1.22
 my_charset_big5_chinese_ci@Base 10.1.22
 my_charset_bin@Base 5.5.38
 my_charset_cp1250_czech_ci@Base 10.1.22
 my_charset_cp932_bin@Base 10.1.22
 my_charset_cp932_japanese_ci@Base 10.1.22
 my_charset_error_reporter@Base 10.1.22
 my_charset_eucjpms_bin@Base 10.1.22
 my_charset_eucjpms_japanese_ci@Base 10.1.22
 my_charset_euckr_bin@Base 10.1.22
 my_charset_euckr_korean_ci@Base 10.1.22
 my_charset_filename@Base 10.1.22
 my_charset_gb2312_bin@Base 10.1.22
 my_charset_gb2312_chinese_ci@Base 10.1.22
 my_charset_gbk_bin@Base 10.1.22
 my_charset_gbk_chinese_ci@Base 10.1.22
 my_charset_get_by_name@Base 10.1.22
 my_charset_get_contractions@Base 10.1.22
 my_charset_is_8bit_pure_ascii@Base 10.1.22
 my_charset_is_ascii_based@Base 10.1.22
 my_charset_is_ascii_compatible@Base 10.1.22
 my_charset_latin1@Base 5.5.38
 my_charset_latin1_bin@Base 10.1.22
 my_charset_latin1_german2_ci@Base 10.1.22
 my_charset_latin2_czech_ci@Base 10.1.22
 my_charset_loader_init_mysys@Base 10.1.22
 my_charset_repertoire@Base 10.1.22
 my_charset_same@Base 10.1.22
 my_charset_sjis_bin@Base 10.1.22
 my_charset_sjis_japanese_ci@Base 10.1.22
 my_charset_tis620_bin@Base 10.1.22
 my_charset_tis620_thai_ci@Base 10.1.22
 my_charset_ucs2_bin@Base 10.1.22
 my_charset_ucs2_croatian_mysql561_uca_ci@Base 10.1.22
 my_charset_ucs2_croatian_uca_ci@Base 10.1.22
 my_charset_ucs2_czech_uca_ci@Base 10.1.22
 my_charset_ucs2_danish_uca_ci@Base 10.1.22
 my_charset_ucs2_esperanto_uca_ci@Base 10.1.22
 my_charset_ucs2_estonian_uca_ci@Base 10.1.22
 my_charset_ucs2_general_ci@Base 10.1.22
 my_charset_ucs2_general_mysql500_ci@Base 10.1.22
 my_charset_ucs2_german2_uca_ci@Base 10.1.22
 my_charset_ucs2_handler@Base 10.1.22
 my_charset_ucs2_hungarian_uca_ci@Base 10.1.22
 my_charset_ucs2_icelandic_uca_ci@Base 10.1.22
 my_charset_ucs2_latvian_uca_ci@Base 10.1.22
 my_charset_ucs2_lithuanian_uca_ci@Base 10.1.22
 my_charset_ucs2_myanmar_uca_ci@Base 10.1.22
 my_charset_ucs2_persian_uca_ci@Base 10.1.22
 my_charset_ucs2_polish_uca_ci@Base 10.1.22
 my_charset_ucs2_roman_uca_ci@Base 10.1.22
 my_charset_ucs2_romanian_uca_ci@Base 10.1.22
 my_charset_ucs2_sinhala_uca_ci@Base 10.1.22
 my_charset_ucs2_slovak_uca_ci@Base 10.1.22
 my_charset_ucs2_slovenian_uca_ci@Base 10.1.22
 my_charset_ucs2_spanish2_uca_ci@Base 10.1.22
 my_charset_ucs2_spanish_uca_ci@Base 10.1.22
 my_charset_ucs2_swedish_uca_ci@Base 10.1.22
 my_charset_ucs2_thai_520_w2@Base 10.1.22
 my_charset_ucs2_turkish_uca_ci@Base 10.1.22
 my_charset_ucs2_unicode_520_ci@Base 10.1.22
 my_charset_ucs2_unicode_ci@Base 10.1.22
 my_charset_ucs2_vietnamese_ci@Base 10.1.22
 my_charset_ujis_bin@Base 10.1.22
 my_charset_ujis_japanese_ci@Base 10.1.22
 my_charset_utf16_bin@Base 10.1.22
 my_charset_utf16_croatian_mysql561_uca_ci@Base 10.1.22
 my_charset_utf16_croatian_uca_ci@Base 10.1.22
 my_charset_utf16_czech_uca_ci@Base 10.1.22
 my_charset_utf16_danish_uca_ci@Base 10.1.22
 my_charset_utf16_esperanto_uca_ci@Base 10.1.22
 my_charset_utf16_estonian_uca_ci@Base 10.1.22
 my_charset_utf16_general_ci@Base 10.1.22
 my_charset_utf16_german2_uca_ci@Base 10.1.22
 my_charset_utf16_handler@Base 10.1.22
 my_charset_utf16_hungarian_uca_ci@Base 10.1.22
 my_charset_utf16_icelandic_uca_ci@Base 10.1.22
 my_charset_utf16_latvian_uca_ci@Base 10.1.22
 my_charset_utf16_lithuanian_uca_ci@Base 10.1.22
 my_charset_utf16_myanmar_uca_ci@Base 10.1.22
 my_charset_utf16_persian_uca_ci@Base 10.1.22
 my_charset_utf16_polish_uca_ci@Base 10.1.22
 my_charset_utf16_roman_uca_ci@Base 10.1.22
 my_charset_utf16_romanian_uca_ci@Base 10.1.22
 my_charset_utf16_sinhala_uca_ci@Base 10.1.22
 my_charset_utf16_slovak_uca_ci@Base 10.1.22
 my_charset_utf16_slovenian_uca_ci@Base 10.1.22
 my_charset_utf16_spanish2_uca_ci@Base 10.1.22
 my_charset_utf16_spanish_uca_ci@Base 10.1.22
 my_charset_utf16_swedish_uca_ci@Base 10.1.22
 my_charset_utf16_thai_520_w2@Base 10.1.22
 my_charset_utf16_turkish_uca_ci@Base 10.1.22
 my_charset_utf16_unicode_520_ci@Base 10.1.22
 my_charset_utf16_unicode_ci@Base 10.1.22
 my_charset_utf16_vietnamese_ci@Base 10.1.22
 my_charset_utf16le_bin@Base 10.1.22
 my_charset_utf16le_general_ci@Base 10.1.22
 my_charset_utf32_bin@Base 10.1.22
 my_charset_utf32_croatian_mysql561_uca_ci@Base 10.1.22
 my_charset_utf32_croatian_uca_ci@Base 10.1.22
 my_charset_utf32_czech_uca_ci@Base 10.1.22
 my_charset_utf32_danish_uca_ci@Base 10.1.22
 my_charset_utf32_esperanto_uca_ci@Base 10.1.22
 my_charset_utf32_estonian_uca_ci@Base 10.1.22
 my_charset_utf32_general_ci@Base 10.1.22
 my_charset_utf32_german2_uca_ci@Base 10.1.22
 my_charset_utf32_handler@Base 10.1.22
 my_charset_utf32_hungarian_uca_ci@Base 10.1.22
 my_charset_utf32_icelandic_uca_ci@Base 10.1.22
 my_charset_utf32_latvian_uca_ci@Base 10.1.22
 my_charset_utf32_lithuanian_uca_ci@Base 10.1.22
 my_charset_utf32_myanmar_uca_ci@Base 10.1.22
 my_charset_utf32_persian_uca_ci@Base 10.1.22
 my_charset_utf32_polish_uca_ci@Base 10.1.22
 my_charset_utf32_roman_uca_ci@Base 10.1.22
 my_charset_utf32_romanian_uca_ci@Base 10.1.22
 my_charset_utf32_sinhala_uca_ci@Base 10.1.22
 my_charset_utf32_slovak_uca_ci@Base 10.1.22
 my_charset_utf32_slovenian_uca_ci@Base 10.1.22
 my_charset_utf32_spanish2_uca_ci@Base 10.1.22
 my_charset_utf32_spanish_uca_ci@Base 10.1.22
 my_charset_utf32_swedish_uca_ci@Base 10.1.22
 my_charset_utf32_thai_520_w2@Base 10.1.22
 my_charset_utf32_turkish_uca_ci@Base 10.1.22
 my_charset_utf32_unicode_520_ci@Base 10.1.22
 my_charset_utf32_unicode_ci@Base 10.1.22
 my_charset_utf32_vietnamese_ci@Base 10.1.22
 my_charset_utf8_bin@Base 10.1.22
 my_charset_utf8_croatian_mysql561_uca_ci@Base 10.1.22
 my_charset_utf8_croatian_uca_ci@Base 10.1.22
 my_charset_utf8_czech_uca_ci@Base 10.1.22
 my_charset_utf8_danish_uca_ci@Base 10.1.22
 my_charset_utf8_esperanto_uca_ci@Base 10.1.22
 my_charset_utf8_estonian_uca_ci@Base 10.1.22
 my_charset_utf8_general_ci@Base 5.5.38
 my_charset_utf8_general_mysql500_ci@Base 10.1.22
 my_charset_utf8_german2_uca_ci@Base 10.1.22
 my_charset_utf8_handler@Base 10.1.22
 my_charset_utf8_hungarian_uca_ci@Base 10.1.22
 my_charset_utf8_icelandic_uca_ci@Base 10.1.22
 my_charset_utf8_latvian_uca_ci@Base 10.1.22
 my_charset_utf8_lithuanian_uca_ci@Base 10.1.22
 my_charset_utf8_myanmar_uca_ci@Base 10.1.22
 my_charset_utf8_persian_uca_ci@Base 10.1.22
 my_charset_utf8_polish_uca_ci@Base 10.1.22
 my_charset_utf8_roman_uca_ci@Base 10.1.22
 my_charset_utf8_romanian_uca_ci@Base 10.1.22
 my_charset_utf8_sinhala_uca_ci@Base 10.1.22
 my_charset_utf8_slovak_uca_ci@Base 10.1.22
 my_charset_utf8_slovenian_uca_ci@Base 10.1.22
 my_charset_utf8_spanish2_uca_ci@Base 10.1.22
 my_charset_utf8_spanish_uca_ci@Base 10.1.22
 my_charset_utf8_swedish_uca_ci@Base 10.1.22
 my_charset_utf8_thai_520_w2@Base 10.1.22
 my_charset_utf8_turkish_uca_ci@Base 10.1.22
 my_charset_utf8_unicode_520_ci@Base 10.1.22
 my_charset_utf8_unicode_ci@Base 10.1.22
 my_charset_utf8_vietnamese_ci@Base 10.1.22
 my_charset_utf8mb4_bin@Base 10.1.22
 my_charset_utf8mb4_croatian_mysql561_uca_ci@Base 10.1.22
 my_charset_utf8mb4_croatian_uca_ci@Base 10.1.22
 my_charset_utf8mb4_czech_uca_ci@Base 10.1.22
 my_charset_utf8mb4_danish_uca_ci@Base 10.1.22
 my_charset_utf8mb4_esperanto_uca_ci@Base 10.1.22
 my_charset_utf8mb4_estonian_uca_ci@Base 10.1.22
 my_charset_utf8mb4_general_ci@Base 10.1.22
 my_charset_utf8mb4_german2_uca_ci@Base 10.1.22
 my_charset_utf8mb4_handler@Base 10.1.22
 my_charset_utf8mb4_hungarian_uca_ci@Base 10.1.22
 my_charset_utf8mb4_icelandic_uca_ci@Base 10.1.22
 my_charset_utf8mb4_latvian_uca_ci@Base 10.1.22
 my_charset_utf8mb4_lithuanian_uca_ci@Base 10.1.22
 my_charset_utf8mb4_myanmar_uca_ci@Base 10.1.22
 my_charset_utf8mb4_persian_uca_ci@Base 10.1.22
 my_charset_utf8mb4_polish_uca_ci@Base 10.1.22
 my_charset_utf8mb4_roman_uca_ci@Base 10.1.22
 my_charset_utf8mb4_romanian_uca_ci@Base 10.1.22
 my_charset_utf8mb4_sinhala_uca_ci@Base 10.1.22
 my_charset_utf8mb4_slovak_uca_ci@Base 10.1.22
 my_charset_utf8mb4_slovenian_uca_ci@Base 10.1.22
 my_charset_utf8mb4_spanish2_uca_ci@Base 10.1.22
 my_charset_utf8mb4_spanish_uca_ci@Base 10.1.22
 my_charset_utf8mb4_swedish_uca_ci@Base 10.1.22
 my_charset_utf8mb4_thai_520_w2@Base 10.1.22
 my_charset_utf8mb4_turkish_uca_ci@Base 10.1.22
 my_charset_utf8mb4_unicode_520_ci@Base 10.1.22
 my_charset_utf8mb4_unicode_ci@Base 10.1.22
 my_charset_utf8mb4_vietnamese_ci@Base 10.1.22
 my_cleanup_options@Base 10.1.22
 my_close@Base 10.1.22
 my_collation_8bit_bin_handler@Base 10.1.22
 my_collation_8bit_simple_ci_handler@Base 10.1.22
 my_collation_any_uca_handler@Base 10.1.22
 my_collation_any_uca_handler_multilevel@Base 10.1.22
 my_collation_get_by_name@Base 10.1.22
 my_collation_get_tailoring@Base 10.1.22
 my_collation_is_known_id@Base 10.1.22
 my_collation_statistics_get_use_count@Base 10.1.22
 my_collation_ucs2_uca_handler@Base 10.1.22
 my_collation_utf16_uca_handler@Base 10.1.22
 my_collation_utf32_uca_handler@Base 10.1.22
 my_compress@Base 10.1.22
 my_compress_alloc@Base 10.1.22
 my_compress_buffer@Base 10.1.22
 my_connect_async@Base 10.1.22
 my_context_continue@Base 10.1.22
 my_context_destroy@Base 10.1.22
 my_context_init@Base 10.1.22
 my_context_install_suspend_resume_hook@Base 10.1.22
 my_context_spawn@Base 10.1.22
 my_context_yield@Base 10.1.22
 my_convert@Base 10.1.22
 my_convert_fix@Base 10.1.22
 my_convert_using_func@Base 10.1.22
 my_copy_8bit@Base 10.1.22
 my_copy_fix_mb@Base 10.1.22
 my_date_to_str@Base 10.1.22
 my_datetime_to_str@Base 10.1.22
 my_default_record_cache_size@Base 10.1.22
 my_defaults_extra_file@Base 10.1.22
 my_defaults_file@Base 10.1.22
 my_defaults_group_suffix@Base 10.1.22
 my_dir@Base 10.1.22
 my_dirend@Base 10.1.22
 my_disable_async_io@Base 10.1.22
 my_disable_copystat_in_redel@Base 10.1.22
 my_disable_flush_key_blocks@Base 10.1.22
 my_disable_locking@Base 10.1.22
 my_disable_symlinks@Base 10.1.22
 my_disable_sync@Base 10.1.22
 my_dont_interrupt@Base 10.1.22
 my_end@Base 5.5.37
 my_error@Base 10.1.22
 my_error_register@Base 10.1.22
 my_error_unregister@Base 10.1.22
 my_error_unregister_all@Base 10.1.22
 my_fclose@Base 10.1.22
 my_fcvt@Base 10.1.22
 my_fdopen@Base 10.1.22
 my_file_info@Base 10.1.22
 my_file_info_default@Base 10.1.22
 my_file_limit@Base 10.1.22
 my_file_opened@Base 10.1.22
 my_file_total_opened@Base 10.1.22
 my_filename@Base 10.1.22
 my_fileno@Base 10.1.22
 my_fill_8bit@Base 10.1.22
 my_fopen@Base 10.1.22
 my_fprintf@Base 10.1.22
 my_fread@Base 10.1.22
 my_free@Base 5.5.37
 my_freopen@Base 10.1.22
 my_fseek@Base 10.1.22
 my_fstat@Base 10.1.22
 my_ftell@Base 10.1.22
 my_fwrite@Base 10.1.22
 my_gcvt@Base 10.1.22
 my_get_err_msg@Base 10.1.22
 my_getcputime@Base 10.1.22
 my_getopt_error_reporter@Base 10.1.22
 my_getopt_is_args_separator@Base 10.1.22
 my_getopt_prefix_matching@Base 10.1.22
 my_getopt_print_errors@Base 10.1.22
 my_getopt_register_get_addr@Base 10.1.22
 my_getopt_skip_unknown@Base 10.1.22
 my_getopt_use_args_separator@Base 10.1.22
 my_getwd@Base 10.1.22
 my_global_flags@Base 10.1.22
 my_hash_delete@Base 10.1.22
 my_hash_element@Base 10.1.22
 my_hash_first@Base 10.1.22
 my_hash_first_from_hash_value@Base 10.1.22
 my_hash_free@Base 10.1.22
 my_hash_init2@Base 10.1.22
 my_hash_insert@Base 10.1.22
 my_hash_iterate@Base 10.1.22
 my_hash_next@Base 10.1.22
 my_hash_replace@Base 10.1.22
 my_hash_reset@Base 10.1.22
 my_hash_search@Base 10.1.22
 my_hash_search_using_hash_value@Base 10.1.22
 my_hash_sort@Base 10.1.22
 my_hash_sort_8bit_bin@Base 10.1.22
 my_hash_sort_bin@Base 10.1.22
 my_hash_sort_latin1_de@Base 10.1.22
 my_hash_sort_mb_bin@Base 10.1.22
 my_hash_sort_simple@Base 10.1.22
 my_hash_update@Base 10.1.22
 my_have_got_alarm@Base 10.1.22
 my_hrtime@Base 10.1.22
 my_init@Base 5.5.36
 my_init_done@Base 10.1.22
 my_init_mysys_psi_keys@Base 10.1.22
 my_init_time@Base 10.1.22
 my_instr_mb@Base 10.1.22
 my_instr_simple@Base 10.1.22
 my_interval_timer@Base 10.1.22
 my_io_wait_async@Base 10.1.22
 my_is_symlink@Base 10.1.22
 my_lengthsp_8bit@Base 10.1.22
 my_lengthsp_binary@Base 10.1.22
 my_like_range_generic@Base 10.1.22
 my_like_range_mb@Base 10.1.22
 my_like_range_simple@Base 10.1.22
 my_load_defaults@Base 10.1.22
 my_load_path@Base 10.1.22
 my_long10_to_str_8bit@Base 10.1.22
 my_longlong10_to_str_8bit@Base 10.1.22
 my_make_scrambled_password@Base 5.5.36
 my_make_scrambled_password_323@Base 10.1.22
 my_malloc@Base 5.5.37
 my_mb_ctype_8bit@Base 10.1.22
 my_mb_ctype_mb@Base 10.1.22
 my_mb_wc_8bit@Base 10.1.22
 my_mbcharlen_8bit@Base 10.1.22
 my_memdup@Base 5.5.37
 my_message@Base 10.1.22
 my_message_stderr@Base 10.1.22
 my_multi_malloc@Base 10.1.22
 my_multi_malloc_large@Base 10.1.22
 my_mutex_end@Base 10.1.22
 my_mutex_init@Base 10.1.22
 my_net_init@Base 10.1.22
 my_net_local_init@Base 10.1.22
 my_net_read_packet@Base 10.1.22
 my_net_set_read_timeout@Base 10.1.22
 my_net_set_write_timeout@Base 10.1.22
 my_net_write@Base 10.1.22
 my_numcells_8bit@Base 10.1.22
 my_numcells_mb@Base 10.1.22
 my_numchars_8bit@Base 10.1.22
 my_numchars_mb@Base 10.1.22
 my_once_alloc@Base 10.1.22
 my_once_extra@Base 10.1.22
 my_once_free@Base 10.1.22
 my_once_memdup@Base 10.1.22
 my_once_root_block@Base 10.1.22
 my_once_strdup@Base 10.1.22
 my_open@Base 10.1.22
 my_parse_charset_xml@Base 10.1.22
 my_pipe_sig_handler@Base 10.1.22
 my_print_default_files@Base 10.1.22
 my_print_help@Base 5.5.36
 my_print_variables@Base 10.1.22
 my_printf_error@Base 10.1.22
 my_printv_error@Base 10.1.22
 my_progname@Base 5.5.38
 my_progname_short@Base 10.1.22
 my_propagate_complex@Base 10.1.22
 my_propagate_simple@Base 10.1.22
 my_pthread_create_detached@Base 10.1.22
 my_qsort@Base 10.1.22
 my_read@Base 10.1.22
 my_readlink@Base 10.1.22
 my_realloc@Base 5.5.37
 my_realpath@Base 10.1.22
 my_recv_async@Base 10.1.22
 my_register_filename@Base 10.1.22
 my_rnd@Base 10.1.22
 my_rnd_init@Base 10.1.22
 my_rnd_ssl@Base 10.1.22
 my_scan_8bit@Base 10.1.22
 my_search_option_files@Base 10.1.22
 my_send_async@Base 10.1.22
 my_setwd@Base 10.1.22
 my_snprintf@Base 10.1.22
 my_snprintf_8bit@Base 10.1.22
 my_ssl_read_async@Base 10.1.22
 my_ssl_write_async@Base 10.1.22
 my_stat@Base 10.1.22
 my_str_free@Base 10.1.22
 my_str_malloc@Base 10.1.22
 my_str_realloc@Base 10.1.22
 my_str_realloc_default@Base 10.1.22
 my_strcasecmp_8bit@Base 10.1.22
 my_strcasecmp_mb@Base 10.1.22
 my_strcasecmp_mb_bin@Base 10.1.22
 my_strdup@Base 5.5.37
 my_stream_opened@Base 10.1.22
 my_strerror@Base 10.1.22
 my_string_metadata_get@Base 10.1.22
 my_string_repertoire@Base 10.1.22
 my_string_repertoire_8bit@Base 10.1.22
 my_string_stack_guard@Base 10.1.22
 my_strndup@Base 10.1.22
 my_strnncoll_mb_bin@Base 10.1.22
 my_strnncoll_simple@Base 10.1.22
 my_strnncollsp_mb_bin@Base 10.1.22
 my_strnncollsp_simple@Base 10.1.22
 my_strntod_8bit@Base 10.1.22
 my_strntol_8bit@Base 10.1.22
 my_strntoll_8bit@Base 10.1.22
 my_strntoul_8bit@Base 10.1.22
 my_strntoull10rnd_8bit@Base 10.1.22
 my_strntoull_8bit@Base 10.1.22
 my_strnxfrm_mb@Base 10.1.22
 my_strnxfrm_simple@Base 10.1.22
 my_strnxfrm_unicode@Base 10.1.22
 my_strnxfrm_unicode_full_bin@Base 10.1.22
 my_strnxfrmlen_simple@Base 10.1.22
 my_strnxfrmlen_unicode@Base 10.1.22
 my_strnxfrmlen_unicode_full_bin@Base 10.1.22
 my_strtod@Base 10.1.22
 my_strtoll10@Base 10.1.22
 my_strtoll10_8bit@Base 10.1.22
 my_strxfrm_desc_and_reverse@Base 10.1.22
 my_strxfrm_flag_normalize@Base 10.1.22
 my_strxfrm_pad_desc_and_reverse@Base 10.1.22
 my_symlink@Base 10.1.22
 my_sync@Base 10.1.22
 my_sync_count@Base 10.1.22
 my_sync_dir@Base 10.1.22
 my_sync_dir_by_file@Base 10.1.22
 my_system_gmt_sec@Base 10.1.22
 my_thr_key_mysys_exists@Base 10.1.22
 my_thread_dbug_id@Base 10.1.22
 my_thread_destroy_common_mutex@Base 10.1.22
 my_thread_destroy_internal_mutex@Base 10.1.22
 my_thread_end@Base 10.1.22
 my_thread_end_wait_time@Base 10.1.22
 my_thread_global_end@Base 10.1.22
 my_thread_global_init@Base 10.1.22
 my_thread_global_reinit@Base 10.1.22
 my_thread_init@Base 10.1.22
 my_thread_name@Base 10.1.22
 my_thread_stack_size@Base 10.1.22
 my_thread_var_mutex_in_use@Base 10.1.22
 my_time_init@Base 10.1.22
 my_time_to_str@Base 10.1.22
 my_time_to_wait_for_lock@Base 10.1.22
 my_timeval_to_str@Base 10.1.22
 my_tmp_file_created@Base 10.1.22
 my_uca_can_be_contraction_head@Base 10.1.22
 my_uca_can_be_contraction_tail@Base 10.1.22
 my_uca_contraction2_weight@Base 10.1.22
 my_uca_v400@Base 10.1.22
 my_uca_v520@Base 10.1.22
 my_uca_v520_th@Base 10.1.22
 my_umask@Base 10.1.22
 my_umask_dir@Base 10.1.22
 my_uncompress@Base 10.1.22
 my_uni_ctype@Base 10.1.22
 my_unicase_default@Base 10.1.22
 my_unicase_mysql500@Base 10.1.22
 my_unicase_pages_mysql500@Base 10.1.22
 my_unicase_pages_unicode520@Base 10.1.22
 my_unicase_turkish@Base 10.1.22
 my_unicase_unicode520@Base 10.1.22
 my_use_symdir@Base 10.1.22
 my_vfprintf@Base 10.1.22
 my_vsnprintf@Base 10.1.22
 my_vsnprintf_ex@Base 10.1.22
 my_wc_mb_8bit@Base 10.1.22
 my_wc_mb_bin@Base 10.1.22
 my_well_formed_char_length_8bit@Base 10.1.22
 my_well_formed_len_8bit@Base 10.1.22
 my_well_formed_len_mb@Base 10.1.22
 my_wildcmp_8bit@Base 10.1.22
 my_wildcmp_bin@Base 10.1.22
 my_wildcmp_mb@Base 10.1.22
 my_wildcmp_mb_bin@Base 10.1.22
 my_wildcmp_uca@Base 10.1.22
 my_wildcmp_unicode@Base 10.1.22
 my_xml_error_lineno@Base 10.1.22
 my_xml_error_pos@Base 10.1.22
 my_xml_error_string@Base 10.1.22
 my_xml_parse@Base 10.1.22
 my_xml_parser_create@Base 10.1.22
 my_xml_parser_free@Base 10.1.22
 my_xml_set_enter_handler@Base 10.1.22
 my_xml_set_leave_handler@Base 10.1.22
 my_xml_set_user_data@Base 10.1.22
 my_xml_set_value_handler@Base 10.1.22
 myodbc_remove_escape@Base 5.5.36
 mysql_affected_rows@Base 5.5.36
 mysql_autocommit@Base 5.5.36
 mysql_autocommit_cont@Base 5.5.36
 mysql_autocommit_start@Base 5.5.36
 mysql_change_user@Base 5.5.36
 mysql_change_user_cont@Base 5.5.36
 mysql_change_user_start@Base 5.5.36
 mysql_character_set_name@Base 5.5.36
 mysql_client_builtins@Base 10.1.22
 mysql_client_find_plugin@Base 5.5.36
 mysql_client_plugin_deinit@Base 10.1.22
 mysql_client_plugin_init@Base 10.1.22
 mysql_client_register_plugin@Base 5.5.36
 mysql_close@Base 5.5.36
 mysql_close_cont@Base 5.5.36
 mysql_close_slow_part@Base 10.1.22
 mysql_close_slow_part_cont@Base 10.1.22
 mysql_close_slow_part_start@Base 10.1.22
 mysql_close_start@Base 5.5.36
 mysql_commit@Base 5.5.36
 mysql_commit_cont@Base 5.5.36
 mysql_commit_start@Base 5.5.36
 mysql_data_home@Base 10.1.22
 mysql_data_seek@Base 5.5.36
 mysql_debug@Base 5.5.36
 mysql_detach_stmt_list@Base 10.1.22
 mysql_dump_debug_info@Base 5.5.36
 mysql_dump_debug_info_cont@Base 5.5.36
 mysql_dump_debug_info_start@Base 5.5.36
 mysql_embedded@Base 5.5.36
 mysql_eof@Base 5.5.36
 mysql_errno@Base 5.5.36
 mysql_error@Base 5.5.36
 mysql_escape_string@Base 5.5.36
 mysql_fetch_field@Base 5.5.36
 mysql_fetch_field_direct@Base 5.5.36
 mysql_fetch_fields@Base 5.5.36
 mysql_fetch_lengths@Base 5.5.36
 mysql_fetch_row@Base 5.5.36
 mysql_fetch_row_cont@Base 5.5.36
 mysql_fetch_row_start@Base 5.5.36
 mysql_field_count@Base 5.5.36
 mysql_field_seek@Base 5.5.36
 mysql_field_tell@Base 5.5.36
 mysql_free_result@Base 5.5.36
 mysql_free_result_cont@Base 5.5.36
 mysql_free_result_start@Base 5.5.36
 mysql_get_character_set_info@Base 5.5.36
 mysql_get_client_info@Base 5.5.36
 mysql_get_client_version@Base 5.5.36
 mysql_get_host_info@Base 5.5.36
 mysql_get_parameters@Base 5.5.36
 mysql_get_proto_info@Base 5.5.36
 mysql_get_server_info@Base 5.5.36
 mysql_get_server_name@Base 10.1.22
 mysql_get_server_version@Base 5.5.36
 mysql_get_socket@Base 5.5.36
 mysql_get_ssl_cipher@Base 5.5.36
 mysql_get_timeout_value@Base 5.5.36
 mysql_get_timeout_value_ms@Base 5.5.36
 mysql_hex_string@Base 5.5.36
 mysql_info@Base 5.5.36
 mysql_init@Base 5.5.36
 mysql_init_character_set@Base 10.1.22
 mysql_insert_id@Base 5.5.36
 mysql_kill@Base 5.5.36
 mysql_kill_cont@Base 5.5.36
 mysql_kill_start@Base 5.5.36
 mysql_list_dbs@Base 5.5.36
 mysql_list_dbs_cont@Base 5.5.36
 mysql_list_dbs_start@Base 5.5.36
 mysql_list_fields@Base 5.5.36
 mysql_list_fields_cont@Base 5.5.36
 mysql_list_fields_start@Base 5.5.36
 mysql_list_processes@Base 5.5.36
 mysql_list_processes_cont@Base 5.5.36
 mysql_list_processes_start@Base 5.5.36
 mysql_list_tables@Base 5.5.36
 mysql_list_tables_cont@Base 5.5.36
 mysql_list_tables_start@Base 5.5.36
 mysql_load_plugin@Base 5.5.36
 mysql_load_plugin_v@Base 5.5.36
 mysql_more_results@Base 5.5.36
 mysql_net_field_length@Base 10.0.26
 mysql_net_read_packet@Base 10.0.26
 mysql_next_result@Base 5.5.36
 mysql_next_result_cont@Base 5.5.36
 mysql_next_result_start@Base 5.5.36
 mysql_num_fields@Base 5.5.36
 mysql_num_rows@Base 5.5.36
 mysql_options4@Base 10.0.14
 mysql_options@Base 5.5.36
 mysql_ping@Base 5.5.36
 mysql_ping_cont@Base 5.5.36
 mysql_ping_start@Base 5.5.36
 mysql_plugin_options@Base 5.5.36
 mysql_port@Base 10.1.22
 mysql_query@Base 5.5.36
 mysql_query_cont@Base 5.5.36
 mysql_query_start@Base 5.5.36
 mysql_read_default_options@Base 10.1.22
 mysql_read_query_result@Base 5.5.36
 mysql_read_query_result_cont@Base 5.5.36
 mysql_read_query_result_start@Base 5.5.36
 mysql_real_connect@Base 5.5.36
 mysql_real_connect_cont@Base 5.5.36
 mysql_real_connect_start@Base 5.5.36
 mysql_real_escape_string@Base 5.5.36
 mysql_real_query@Base 5.5.36
 mysql_real_query_cont@Base 5.5.36
 mysql_real_query_start@Base 5.5.36
 mysql_reconnect@Base 10.1.22
 mysql_refresh@Base 5.5.36
 mysql_refresh_cont@Base 5.5.36
 mysql_refresh_start@Base 5.5.36
 mysql_rollback@Base 5.5.36
 mysql_rollback_cont@Base 5.5.36
 mysql_rollback_start@Base 5.5.36
 mysql_row_seek@Base 5.5.36
 mysql_row_tell@Base 5.5.36
 mysql_select_db@Base 5.5.36
 mysql_select_db_cont@Base 5.5.36
 mysql_select_db_start@Base 5.5.36
 mysql_send_query@Base 5.5.36
 mysql_send_query_cont@Base 5.5.36
 mysql_send_query_start@Base 5.5.36
 mysql_server_end@Base 5.5.36
 mysql_server_init@Base 5.5.36
 mysql_server_last_errno@Base 10.1.22
 mysql_server_last_error@Base 10.1.22
 mysql_set_character_set@Base 5.5.36
 mysql_set_character_set_cont@Base 5.5.36
 mysql_set_character_set_start@Base 5.5.36
 mysql_set_local_infile_default@Base 5.5.36
 mysql_set_local_infile_handler@Base 5.5.36
 mysql_set_server_option@Base 5.5.36
 mysql_set_server_option_cont@Base 5.5.36
 mysql_set_server_option_start@Base 5.5.36
 mysql_shutdown@Base 5.5.36
 mysql_shutdown_cont@Base 5.5.36
 mysql_shutdown_start@Base 5.5.36
 mysql_socket_vio_new@Base 10.1.22
 mysql_sqlstate@Base 5.5.36
 mysql_ssl_set@Base 5.5.36
 mysql_stat@Base 5.5.36
 mysql_stat_cont@Base 5.5.36
 mysql_stat_start@Base 5.5.36
 mysql_stdin@Base 10.1.22
 mysql_stmt_affected_rows@Base 5.5.36
 mysql_stmt_attr_get@Base 5.5.36
 mysql_stmt_attr_set@Base 5.5.36
 mysql_stmt_bind_param@Base 5.5.36
 mysql_stmt_bind_result@Base 5.5.36
 mysql_stmt_close@Base 5.5.36
 mysql_stmt_close_cont@Base 5.5.36
 mysql_stmt_close_start@Base 5.5.36
 mysql_stmt_data_seek@Base 5.5.36
 mysql_stmt_errno@Base 5.5.36
 mysql_stmt_error@Base 5.5.36
 mysql_stmt_execute@Base 5.5.36
 mysql_stmt_execute_cont@Base 5.5.36
 mysql_stmt_execute_start@Base 5.5.36
 mysql_stmt_fetch@Base 5.5.36
 mysql_stmt_fetch_column@Base 5.5.36
 mysql_stmt_fetch_cont@Base 5.5.36
 mysql_stmt_fetch_start@Base 5.5.36
 mysql_stmt_field_count@Base 5.5.36
 mysql_stmt_free_result@Base 5.5.36
 mysql_stmt_free_result_cont@Base 5.5.36
 mysql_stmt_free_result_start@Base 5.5.36
 mysql_stmt_init@Base 5.5.36
 mysql_stmt_insert_id@Base 5.5.36
 mysql_stmt_next_result@Base 5.5.36
 mysql_stmt_next_result_cont@Base 5.5.36
 mysql_stmt_next_result_start@Base 5.5.36
 mysql_stmt_num_rows@Base 5.5.36
 mysql_stmt_param_count@Base 5.5.36
 mysql_stmt_param_metadata@Base 5.5.36
 mysql_stmt_prepare@Base 5.5.36
 mysql_stmt_prepare_cont@Base 5.5.36
 mysql_stmt_prepare_start@Base 5.5.36
 mysql_stmt_reset@Base 5.5.36
 mysql_stmt_reset_cont@Base 5.5.36
 mysql_stmt_reset_start@Base 5.5.36
 mysql_stmt_result_metadata@Base 5.5.36
 mysql_stmt_row_seek@Base 5.5.36
 mysql_stmt_row_tell@Base 5.5.36
 mysql_stmt_send_long_data@Base 5.5.36
 mysql_stmt_send_long_data_cont@Base 5.5.36
 mysql_stmt_send_long_data_start@Base 5.5.36
 mysql_stmt_sqlstate@Base 5.5.36
 mysql_stmt_store_result@Base 5.5.36
 mysql_stmt_store_result_cont@Base 5.5.36
 mysql_stmt_store_result_start@Base 5.5.36
 mysql_store_result@Base 5.5.36
 mysql_store_result_cont@Base 5.5.36
 mysql_store_result_start@Base 5.5.36
 mysql_thread_end@Base 5.5.36
 mysql_thread_id@Base 5.5.36
 mysql_thread_init@Base 5.5.36
 mysql_thread_safe@Base 5.5.36
 mysql_unix_port@Base 10.1.22
 mysql_use_result@Base 5.5.36
 mysql_warning_count@Base 5.5.36
 mysys_test_invalid_symlink@Base 10.1.22
 mysys_usage_id@Base 10.1.22
 net_buffer_length@Base 10.1.22
 net_clear@Base 10.1.22
 net_clear_error@Base 10.1.22
 net_end@Base 10.1.22
 net_field_length@Base 10.1.22
 net_field_length_ll@Base 10.1.22
 net_flush@Base 10.1.22
 net_real_write@Base 10.1.22
 net_realloc@Base 5.5.36
 net_store_length@Base 10.1.22
 net_write_command@Base 10.1.22
 new_VioSSLAcceptorFd@Base 10.1.22
 new_VioSSLConnectorFd@Base 10.1.22
 normalize_dirname@Base 10.1.22
 not_error_sqlstate@Base 10.1.22
 number_to_datetime@Base 10.1.22
 number_to_time@Base 10.1.22
 octet2hex@Base 10.1.22
 opt_flush_ok_packet@Base 10.1.22
 pack_dirname@Base 10.1.22
 pack_time@Base 10.1.22
 plugin_list@Base 10.1.22
 pop_dynamic@Base 10.1.22
 print_defaults@Base 10.1.22
 proc_info_hook@Base 10.1.22
 pthread_dummy@Base 10.1.22
 read_user_name@Base 10.1.22
 reset_root_defaults@Base 10.1.22
 resolve_charset@Base 10.1.22
 resolve_collation@Base 10.1.22
 run_plugin_auth@Base 10.1.22
 safe_net_field_length_ll@Base 10.1.22
 safe_net_store_length@Base 10.1.22
 scramble@Base 5.5.36
 scramble_323@Base 10.1.22
 send_client_connect_attrs@Base 10.1.22
 set_dynamic@Base 5.5.37
 set_malloc_size_cb@Base 10.1.22
 set_mysql_error@Base 10.1.22
 set_mysql_extended_error@Base 10.1.22
 set_mysys_var@Base 10.1.22
 set_prealloc_root@Base 10.1.22
 set_psi_server@Base 10.1.22
 set_stmt_errmsg@Base 10.1.22
 set_stmt_error@Base 10.1.22
 set_zero_time@Base 10.1.22
 sf_leaking_memory@Base 10.1.22
 soundex_map@Base 10.1.22
 sql_protocol_names_lib@Base 10.1.22
 sql_protocol_typelib@Base 10.1.22
 sslGetErrString@Base 10.1.22
 sslaccept@Base 10.1.22
 sslconnect@Base 10.1.22
 stage_waiting_for_table_level_lock@Base 10.1.22
 str2int@Base 10.1.22
 str_to_datetime@Base 10.1.22
 str_to_time@Base 10.1.22
 strcend@Base 10.1.22
 strdup_root@Base 5.5.37
 strend@Base 5.5.37
 strlength@Base 10.1.22
 strmake@Base 5.5.37
 strmake_root@Base 5.5.37
 strmov_overlapp@Base 10.1.22
 strnmov@Base 10.1.22
 strxmov@Base 5.5.37
 strxnmov@Base 10.1.22
 system_filename@Base 10.1.22
 test_if_hard_path@Base 10.1.22
 thai_contractions@Base 10.1.22
 thai_contractions_w2@Base 10.1.22
 thd_lib_detected@Base 10.1.22
 thr_set_sync_wait_callback@Base 10.1.22
 timed_mutexes@Base 10.1.22
 uca520_length@Base 10.1.22
 uca520_length_w2@Base 10.1.22
 ullstr@Base 10.1.22
 ulonglong2decimal@Base 10.1.22
 unknown_sqlstate@Base 10.1.22
 unpack_dirname@Base 10.1.22
 unpack_fields@Base 10.1.22
 unpack_filename@Base 10.1.22
 unpack_time@Base 10.1.22
 vio_blocking@Base 10.1.22
 vio_buff_has_data@Base 10.1.22
 vio_close@Base 10.1.22
 vio_delete@Base 10.1.22
 vio_description@Base 10.1.22
 vio_end@Base 10.1.22
 vio_errno@Base 10.1.22
 vio_fastsend@Base 10.1.22
 vio_fd@Base 10.1.22
 vio_get_normalized_ip_string@Base 10.1.22
 vio_getnameinfo@Base 10.1.22
 vio_io_wait@Base 10.1.22
 vio_is_blocking@Base 10.1.22
 vio_is_connected@Base 10.1.22
 vio_is_no_name_error@Base 10.1.22
 vio_keepalive@Base 10.1.22
 vio_new@Base 10.1.22
 vio_peer_addr@Base 10.1.22
 vio_read@Base 10.1.22
 vio_read_buff@Base 10.1.22
 vio_reset@Base 10.1.22
 vio_set_wait_callback@Base 10.1.22
 vio_should_retry@Base 10.1.22
 vio_socket_connect@Base 10.1.22
 vio_socket_io_wait@Base 10.1.22
 vio_socket_shutdown@Base 10.1.22
 vio_socket_timeout@Base 10.1.22
 vio_ssl_blocking@Base 10.1.22
 vio_ssl_close@Base 10.1.22
 vio_ssl_delete@Base 10.1.22
 vio_ssl_has_data@Base 10.1.22
 vio_ssl_read@Base 10.1.22
 vio_ssl_write@Base 10.1.22
 vio_timeout@Base 10.1.22
 vio_type@Base 10.1.22
 vio_was_timeout@Base 10.1.22
 vio_write@Base 10.1.22
 wait_for_free_space@Base 10.1.22
 year_2000_handling@Base 10.1.22
Index: mariadb-10.1-10.1.23/mysys/mysys_priv.h
===================================================================
--- mariadb-10.1-10.1.23.orig/mysys/mysys_priv.h
+++ mariadb-10.1-10.1.23/mysys/mysys_priv.h
@@ -16,6 +16,10 @@
 #ifndef MYSYS_PRIV_INCLUDED
 #define MYSYS_PRIV_INCLUDED
 
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+
 #include <my_global.h>
 #include <my_sys.h>
 #include <my_crypt.h>
@@ -111,7 +115,7 @@ void my_error_unregister_all(void);
 #ifndef O_PATH        /* not Linux */
 #if defined(O_SEARCH) /* Illumos */
 #define O_PATH O_SEARCH
-#elif defined(O_EXEC) /* FreeBSD */
+#elif defined(O_EXEC) && defined(__FreeBSD_kernel__) /* FreeBSD */
 #define O_PATH O_EXEC
 #endif
 #endif
@@ -128,8 +132,8 @@ const char *my_open_parent_dir_nosymlink
   return res;
 #elif defined(HAVE_REALPATH)
 #define NOSYMLINK_FUNCTION_BODY(AT,NOAT)                                \
-  char buf[PATH_MAX+1];                                                 \
-  if (realpath(pathname, buf) == NULL) return -1;                       \
+  char *buf = realpath(NULL, 0);                                        \
+  if (buf == NULL) return -1;                                           \
   if (strcmp(pathname, buf)) { errno= ENOTDIR; return -1; }             \
   return NOAT;
 #else
Index: mariadb-10.1-10.1.23/storage/mroonga/vendor/groonga/lib/grn_com.h
===================================================================
--- mariadb-10.1-10.1.23.orig/storage/mroonga/vendor/groonga/lib/grn_com.h
+++ mariadb-10.1-10.1.23/storage/mroonga/vendor/groonga/lib/grn_com.h
@@ -66,13 +66,22 @@ GRN_API grn_com_queue_entry *grn_com_que
 
 /******* grn_com ********/
 
-#ifdef USE_SELECT
+#if defined(USE_SELECT)
 # ifdef HAVE_SYS_SELECT_H
 #  include <sys/select.h>
 # endif /* HAVE_SYS_SELECT_H */
 # define GRN_COM_POLLIN  1
 # define GRN_COM_POLLOUT 2
 #else /* USE_SELECT */
+# ifdef USE_POLL
+#  if defined(HAVE_POLL_H)
+#    include <poll.h>
+#  elif defined(HAVE_SYS_POLL_H)
+#    include <sys/poll.h>
+#  endif /* defined(HAVE_POLL_H) */
+#  define GRN_COM_POLLIN  POLLIN
+#  define GRN_COM_POLLOUT POLLOUT
+#else /* USE_POLL */
 # ifdef USE_EPOLL
 #  include <sys/epoll.h>
 #  define GRN_COM_POLLIN  EPOLLIN
@@ -82,16 +91,9 @@ GRN_API grn_com_queue_entry *grn_com_que
 #   include <sys/event.h>
 #   define GRN_COM_POLLIN  EVFILT_READ
 #   define GRN_COM_POLLOUT EVFILT_WRITE
-#  else /* USE_KQUEUE */
-#    if defined(HAVE_POLL_H)
-#      include <poll.h>
-#    elif defined(HAVE_SYS_POLL_H)
-#      include <sys/poll.h>
-#    endif /* defined(HAVE_POLL_H) */
-#   define GRN_COM_POLLIN  POLLIN
-#   define GRN_COM_POLLOUT POLLOUT
 #  endif /* USE_KQUEUE */
 # endif /* USE_EPOLL */
+#endif /* USE_POLL */
 #endif /* USE_SELECT */
 
 typedef struct _grn_com grn_com;
@@ -137,7 +139,7 @@ struct _grn_com_event {
   grn_com_addr curr_edge_id;
   grn_com *acceptor;
   void *opaque;
-#ifndef USE_SELECT
+#if !defined(USE_SELECT) || !defined(USE_POLL)
 #ifdef USE_EPOLL
   int epfd;
   struct epoll_event *events;
@@ -150,7 +152,7 @@ struct _grn_com_event {
   struct pollfd *events;
 #endif /* USE_KQUEUE */
 #endif /* USE_EPOLL */
-#endif /* USE_SELECT */
+#endif /* USE_SELECT || USE_POLL */
 };
 
 grn_rc grn_com_init(void);
Index: mariadb-10.1-10.1.23/storage/mroonga/vendor/groonga/lib/com.c
===================================================================
--- mariadb-10.1-10.1.23.orig/storage/mroonga/vendor/groonga/lib/com.c
+++ mariadb-10.1-10.1.23/storage/mroonga/vendor/groonga/lib/com.c
@@ -277,7 +277,7 @@ grn_com_event_init(grn_ctx *ctx, grn_com
     MUTEX_INIT(ev->mutex);
     COND_INIT(ev->cond);
     GRN_COM_QUEUE_INIT(&ev->recv_old);
-#ifndef USE_SELECT
+#if !defined(USE_SELECT) && !defined(USE_POLL)
 # ifdef USE_EPOLL
     if ((ev->events = GRN_MALLOC(sizeof(struct epoll_event) * max_nevents))) {
       if ((ev->epfd = epoll_create(max_nevents)) != -1) {
@@ -306,9 +306,9 @@ grn_com_event_init(grn_ctx *ctx, grn_com
     grn_hash_close(ctx, ev->hash);
     ev->hash = NULL;
     ev->events = NULL;
-#else /* USE_SELECT */
+#else /* USE_SELECT && USE_POLL */
     goto exit;
-#endif /* USE_SELECT */
+#endif /* USE_SELECT && USE_POLL */
   }
 exit :
   return ctx->rc;
@@ -322,7 +322,7 @@ grn_com_event_fin(grn_ctx *ctx, grn_com_
     grn_msg_close(ctx, msg);
   }
   if (ev->hash) { grn_hash_close(ctx, ev->hash); }
-#ifndef USE_SELECT
+#if !defined(USE_SELECT) && !defined(USE_POLL)
   if (ev->events) { GRN_FREE(ev->events); }
 # ifdef USE_EPOLL
   grn_close(ev->epfd);
@@ -330,7 +330,7 @@ grn_com_event_fin(grn_ctx *ctx, grn_com_
 # ifdef USE_KQUEUE
   grn_close(ev->kqfd);
 # endif /* USE_KQUEUE*/
-#endif /* USE_SELECT */
+#endif /* USE_SELECT && USE_POLL */
   return GRN_SUCCESS;
 }
 
Index: mariadb-10.1-10.1.23/sql/wsrep_binlog.cc
===================================================================
--- mariadb-10.1-10.1.23.orig/sql/wsrep_binlog.cc
+++ mariadb-10.1-10.1.23/sql/wsrep_binlog.cc
@@ -318,13 +318,23 @@ int wsrep_write_cache(wsrep_t*  const ws
 
 void wsrep_dump_rbr_buf(THD *thd, const void* rbr_buf, size_t buf_len)
 {
-  char filename[PATH_MAX]= {0};
-  int len= snprintf(filename, PATH_MAX, "%s/GRA_%ld_%lld.log",
+  int len = snprintf(NULL, 0, "%s/GRA_%ld_%lld.log",
                     wsrep_data_home_dir, thd->thread_id,
                     (long long)wsrep_thd_trx_seqno(thd));
-  if (len >= PATH_MAX)
+  if (len < 0)
   {
-    WSREP_ERROR("RBR dump path too long: %d, skipping dump.", len);
+    WSREP_ERROR("snprintf error: %d, skipping dump.", len);
+    DBUG_VOID_RETURN;
+  }
+
+  char *filename= (char *)malloc(len++);
+  int len1= snprintf(filename, len, "%s/GRA_%ld_%lld.log",
+                    wsrep_data_home_dir, thd->thread_id,
+                    (long long)wsrep_thd_trx_seqno(thd));
+  if (len >= len1)
+  {
+    WSREP_ERROR("RBR dump path truncated: %d, skipping dump.", len);
+    free(filename);
     return;
   }
 
@@ -343,6 +353,7 @@ void wsrep_dump_rbr_buf(THD *thd, const
     WSREP_ERROR("Failed to open file '%s': %d (%s)",
                 filename, errno, strerror(errno));
   }
+  free(filename);
 }
 
 /*
@@ -448,19 +459,29 @@ void wsrep_dump_rbr_buf_with_header(THD
 {
   DBUG_ENTER("wsrep_dump_rbr_buf_with_header");
 
-  char filename[PATH_MAX]= {0};
   File file;
   IO_CACHE cache;
   Log_event_writer writer(&cache);
   Format_description_log_event *ev;
 
-  int len= my_snprintf(filename, PATH_MAX, "%s/GRA_%ld_%lld_v2.log",
+  int len= snprintf(NULL, 0, "%s/GRA_%ld_%lld_v2.log",
+                    wsrep_data_home_dir, thd->thread_id,
+                    (long long) wsrep_thd_trx_seqno(thd));
+
+  if (len < 0)
+  {
+    WSREP_ERROR("snprintf error: %d, skipping dump.", len);
+    DBUG_VOID_RETURN;
+  }
+
+  char *filename= (char*)malloc(len++);
+  int len1= my_snprintf(filename, len, "%s/GRA_%ld_%lld_v2.log",
                        wsrep_data_home_dir, thd->thread_id,
                        (long long) wsrep_thd_trx_seqno(thd));
 
-  if (len >= PATH_MAX)
+  if (len >= len1)
   {
-    WSREP_ERROR("RBR dump path too long: %d, skipping dump.", len);
+    WSREP_ERROR("RBR dump path truncated: %d, skipping dump.", len);
     DBUG_VOID_RETURN;
   }
 
@@ -498,6 +519,7 @@ void wsrep_dump_rbr_buf_with_header(THD
   }
 
 cleanup2:
+  free(filename);
   end_io_cache(&cache);
 
 cleanup1:
Index: mariadb-10.1-10.1.23/extra/mariabackup/backup_copy.cc
===================================================================
--- mariadb-10.1-10.1.23.orig/extra/mariabackup/backup_copy.cc
+++ mariadb-10.1-10.1.23/extra/mariabackup/backup_copy.cc
@@ -623,11 +623,13 @@ static
 int
 mkdirp(const char *pathname, int Flags, myf MyFlags)
 {
-	char parent[PATH_MAX], *p;
+	char *parent, *p;
+	int len = strlen(pathname) + 1;
 
 	/* make a parent directory path */
-	strncpy(parent, pathname, sizeof(parent));
-	parent[sizeof(parent) - 1] = 0;
+	parent = (char *)malloc(len);
+	strncpy(parent, pathname, len);
+	parent[len] = 0;
 
 	for (p = parent + strlen(parent);
 	    !is_path_separator(*p) && p != parent; p--);
@@ -636,19 +638,23 @@ mkdirp(const char *pathname, int Flags,
 
 	/* try to make parent directory */
 	if (p != parent && mkdirp(parent, Flags, MyFlags) != 0) {
+		free(parent);
 		return(-1);
 	}
 
 	/* make this one if parent has been made */
 	if (my_mkdir(pathname, Flags, MyFlags) == 0) {
+		free(parent);
 		return(0);
 	}
 
 	/* if it already exists that is fine */
 	if (errno == EEXIST) {
+		free(parent);
 		return(0);
 	}
 
+	free(parent);
 	return(-1);
 }
 
@@ -658,17 +664,24 @@ bool
 equal_paths(const char *first, const char *second)
 {
 #ifdef HAVE_REALPATH
-	char real_first[PATH_MAX];
-	char real_second[PATH_MAX];
+	char *real_first, *real_second;
+	int result;
 
-	if (realpath(first, real_first) == NULL) {
+	real_first = realpath(first, 0);
+	if (real_first == NULL) {
 		return false;
 	}
-	if (realpath(second, real_second) == NULL) {
+
+	real_second = realpath(second, 0);
+	if (real_second == NULL) {
+		free(real_second);
 		return false;
 	}
 
-	return (strcmp(real_first, real_second) == 0);
+	result = strcmp(real_first, real_second);
+	free(real_first);
+	free(real_second);
+	return result == 0;
 #else
 	return strcmp(first, second) == 0;
 #endif

Reply via email to