[community-mysql] Fix aarch64 build, rebase cipherspec patch

Honza Horak hhorak at fedoraproject.org
Wed Jun 25 17:27:28 UTC 2014


commit fbe934cf742b0dcd522eeba447398e870603f7e8
Author: Bjorn Munch <bjorn.munch at oracle.com>
Date:   Mon Jun 23 11:12:32 2014 +0200

    Fix aarch64 build, rebase cipherspec patch
    
    Signed-off-by: Bjorn Munch <bjorn.munch at oracle.com>
    Signed-off-by: Honza Horak <hhorak at redhat.com>

 community-mysql-5.6.11-cipherspec.patch        |   46 +++++++++--
 community-mysql-5.6.19-gcc49-aarch64-opt.patch |  102 ++++++++++++++++++++++++
 community-mysql.spec                           |    8 ++-
 3 files changed, 149 insertions(+), 7 deletions(-)
---
diff --git a/community-mysql-5.6.11-cipherspec.patch b/community-mysql-5.6.11-cipherspec.patch
index a79e5b3..b0c5b09 100644
--- a/community-mysql-5.6.11-cipherspec.patch
+++ b/community-mysql-5.6.11-cipherspec.patch
@@ -5,10 +5,10 @@ and tests are adjusted to specify the expected cipher explicitly.
 Upstream bug report: http://bugs.mysql.com/bug.php?id=64461
 
 diff --git a/client/mysqltest.cc b/client/mysqltest.cc
-index b6c8643..0e40b0d 100644
+index 2def9bd..128dc00 100644
 --- a/client/mysqltest.cc
 +++ b/client/mysqltest.cc
-@@ -5496,6 +5496,7 @@ void do_connect(struct st_command *command)
+@@ -5503,6 +5503,7 @@ void do_connect(struct st_command *command)
    my_bool con_pipe= 0, con_shm= 0, con_cleartext_enable= 0;
    my_bool con_secure_auth= 1;
    struct st_connection* con_slot;
@@ -16,7 +16,7 @@ index b6c8643..0e40b0d 100644
  
    static DYNAMIC_STRING ds_connection_name;
    static DYNAMIC_STRING ds_host;
-@@ -5588,6 +5589,8 @@ void do_connect(struct st_command *command)
+@@ -5595,6 +5596,8 @@ void do_connect(struct st_command *command)
        con_cleartext_enable= 1;
      else if (!strncmp(con_options, "SKIPSECUREAUTH",14))
        con_secure_auth= 0;
@@ -25,7 +25,7 @@ index b6c8643..0e40b0d 100644
      else
        die("Illegal option to connect: %.*s", 
            (int) (end - con_options), con_options);
