Commit b0c64559 authored by msvensson@shellback.(none)'s avatar msvensson@shellback.(none)

Merge bk-internal.mysql.com:/home/bk/mysql-5.0

into  shellback.(none):/home/msvensson/mysql/mysql-5.0
parents 562386b9 d4c79438
...@@ -227,6 +227,8 @@ our $opt_client_ddd; ...@@ -227,6 +227,8 @@ our $opt_client_ddd;
our $opt_manual_gdb; our $opt_manual_gdb;
our $opt_manual_ddd; our $opt_manual_ddd;
our $opt_manual_debug; our $opt_manual_debug;
our $opt_debugger;
our $opt_client_debugger;
our $opt_gprof; our $opt_gprof;
our $opt_gprof_dir; our $opt_gprof_dir;
...@@ -603,6 +605,8 @@ sub command_line_setup () { ...@@ -603,6 +605,8 @@ sub command_line_setup () {
'manual-debug' => \$opt_manual_debug, 'manual-debug' => \$opt_manual_debug,
'ddd' => \$opt_ddd, 'ddd' => \$opt_ddd,
'client-ddd' => \$opt_client_ddd, 'client-ddd' => \$opt_client_ddd,
'debugger=s' => \$opt_debugger,
'client-debugger=s' => \$opt_client_debugger,
'strace-client' => \$opt_strace_client, 'strace-client' => \$opt_strace_client,
'master-binary=s' => \$exe_master_mysqld, 'master-binary=s' => \$exe_master_mysqld,
'slave-binary=s' => \$exe_slave_mysqld, 'slave-binary=s' => \$exe_slave_mysqld,
...@@ -785,9 +789,10 @@ sub command_line_setup () { ...@@ -785,9 +789,10 @@ sub command_line_setup () {
# Check debug related options # Check debug related options
if ( $opt_gdb || $opt_client_gdb || $opt_ddd || $opt_client_ddd || if ( $opt_gdb || $opt_client_gdb || $opt_ddd || $opt_client_ddd ||
$opt_manual_gdb || $opt_manual_ddd || $opt_manual_debug) $opt_manual_gdb || $opt_manual_ddd || $opt_manual_debug ||
$opt_debugger || $opt_client_debugger )
{ {
# Indicate that we are using debugger # Indicate that we are using debugger
$glob_debugger= 1; $glob_debugger= 1;
# Increase timeouts # Increase timeouts
$opt_wait_timeout= 300; $opt_wait_timeout= 300;
...@@ -2567,6 +2572,10 @@ sub mysqld_start ($$$$$) { ...@@ -2567,6 +2572,10 @@ sub mysqld_start ($$$$$) {
{ {
ddd_arguments(\$args, \$exe, "$type"."_$idx"); ddd_arguments(\$args, \$exe, "$type"."_$idx");
} }
elsif ( $opt_debugger )
{
debugger_arguments(\$args, \$exe, "$type"."_$idx");
}
elsif ( $opt_manual_debug ) elsif ( $opt_manual_debug )
{ {
print "\nStart $type in your debugger\n" . print "\nStart $type in your debugger\n" .
...@@ -3063,6 +3072,10 @@ sub run_mysqltest ($) { ...@@ -3063,6 +3072,10 @@ sub run_mysqltest ($) {
{ {
ddd_arguments(\$args, \$exe, "client"); ddd_arguments(\$args, \$exe, "client");
} }
elsif ( $opt_client_debugger )
{
debugger_arguments(\$args, \$exe, "client");
}
if ($glob_use_libtool and $opt_valgrind) if ($glob_use_libtool and $opt_valgrind)
{ {
...@@ -3215,6 +3228,42 @@ sub ddd_arguments { ...@@ -3215,6 +3228,42 @@ sub ddd_arguments {
mtr_add_arg($$args, "$save_exe"); mtr_add_arg($$args, "$save_exe");
} }
#
# Modify the exe and args so that program is run in the selected debugger
#
sub debugger_arguments {
my $args= shift;
my $exe= shift;
my $debugger= $opt_debugger || $opt_client_debugger;
if ( $debugger eq "vcexpress" or $debugger eq "vc")
{
# vc[express] /debugexe exe arg1 .. argn
# Add /debugexe and name of the exe before args
unshift(@$$args, "/debugexe");
unshift(@$$args, "$$exe");
}
elsif ( $debugger eq "windbg" )
{
# windbg exe arg1 .. argn
# Add name of the exe before args
unshift(@$$args, "$$exe");
}
else
{
mtr_error("Unknown argument \"$debugger\" passed to --debugger");
}
# Set exe to debuggername
$$exe= $debugger;
}
# #
# Modify the exe and args so that program is run in valgrind # Modify the exe and args so that program is run in valgrind
# #
...@@ -3322,6 +3371,8 @@ Options for debugging the product ...@@ -3322,6 +3371,8 @@ Options for debugging the product
client-gdb Start mysqltest client in gdb client-gdb Start mysqltest client in gdb
ddd Start mysqld in ddd ddd Start mysqld in ddd
client-ddd Start mysqltest client in ddd client-ddd Start mysqltest client in ddd
debugger=NAME Start mysqld in the selected debugger
client-debugger=NAME Start mysqltest in the selected debugger
strace-client FIXME strace-client FIXME
master-binary=PATH Specify the master "mysqld" to use master-binary=PATH Specify the master "mysqld" to use
slave-binary=PATH Specify the slave "mysqld" to use slave-binary=PATH Specify the slave "mysqld" to use
......
...@@ -398,14 +398,6 @@ MY_DIR *my_dir(const char *path, myf MyFlags) ...@@ -398,14 +398,6 @@ MY_DIR *my_dir(const char *path, myf MyFlags)
tmp_file[2]='*'; tmp_file[2]='*';
tmp_file[3]='\0'; tmp_file[3]='\0';
#ifdef __BORLANDC__
if ((handle= findfirst(tmp_path,&find,0)) == -1L)
goto error;
#else
if ((handle=_findfirst(tmp_path,&find)) == -1L)
goto error;
#endif
if (!(buffer= my_malloc(ALIGN_SIZE(sizeof(MY_DIR)) + if (!(buffer= my_malloc(ALIGN_SIZE(sizeof(MY_DIR)) +
ALIGN_SIZE(sizeof(DYNAMIC_ARRAY)) + ALIGN_SIZE(sizeof(DYNAMIC_ARRAY)) +
sizeof(MEM_ROOT), MyFlags))) sizeof(MEM_ROOT), MyFlags)))
...@@ -425,7 +417,23 @@ MY_DIR *my_dir(const char *path, myf MyFlags) ...@@ -425,7 +417,23 @@ MY_DIR *my_dir(const char *path, myf MyFlags)
/* MY_DIR structure is allocated and completly initialized at this point */ /* MY_DIR structure is allocated and completly initialized at this point */
result= (MY_DIR*)buffer; result= (MY_DIR*)buffer;
#ifdef __BORLANDC__
if ((handle= findfirst(tmp_path,&find,0)) == -1L)
#else
if ((handle=_findfirst(tmp_path,&find)) == -1L)
#endif
{
DBUG_PRINT("info", ("find_first returned error"));
if (errno != EINVAL)
goto error;
/*
Could not read the directory, no read access.
Probably because by "chmod -r".
continue and return zero files in dir
*/
}
do do
{ {
#ifdef __BORLANDC__ #ifdef __BORLANDC__
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment