summaryrefslogtreecommitdiff
path: root/sql/stacktrace.h
diff options
context:
space:
mode:
authorunknown <kaa@polly.local>2006-08-25 17:59:47 +0400
committerunknown <kaa@polly.local>2006-08-25 17:59:47 +0400
commited6b3e6b041102261deea538dec16e2c37869971 (patch)
tree4c51781ae2d6ddf69ab4e2bbcce995a2da5c2e0b /sql/stacktrace.h
parent029af2b126a629cc7fe231df5eb336e806e841e1 (diff)
downloadmariadb-git-ed6b3e6b041102261deea538dec16e2c37869971.tar.gz
Added stacktrace dumps for x86_64 (bug #21250)
Fixed stacktrace dumps for i386/NPTL
Diffstat (limited to 'sql/stacktrace.h')
-rw-r--r--sql/stacktrace.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/sql/stacktrace.h b/sql/stacktrace.h
index d5d1e05ef0e..527d10d70a2 100644
--- a/sql/stacktrace.h
+++ b/sql/stacktrace.h
@@ -19,16 +19,20 @@ extern "C" {
#endif
#ifdef TARGET_OS_LINUX
-#if defined(HAVE_STACKTRACE) || (defined (__i386__) || (defined(__alpha__) && defined(__GNUC__)))
+#if defined(HAVE_STACKTRACE) || (defined (__x86_64__) || defined (__i386__) || (defined(__alpha__) && defined(__GNUC__)))
#undef HAVE_STACKTRACE
#define HAVE_STACKTRACE
extern char* __bss_start;
extern char* heap_start;
-#define init_stacktrace() { heap_start = (char*) &__bss_start; }
+#define init_stacktrace() do { \
+ heap_start = (char*) &__bss_start; \
+ check_thread_lib(); \
+ } while(0);
void print_stacktrace(gptr stack_bottom, ulong thread_stack);
void safe_print_str(const char* name, const char* val, int max_len);
+void check_thread_lib(void);
#endif /* (defined (__i386__) || (defined(__alpha__) && defined(__GNUC__))) */
#endif /* TARGET_OS_LINUX */