[meta-oe,master,kirkstone] mariadb: update to 10.7.4

Message ID 20220526193224.1739376-1-akuster808@gmail.com
State Under Review
Headers show
Series [meta-oe,master,kirkstone] mariadb: update to 10.7.4 | expand

Commit Message

akuster808 May 26, 2022, 7:32 p.m. UTC
LTS version, bugfix only update.

Drop clang-64bit-atomics.patch as the patched code was removed in this update.
https://github.com/MariaDB/server/commit/cf483a7766d0730872232fdedd727d30a493fe29

Includes these CVES:
CVE-2022-27458
CVE-2022-27457
CVE-2022-27456
CVE-2022-27455
CVE-2022-27452
CVE-2022-27451
CVE-2022-27449
CVE-2022-27448
CVE-2022-27447
CVE-2022-27446
CVE-2022-27445
CVE-2022-27444
CVE-2022-27387
CVE-2022-27386
CVE-2022-27384
CVE-2022-27383
CVE-2022-27382
CVE-2022-27381
CVE-2022-27380
CVE-2022-27379
CVE-2022-27378
CVE-2022-27377
CVE-2022-27376

Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
 ...ive_10.7.3.bb => mariadb-native_10.7.4.bb} |   0
 meta-oe/recipes-dbs/mysql/mariadb.inc         |   3 +-
 .../mysql/mariadb/clang-64bit-atomics.patch   | 178 ------------------
 .../{mariadb_10.7.3.bb => mariadb_10.7.4.bb}  |   0
 4 files changed, 1 insertion(+), 180 deletions(-)
 rename meta-oe/recipes-dbs/mysql/{mariadb-native_10.7.3.bb => mariadb-native_10.7.4.bb} (100%)
 delete mode 100644 meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch
 rename meta-oe/recipes-dbs/mysql/{mariadb_10.7.3.bb => mariadb_10.7.4.bb} (100%)

Comments

Khem Raj May 27, 2022, 2:03 a.m. UTC | #1
on x86 ( qemux86 ) This fails with

