summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorDavi Arnaut <davi.arnaut@oracle.com>2010-11-09 12:45:13 -0200
committerDavi Arnaut <davi.arnaut@oracle.com>2010-11-09 12:45:13 -0200
commit1b88853ab80315746dc38057bbd25ec6da7e9bf6 (patch)
treecde836d0694804f2c65ee001690e501f66267e29 /sql
parent6eaa3c0750bd3a5adb0184af67ba020b9c658c51 (diff)
downloadmariadb-git-1b88853ab80315746dc38057bbd25ec6da7e9bf6.tar.gz
Bug#57210: remove pstack
Quoting from the bug report: The pstack library has been included in MySQL since version 4.0.0. It's useless and should be removed. Details: According to its own documentation, pstack only works on Linux on x86 in 32 bit mode and requires LinuxThreads and a statically linked binary. It doesn't really support any Linux from 2003 or later and doesn't work on any other OS. The --enable-pstack option is thus deprecated and has no effect.
Diffstat (limited to 'sql')
-rw-r--r--sql/Makefile.am1
-rw-r--r--sql/mysqld.cc26
2 files changed, 12 insertions, 15 deletions
diff --git a/sql/Makefile.am b/sql/Makefile.am
index 0b22481f850..40a3565cb91 100644
--- a/sql/Makefile.am
+++ b/sql/Makefile.am
@@ -41,7 +41,6 @@ mysqld_DEPENDENCIES= @mysql_plugin_libs@ $(SUPPORTING_LIBS) libndb.la
LDADD = $(SUPPORTING_LIBS) @ZLIB_LIBS@ @NDB_SCI_LIBS@
mysqld_LDADD = libndb.la \
@MYSQLD_EXTRA_LDFLAGS@ \
- @pstack_libs@ \
@mysql_plugin_libs@ \
$(LDADD) $(CXXLDFLAGS) $(WRAPLIBS) @LIBDL@ \
$(yassl_libs) $(openssl_libs) @MYSQLD_EXTRA_LIBS@
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index d9c4c7fc3f5..d17ccc47abb 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -70,10 +70,8 @@
#endif
/* stack traces are only supported on linux intel */
-#if defined(__linux__) && defined(__i386__) && defined(USE_PSTACK)
+#if defined(__linux__) && defined(__i386__)
#define HAVE_STACK_TRACE_ON_SEGV
-#include "../pstack/pstack.h"
-char pstack_file_name[80];
#endif /* __linux__ */
/* We have HAVE_purify below as this speeds up the shutdown of MySQL */
@@ -2779,14 +2777,6 @@ pthread_handler_t signal_hand(void *arg __attribute__((unused)))
if (!opt_bootstrap)
create_pid_file();
-#ifdef HAVE_STACK_TRACE_ON_SEGV
- if (opt_do_pstack)
- {
- sprintf(pstack_file_name,"mysqld-%lu-%%d-%%d.backtrace", (ulong)getpid());
- pstack_install_segv_action(pstack_file_name);
- }
-#endif /* HAVE_STACK_TRACE_ON_SEGV */
-
/*
signal to start_signal_handler that we are ready
This works by waiting for start_signal_handler to free mutex,
@@ -5963,9 +5953,10 @@ struct my_option my_long_options[] =
NO_ARG, 0, 0, 0, 0, 0, 0},
#endif
#ifdef HAVE_STACK_TRACE_ON_SEGV
- {"enable-pstack", OPT_DO_PSTACK, "Print a symbolic stack trace on failure.",
- &opt_do_pstack, &opt_do_pstack, 0, GET_BOOL, NO_ARG, 0, 0,
- 0, 0, 0, 0},
+ {"enable-pstack", OPT_DO_PSTACK, "Print a symbolic stack trace on failure. "
+ "This option is deprecated and has no effect; a symbolic stack trace will "
+ "be printed after a crash whenever possible.", &opt_do_pstack, &opt_do_pstack,
+ 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
#endif /* HAVE_STACK_TRACE_ON_SEGV */
{"engine-condition-pushdown",
OPT_ENGINE_CONDITION_PUSHDOWN,
@@ -8654,6 +8645,13 @@ mysqld_get_one_option(int optid,
lower_case_table_names= argument ? atoi(argument) : 1;
lower_case_table_names_used= 1;
break;
+#ifdef HAVE_STACK_TRACE_ON_SEGV
+ case OPT_DO_PSTACK:
+ sql_print_warning("'--enable-pstack' is deprecated and will be removed "
+ "in a future release. A symbolic stack trace will be "
+ "printed after a crash whenever possible.");
+ break;
+#endif
#if defined(ENABLED_DEBUG_SYNC)
case OPT_DEBUG_SYNC_TIMEOUT:
/*