-@@ -5635,8 +5638,11 @@ void do_connect(struct st_command *command)
+@@ -5642,8 +5645,11 @@ void do_connect(struct st_command *command)
    if (con_ssl)
    {
  #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
@@ -38,8 +38,21 @@ index b6c8643..0e40b0d 100644
      mysql_options(&con_slot->mysql, MYSQL_OPT_SSL_CRL, opt_ssl_crl);
      mysql_options(&con_slot->mysql, MYSQL_OPT_SSL_CRLPATH, opt_ssl_crlpath);
  #if MYSQL_VERSION_ID >= 50000
+diff --git a/mysql-test/r/openssl_1.result b/mysql-test/r/openssl_1.result
+index a767a71..3c1ee27 100644
+--- a/mysql-test/r/openssl_1.result
++++ b/mysql-test/r/openssl_1.result
+@@ -197,8 +197,6 @@ Variable_name	Value
+ Ssl_cipher	EDH-RSA-DES-CBC3-SHA
+ Variable_name	Value
+ Ssl_cipher	AES256-SHA
+-Variable_name	Value
+-Ssl_cipher	RC4-SHA
+ select 'is still running; no cipher request crashed the server' as result from dual;
+ result
+ is still running; no cipher request crashed the server
 diff --git a/mysql-test/t/openssl_1.test b/mysql-test/t/openssl_1.test
-index 3e907f1..02b89ad 100644
+index 426de1e..f8c6203 100644
 --- a/mysql-test/t/openssl_1.test
 +++ b/mysql-test/t/openssl_1.test
 @@ -20,13 +20,13 @@ grant select on test.* to ssl_user4 at localhost require cipher "DHE-RSA-AES256-SHA
@@ -70,7 +83,15 @@ index 3e907f1..02b89ad 100644
  --echo End of 5.0 tests
  
  #
-@@ -250,7 +250,7 @@ select 'is still running; no cipher request crashed the server' as result from d
+@@ -215,7 +215,6 @@ DROP TABLE t1;
+ --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=DHE-RSA-AES256-SHA
+ --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC3-SHA
+ --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=AES256-SHA
+---exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=RC4-SHA
+ --disable_query_log
+ --disable_result_log
+ 
+@@ -250,7 +249,7 @@ select 'is still running; no cipher request crashed the server' as result from d
  
  GRANT SELECT ON test.* TO bug42158 at localhost REQUIRE X509;
  FLUSH PRIVILEGES;
@@ -79,6 +100,19 @@ index 3e907f1..02b89ad 100644
  SHOW STATUS LIKE 'Ssl_cipher';
  disconnect con1;
  connection default;
+diff --git a/mysql-test/t/plugin_auth_sha256_tls.test b/mysql-test/t/plugin_auth_sha256_tls.test
+index f99df8a..1b38fda 100644
+--- a/mysql-test/t/plugin_auth_sha256_tls.test
++++ b/mysql-test/t/plugin_auth_sha256_tls.test
+@@ -1,7 +1,7 @@
+ --source include/not_embedded.inc
+ --source include/have_ssl.inc
+ 
+-connect (ssl_con,localhost,root,,,,,SSL);
++connect (ssl_con,localhost,root,,,,,SSL CIPHER:DHE-RSA-AES256-SHA);
+ SHOW STATUS LIKE 'Ssl_cipher';
+ 
+ CREATE USER 'kristofer' IDENTIFIED WITH 'sha256_password';
 diff --git a/mysql-test/t/ssl.test b/mysql-test/t/ssl.test
 index ea8be39..c61ca8b 100644
 --- a/mysql-test/t/ssl.test
diff --git a/community-mysql-5.6.19-gcc49-aarch64-opt.patch b/community-mysql-5.6.19-gcc49-aarch64-opt.patch
new file mode 100644
index 0000000..ed3e295
--- /dev/null
+++ b/community-mysql-5.6.19-gcc49-aarch64-opt.patch
@@ -0,0 +1,102 @@
+diff --git a/storage/perfschema/pfs_account.cc b/storage/perfschema/pfs_account.cc
+index 405364a..ed3bef1 100644
+--- a/storage/perfschema/pfs_account.cc
++++ b/storage/perfschema/pfs_account.cc
+@@ -201,6 +201,13 @@ static void set_account_key(PFS_account_key *key,
+   key->m_key_length= ptr - &key->m_hash_key[0];
+ }
+ 
++#if defined(__aarch64__)
++PFS_account *
++find_or_create_account(PFS_thread *thread,
++		       const char *username, uint username_length,
++		       const char *hostname, uint hostname_length) __attribute__((optimize (1)));
++#endif
++
+ PFS_account *
+ find_or_create_account(PFS_thread *thread,
+                          const char *username, uint username_length,
+diff --git a/storage/perfschema/pfs_digest.cc b/storage/perfschema/pfs_digest.cc
+index addfac1..68e76cd 100644
+--- a/storage/perfschema/pfs_digest.cc
++++ b/storage/perfschema/pfs_digest.cc
+@@ -168,6 +168,14 @@ static LF_PINS* get_digest_hash_pins(PFS_thread *thread)
+   return thread->m_digest_hash_pins;
+ }
+ 
++#if defined(__aarch64__)
++PFS_statement_stat*
++find_or_create_digest(PFS_thread *thread,
++                      PSI_digest_storage *digest_storage,
++                      const char *schema_name,
++                      uint schema_name_length) __attribute__((optimize (1)));
++#endif
++
+ PFS_statement_stat*
+ find_or_create_digest(PFS_thread *thread,
+                       PSI_digest_storage *digest_storage,
+diff --git a/storage/perfschema/pfs_host.cc b/storage/perfschema/pfs_host.cc
+index 0c6f5cf..fc624d7 100644
+--- a/storage/perfschema/pfs_host.cc
++++ b/storage/perfschema/pfs_host.cc
+@@ -193,6 +193,11 @@ static void set_host_key(PFS_host_key *key,
+   key->m_key_length= ptr - &key->m_hash_key[0];
+ }
+ 
++#if defined(__aarch64__)
++PFS_host *find_or_create_host(PFS_thread *thread,
++                              const char *hostname, uint hostname_length) __attribute__((optimize (1)));
++#endif
++
+ PFS_host *find_or_create_host(PFS_thread *thread,
+                               const char *hostname, uint hostname_length)
+ {
+diff --git a/storage/perfschema/pfs_instr.cc b/storage/perfschema/pfs_instr.cc
+index cf0e6fd..8682e04 100644
+--- a/storage/perfschema/pfs_instr.cc
++++ b/storage/perfschema/pfs_instr.cc
+@@ -1149,6 +1149,11 @@ LF_PINS* get_filename_hash_pins(PFS_thread *thread)
+   @param create                       create a file instance if none found
+   @return a file instance, or NULL
+ */
++#if defined(__aarch64__)
++PFS_file*
++find_or_create_file(PFS_thread *thread, PFS_file_class *klass,
++                    const char *filename, uint len, bool create) __attribute__((optimize (1)));
++#endif
+ PFS_file*
+ find_or_create_file(PFS_thread *thread, PFS_file_class *klass,
+                     const char *filename, uint len, bool create)
+diff --git a/storage/perfschema/pfs_instr_class.cc b/storage/perfschema/pfs_instr_class.cc
+index 4d73396..139a2db 100644
+--- a/storage/perfschema/pfs_instr_class.cc
++++ b/storage/perfschema/pfs_instr_class.cc
+@@ -1233,6 +1233,11 @@ static int compare_keys(PFS_table_share *pfs, const TABLE_SHARE *share)
+   @param share                        table share
+   @return a table share, or NULL
+ */
++#if defined(__aarch64__)
++PFS_table_share* find_or_create_table_share(PFS_thread *thread,
++                                            bool temporary,
++                                            const TABLE_SHARE *share) __attribute__((optimize (1)));
++#endif
+ PFS_table_share* find_or_create_table_share(PFS_thread *thread,
+                                             bool temporary,
+                                             const TABLE_SHARE *share)
+diff --git a/storage/perfschema/pfs_user.cc b/storage/perfschema/pfs_user.cc
+index 9f53702..2f418a7 100644
+--- a/storage/perfschema/pfs_user.cc
++++ b/storage/perfschema/pfs_user.cc
+@@ -193,6 +193,12 @@ static void set_user_key(PFS_user_key *key,
+   key->m_key_length= ptr - &key->m_hash_key[0];
+ }
+ 
++#if defined(__aarch64__)
++PFS_user *
++find_or_create_user(PFS_thread *thread,
++                    const char *username, uint username_length)  __attribute__((optimize (1)));
++#endif
++
+ PFS_user *
+ find_or_create_user(PFS_thread *thread,
+                     const char *username, uint username_length)
diff --git a/community-mysql.spec b/community-mysql.spec
index b771873..603d45f 100644
--- a/community-mysql.spec
+++ b/community-mysql.spec
@@ -16,7 +16,7 @@
 
 Name:             community-mysql
 Version:          5.6.19
-Release:          1%{?dist}
+Release:          2%{?dist}
 Summary:          MySQL client programs and shared libraries
 Group:            Applications/Databases
 URL:              http://www.mysql.com
@@ -54,6 +54,7 @@ Patch24:          community-mysql-man-pages.patch
 Patch25:          community-mysql-5.6.16-mysql-install.patch
 Patch26:          community-mysql-5.6.13-major.patch
 Patch34:          community-mysql-pluginerrmsg.patch
+Patch35:          community-mysql-5.6.19-gcc49-aarch64-opt.patch
 
 BuildRequires:    cmake
 BuildRequires:    dos2unix
@@ -242,6 +243,7 @@ the MySQL sources.
 %patch26 -p1
 %endif
 %patch34 -p1
+%patch35 -p1
 
 # Modify tests to pass on all archs
 pushd mysql-test
@@ -651,6 +653,10 @@ popd
 %{_mandir}/man1/mysql_client_test.1*
 
 %changelog
+* Thu Jun 12 2014 Bjorn Munch <bjorn.munch at oracle.com> - 5.6.19-2
+- Fix build on aarch64
+- Rebase cipherspec patch
+
 * Wed Jun 11 2014 Bjorn Munch <bjorn.munch at oracle.com> - 5.6.19-1
 - Update to MySQL 5.6.19, for various fixes described at
   https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-19.html


More information about the scm-commits mailing list