pfs_instr.cc:(.text+0x10a5): undefined reference to `__atomic_fetch_add_8'

see
https://errors.yoctoproject.org/Errors/Details/657260/

somewhere we need to link with latomic on x86

On Thu, May 26, 2022 at 12:32 PM Armin Kuster <akuster808@gmail.com> wrote:
>
> LTS version, bugfix only update.
>
> Drop clang-64bit-atomics.patch as the patched code was removed in this update.
> https://github.com/MariaDB/server/commit/cf483a7766d0730872232fdedd727d30a493fe29
>
> Includes these CVES:
> CVE-2022-27458
> CVE-2022-27457
> CVE-2022-27456
> CVE-2022-27455
> CVE-2022-27452
> CVE-2022-27451
> CVE-2022-27449
> CVE-2022-27448
> CVE-2022-27447
> CVE-2022-27446
> CVE-2022-27445
> CVE-2022-27444
> CVE-2022-27387
> CVE-2022-27386
> CVE-2022-27384
> CVE-2022-27383
> CVE-2022-27382
> CVE-2022-27381
> CVE-2022-27380
> CVE-2022-27379
> CVE-2022-27378
> CVE-2022-27377
> CVE-2022-27376
>
> Signed-off-by: Armin Kuster <akuster808@gmail.com>
> ---
>  ...ive_10.7.3.bb => mariadb-native_10.7.4.bb} |   0
>  meta-oe/recipes-dbs/mysql/mariadb.inc         |   3 +-
>  .../mysql/mariadb/clang-64bit-atomics.patch   | 178 ------------------
>  .../{mariadb_10.7.3.bb => mariadb_10.7.4.bb}  |   0
>  4 files changed, 1 insertion(+), 180 deletions(-)
>  rename meta-oe/recipes-dbs/mysql/{mariadb-native_10.7.3.bb => mariadb-native_10.7.4.bb} (100%)
>  delete mode 100644 meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch
>  rename meta-oe/recipes-dbs/mysql/{mariadb_10.7.3.bb => mariadb_10.7.4.bb} (100%)
>
> diff --git a/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.3.bb b/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.4.bb
> similarity index 100%
> rename from meta-oe/recipes-dbs/mysql/mariadb-native_10.7.3.bb
> rename to meta-oe/recipes-dbs/mysql/mariadb-native_10.7.4.bb
> diff --git a/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-oe/recipes-dbs/mysql/mariadb.inc
> index 855f124834..3f246dc0a5 100644
> --- a/meta-oe/recipes-dbs/mysql/mariadb.inc
> +++ b/meta-oe/recipes-dbs/mysql/mariadb.inc
> @@ -20,11 +20,10 @@ SRC_URI = "https://archive.mariadb.org/${BP}/source/${BP}.tar.gz \
>             file://mm_malloc.patch \
>             file://sys_futex.patch \
>             file://mariadb-openssl3.patch \
> -           file://clang-64bit-atomics.patch \
>            "
>  SRC_URI:append:libc-musl = " file://ppc-remove-glibc-dep.patch"
>
> -SRC_URI[sha256sum] = "da286919ffc9c913282202349709b6ba4ebcd342815e8dae0aa6b6bd8f515cd4"
> +SRC_URI[sha256sum] = "73dd9c9d325520f20ca5e0ef16f94b7be1146bed7e4a78e735c20daebf3a4173"
>
>  UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
>
> diff --git a/meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch b/meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch
> deleted file mode 100644
> index cdc2947b7b..0000000000
> --- a/meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch
> +++ /dev/null
> @@ -1,178 +0,0 @@
> -Prevent Clang from emitting atomic libcalls
> -
> -Clang expects 8-byte alignment for some 64-bit atomic operations
> -in some 32-bit targets. Native instruction lock cmpxchg8b (for x86)
> -should only require 4-byte alignment.
> -
> -This patch tries to add 8-byte alignents to data needing atomic ops
> -which helps clang to not generate the libatomic calls but emit
> -builtins directly.
> -
> -Upstream-Status: Submitted[https://jira.mariadb.org/browse/MDEV-28162]
> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> -
> ---- a/include/my_atomic.h
> -+++ b/include/my_atomic.h
> -@@ -115,6 +115,16 @@
> - #include "atomic/gcc_builtins.h"
> - #endif
> -
> -+#include <stdint.h>
> -+
> -+# ifdef __GNUC__
> -+typedef __attribute__((__aligned__(8))) int64 ATOMIC_I64;
> -+typedef __attribute__((__aligned__(8))) uint64 ATOMIC_U64;
> -+# else
> -+typedef int64 ATOMIC_I64;
> -+typedef uint64 ATOMIC_U64;
> -+# endif
> -+
> - #if SIZEOF_LONG == 4
> - #define my_atomic_addlong(A,B) my_atomic_add32((int32*) (A), (B))
> - #define my_atomic_loadlong(A) my_atomic_load32((int32*) (A))
> -@@ -123,12 +133,12 @@
> - #define my_atomic_faslong(A,B) my_atomic_fas32((int32*) (A), (B))
> - #define my_atomic_caslong(A,B,C) my_atomic_cas32((int32*) (A), (int32*) (B), (C))
> - #else
> --#define my_atomic_addlong(A,B) my_atomic_add64((int64*) (A), (B))
> --#define my_atomic_loadlong(A) my_atomic_load64((int64*) (A))
> --#define my_atomic_loadlong_explicit(A,O) my_atomic_load64_explicit((int64*) (A), (O))
> --#define my_atomic_storelong(A,B) my_atomic_store64((int64*) (A), (B))
> --#define my_atomic_faslong(A,B) my_atomic_fas64((int64*) (A), (B))
> --#define my_atomic_caslong(A,B,C) my_atomic_cas64((int64*) (A), (int64*) (B), (C))
> -+#define my_atomic_addlong(A,B) my_atomic_add64((ATOMIC_I64*) (A), (B))
> -+#define my_atomic_loadlong(A) my_atomic_load64((ATOMIC_I64*) (A))
> -+#define my_atomic_loadlong_explicit(A,O) my_atomic_load64_explicit((ATOMIC_I64*) (A), (O))
> -+#define my_atomic_storelong(A,B) my_atomic_store64((ATOMIC_I64*) (A), (B))
> -+#define my_atomic_faslong(A,B) my_atomic_fas64((ATOMIC_I64*) (A), (B))
> -+#define my_atomic_caslong(A,B,C) my_atomic_cas64((ATOMIC_I64*) (A), (ATOMIC_I64*) (B), (C))
> - #endif
> -
> - #ifndef MY_MEMORY_ORDER_SEQ_CST
> ---- a/storage/perfschema/pfs_atomic.h
> -+++ b/storage/perfschema/pfs_atomic.h
> -@@ -41,7 +41,7 @@ public:
> -   }
> -
> -   /** Atomic load. */
> --  static inline int64 load_64(int64 *ptr)
> -+  static inline int64 load_64(ATOMIC_I64 *ptr)
> -   {
> -     return my_atomic_load64(ptr);
> -   }
> -@@ -53,9 +53,9 @@ public:
> -   }
> -
> -   /** Atomic load. */
> --  static inline uint64 load_u64(uint64 *ptr)
> -+  static inline uint64 load_u64(ATOMIC_U64 *ptr)
> -   {
> --    return (uint64) my_atomic_load64((int64*) ptr);
> -+    return (uint64) my_atomic_load64((ATOMIC_I64*) ptr);
> -   }
> -
> -   /** Atomic store. */
> -@@ -65,7 +65,7 @@ public:
> -   }
> -
> -   /** Atomic store. */
> --  static inline void store_64(int64 *ptr, int64 value)
> -+  static inline void store_64(ATOMIC_I64 *ptr, int64 value)
> -   {
> -     my_atomic_store64(ptr, value);
> -   }
> -@@ -77,9 +77,9 @@ public:
> -   }
> -
> -   /** Atomic store. */
> --  static inline void store_u64(uint64 *ptr, uint64 value)
> -+  static inline void store_u64(ATOMIC_U64 *ptr, uint64 value)
> -   {
> --    my_atomic_store64((int64*) ptr, (int64) value);
> -+    my_atomic_store64((ATOMIC_I64*) ptr, (int64) value);
> -   }
> -
> -   /** Atomic add. */
> -@@ -89,7 +89,7 @@ public:
> -   }
> -
> -   /** Atomic add. */
> --  static inline int64 add_64(int64 *ptr, int64 value)
> -+  static inline int64 add_64(ATOMIC_I64 *ptr, int64 value)
> -   {
> -     return my_atomic_add64(ptr, value);
> -   }
> -@@ -101,9 +101,9 @@ public:
> -   }
> -
> -   /** Atomic add. */
> --  static inline uint64 add_u64(uint64 *ptr, uint64 value)
> -+  static inline uint64 add_u64(ATOMIC_U64 *ptr, uint64 value)
> -   {
> --    return (uint64) my_atomic_add64((int64*) ptr, (int64) value);
> -+    return (uint64) my_atomic_add64((ATOMIC_I64*) ptr, (int64) value);
> -   }
> -
> -   /** Atomic compare and swap. */
> -@@ -114,7 +114,7 @@ public:
> -   }
> -
> -   /** Atomic compare and swap. */
> --  static inline bool cas_64(int64 *ptr, int64 *old_value,
> -+  static inline bool cas_64(ATOMIC_I64 *ptr, ATOMIC_I64 *old_value,
> -                             int64 new_value)
> -   {
> -     return my_atomic_cas64(ptr, old_value, new_value);
> -@@ -129,10 +129,10 @@ public:
> -   }
> -
> -   /** Atomic compare and swap. */
> --  static inline bool cas_u64(uint64 *ptr, uint64 *old_value,
> -+  static inline bool cas_u64(ATOMIC_U64 *ptr, ATOMIC_U64 *old_value,
> -                              uint64 new_value)
> -   {
> --    return my_atomic_cas64((int64*) ptr, (int64*) old_value,
> -+    return my_atomic_cas64((ATOMIC_I64*) ptr, (ATOMIC_I64*) old_value,
> -                             (uint64) new_value);
> -   }
> - };
> ---- a/sql/sql_class.h
> -+++ b/sql/sql_class.h
> -@@ -1049,7 +1049,7 @@ static inline void update_global_memory_
> -                       (longlong) global_status_var.global_memory_used,
> -                       size));
> -   // workaround for gcc 4.2.4-1ubuntu4 -fPIE (from DEB_BUILD_HARDENING=1)
> --  int64 volatile * volatile ptr= &global_status_var.global_memory_used;
> -+  ATOMIC_I64 volatile * volatile ptr= &global_status_var.global_memory_used;
> -   my_atomic_add64_explicit(ptr, size, MY_MEMORY_ORDER_RELAXED);
> - }
> -
> ---- a/storage/innobase/include/srv0mon.h
> -+++ b/storage/innobase/include/srv0mon.h
> -@@ -49,7 +49,7 @@ enum monitor_running_status {
> - typedef enum monitor_running_status   monitor_running_t;
> -
> - /** Monitor counter value type */
> --typedef       int64_t                         mon_type_t;
> -+typedef       ATOMIC_I64                      mon_type_t;
> -
> - /** Two monitor structures are defined in this file. One is
> - "monitor_value_t" which contains dynamic counter values for each
> -@@ -568,7 +568,7 @@ Use MONITOR_INC if appropriate mutex pro
> -       if (enabled) {                                                  \
> -               ib_uint64_t     value;                                  \
> -               value  = my_atomic_add64_explicit(                      \
> --                      (int64*) &MONITOR_VALUE(monitor), 1,            \
> -+                      (ATOMIC_I64*) &MONITOR_VALUE(monitor), 1,       \
> -                       MY_MEMORY_ORDER_RELAXED) + 1;                   \
> -               /* Note: This is not 100% accurate because of the       \
> -               inherent race, we ignore it due to performance. */      \
> -@@ -585,7 +585,7 @@ Use MONITOR_DEC if appropriate mutex pro
> -       if (enabled) {                                                  \
> -               ib_uint64_t     value;                                  \
> -               value = my_atomic_add64_explicit(                       \
> --                      (int64*) &MONITOR_VALUE(monitor), -1,           \
> -+                      (ATOMIC_I64*) &MONITOR_VALUE(monitor), -1,      \
> -                       MY_MEMORY_ORDER_RELAXED) - 1;                   \
> -               /* Note: This is not 100% accurate because of the       \
> -               inherent race, we ignore it due to performance. */      \
> diff --git a/meta-oe/recipes-dbs/mysql/mariadb_10.7.3.bb b/meta-oe/recipes-dbs/mysql/mariadb_10.7.4.bb
> similarity index 100%
> rename from meta-oe/recipes-dbs/mysql/mariadb_10.7.3.bb
> rename to meta-oe/recipes-dbs/mysql/mariadb_10.7.4.bb
> --
> 2.25.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#97280): https://lists.openembedded.org/g/openembedded-devel/message/97280
> Mute This Topic: https://lists.openembedded.org/mt/91362003/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
akuster808 May 27, 2022, 2:09 p.m. UTC | #2
On 5/26/22 19:03, Khem Raj wrote:
> on x86 ( qemux86 ) This fails with
>
> pfs_instr.cc:(.text+0x10a5): undefined reference to `__atomic_fetch_add_8'
>
> see
> https://errors.yoctoproject.org/Errors/Details/657260/
>
> somewhere we need to link with latomic on x86

