aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Grosbein <eugen@FreeBSD.org>2023-03-10 10:43:38 +0000
committerEugene Grosbein <eugen@FreeBSD.org>2023-03-10 10:46:31 +0000
commit6d631ac4b25d4357f91ce4a28c7c776631cbcf0d (patch)
treea9c0af1c0c1db203009bebe6d323b39ecc820ac3
parent090e852bd7cb604a4fdff274021c4b792cd5285a (diff)
downloadports-6d631ac4b25d4357f91ce4a28c7c776631cbcf0d.tar.gz
ports-6d631ac4b25d4357f91ce4a28c7c776631cbcf0d.zip
-rw-r--r--databases/xtrabackup8/Makefile2
-rw-r--r--databases/xtrabackup8/files/patch-storage_innobase_log__log0recv.cc29
2 files changed, 30 insertions, 1 deletions
diff --git a/databases/xtrabackup8/Makefile b/databases/xtrabackup8/Makefile
index c38b83ce5ee1..0a9a58b0f62a 100644
--- a/databases/xtrabackup8/Makefile
+++ b/databases/xtrabackup8/Makefile
@@ -62,7 +62,7 @@ WRKSRC= ${WRKDIR}/${PPORTNAME}-${PPORTNAME}-${DVERSION}
# which is broken on i386 due to different size of types and causes a
# 'static_assert(alignof(T) <= alignof(std::max_align_t))' error
.if ${ARCH} == i386
-CMAKE_ARGS+= -DDISABLE_PSI_MEMORY=1
+CXXFLAGS+= -malign-double
.endif
KEEP_EXTRA= lz4 robin-hood-hashing zlib
diff --git a/databases/xtrabackup8/files/patch-storage_innobase_log__log0recv.cc b/databases/xtrabackup8/files/patch-storage_innobase_log__log0recv.cc
new file mode 100644
index 000000000000..ad9388decfa4
--- /dev/null
+++ b/databases/xtrabackup8/files/patch-storage_innobase_log__log0recv.cc
@@ -0,0 +1,29 @@
+--- storage/innobase/log/log0recv.cc.orig 2023-01-30 20:34:34.000000000 +0700
++++ storage/innobase/log/log0recv.cc 2023-03-10 12:08:29.586971000 +0700
+@@ -3789,7 +3789,7 @@ static bool recv_scan_log_recs(log_t &log,
+ #else /* !UNIV_HOTBACKUP */
+ bool meb_scan_log_recs(
+ #endif /* !UNIV_HOTBACKUP */
+- size_t *max_memory, const byte *buf, size_t len,
++ size_t max_memory, const byte *buf, size_t len,
+ lsn_t start_lsn, lsn_t *read_upto_lsn,
+ dberr_t &err, lsn_t to_lsn) {
+ const byte *log_block = buf;
+@@ -4066,7 +4066,7 @@ bool meb_scan_log_recs(
+ recv_parse_log_recs();
+
+ #ifndef UNIV_HOTBACKUP
+- if (recv_heap_used() > *max_memory) {
++ if (recv_heap_used() > max_memory) {
+ recv_apply_hashed_log_recs(log, false);
+ }
+ #endif /* !UNIV_HOTBACKUP */
+@@ -4254,7 +4254,7 @@ static dberr_t recv_recovery_begin(log_t &log, const l
+
+ dberr_t err;
+
+- finished = recv_scan_log_recs(log, &max_mem, log.buf, end_lsn - start_lsn,
++ finished = recv_scan_log_recs(log, max_mem, log.buf, end_lsn - start_lsn,
+ start_lsn, &log.m_scanned_lsn, err, to_lsn);
+
+ if (err != DB_SUCCESS) {