PR python/12227
authorDoug Evans <dje@google.com>
Tue, 7 Dec 2010 17:26:06 +0000 (17:26 +0000)
committerDoug Evans <dje@google.com>
Tue, 7 Dec 2010 17:26:06 +0000 (17:26 +0000)
* NEWS: Mention -data-directory.
* main.c (captured_main): Recognize -data-directory.

doc/
* gdb.texinfo (Mode Options): Document -data-directory.
(Data Files): Add reference to -data-directory.

testsuite/
* gdb.base/catch-syscall.exp (do_syscall_tests): Remove setting
of data-directory.
* lib/gdb-python.exp (gdb_check_python_config): Delete, all callers
updated.
* lib/gdb.exp (INTERNAL_GDBFLAGS): Add -data-directory.

gdb/ChangeLog
gdb/NEWS
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo
gdb/main.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/catch-syscall.exp
gdb/testsuite/gdb.python/lib-types.exp
gdb/testsuite/gdb.python/py-pp-maint.exp
gdb/testsuite/lib/gdb-python.exp
gdb/testsuite/lib/gdb.exp

index b8875d9..324b153 100644 (file)
@@ -1,3 +1,9 @@
+2010-12-07  Doug Evans  <dje@google.com>
+
+       PR python/12227
+       * NEWS: Mention -data-directory.
+       * main.c (captured_main): Recognize -data-directory.
+
 2010-12-06  Marc Khouzam  <marc.khouzam@ericsson.com>
 
        * mi/mi-parse.c (mi_parse): Missing else.
index f1efcd2..9dfb249 100644 (file)
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -3,6 +3,11 @@
 
 *** Changes since GDB 7.2
 
+* New command line options
+
+-data-directory DIR    Specify DIR as the "data-directory".
+                       This is mostly for testing purposes.
+
 * GDB has a new command: "set directories".
   It is like the "dir" command except that it replaces the
   source path list instead of augmenting it.
index 6b4f2bb..c1d0e1c 100644 (file)
@@ -1,3 +1,8 @@
+2010-12-07  Doug Evans  <dje@google.com>
+
+       * gdb.texinfo (Mode Options): Document -data-directory.
+       (Data Files): Add reference to -data-directory.
+
 2010-11-29  Doug Evans  <dje@google.com>
 
        * gdb.texinfo (Pretty-Printer Introduction): Change
index 422812c..dc9630a 100644 (file)
@@ -1111,6 +1111,12 @@ used if possible.
 Run @value{GDBN} using @var{directory} as its working directory,
 instead of the current directory.
 
+@item -data-directory @var{directory}
+@cindex @code{--data-directory}
+Run @value{GDBN} using @var{directory} as its data directory.
+The data directory is where @value{GDBN} searches for its
+auxiliary files.  @xref{Data Files}.
+
 @item -fullname
 @itemx -f
 @cindex @code{--fullname}
@@ -15598,6 +15604,10 @@ You can set the default data directory by using the configure-time
 automatically if the installed @value{GDBN} is moved to a new
 location.
 
+The data directory may also be specified with the
+@code{--data-directory} command line option.
+@xref{Mode Options}.
+
 @node Targets
 @chapter Specifying a Debugging Target
 
index 9bd36cf..c686bd2 100644 (file)
@@ -432,6 +432,7 @@ captured_main (void *data)
       {"i", required_argument, 0, 'i'},
       {"directory", required_argument, 0, 'd'},
       {"d", required_argument, 0, 'd'},
+      {"data-directory", required_argument, 0, 'D'},
       {"cd", required_argument, 0, OPT_CD},
       {"tty", required_argument, 0, 't'},
       {"baud", required_argument, 0, 'b'},
@@ -551,6 +552,10 @@ captured_main (void *data)
            batch_flag = batch_silent = 1;
            gdb_stdout = ui_file_new();
            break;
+         case 'D':
+           xfree (gdb_datadir);
+           gdb_datadir = xstrdup (optarg);
+           break;
 #ifdef GDBTK
          case 'z':
            {
index 569c7b6..523374e 100644 (file)
@@ -1,3 +1,11 @@
+2010-12-07  Doug Evans  <dje@google.com>
+
+       * gdb.base/catch-syscall.exp (do_syscall_tests): Remove setting
+       of data-directory.
+       * lib/gdb-python.exp (gdb_check_python_config): Delete, all callers
+       updated.
+       * lib/gdb.exp (INTERNAL_GDBFLAGS): Add -data-directory.
+
 2010-11-29  Michael Snyder  <msnyder@msnyder-server.eng.vmware.com>
 
        * gdb.base/callfuncs.exp: Test for skip_float_tests.
index 7845655..b84c0dd 100644 (file)
@@ -277,8 +277,8 @@ proc test_catch_syscall_fail_nodatadir {} {
 proc do_syscall_tests {} {
     global gdb_prompt srcdir
 
-    # First, we need to set GDB datadir.
-    gdb_test_no_output "set data-directory [pwd]/../data-directory"
+    # NOTE: We don't have to point gdb at the correct data-directory.
+    # For the build tree that is handled by INTERNAL_GDBFLAGS.
 
     # Verify that the 'catch syscall' help is available
     set thistest "help catch syscall"
index 0599b0d..07480f5 100644 (file)
@@ -44,9 +44,6 @@ if ![runto_main] then {
     return 0
 }
 
-# Ensure sys.path, et.al. are initialized properly.
-gdb_check_python_config
-
 gdb_test_no_output "python import gdb.types"
 
 # test get_basic_type const stripping
index 7474584..b613e41 100644 (file)
@@ -51,9 +51,6 @@ if ![runto_main ] then {
     return -1
 }
 
-# Ensure sys.path, et.al. are initialized properly.
-gdb_check_python_config
-
 gdb_test "b [gdb_get_line_number {break to inspect} ${testfile}.c ]" \
     ".*Breakpoint.*"
 gdb_test "continue" ".*Breakpoint.*"
index 58deadc..4a15d7a 100644 (file)
@@ -45,21 +45,3 @@ proc gdb_py_test_multiple { name args } {
     }
     return 0
 }
-
-# Establish various python configuration parameters if necessary.
-# E.g. sys.path.
-
-proc gdb_check_python_config { } {
-    global USE_INSTALLED_TREE
-    # If we're running an installed version of gdb, and we want to test the
-    # installed versions of the python support scripts, then we don't want
-    # to point data-directory at the build tree.
-    if { [info exists USE_INSTALLED_TREE] && "$USE_INSTALLED_TREE" == "yes" } {
-       verbose -log "Assuming system config already installed."
-    } else {
-       verbose -log "Installing system config from build tree."
-       set gdb_data_dir "[pwd]/../data-directory"
-       gdb_test_no_output "set data-directory $gdb_data_dir"
-       gdb_test_no_output "python GdbSetPythonDirectory ('$gdb_data_dir/python')"
-    }
-}
index fc8751f..50e2c70 100644 (file)
@@ -56,7 +56,7 @@ verbose "using GDBFLAGS = $GDBFLAGS" 2
 # INTERNAL_GDBFLAGS contains flags that the testsuite requires.
 global INTERNAL_GDBFLAGS
 if ![info exists INTERNAL_GDBFLAGS] {
-    set INTERNAL_GDBFLAGS "-nw -nx"
+    set INTERNAL_GDBFLAGS "-nw -nx -data-directory [pwd]/../data-directory"
 }
 
 # The variable gdb_prompt is a regexp which matches the gdb prompt.