summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2023-02-16 10:25:34 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2023-02-16 10:25:34 +0200
commit0d55914d968fcc557d4429a37c61fbdedd9352a6 (patch)
treec119f75d1aac283025ff379b07cab78b6d8b384d /mysys
parent37a46e21815fe1176d211a89283d9bc17fcd39db (diff)
parentb12cd88ce177b475066734b06c1e3a4445a62d86 (diff)
downloadmariadb-git-0d55914d968fcc557d4429a37c61fbdedd9352a6.tar.gz
Merge 10.8 into 10.9
Diffstat (limited to 'mysys')
-rw-r--r--mysys/charset.c2
-rw-r--r--mysys/my_largepage.c2
-rw-r--r--mysys/stacktrace.c8
3 files changed, 7 insertions, 5 deletions
diff --git a/mysys/charset.c b/mysys/charset.c
index da6180dccba..560c713a361 100644
--- a/mysys/charset.c
+++ b/mysys/charset.c
@@ -393,6 +393,8 @@ static int add_collation(struct charset_info_st *cs)
&my_charset_utf8mb4_unicode_ci,
cs);
newcs->m_ctype= my_charset_utf8mb4_unicode_ci.m_ctype;
+ if (init_state_maps(newcs))
+ return MY_XML_ERROR;
newcs->state|= MY_CS_AVAILABLE | MY_CS_LOADED;
#endif
}
diff --git a/mysys/my_largepage.c b/mysys/my_largepage.c
index 9cc1e19772b..b5193a9cd8e 100644
--- a/mysys/my_largepage.c
+++ b/mysys/my_largepage.c
@@ -376,7 +376,7 @@ uchar *my_large_malloc(size_t *size, myf my_flags)
ptr= NULL;
if (my_flags & MY_WME)
{
- if (large_page_size)
+ if (large_page_size && errno == ENOMEM)
{
my_printf_error(EE_OUTOFMEMORY,
"Couldn't allocate %zu bytes (Large/HugeTLB memory "
diff --git a/mysys/stacktrace.c b/mysys/stacktrace.c
index 844d8a0b28f..f203bba4d8d 100644
--- a/mysys/stacktrace.c
+++ b/mysys/stacktrace.c
@@ -34,6 +34,9 @@
#include <execinfo.h>
#endif
+#ifdef HAVE_gcov
+#include <gcov.h>
+#endif
/**
Default handler for printing stacktrace
*/
@@ -409,9 +412,6 @@ end:
/* Produce a core for the thread */
void my_write_core(int sig)
{
-#ifdef HAVE_gcov
- extern void __gcov_flush(void);
-#endif
signal(sig, SIG_DFL);
#ifdef HAVE_gcov
/*
@@ -419,7 +419,7 @@ void my_write_core(int sig)
information from this process, causing gcov output to be incomplete.
So we force the writing of coverage information here before terminating.
*/
- __gcov_flush();
+ __gcov_dump();
#endif
pthread_kill(pthread_self(), sig);
#if defined(P_MYID) && !defined(SCO)