Ah. I can reproduce this with clang.

-armin
>
> On Thu, May 26, 2022 at 12:32 PM Armin Kuster <akuster808@gmail.com> wrote:
>> LTS version, bugfix only update.
>>
>> Drop clang-64bit-atomics.patch as the patched code was removed in this update.
>> https://github.com/MariaDB/server/commit/cf483a7766d0730872232fdedd727d30a493fe29
>>
>> Includes these CVES:
>> CVE-2022-27458
>> CVE-2022-27457
>> CVE-2022-27456
>> CVE-2022-27455
>> CVE-2022-27452
>> CVE-2022-27451
>> CVE-2022-27449
>> CVE-2022-27448
>> CVE-2022-27447
>> CVE-2022-27446
>> CVE-2022-27445
>> CVE-2022-27444
>> CVE-2022-27387
>> CVE-2022-27386
>> CVE-2022-27384
>> CVE-2022-27383
>> CVE-2022-27382
>> CVE-2022-27381
>> CVE-2022-27380
>> CVE-2022-27379
>> CVE-2022-27378
>> CVE-2022-27377
>> CVE-2022-27376
>>
>> Signed-off-by: Armin Kuster <akuster808@gmail.com>
>> ---
>>   ...ive_10.7.3.bb => mariadb-native_10.7.4.bb} |   0
>>   meta-oe/recipes-dbs/mysql/mariadb.inc         |   3 +-
>>   .../mysql/mariadb/clang-64bit-atomics.patch   | 178 ------------------
>>   .../{mariadb_10.7.3.bb => mariadb_10.7.4.bb}  |   0
>>   4 files changed, 1 insertion(+), 180 deletions(-)
>>   rename meta-oe/recipes-dbs/mysql/{mariadb-native_10.7.3.bb => mariadb-native_10.7.4.bb} (100%)
>>   delete mode 100644 meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch
>>   rename meta-oe/recipes-dbs/mysql/{mariadb_10.7.3.bb => mariadb_10.7.4.bb} (100%)
>>
>> diff --git a/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.3.bb b/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.4.bb
>> similarity index 100%
>> rename from meta-oe/recipes-dbs/mysql/mariadb-native_10.7.3.bb
>> rename to meta-oe/recipes-dbs/mysql/mariadb-native_10.7.4.bb
>> diff --git a/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-oe/recipes-dbs/mysql/mariadb.inc
>> index 855f124834..3f246dc0a5 100644
>> --- a/meta-oe/recipes-dbs/mysql/mariadb.inc
>> +++ b/meta-oe/recipes-dbs/mysql/mariadb.inc
>> @@ -20,11 +20,10 @@ SRC_URI = "https://archive.mariadb.org/${BP}/source/${BP}.tar.gz \
>>              file://mm_malloc.patch \
>>              file://sys_futex.patch \
>>              file://mariadb-openssl3.patch \
>> -           file://clang-64bit-atomics.patch \
>>             "
>>   SRC_URI:append:libc-musl = " file://ppc-remove-glibc-dep.patch"
>>
>> -SRC_URI[sha256sum] = "da286919ffc9c913282202349709b6ba4ebcd342815e8dae0aa6b6bd8f515cd4"
>> +SRC_URI[sha256sum] = "73dd9c9d325520f20ca5e0ef16f94b7be1146bed7e4a78e735c20daebf3a4173"
>>
>>   UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
>>
>> diff --git a/meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch b/meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch
>> deleted file mode 100644
>> index cdc2947b7b..0000000000
>> --- a/meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch
>> +++ /dev/null
>> @@ -1,178 +0,0 @@
>> -Prevent Clang from emitting atomic libcalls
>> -
>> -Clang expects 8-byte alignment for some 64-bit atomic operations
>> -in some 32-bit targets. Native instruction lock cmpxchg8b (for x86)
>> -should only require 4-byte alignment.
>> -
>> -This patch tries to add 8-byte alignents to data needing atomic ops
>> -which helps clang to not generate the libatomic calls but emit
>> -builtins directly.
>> -
>> -Upstream-Status: Submitted[https://jira.mariadb.org/browse/MDEV-28162]
>> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> -
>> ---- a/include/my_atomic.h
>> -+++ b/include/my_atomic.h
>> -@@ -115,6 +115,16 @@
>> - #include "atomic/gcc_builtins.h"
>> - #endif
>> -
>> -+#include <stdint.h>
>> -+
>> -+# ifdef __GNUC__
>> -+typedef __attribute__((__aligned__(8))) int64 ATOMIC_I64;
>> -+typedef __attribute__((__aligned__(8))) uint64 ATOMIC_U64;
>> -+# else
>> -+typedef int64 ATOMIC_I64;
>> -+typedef uint64 ATOMIC_U64;
>> -+# endif
>> -+
>> - #if SIZEOF_LONG == 4
>> - #define my_atomic_addlong(A,B) my_atomic_add32((int32*) (A), (B))
>> - #define my_atomic_loadlong(A) my_atomic_load32((int32*) (A))
>> -@@ -123,12 +133,12 @@
>> - #define my_atomic_faslong(A,B) my_atomic_fas32((int32*) (A), (B))
>> - #define my_atomic_caslong(A,B,C) my_atomic_cas32((int32*) (A), (int32*) (B), (C))
>> - #else
>> --#define my_atomic_addlong(A,B) my_atomic_add64((int64*) (A), (B))
>> --#define my_atomic_loadlong(A) my_atomic_load64((int64*) (A))
>> --#define my_atomic_loadlong_explicit(A,O) my_atomic_load64_explicit((int64*) (A), (O))
>> --#define my_atomic_storelong(A,B) my_atomic_store64((int64*) (A), (B))
>> --#define my_atomic_faslong(A,B) my_atomic_fas64((int64*) (A), (B))
>> --#define my_atomic_caslong(A,B,C) my_atomic_cas64((int64*) (A), (int64*) (B), (C))
>> -+#define my_atomic_addlong(A,B) my_atomic_add64((ATOMIC_I64*) (A), (B))
>> -+#define my_atomic_loadlong(A) my_atomic_load64((ATOMIC_I64*) (A))
>> -+#define my_atomic_loadlong_explicit(A,O) my_atomic_load64_explicit((ATOMIC_I64*) (A), (O))
>> -+#define my_atomic_storelong(A,B) my_atomic_store64((ATOMIC_I64*) (A), (B))
>> -+#define my_atomic_faslong(A,B) my_atomic_fas64((ATOMIC_I64*) (A), (B))
>> -+#define my_atomic_caslong(A,B,C) my_atomic_cas64((ATOMIC_I64*) (A), (ATOMIC_I64*) (B), (C))
>> - #endif
>> -
>> - #ifndef MY_MEMORY_ORDER_SEQ_CST
>> ---- a/storage/perfschema/pfs_atomic.h
>> -+++ b/storage/perfschema/pfs_atomic.h
>> -@@ -41,7 +41,7 @@ public:
>> -   }
>> -
>> -   /** Atomic load. */
>> --  static inline int64 load_64(int64 *ptr)
>> -+  static inline int64 load_64(ATOMIC_I64 *ptr)
>> -   {
>> -     return my_atomic_load64(ptr);
>> -   }
>> -@@ -53,9 +53,9 @@ public:
>> -   }
>> -
>> -   /** Atomic load. */
>> --  static inline uint64 load_u64(uint64 *ptr)
>> -+  static inline uint64 load_u64(ATOMIC_U64 *ptr)
>> -   {
>> --    return (uint64) my_atomic_load64((int64*) ptr);
>> -+    return (uint64) my_atomic_load64((ATOMIC_I64*) ptr);
>> -   }
>> -
>> -   /** Atomic store. */
>> -@@ -65,7 +65,7 @@ public:
>> -   }
>> -
>> -   /** Atomic store. */
>> --  static inline void store_64(int64 *ptr, int64 value)
>> -+  static inline void store_64(ATOMIC_I64 *ptr, int64 value)
>> -   {
>> -     my_atomic_store64(ptr, value);
>> -   }
>> -@@ -77,9 +77,9 @@ public:
>> -   }
>> -
>> -   /** Atomic store. */
>> --  static inline void store_u64(uint64 *ptr, uint64 value)
>> -+  static inline void store_u64(ATOMIC_U64 *ptr, uint64 value)
>> -   {
>> --    my_atomic_store64((int64*) ptr, (int64) value);
>> -+    my_atomic_store64((ATOMIC_I64*) ptr, (int64) value);
>> -   }
>> -
>> -   /** Atomic add. */
>> -@@ -89,7 +89,7 @@ public:
>> -   }
>> -
>> -   /** Atomic add. */
>> --  static inline int64 add_64(int64 *ptr, int64 value)
>> -+  static inline int64 add_64(ATOMIC_I64 *ptr, int64 value)
>> -   {
>> -     return my_atomic_add64(ptr, value);
>> -   }
>> -@@ -101,9 +101,9 @@ public:
>> -   }
>> -
>> -   /** Atomic add. */
>> --  static inline uint64 add_u64(uint64 *ptr, uint64 value)
>> -+  static inline uint64 add_u64(ATOMIC_U64 *ptr, uint64 value)
>> -   {
>> --    return (uint64) my_atomic_add64((int64*) ptr, (int64) value);
>> -+    return (uint64) my_atomic_add64((ATOMIC_I64*) ptr, (int64) value);
>> -   }
>> -
>> -   /** Atomic compare and swap. */
>> -@@ -114,7 +114,7 @@ public:
>> -   }
>> -
>> -   /** Atomic compare and swap. */
>> --  static inline bool cas_64(int64 *ptr, int64 *old_value,
>> -+  static inline bool cas_64(ATOMIC_I64 *ptr, ATOMIC_I64 *old_value,
>> -                             int64 new_value)
>> -   {
>> -     return my_atomic_cas64(ptr, old_value, new_value);
>> -@@ -129,10 +129,10 @@ public:
>> -   }
>> -
>> -   /** Atomic compare and swap. */
>> --  static inline bool cas_u64(uint64 *ptr, uint64 *old_value,
>> -+  static inline bool cas_u64(ATOMIC_U64 *ptr, ATOMIC_U64 *old_value,
>> -                              uint64 new_value)
>> -   {
>> --    return my_atomic_cas64((int64*) ptr, (int64*) old_value,
>> -+    return my_atomic_cas64((ATOMIC_I64*) ptr, (ATOMIC_I64*) old_value,
>> -                             (uint64) new_value);
>> -   }
>> - };
>> ---- a/sql/sql_class.h
>> -+++ b/sql/sql_class.h
>> -@@ -1049,7 +1049,7 @@ static inline void update_global_memory_
>> -                       (longlong) global_status_var.global_memory_used,
>> -                       size));
>> -   // workaround for gcc 4.2.4-1ubuntu4 -fPIE (from DEB_BUILD_HARDENING=1)
>> --  int64 volatile * volatile ptr= &global_status_var.global_memory_used;
>> -+  ATOMIC_I64 volatile * volatile ptr= &global_status_var.global_memory_used;
>> -   my_atomic_add64_explicit(ptr, size, MY_MEMORY_ORDER_RELAXED);
>> - }
>> -
>> ---- a/storage/innobase/include/srv0mon.h
>> -+++ b/storage/innobase/include/srv0mon.h
>> -@@ -49,7 +49,7 @@ enum monitor_running_status {
>> - typedef enum monitor_running_status   monitor_running_t;
>> -
>> - /** Monitor counter value type */
>> --typedef       int64_t                         mon_type_t;
>> -+typedef       ATOMIC_I64                      mon_type_t;
>> -
>> - /** Two monitor structures are defined in this file. One is
>> - "monitor_value_t" which contains dynamic counter values for each
>> -@@ -568,7 +568,7 @@ Use MONITOR_INC if appropriate mutex pro
>> -       if (enabled) {                                                  \
>> -               ib_uint64_t     value;                                  \
>> -               value  = my_atomic_add64_explicit(                      \
>> --                      (int64*) &MONITOR_VALUE(monitor), 1,            \
>> -+                      (ATOMIC_I64*) &MONITOR_VALUE(monitor), 1,       \
>> -                       MY_MEMORY_ORDER_RELAXED) + 1;                   \
>> -               /* Note: This is not 100% accurate because of the       \
>> -               inherent race, we ignore it due to performance. */      \
>> -@@ -585,7 +585,7 @@ Use MONITOR_DEC if appropriate mutex pro
>> -       if (enabled) {                                                  \
>> -               ib_uint64_t     value;                                  \
>> -               value = my_atomic_add64_explicit(                       \
>> --                      (int64*) &MONITOR_VALUE(monitor), -1,           \
>> -+                      (ATOMIC_I64*) &MONITOR_VALUE(monitor), -1,      \
>> -                       MY_MEMORY_ORDER_RELAXED) - 1;                   \
>> -               /* Note: This is not 100% accurate because of the       \
>> -               inherent race, we ignore it due to performance. */      \
>> diff --git a/meta-oe/recipes-dbs/mysql/mariadb_10.7.3.bb b/meta-oe/recipes-dbs/mysql/mariadb_10.7.4.bb
>> similarity index 100%
>> rename from meta-oe/recipes-dbs/mysql/mariadb_10.7.3.bb
>> rename to meta-oe/recipes-dbs/mysql/mariadb_10.7.4.bb
>> --
>> 2.25.1
>>
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#97280): https://lists.openembedded.org/g/openembedded-devel/message/97280
>> Mute This Topic: https://lists.openembedded.org/mt/91362003/1997914
>> Group Owner: openembedded-devel+owner@lists.openembedded.org
>> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>

Patch

diff --git a/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.3.bb b/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.4.bb
similarity index 100%
rename from meta-oe/recipes-dbs/mysql/mariadb-native_10.7.3.bb
rename to meta-oe/recipes-dbs/mysql/mariadb-native_10.7.4.bb
diff --git a/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-oe/recipes-dbs/mysql/mariadb.inc
index 855f124834..3f246dc0a5 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -20,11 +20,10 @@  SRC_URI = "https://archive.mariadb.org/${BP}/source/${BP}.tar.gz \
            file://mm_malloc.patch \
            file://sys_futex.patch \
            file://mariadb-openssl3.patch \
-           file://clang-64bit-atomics.patch \
           "
 SRC_URI:append:libc-musl = " file://ppc-remove-glibc-dep.patch"
 
-SRC_URI[sha256sum] = "da286919ffc9c913282202349709b6ba4ebcd342815e8dae0aa6b6bd8f515cd4"
+SRC_URI[sha256sum] = "73dd9c9d325520f20ca5e0ef16f94b7be1146bed7e4a78e735c20daebf3a4173"
 
 UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
 
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch b/meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch
deleted file mode 100644
index cdc2947b7b..0000000000
--- a/meta-oe/recipes-dbs/mysql/mariadb/clang-64bit-atomics.patch
+++ /dev/null
@@ -1,178 +0,0 @@ 
-Prevent Clang from emitting atomic libcalls
-
-Clang expects 8-byte alignment for some 64-bit atomic operations
-in some 32-bit targets. Native instruction lock cmpxchg8b (for x86)
-should only require 4-byte alignment.
-
-This patch tries to add 8-byte alignents to data needing atomic ops
-which helps clang to not generate the libatomic calls but emit
-builtins directly.
-
-Upstream-Status: Submitted[https://jira.mariadb.org/browse/MDEV-28162]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/include/my_atomic.h
-+++ b/include/my_atomic.h
-@@ -115,6 +115,16 @@
- #include "atomic/gcc_builtins.h"
- #endif
- 
-+#include <stdint.h>
-+
-+# ifdef __GNUC__
-+typedef __attribute__((__aligned__(8))) int64 ATOMIC_I64;
-+typedef __attribute__((__aligned__(8))) uint64 ATOMIC_U64;
-+# else
-+typedef int64 ATOMIC_I64;
-+typedef uint64 ATOMIC_U64;
-+# endif
-+
- #if SIZEOF_LONG == 4
- #define my_atomic_addlong(A,B) my_atomic_add32((int32*) (A), (B))
- #define my_atomic_loadlong(A) my_atomic_load32((int32*) (A))
-@@ -123,12 +133,12 @@
- #define my_atomic_faslong(A,B) my_atomic_fas32((int32*) (A), (B))
- #define my_atomic_caslong(A,B,C) my_atomic_cas32((int32*) (A), (int32*) (B), (C))
- #else
--#define my_atomic_addlong(A,B) my_atomic_add64((int64*) (A), (B))
--#define my_atomic_loadlong(A) my_atomic_load64((int64*) (A))
--#define my_atomic_loadlong_explicit(A,O) my_atomic_load64_explicit((int64*) (A), (O))
--#define my_atomic_storelong(A,B) my_atomic_store64((int64*) (A), (B))
--#define my_atomic_faslong(A,B) my_atomic_fas64((int64*) (A), (B))
--#define my_atomic_caslong(A,B,C) my_atomic_cas64((int64*) (A), (int64*) (B), (C))
-+#define my_atomic_addlong(A,B) my_atomic_add64((ATOMIC_I64*) (A), (B))
-+#define my_atomic_loadlong(A) my_atomic_load64((ATOMIC_I64*) (A))
-+#define my_atomic_loadlong_explicit(A,O) my_atomic_load64_explicit((ATOMIC_I64*) (A), (O))
-+#define my_atomic_storelong(A,B) my_atomic_store64((ATOMIC_I64*) (A), (B))
-+#define my_atomic_faslong(A,B) my_atomic_fas64((ATOMIC_I64*) (A), (B))
-+#define my_atomic_caslong(A,B,C) my_atomic_cas64((ATOMIC_I64*) (A), (ATOMIC_I64*) (B), (C))
- #endif
- 
- #ifndef MY_MEMORY_ORDER_SEQ_CST
---- a/storage/perfschema/pfs_atomic.h
-+++ b/storage/perfschema/pfs_atomic.h
-@@ -41,7 +41,7 @@ public:
-   }
- 
-   /** Atomic load. */
--  static inline int64 load_64(int64 *ptr)
-+  static inline int64 load_64(ATOMIC_I64 *ptr)
-   {
-     return my_atomic_load64(ptr);
-   }
-@@ -53,9 +53,9 @@ public:
-   }
- 
-   /** Atomic load. */
--  static inline uint64 load_u64(uint64 *ptr)
-+  static inline uint64 load_u64(ATOMIC_U64 *ptr)
-   {
--    return (uint64) my_atomic_load64((int64*) ptr);
-+    return (uint64) my_atomic_load64((ATOMIC_I64*) ptr);
-   }
- 
-   /** Atomic store. */
-@@ -65,7 +65,7 @@ public:
-   }
- 
-   /** Atomic store. */
--  static inline void store_64(int64 *ptr, int64 value)
-+  static inline void store_64(ATOMIC_I64 *ptr, int64 value)
-   {
-     my_atomic_store64(ptr, value);
-   }
-@@ -77,9 +77,9 @@ public:
-   }
- 
-   /** Atomic store. */
--  static inline void store_u64(uint64 *ptr, uint64 value)
-+  static inline void store_u64(ATOMIC_U64 *ptr, uint64 value)
-   {
--    my_atomic_store64((int64*) ptr, (int64) value);
-+    my_atomic_store64((ATOMIC_I64*) ptr, (int64) value);
-   }
- 
-   /** Atomic add. */
-@@ -89,7 +89,7 @@ public:
-   }
- 
-   /** Atomic add. */
--  static inline int64 add_64(int64 *ptr, int64 value)
-+  static inline int64 add_64(ATOMIC_I64 *ptr, int64 value)
-   {
-     return my_atomic_add64(ptr, value);
-   }
-@@ -101,9 +101,9 @@ public:
-   }
- 
-   /** Atomic add. */
--  static inline uint64 add_u64(uint64 *ptr, uint64 value)
-+  static inline uint64 add_u64(ATOMIC_U64 *ptr, uint64 value)
-   {
--    return (uint64) my_atomic_add64((int64*) ptr, (int64) value);
-+    return (uint64) my_atomic_add64((ATOMIC_I64*) ptr, (int64) value);
-   }
- 
-   /** Atomic compare and swap. */
-@@ -114,7 +114,7 @@ public:
-   }
- 
-   /** Atomic compare and swap. */
--  static inline bool cas_64(int64 *ptr, int64 *old_value,
-+  static inline bool cas_64(ATOMIC_I64 *ptr, ATOMIC_I64 *old_value,
-                             int64 new_value)
-   {
-     return my_atomic_cas64(ptr, old_value, new_value);
-@@ -129,10 +129,10 @@ public:
-   }
- 
-   /** Atomic compare and swap. */
--  static inline bool cas_u64(uint64 *ptr, uint64 *old_value,
-+  static inline bool cas_u64(ATOMIC_U64 *ptr, ATOMIC_U64 *old_value,
-                              uint64 new_value)
-   {
--    return my_atomic_cas64((int64*) ptr, (int64*) old_value,
-+    return my_atomic_cas64((ATOMIC_I64*) ptr, (ATOMIC_I64*) old_value,
-                             (uint64) new_value);
-   }
- };
---- a/sql/sql_class.h
-+++ b/sql/sql_class.h
-@@ -1049,7 +1049,7 @@ static inline void update_global_memory_
-                       (longlong) global_status_var.global_memory_used,
-                       size));
-   // workaround for gcc 4.2.4-1ubuntu4 -fPIE (from DEB_BUILD_HARDENING=1)
--  int64 volatile * volatile ptr= &global_status_var.global_memory_used;
-+  ATOMIC_I64 volatile * volatile ptr= &global_status_var.global_memory_used;
-   my_atomic_add64_explicit(ptr, size, MY_MEMORY_ORDER_RELAXED);
- }
- 
---- a/storage/innobase/include/srv0mon.h
-+++ b/storage/innobase/include/srv0mon.h
-@@ -49,7 +49,7 @@ enum monitor_running_status {
- typedef enum monitor_running_status	monitor_running_t;
- 
- /** Monitor counter value type */
--typedef	int64_t				mon_type_t;
-+typedef	ATOMIC_I64			mon_type_t;
- 
- /** Two monitor structures are defined in this file. One is
- "monitor_value_t" which contains dynamic counter values for each
-@@ -568,7 +568,7 @@ Use MONITOR_INC if appropriate mutex pro
- 	if (enabled) {							\
- 		ib_uint64_t	value;					\
- 		value  = my_atomic_add64_explicit(			\
--			(int64*) &MONITOR_VALUE(monitor), 1,		\
-+			(ATOMIC_I64*) &MONITOR_VALUE(monitor), 1,	\
- 			MY_MEMORY_ORDER_RELAXED) + 1;			\
- 		/* Note: This is not 100% accurate because of the	\
- 		inherent race, we ignore it due to performance. */	\
-@@ -585,7 +585,7 @@ Use MONITOR_DEC if appropriate mutex pro
- 	if (enabled) {							\
- 		ib_uint64_t	value;					\
- 		value = my_atomic_add64_explicit(			\
--			(int64*) &MONITOR_VALUE(monitor), -1,		\
-+			(ATOMIC_I64*) &MONITOR_VALUE(monitor), -1,	\
- 			MY_MEMORY_ORDER_RELAXED) - 1;			\
- 		/* Note: This is not 100% accurate because of the	\
- 		inherent race, we ignore it due to performance. */	\
diff --git a/meta-oe/recipes-dbs/mysql/mariadb_10.7.3.bb b/meta-oe/recipes-dbs/mysql/mariadb_10.7.4.bb
similarity index 100%
rename from meta-oe/recipes-dbs/mysql/mariadb_10.7.3.bb
rename to meta-oe/recipes-dbs/mysql/mariadb_10.7.4.bb