summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2023-02-16 13:34:45 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2023-02-16 13:34:45 +0200
commit2e431ff7e69d9c887777cc597ccf5cfb446e13d8 (patch)
tree98be0df7531bbe1f26e1f339cf18430556bca933 /mysys
parent80b4fa54e1d38c8f90f6b94240c583aa9d4627b7 (diff)
parent1fd00998390a7487e42f5e29472e99354159c8bc (diff)
downloadmariadb-git-2e431ff7e69d9c887777cc597ccf5cfb446e13d8.tar.gz
Merge 10.11 into 11.0
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 2b74b7c8c16..9a049689dce 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)