Imported Upstream version 7.5.1 upstream/7.5.1
authorAnas Nashif <anas.nashif@intel.com>
Mon, 23 Sep 2013 15:22:18 +0000 (11:22 -0400)
committerAnas Nashif <anas.nashif@intel.com>
Mon, 23 Sep 2013 15:22:18 +0000 (11:22 -0400)
62 files changed:
bfd/doc/bfdver.texi
djunpack.bat
gdb/ChangeLog
gdb/amd64-tdep.c
gdb/auto-load.c
gdb/cli/cli-decode.c
gdb/common/linux-ptrace.c
gdb/defs.h
gdb/doc/ChangeLog
gdb/doc/gdb.info
gdb/doc/gdb.info-1
gdb/doc/gdb.info-2
gdb/doc/gdb.info-3
gdb/doc/gdb.info-4
gdb/doc/gdb.info-5
gdb/doc/gdb.info-6
gdb/doc/gdb.texinfo
gdb/dwarf2read.c
gdb/frame.c
gdb/gdbserver/ChangeLog
gdb/gdbserver/gdbreplay.c
gdb/gdbserver/linux-crisv32-low.c
gdb/gdbserver/server.h
gdb/i386-tdep.c
gdb/i386-tdep.h
gdb/infcmd.c
gdb/infrun.c
gdb/linespec.c
gdb/main.c
gdb/po/gdb.pot
gdb/ppc-linux-tdep.c
gdb/python/py-auto-load.c
gdb/python/python.h
gdb/symfile.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.arch/amd64-tailcall-ret.S [new file with mode: 0644]
gdb/testsuite/gdb.arch/amd64-tailcall-ret.c [new file with mode: 0644]
gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp [new file with mode: 0644]
gdb/testsuite/gdb.base/step-symless.c [new file with mode: 0644]
gdb/testsuite/gdb.base/step-symless.exp [new file with mode: 0644]
gdb/testsuite/gdb.base/valgrind-infcall.exp
gdb/testsuite/gdb.java/jmisc.exp
gdb/testsuite/gdb.java/jprint.exp
gdb/testsuite/gdb.linespec/ls-errs.exp
gdb/testsuite/gdb.linespec/thread.c [new file with mode: 0644]
gdb/testsuite/gdb.linespec/thread.exp [new file with mode: 0644]
gdb/testsuite/gdb.mi/mi-var-create-rtti.c [new file with mode: 0644]
gdb/testsuite/gdb.mi/mi-var-create-rtti.exp [new file with mode: 0644]
gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.S [new file with mode: 0644]
gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.c [new file with mode: 0644]
gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.exp [new file with mode: 0644]
gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.S [new file with mode: 0644]
gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.c [new file with mode: 0644]
gdb/testsuite/gdb.reverse/singlejmp-reverse.S [new file with mode: 0644]
gdb/testsuite/gdb.reverse/singlejmp-reverse.c [new file with mode: 0644]
gdb/testsuite/gdb.reverse/singlejmp-reverse.exp [new file with mode: 0644]
gdb/testsuite/lib/gdb.exp
gdb/value.c
gdb/version.in
libiberty/ChangeLog
libiberty/md5.c
md5.sum

index 5a886f0..41a451b 100644 (file)
@@ -1,4 +1,4 @@
 @set VERSION 2.22.52
 @set VERSION_PACKAGE (GNU Binutils) 
-@set UPDATED August 2012
+@set UPDATED November 2012
 @set BUGURL @uref{http://www.sourceware.org/bugzilla/}
index fdcdc48..0566c1d 100644 (file)
@@ -17,8 +17,8 @@ Rem
 Rem The following 2 lines need to be changed with each new GDB release, to\r
 Rem be identical to the name of the top-level directory where the GDB\r
 Rem distribution unpacks itself.\r
-set GDBVER=gdb-7.5\r
-if "%GDBVER%"=="gdb-7.5" GoTo EnvOk\r
+set GDBVER=gdb-7.5.1\r
+if "%GDBVER%"=="gdb-7.5.1" GoTo EnvOk\r
 Rem If their environment space is too small, re-exec with a larger one\r
 command.com /e:4096 /c %0 %1\r
 GoTo End\r
index b88226f..4df03c5 100644 (file)
@@ -1,3 +1,118 @@
+2012-11-29  Joel Brobecker  <brobecker@adacore.com>
+
+       * version.in: Update GDB version number to 7.5.1.
+
+2012-11-15  Luis Machado  <lgustavo@codesourcery.com>
+
+       * value.c (value_actual_type): Check for TYPE_CODE_STRUCT
+       target types.
+
+2012-11-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR backtrace/14646
+       PR gdb/14647
+       * i386-tdep.h (gdbarch_tdep): Remove sp_regnum_from_eax and
+       pc_regnum_from_eax.
+       * i386-tdep.c (i386_gdbarch_init): Don't use sp_regnum_from_eax
+       nor pc_regnum_from_eax.
+       * amd64-tdep.c (amd64_x32_init_abi): Don't set sp_regnum_from_eax
+       nor pc_regnum_from_eax.
+
+2012-10-11  Doug Evans  <dje@google.com>
+
+       PR breakpoints/14643.
+       * linespec.c (struct ls_parser): New member keyword_ok.
+       (linespec_lexer_lex_string): Add comment.
+       (linespec_lexer_lex_one): Ignore keywords if it's the wrong place
+       for one.
+       (parse_linespec): Set keyword_ok.
+
+2012-10-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       Fix crash during stepping on ppc32.
+       * ppc-linux-tdep.c (powerpc_linux_in_dynsym_resolve_code): Test NULL
+       SYM.
+
+2012-09-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * common/linux-ptrace.c: Change __i386__ to __i386__ || __x86_64__.
+       (linux_ptrace_test_ret_to_nx): Extend comment for x86_64.  Change
+       __i386__ to __i386__ || __x86_64__. Extend code also for __x86_64__.
+       Extend code also for PaX support.  Convert all gdb_assert to warning
+       calls.
+
+2012-09-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       Implement auto-load user conveniences suggested by Doug Evans.
+       * auto-load.c: Include top.h.
+       (file_is_auto_load_safe): New variable advice_printed.  Print advice.
+       (_initialize_auto_load): New variable scripts_directory_help.  Mention
+       GDBPY_AUTO_FILE_NAME and GDB_AUTO_FILE_NAME for set auto-load
+       scripts-directory.  Document in online help one can use also files for
+       set auto-load safe-path.
+       * python/py-auto-load.c: (GDBPY_AUTO_FILE_NAME): Move it from here ...
+       * python/python.h (GDBPY_AUTO_FILE_NAME): ... to here.
+
+2012-09-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       PR 14119
+       * frame.c (skip_inlined_frames): Skip also TAILCALL_FRAME frames.
+       (frame_pop): Drop also TAILCALL_FRAME frames.
+       * infcmd.c (finish_command): Ignore also TAILCALL_FRAME frames.
+
+2012-09-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
+           Pedro Alves  <palves@redhat.com>
+
+       PR 14548
+       * infrun.c (handle_inferior_event): Do not reverse-continue back to the
+       function start if we are already at function start.  Both for
+       reverse-next and for reverse-step into function without line number
+       info.
+
+2012-08-29  Doug Evans  <dje@google.com>
+
+       * main.c (print_gdb_help): Remove reference to
+       --use-deprecated-index-sections.
+
+2012-08-27  Eli Zaretskii  <eliz@gnu.org>
+           Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * auto-load.c (auto_load_objfile_script): Rename to ...
+       (auto_load_objfile_script_1): ... here, change variable realname to
+       parameter realname, document it, add return value, add variable retval.
+       (auto_load_objfile_script): New function.
+
+2012-08-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * cli/cli-decode.c (print_doc_line): Keep skipping '.' and ',' not
+       followed by a whitespace.
+
+2012-08-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       PR gdb/14494.
+       * dwarf2read.c (dwarf2_locate_sections): Move variable aflag here.
+       Move the SEC_HAS_CONTENTS check here - for any NAMES use.
+       (dwarf2_locate_sections) <eh_frame>: Move the variable and check from
+       here.
+
+2012-08-22  Keith Seitz  <keiths@redhat.com>
+
+       * defs.h: Include build-gnulib/config.h
+
+2012-08-21  Pierre Muller  <muller@ics.u-strasbg.fr>
+
+       * symfile.c (allocate_symtab): Use host_address_to_string
+       function instead of cast of pointer to long which is not
+       compatible with x86_64-w64-mingw32 build.
+
+2012-08-17  Joel Brobecker  <brobecker@adacore.com>
+
+       * version.in: Set version to 7.5.0.20120817-cvs.
+
+2012-08-17  Joel Brobecker  <brobecker@adacore.com>
+
+       GDB 7.5 released.
+
 2012-08-17  Joel Brobecker  <brobecker@adacore.com>
 
        * version.in: Update GDB version number to 7.5.
index 5424926..8ae1142 100644 (file)
@@ -2946,9 +2946,6 @@ amd64_x32_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
     tdesc = tdesc_x32;
   tdep->tdesc = tdesc;
 
-  tdep->sp_regnum_from_eax = AMD64_RSP_REGNUM;
-  tdep->pc_regnum_from_eax = AMD64_RIP_REGNUM;
-
   tdep->num_dword_regs = 17;
   set_tdesc_pseudo_register_type (gdbarch, amd64_x32_pseudo_register_type);
 
index 87dd1e4..5ace0de 100644 (file)
@@ -37,6 +37,7 @@
 #include "completer.h"
 #include "observer.h"
 #include "fnmatch.h"
+#include "top.h"
 
 /* The suffix of per-objfile scripts to auto-load as non-Python command files.
    E.g. When the program loads libfoo.so, look for libfoo-gdb.gdb.  */
@@ -441,6 +442,7 @@ file_is_auto_load_safe (const char *filename, const char *debug_fmt, ...)
 {
   char *filename_real = NULL;
   struct cleanup *back_to;
+  static int advice_printed = 0;
 
   if (debug_auto_load)
     {
@@ -470,6 +472,30 @@ file_is_auto_load_safe (const char *filename, const char *debug_fmt, ...)
             "`auto-load safe-path' set to \"%s\"."),
           filename_real, auto_load_safe_path);
 
+  if (!advice_printed)
+    {
+      const char *homedir = getenv ("HOME");
+      char *homeinit;
+
+      if (homedir == NULL)
+       homedir = "$HOME";
+      homeinit = xstrprintf ("%s/%s", homedir, gdbinit);
+      make_cleanup (xfree, homeinit);
+
+      printf_filtered (_("\
+To enable execution of this file add\n\
+\tadd-auto-load-safe-path %s\n\
+line to your configuration file \"%s\".\n\
+To completely disable this security protection add\n\
+\tset auto-load safe-path /\n\
+line to your configuration file \"%s\".\n\
+For more information about this security protection see the\n\
+\"Auto-loading safe path\" section in the GDB manual.  E.g., run from the shell:\n\
+\tinfo \"(gdb)Auto-loading safe path\"\n"),
+                      filename_real, homeinit, homeinit);
+      advice_printed = 1;
+    }
+
   do_cleanups (back_to);
   return 0;
 }
@@ -693,27 +719,25 @@ clear_section_scripts (void)
     }
 }
 
-/* Look for the auto-load script in LANGUAGE associated with OBJFILE and load
-   it.  */
+/* Look for the auto-load script in LANGUAGE associated with OBJFILE where
+   OBJFILE's gdb_realpath is REALNAME and load it.  Return 1 if we found any
+   matching script, return 0 otherwise.  */
 
-void
-auto_load_objfile_script (struct objfile *objfile,
-                         const struct script_language *language)
+static int
+auto_load_objfile_script_1 (struct objfile *objfile, const char *realname,
+                           const struct script_language *language)
 {
-  char *realname;
   char *filename, *debugfile;
-  int len;
+  int len, retval;
   FILE *input;
   struct cleanup *cleanups;
 
-  realname = gdb_realpath (objfile->name);
   len = strlen (realname);
   filename = xmalloc (len + strlen (language->suffix) + 1);
   memcpy (filename, realname, len);
   strcpy (filename + len, language->suffix);
 
   cleanups = make_cleanup (xfree, filename);
-  make_cleanup (xfree, realname);
 
   input = fopen (filename, "r");
   debugfile = filename;
@@ -768,6 +792,44 @@ auto_load_objfile_script (struct objfile *objfile,
         and these scripts are required to be idempotent under multiple
         loads anyway.  */
       language->source_script_for_objfile (objfile, input, debugfile);
+
+      retval = 1;
+    }
+  else
+    retval = 0;
+
+  do_cleanups (cleanups);
+  return retval;
+}
+
+/* Look for the auto-load script in LANGUAGE associated with OBJFILE and load
+   it.  */
+
+void
+auto_load_objfile_script (struct objfile *objfile,
+                         const struct script_language *language)
+{
+  char *realname = gdb_realpath (objfile->name);
+  struct cleanup *cleanups = make_cleanup (xfree, realname);
+
+  if (!auto_load_objfile_script_1 (objfile, realname, language))
+    {
+      /* For Windows/DOS .exe executables, strip the .exe suffix, so that
+        FOO-gdb.gdb could be used for FOO.exe, and try again.  */
+
+      size_t len = strlen (realname);
+      const size_t lexe = sizeof (".exe") - 1;
+
+      if (len > lexe && strcasecmp (realname + len - lexe, ".exe") == 0)
+       {
+         len -= lexe;
+         realname[len] = '\0';
+         if (debug_auto_load)
+           fprintf_unfiltered (gdb_stdlog, _("auto-load: Stripped .exe suffix, "
+                                             "retrying with \"%s\".\n"),
+                               realname);
+         auto_load_objfile_script_1 (objfile, realname, language);
+       }
     }
 
   do_cleanups (cleanups);
@@ -1130,6 +1192,7 @@ void
 _initialize_auto_load (void)
 {
   struct cmd_list_element *cmd;
+  char *scripts_directory_help;
 
   auto_load_pspace_data
     = register_program_space_data_with_cleanup (auto_load_pspace_data_cleanup);
@@ -1172,30 +1235,50 @@ Usage: info auto-load local-gdbinit"),
           auto_load_info_cmdlist_get ());
 
   auto_load_dir = xstrdup (AUTO_LOAD_DIR);
+  scripts_directory_help = xstrprintf (
+#ifdef HAVE_PYTHON
+                                      _("\
+Automatically loaded Python scripts (named OBJFILE%s) and GDB scripts\n\
+(named OBJFILE%s) are located in one of the directories listed by this\n\
+option.\n\
+%s"),
+                                      GDBPY_AUTO_FILE_NAME,
+#else
+                                      _("\
+Automatically loaded GDB scripts (named OBJFILE%s) are located in one\n\
+of the directories listed by this option.\n\
+%s"),
+#endif
+                                      GDB_AUTO_FILE_NAME,
+                                      _("\
+This option is ignored for the kinds of scripts \
+having 'set auto-load ... off'.\n\
+Directories listed here need to be present also \
+in the 'set auto-load safe-path'\n\
+option."));
   add_setshow_optional_filename_cmd ("scripts-directory", class_support,
                                     &auto_load_dir, _("\
 Set the list of directories from which to load auto-loaded scripts."), _("\
-Show the list of directories from which to load auto-loaded scripts."), _("\
-Automatically loaded Python scripts and GDB scripts are located in one of the\n\
-directories listed by this option.  This option is ignored for the kinds of\n\
-scripts having 'set auto-load ... off'.  Directories listed here need to be\n\
-present also in the 'set auto-load safe-path' option."),
+Show the list of directories from which to load auto-loaded scripts."),
+                                    scripts_directory_help,
                                     set_auto_load_dir, show_auto_load_dir,
                                     auto_load_set_cmdlist_get (),
                                     auto_load_show_cmdlist_get ());
+  xfree (scripts_directory_help);
 
   auto_load_safe_path = xstrdup (AUTO_LOAD_SAFE_PATH);
   auto_load_safe_path_vec_update ();
   add_setshow_optional_filename_cmd ("safe-path", class_support,
                                     &auto_load_safe_path, _("\
-Set the list of directories from which it is safe to auto-load files."), _("\
-Show the list of directories from which it is safe to auto-load files."), _("\
+Set the list of files and directories that are safe for auto-loading."), _("\
+Show the list of files and directories that are safe for auto-loading."), _("\
 Various files loaded automatically for the 'set auto-load ...' options must\n\
 be located in one of the directories listed by this option.  Warning will be\n\
 printed and file will not be used otherwise.\n\
+You can mix both directory and filename entries.\n\
 Setting this parameter to an empty list resets it to its default value.\n\
 Setting this parameter to '/' (without the quotes) allows any file\n\
-for the 'set auto-load ...' options.  Each directory can be also shell\n\
+for the 'set auto-load ...' options.  Each path entry can be also shell\n\
 wildcard pattern; '*' does not match directory separator.\n\
 This option is ignored for the kinds of files having 'set auto-load ... off'.\n\
 This options has security implications for untrusted inferiors."),
index c337b43..6fa929b 100644 (file)
@@ -1003,8 +1003,11 @@ print_doc_line (struct ui_file *stream, char *str)
       line_buffer = (char *) xmalloc (line_size);
     }
 
+  /* Keep printing '.' or ',' not followed by a whitespace for embedded strings
+     like '.gdbinit'.  */
   p = str;
-  while (*p && *p != '\n' && *p != '.' && *p != ',')
+  while (*p && *p != '\n'
+        && ((*p != '.' && *p != ',') || (p[1] && !isspace (p[1]))))
     p++;
   if (p - str > line_size - 1)
     {
index fdec5d6..ae17786 100644 (file)
@@ -49,7 +49,7 @@ linux_ptrace_attach_warnings (pid_t pid, struct buffer *buffer)
                       (int) pid);
 }
 
-#ifdef __i386__
+#if defined __i386__ || defined __x86_64__
 
 /* Address of the 'ret' instruction in asm code block below.  */
 extern void (linux_ptrace_test_ret_to_nx_instr) (void);
@@ -60,15 +60,17 @@ extern void (linux_ptrace_test_ret_to_nx_instr) (void);
 #include <sys/wait.h>
 #include <stdint.h>
 
-#endif /* __i386__ */
+#endif /* defined __i386__ || defined __x86_64__ */
 
 /* Test broken off-trunk Linux kernel patchset for NX support on i386.  It was
-   removed in Fedora kernel 88fa1f0332d188795ed73d7ac2b1564e11a0b4cd.  */
+   removed in Fedora kernel 88fa1f0332d188795ed73d7ac2b1564e11a0b4cd.
+
+   Test also x86_64 arch for PaX support.  */
 
 static void
 linux_ptrace_test_ret_to_nx (void)
 {
-#ifdef __i386__
+#if defined __i386__ || defined __x86_64__
   pid_t child, got_pid;
   gdb_byte *return_address, *pc;
   long l;
@@ -101,39 +103,105 @@ linux_ptrace_test_ret_to_nx (void)
                 strerror (errno));
       else
        {
+#if defined __i386__
          asm volatile ("pushl %0;"
                        ".globl linux_ptrace_test_ret_to_nx_instr;"
                        "linux_ptrace_test_ret_to_nx_instr:"
                        "ret"
                        : : "r" (return_address) : "%esp", "memory");
+#elif defined __x86_64__
+         asm volatile ("pushq %0;"
+                       ".globl linux_ptrace_test_ret_to_nx_instr;"
+                       "linux_ptrace_test_ret_to_nx_instr:"
+                       "ret"
+                       : : "r" (return_address) : "%rsp", "memory");
+#else
+# error "!__i386__ && !__x86_64__"
+#endif
          gdb_assert_not_reached ("asm block did not terminate");
        }
 
       _exit (1);
     }
 
+  errno = 0;
   got_pid = waitpid (child, &status, 0);
-  gdb_assert (got_pid == child);
-  gdb_assert (WIFSTOPPED (status));
+  if (got_pid != child)
+    {
+      warning (_("linux_ptrace_test_ret_to_nx: waitpid returned %ld: %s"),
+              (long) got_pid, strerror (errno));
+      return;
+    }
+
+  if (WIFSIGNALED (status))
+    {
+      if (WTERMSIG (status) != SIGKILL)
+       warning (_("linux_ptrace_test_ret_to_nx: WTERMSIG %d is not SIGKILL!"),
+                (int) WTERMSIG (status));
+      else
+       warning (_("Cannot call inferior functions, Linux kernel PaX "
+                  "protection forbids return to non-executable pages!"));
+      return;
+    }
+
+  if (!WIFSTOPPED (status))
+    {
+      warning (_("linux_ptrace_test_ret_to_nx: status %d is not WIFSTOPPED!"),
+              status);
+      return;
+    }
 
   /* We may get SIGSEGV due to missing PROT_EXEC of the return_address.  */
-  gdb_assert (WSTOPSIG (status) == SIGTRAP || WSTOPSIG (status) == SIGSEGV);
+  if (WSTOPSIG (status) != SIGTRAP && WSTOPSIG (status) != SIGSEGV)
+    {
+      warning (_("linux_ptrace_test_ret_to_nx: "
+                "WSTOPSIG %d is neither SIGTRAP nor SIGSEGV!"),
+              (int) WSTOPSIG (status));
+      return;
+    }
 
   errno = 0;
+#if defined __i386__
   l = ptrace (PTRACE_PEEKUSER, child, (void *) (uintptr_t) (EIP * 4), NULL);
-  gdb_assert (errno == 0);
+#elif defined __x86_64__
+  l = ptrace (PTRACE_PEEKUSER, child, (void *) (uintptr_t) (RIP * 8), NULL);
+#else
+# error "!__i386__ && !__x86_64__"
+#endif
+  if (errno != 0)
+    {
+      warning (_("linux_ptrace_test_ret_to_nx: Cannot PTRACE_PEEKUSER: %s"),
+              strerror (errno));
+      return;
+    }
   pc = (void *) (uintptr_t) l;
 
   if (ptrace (PTRACE_KILL, child, NULL, NULL) != 0)
-    warning (_("linux_ptrace_test_ret_to_nx: Cannot PTRACE_KILL: %s"),
-            strerror (errno));
+    {
+      warning (_("linux_ptrace_test_ret_to_nx: Cannot PTRACE_KILL: %s"),
+              strerror (errno));
+      return;
+    }
   else
     {
       int kill_status;
 
+      errno = 0;
       got_pid = waitpid (child, &kill_status, 0);
-      gdb_assert (got_pid == child);
-      gdb_assert (WIFSIGNALED (kill_status));
+      if (got_pid != child)
+       {
+         warning (_("linux_ptrace_test_ret_to_nx: "
+                    "PTRACE_KILL waitpid returned %ld: %s"),
+                  (long) got_pid, strerror (errno));
+         return;
+       }
+      if (!WIFSIGNALED (kill_status))
+       {
+         warning (_("linux_ptrace_test_ret_to_nx: "
+                    "PTRACE_KILL status %d is not WIFSIGNALED!"),
+                  status);
+         return;
+       }
     }
 
   /* + 1 is there as x86* stops after the 'int3' instruction.  */
@@ -150,11 +218,14 @@ linux_ptrace_test_ret_to_nx (void)
       return;
     }
 
-  gdb_assert ((void (*) (void)) pc == &linux_ptrace_test_ret_to_nx_instr);
-
-  warning (_("Cannot call inferior functions, you have broken "
-            "Linux kernel i386 NX (non-executable pages) support!"));
-#endif /* __i386__ */
+  if ((void (*) (void)) pc != &linux_ptrace_test_ret_to_nx_instr)
+    warning (_("linux_ptrace_test_ret_to_nx: PC %p is neither near return "
+              "address %p nor is the return instruction %p!"),
+            pc, return_address, &linux_ptrace_test_ret_to_nx_instr);
+  else
+    warning (_("Cannot call inferior functions, you have broken "
+              "Linux kernel i386 NX (non-executable pages) support!"));
+#endif /* defined __i386__ || defined __x86_64__ */
 }
 
 /* Display possible problems on this system.  Display them only once per GDB
index 1c6fa79..04ced04 100644 (file)
@@ -27,6 +27,7 @@
 #endif
 
 #include "config.h"            /* Generated by configure.  */
+#include "build-gnulib/config.h"
 
 #include <sys/types.h>
 #include <stdio.h>
index 8bb3013..762c1dc 100644 (file)
@@ -1,3 +1,7 @@
+2012-08-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * gdb.texinfo (objfile-gdb.py file): New paragraph for .exe stripping.
+
 2012-08-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
        * gdbint.texinfo (Debugging GDB): In section
index 23eb4bf..0bdcd84 100644 (file)
@@ -23,7 +23,7 @@ developing GNU and promoting software freedom."
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.5.
+Source-Level Debugger' for GDB (GDB) Version 7.5.1.
 
    Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
@@ -42,610 +42,610 @@ developing GNU and promoting software freedom."
 
 \1f
 Indirect:
-gdb.info-1: 1910
-gdb.info-2: 298476
-gdb.info-3: 597893
-gdb.info-4: 897339
-gdb.info-5: 1194684
-gdb.info-6: 1474501
+gdb.info-1: 1912
+gdb.info-2: 298482
+gdb.info-3: 597899
+gdb.info-4: 897345
+gdb.info-5: 1195094
+gdb.info-6: 1474957
 \1f
 Tag Table:
 (Indirect)
-Node: Top\7f1910
-Node: Summary\7f5338
-Node: Free Software\7f7211
-Node: Free Documentation\7f7952
-Node: Contributors\7f12887
-Node: Sample Session\7f20981
-Node: Invocation\7f27817
-Node: Invoking GDB\7f28361
-Node: File Options\7f30674
-Node: Mode Options\7f33732
-Ref: -nx\7f33959
-Node: Startup\7f40406
-Ref: Home Directory Init File\7f40957
-Ref: Option -init-eval-command\7f41067
-Ref: Init File in the Current Directory during Startup\7f41412
-Ref: Startup-Footnote-1\7f43584
-Node: Quitting GDB\7f43693
-Node: Shell Commands\7f44590
-Node: Logging Output\7f45517
-Node: Commands\7f46363
-Node: Command Syntax\7f47001
-Node: Completion\7f49167
-Ref: Completion-Footnote-1\7f54531
-Node: Help\7f54691
-Node: Running\7f60060
-Node: Compilation\7f61289
-Node: Starting\7f63373
-Node: Arguments\7f72298
-Node: Environment\7f73568
-Node: Working Directory\7f76836
-Node: Input/Output\7f77944
-Node: Attach\7f79915
-Node: Kill Process\7f82382
-Node: Inferiors and Programs\7f83363
-Node: Threads\7f90608
-Ref: set libthread-db-search-path\7f98017
-Node: Forks\7f100075
-Node: Checkpoint/Restart\7f106385
-Ref: Checkpoint/Restart-Footnote-1\7f110914
-Node: Stopping\7f110949
-Node: Breakpoints\7f112212
-Node: Set Breaks\7f115755
-Node: Set Watchpoints\7f134488
-Node: Set Catchpoints\7f143891
-Node: Delete Breaks\7f153327
-Node: Disabling\7f155263
-Node: Conditions\7f158652
-Node: Break Commands\7f164300
-Node: Dynamic Printf\7f167522
-Node: Save Breakpoints\7f171782
-Node: Static Probe Points\7f172957
-Node: Error in Breakpoints\7f175644
-Node: Breakpoint-related Warnings\7f176380
-Node: Continuing and Stepping\7f178707
-Node: Skipping Over Functions and Files\7f188093
-Node: Signals\7f191665
-Ref: extra signal information\7f195947
-Node: Thread Stops\7f197450
-Node: All-Stop Mode\7f198549
-Node: Non-Stop Mode\7f202447
-Node: Background Execution\7f205924
-Node: Thread-Specific Breakpoints\7f208493
-Node: Interrupted System Calls\7f209815
-Node: Observer Mode\7f211329
-Node: Reverse Execution\7f214768
-Ref: Reverse Execution-Footnote-1\7f219395
-Ref: Reverse Execution-Footnote-2\7f220022
-Node: Process Record and Replay\7f220072
-Node: Stack\7f227319
-Node: Frames\7f228812
-Node: Backtrace\7f231564
-Ref: Backtrace-Footnote-1\7f236777
-Node: Selection\7f236965
-Node: Frame Info\7f239829
-Node: Source\7f241823
-Node: List\7f242889
-Node: Specify Location\7f245502
-Node: Edit\7f250106
-Ref: Edit-Footnote-1\7f251581
-Node: Search\7f251816
-Node: Source Path\7f252624
-Ref: set substitute-path\7f258991
-Node: Machine Code\7f261212
-Node: Data\7f267886
-Node: Expressions\7f275502
-Node: Ambiguous Expressions\7f277594
-Node: Variables\7f280828
-Node: Arrays\7f286446
-Node: Output Formats\7f288977
-Ref: Output Formats-Footnote-1\7f292165
-Node: Memory\7f292322
-Node: Auto Display\7f298476
-Node: Print Settings\7f303018
-Ref: set print entry-values\7f310598
-Node: Pretty Printing\7f321843
-Node: Pretty-Printer Introduction\7f322356
-Node: Pretty-Printer Example\7f324111
-Node: Pretty-Printer Commands\7f324889
-Node: Value History\7f327313
-Node: Convenience Vars\7f329734
-Node: Registers\7f334580
-Ref: Registers-Footnote-1\7f339257
-Node: Floating Point Hardware\7f339652
-Node: Vector Unit\7f340184
-Node: OS Information\7f340571
-Ref: linux info os infotypes\7f343148
-Node: Memory Region Attributes\7f347348
-Node: Dump/Restore Files\7f352018
-Node: Core File Generation\7f354323
-Node: Character Sets\7f355557
-Node: Caching Remote Data\7f361922
-Ref: Caching Remote Data-Footnote-1\7f364187
-Node: Searching Memory\7f364425
-Node: Optimized Code\7f367302
-Node: Inline Functions\7f368979
-Node: Tail Call Frames\7f371606
-Ref: set debug entry-values\7f373746
-Node: Macros\7f377820
-Ref: Macros-Footnote-1\7f385396
-Node: Tracepoints\7f385549
-Node: Set Tracepoints\7f387610
-Node: Create and Delete Tracepoints\7f390548
-Node: Enable and Disable Tracepoints\7f396948
-Node: Tracepoint Passcounts\7f398188
-Node: Tracepoint Conditions\7f399615
-Node: Trace State Variables\7f401309
-Node: Tracepoint Actions\7f403499
-Node: Listing Tracepoints\7f409804
-Node: Listing Static Tracepoint Markers\7f410925
-Node: Starting and Stopping Trace Experiments\7f412771
-Ref: disconnected tracing\7f414516
-Node: Tracepoint Restrictions\7f418134
-Node: Analyze Collected Data\7f421904
-Node: tfind\7f423209
-Node: tdump\7f427631
-Node: save tracepoints\7f430146
-Node: Tracepoint Variables\7f430642
-Node: Trace Files\7f431770
-Node: Overlays\7f433228
-Node: How Overlays Work\7f433948
-Ref: A code overlay\7f436508
-Node: Overlay Commands\7f439946
-Node: Automatic Overlay Debugging\7f444136
-Node: Overlay Sample Program\7f446277
-Node: Languages\7f448037
-Node: Setting\7f449200
-Node: Filenames\7f450902
-Node: Manually\7f451713
-Node: Automatically\7f452922
-Node: Show\7f453983
-Node: Checks\7f455305
-Node: Type Checking\7f456695
-Node: Range Checking\7f459428
-Node: Supported Languages\7f461829
-Node: C\7f463129
-Node: C Operators\7f464093
-Node: C Constants\7f468412
-Node: C Plus Plus Expressions\7f471293
-Node: C Defaults\7f474636
-Node: C Checks\7f475319
-Node: Debugging C\7f476042
-Node: Debugging C Plus Plus\7f476526
-Node: Decimal Floating Point\7f479984
-Node: D\7f481243
-Node: Go\7f481500
-Node: Objective-C\7f482594
-Node: Method Names in Commands\7f483057
-Node: The Print Command with Objective-C\7f484752
-Node: OpenCL C\7f485403
-Node: OpenCL C Datatypes\7f485678
-Node: OpenCL C Expressions\7f486053
-Node: OpenCL C Operators\7f486410
-Node: Fortran\7f486642
-Node: Fortran Operators\7f487364
-Node: Fortran Defaults\7f488220
-Node: Special Fortran Commands\7f488605
-Node: Pascal\7f489111
-Node: Modula-2\7f489626
-Node: M2 Operators\7f490601
-Node: Built-In Func/Proc\7f493600
-Node: M2 Constants\7f496461
-Node: M2 Types\7f498062
-Node: M2 Defaults\7f501281
-Node: Deviations\7f501881
-Node: M2 Checks\7f502982
-Node: M2 Scope\7f503800
-Node: GDB/M2\7f504824
-Node: Ada\7f505736
-Node: Ada Mode Intro\7f506799
-Node: Omissions from Ada\7f508709
-Node: Additions to Ada\7f513063
-Node: Stopping Before Main Program\7f516993
-Node: Ada Tasks\7f517522
-Node: Ada Tasks and Core Files\7f523935
-Node: Ravenscar Profile\7f524853
-Node: Ada Glitches\7f525923
-Node: Unsupported Languages\7f528717
-Node: Symbols\7f529407
-Node: Altering\7f543995
-Node: Assignment\7f544964
-Node: Jumping\7f548069
-Node: Signaling\7f550204
-Node: Returning\7f551335
-Node: Calling\7f554687
-Node: Patching\7f557714
-Node: GDB Files\7f558791
-Node: Files\7f559436
-Ref: Shared Libraries\7f572281
-Ref: Files-Footnote-1\7f583915
-Node: Separate Debug Files\7f584090
-Ref: debug-file-directory\7f587195
-Node: Index Files\7f595824
-Node: Symbol Errors\7f597893
-Node: Data Files\7f601506
-Node: Targets\7f602462
-Node: Active Targets\7f603942
-Node: Target Commands\7f605016
-Ref: load\7f609289
-Node: Byte Order\7f610270
-Node: Remote Debugging\7f611247
-Node: Connecting\7f612509
-Node: File Transfer\7f617449
-Node: Server\7f618389
-Ref: Monitor Commands for gdbserver\7f628611
-Ref: Server-Footnote-1\7f633265
-Node: Remote Configuration\7f633385
-Ref: set remotebreak\7f634409
-Ref: set remote hardware-watchpoint-limit\7f635873
-Ref: set remote hardware-breakpoint-limit\7f635873
-Ref: set remote hardware-watchpoint-length-limit\7f636099
-Ref: set remote exec-file\7f636514
-Node: Remote Stub\7f643479
-Node: Stub Contents\7f646376
-Node: Bootstrapping\7f648483
-Node: Debug Session\7f652292
-Node: Configurations\7f654334
-Node: Native\7f655103
-Node: HP-UX\7f655738
-Node: BSD libkvm Interface\7f656027
-Node: SVR4 Process Information\7f657098
-Node: DJGPP Native\7f660528
-Node: Cygwin Native\7f667108
-Node: Non-debug DLL Symbols\7f671057
-Node: Hurd Native\7f675605
-Node: Neutrino\7f680868
-Node: Darwin\7f681258
-Node: Embedded OS\7f682516
-Node: VxWorks\7f682992
-Node: VxWorks Connection\7f685209
-Node: VxWorks Download\7f686143
-Node: VxWorks Attach\7f687878
-Node: Embedded Processors\7f688276
-Node: ARM\7f689455
-Node: M32R/D\7f693576
-Node: M68K\7f695278
-Node: MicroBlaze\7f695571
-Node: MIPS Embedded\7f697021
-Node: OpenRISC 1000\7f701959
-Node: PowerPC Embedded\7f704828
-Node: PA\7f708595
-Node: Sparclet\7f708879
-Node: Sparclet File\7f710349
-Node: Sparclet Connection\7f711229
-Node: Sparclet Download\7f711707
-Node: Sparclet Execution\7f712756
-Node: Sparclite\7f713347
-Node: Z8000\7f713722
-Node: AVR\7f715106
-Node: CRIS\7f715469
-Node: Super-H\7f716447
-Node: Architectures\7f717650
-Node: i386\7f718063
-Node: Alpha\7f718746
-Node: MIPS\7f718879
-Node: HPPA\7f722772
-Node: SPU\7f723291
-Node: PowerPC\7f725479
-Node: Controlling GDB\7f726197
-Node: Prompt\7f727094
-Node: Editing\7f728813
-Node: Command History\7f729756
-Node: Screen Size\7f733160
-Node: Numbers\7f734994
-Node: ABI\7f736971
-Node: Auto-loading\7f739895
-Ref: set auto-load off\7f740762
-Ref: show auto-load\7f741398
-Ref: info auto-load\7f742177
-Node: Init File in the Current Directory\7f745758
-Ref: set auto-load local-gdbinit\7f746333
-Ref: show auto-load local-gdbinit\7f746515
-Ref: info auto-load local-gdbinit\7f746679
-Node: libthread_db.so.1 file\7f746827
-Ref: set auto-load libthread-db\7f747764
-Ref: show auto-load libthread-db\7f747895
-Ref: info auto-load libthread-db\7f748032
-Node: objfile-gdb.gdb file\7f748216
-Ref: set auto-load gdb-scripts\7f748825
-Ref: show auto-load gdb-scripts\7f748949
-Ref: info auto-load gdb-scripts\7f749079
-Node: Auto-loading safe path\7f749310
-Ref: set auto-load safe-path\7f750465
-Ref: show auto-load safe-path\7f751204
-Ref: add-auto-load-safe-path\7f751327
-Node: Auto-loading verbose mode\7f754221
-Ref: set debug auto-load\7f755384
-Ref: show debug auto-load\7f755485
-Node: Messages/Warnings\7f755607
-Ref: confirmation requests\7f757042
-Node: Debugging Output\7f758249
-Node: Other Misc Settings\7f765051
-Node: Extending GDB\7f766080
-Node: Sequences\7f767708
-Node: Define\7f768303
-Node: Hooks\7f772104
-Node: Command Files\7f774471
-Node: Output\7f779541
-Node: Python\7f784474
-Node: Python Commands\7f785649
-Node: Python API\7f787443
-Node: Basic Python\7f789376
-Ref: prompt_hook\7f796842
-Node: Exception Handling\7f797439
-Node: Values From Inferior\7f799935
-Node: Types In Python\7f812580
-Node: Pretty Printing API\7f821319
-Node: Selecting Pretty-Printers\7f825212
-Node: Writing a Pretty-Printer\7f827545
-Node: Inferiors In Python\7f832868
-Node: Events In Python\7f835875
-Node: Threads In Python\7f841283
-Node: Commands In Python\7f843895
-Node: Parameters In Python\7f853081
-Node: Functions In Python\7f858542
-Node: Progspaces In Python\7f860657
-Node: Objfiles In Python\7f862009
-Node: Frames In Python\7f863940
-Node: Blocks In Python\7f870377
-Node: Symbols In Python\7f873348
-Node: Symbol Tables In Python\7f880887
-Node: Breakpoints In Python\7f883878
-Node: Finish Breakpoints in Python\7f890990
-Node: Lazy Strings In Python\7f893097
-Node: Python Auto-loading\7f895300
-Ref: set auto-load python-scripts\7f895964
-Ref: show auto-load python-scripts\7f896064
-Ref: info auto-load python-scripts\7f896170
-Node: objfile-gdb.py file\7f897339
-Ref: set auto-load scripts-directory\7f898121
-Ref: with-auto-load-dir\7f898497
-Ref: show auto-load scripts-directory\7f899315
-Node: dotdebug_gdb_scripts section\7f899644
-Node: Which flavor to choose?\7f901165
-Node: Python modules\7f902991
-Node: gdb.printing\7f903377
-Node: gdb.types\7f904791
-Node: gdb.prompt\7f906493
-Node: Aliases\7f908142
-Node: Interpreters\7f910985
-Node: TUI\7f913084
-Node: TUI Overview\7f914031
-Node: TUI Keys\7f916464
-Node: TUI Single Key Mode\7f918768
-Node: TUI Commands\7f919643
-Node: TUI Configuration\7f922027
-Node: Emacs\7f923323
-Node: GDB/MI\7f928797
-Node: GDB/MI General Design\7f930677
-Node: Context management\7f933200
-Node: Asynchronous and non-stop modes\7f936335
-Node: Thread groups\7f938327
-Node: GDB/MI Command Syntax\7f940605
-Node: GDB/MI Input Syntax\7f940848
-Node: GDB/MI Output Syntax\7f942402
-Node: GDB/MI Compatibility with CLI\7f945974
-Node: GDB/MI Development and Front Ends\7f946711
-Node: GDB/MI Output Records\7f948368
-Node: GDB/MI Result Records\7f948740
-Node: GDB/MI Stream Records\7f949746
-Node: GDB/MI Async Records\7f951011
-Node: GDB/MI Frame Information\7f958843
-Node: GDB/MI Thread Information\7f959921
-Node: GDB/MI Ada Exception Information\7f960900
-Node: GDB/MI Simple Examples\7f961323
-Node: GDB/MI Command Description Format\7f963500
-Node: GDB/MI Breakpoint Commands\7f964380
-Node: GDB/MI Program Context\7f982251
-Node: GDB/MI Thread Commands\7f986519
-Node: GDB/MI Ada Tasking Commands\7f990475
-Node: GDB/MI Program Execution\7f992729
-Node: GDB/MI Stack Manipulation\7f1004515
-Node: GDB/MI Variable Objects\7f1015417
-Ref: -var-set-format\7f1025320
-Ref: -var-list-children\7f1026438
-Ref: -var-update\7f1034789
-Ref: -var-set-frozen\7f1037784
-Ref: -var-set-update-range\7f1038580
-Ref: -var-set-visualizer\7f1039110
-Node: GDB/MI Data Manipulation\7f1040607
-Node: GDB/MI Tracepoint Commands\7f1058192
-Node: GDB/MI Symbol Query\7f1065521
-Node: GDB/MI File Commands\7f1066210
-Node: GDB/MI Target Manipulation\7f1069547
-Node: GDB/MI File Transfer Commands\7f1075769
-Node: GDB/MI Miscellaneous Commands\7f1077091
-Ref: -interpreter-exec\7f1089683
-Node: Annotations\7f1091996
-Node: Annotations Overview\7f1092915
-Node: Server Prefix\7f1095378
-Node: Prompting\7f1096112
-Node: Errors\7f1097629
-Node: Invalidation\7f1098525
-Node: Annotations for Running\7f1099002
-Node: Source Annotations\7f1100522
-Node: JIT Interface\7f1101447
-Node: Declarations\7f1103247
-Node: Registering Code\7f1104634
-Node: Unregistering Code\7f1105606
-Node: Custom Debug Info\7f1106233
-Node: Using JIT Debug Info Readers\7f1107529
-Node: Writing JIT Debug Info Readers\7f1108396
-Node: In-Process Agent\7f1110593
-Ref: Control Agent\7f1112536
-Node: In-Process Agent Protocol\7f1113403
-Node: IPA Protocol Objects\7f1114195
-Ref: agent expression object\7f1115197
-Ref: tracepoint action object\7f1115403
-Ref: tracepoint object\7f1115484
-Node: IPA Protocol Commands\7f1118441
-Node: GDB Bugs\7f1119776
-Node: Bug Criteria\7f1120508
-Node: Bug Reporting\7f1121385
-Node: Command Line Editing\7f1129008
-Node: Introduction and Notation\7f1129660
-Node: Readline Interaction\7f1131280
-Node: Readline Bare Essentials\7f1132469
-Node: Readline Movement Commands\7f1134256
-Node: Readline Killing Commands\7f1135219
-Node: Readline Arguments\7f1137137
-Node: Searching\7f1138179
-Node: Readline Init File\7f1140328
-Node: Readline Init File Syntax\7f1141479
-Node: Conditional Init Constructs\7f1156537
-Node: Sample Init File\7f1159068
-Node: Bindable Readline Commands\7f1162183
-Node: Commands For Moving\7f1163238
-Node: Commands For History\7f1164097
-Node: Commands For Text\7f1167499
-Node: Commands For Killing\7f1170223
-Node: Numeric Arguments\7f1172363
-Node: Commands For Completion\7f1173500
-Node: Keyboard Macros\7f1175467
-Node: Miscellaneous Commands\7f1176036
-Node: Readline vi Mode\7f1179890
-Node: Using History Interactively\7f1180800
-Node: History Interaction\7f1181343
-Node: Event Designators\7f1182765
-Node: Word Designators\7f1183905
-Node: Modifiers\7f1185542
-Node: In Memoriam\7f1186765
-Node: Formatting Documentation\7f1187648
-Ref: Formatting Documentation-Footnote-1\7f1190961
-Node: Installing GDB\7f1191025
-Node: Requirements\7f1191597
-Ref: Expat\7f1192166
-Node: Running Configure\7f1194684
-Node: Separate Objdir\7f1198223
-Node: Config Names\7f1201107
-Node: Configure Options\7f1202552
-Node: System-wide configuration\7f1204922
-Node: Maintenance Commands\7f1206217
-Ref: maint info breakpoints\7f1207871
-Node: Remote Protocol\7f1222269
-Node: Overview\7f1222899
-Ref: Binary Data\7f1225461
-Node: Packets\7f1227984
-Ref: thread-id syntax\7f1228884
-Ref: extended mode\7f1230329
-Ref: bc\7f1232050
-Ref: bs\7f1232260
-Ref: read registers packet\7f1233864
-Ref: cycle step packet\7f1235797
-Ref: write register packet\7f1237673
-Ref: step with signal packet\7f1238669
-Ref: vCont packet\7f1240123
-Ref: vStopped packet\7f1245039
-Ref: X packet\7f1245382
-Ref: insert breakpoint or watchpoint packet\7f1245668
-Node: Stop Reply Packets\7f1249705
-Node: General Query Packets\7f1254445
-Ref: QNonStop\7f1264659
-Ref: QPassSignals\7f1265283
-Ref: QProgramSignals\7f1266452
-Ref: qSearch memory\7f1268928
-Ref: QStartNoAckMode\7f1269426
-Ref: qSupported\7f1269956
-Ref: multiprocess extensions\7f1279773
-Ref: install tracepoint in tracing\7f1281802
-Ref: qXfer read\7f1284820
-Ref: qXfer auxiliary vector read\7f1285314
-Ref: qXfer target description read\7f1285663
-Ref: qXfer library list read\7f1286107
-Ref: qXfer svr4 library list read\7f1286762
-Ref: qXfer memory map read\7f1287397
-Ref: qXfer sdata read\7f1287783
-Ref: qXfer siginfo read\7f1288247
-Ref: qXfer spu read\7f1288643
-Ref: qXfer threads read\7f1289166
-Ref: qXfer traceframe info read\7f1289568
-Ref: qXfer unwind info block\7f1289984
-Ref: qXfer fdpic loadmap read\7f1290216
-Ref: qXfer osdata read\7f1290631
-Ref: qXfer write\7f1291833
-Ref: qXfer siginfo write\7f1292390
-Ref: qXfer spu write\7f1292786
-Ref: General Query Packets-Footnote-1\7f1294873
-Node: Architecture-Specific Protocol Details\7f1295200
-Node: ARM-Specific Protocol Details\7f1295709
-Node: ARM Breakpoint Kinds\7f1295957
-Node: MIPS-Specific Protocol Details\7f1296289
-Node: MIPS Register packet Format\7f1296572
-Node: MIPS Breakpoint Kinds\7f1297501
-Node: Tracepoint Packets\7f1297920
-Ref: QTEnable\7f1306913
-Ref: QTDisable\7f1307109
-Ref: qTfSTM\7f1312633
-Ref: qTsSTM\7f1312633
-Ref: qTSTMat\7f1313671
-Node: Host I/O Packets\7f1316599
-Node: Interrupts\7f1321217
-Node: Notification Packets\7f1323120
-Node: Remote Non-Stop\7f1325391
-Node: Packet Acknowledgment\7f1329650
-Node: Examples\7f1331765
-Node: File-I/O Remote Protocol Extension\7f1332391
-Node: File-I/O Overview\7f1332853
-Node: Protocol Basics\7f1335050
-Node: The F Request Packet\7f1337282
-Node: The F Reply Packet\7f1338183
-Node: The Ctrl-C Message\7f1339101
-Node: Console I/O\7f1340730
-Node: List of Supported Calls\7f1341947
-Node: open\7f1342309
-Node: close\7f1344803
-Node: read\7f1345185
-Node: write\7f1345792
-Node: lseek\7f1346559
-Node: rename\7f1347437
-Node: unlink\7f1348833
-Node: stat/fstat\7f1349772
-Node: gettimeofday\7f1350659
-Node: isatty\7f1351094
-Node: system\7f1351690
-Node: Protocol-specific Representation of Datatypes\7f1353232
-Node: Integral Datatypes\7f1353609
-Node: Pointer Values\7f1354416
-Node: Memory Transfer\7f1355124
-Node: struct stat\7f1355744
-Node: struct timeval\7f1357946
-Node: Constants\7f1358463
-Node: Open Flags\7f1358912
-Node: mode_t Values\7f1359253
-Node: Errno Values\7f1359745
-Node: Lseek Flags\7f1360556
-Node: Limits\7f1360741
-Node: File-I/O Examples\7f1361101
-Node: Library List Format\7f1362217
-Node: Library List Format for SVR4 Targets\7f1365000
-Node: Memory Map Format\7f1367470
-Node: Thread List Format\7f1370047
-Node: Traceframe Info Format\7f1370865
-Node: Agent Expressions\7f1372322
-Node: General Bytecode Design\7f1375143
-Node: Bytecode Descriptions\7f1379943
-Node: Using Agent Expressions\7f1393379
-Node: Varying Target Capabilities\7f1395357
-Node: Rationale\7f1396519
-Node: Target Descriptions\7f1403905
-Node: Retrieving Descriptions\7f1405781
-Node: Target Description Format\7f1406866
-Node: Predefined Target Types\7f1415915
-Node: Standard Target Features\7f1417300
-Node: ARM Features\7f1419090
-Node: i386 Features\7f1420582
-Node: MIPS Features\7f1421686
-Node: M68K Features\7f1422870
-Node: PowerPC Features\7f1423533
-Node: TIC6x Features\7f1424840
-Node: Operating System Information\7f1425389
-Node: Process list\7f1426227
-Node: Trace File Format\7f1427289
-Node: Index Section Format\7f1429283
-Node: Copying\7f1436911
-Node: GNU Free Documentation License\7f1474501
-Node: Concept Index\7f1499667
-Node: Command and Variable Index\7f1616465
+Node: Top\7f1912
+Node: Summary\7f5342
+Node: Free Software\7f7215
+Node: Free Documentation\7f7956
+Node: Contributors\7f12891
+Node: Sample Session\7f20985
+Node: Invocation\7f27823
+Node: Invoking GDB\7f28367
+Node: File Options\7f30680
+Node: Mode Options\7f33738
+Ref: -nx\7f33965
+Node: Startup\7f40412
+Ref: Home Directory Init File\7f40963
+Ref: Option -init-eval-command\7f41073
+Ref: Init File in the Current Directory during Startup\7f41418
+Ref: Startup-Footnote-1\7f43590
+Node: Quitting GDB\7f43699
+Node: Shell Commands\7f44596
+Node: Logging Output\7f45523
+Node: Commands\7f46369
+Node: Command Syntax\7f47007
+Node: Completion\7f49173
+Ref: Completion-Footnote-1\7f54537
+Node: Help\7f54697
+Node: Running\7f60066
+Node: Compilation\7f61295
+Node: Starting\7f63379
+Node: Arguments\7f72304
+Node: Environment\7f73574
+Node: Working Directory\7f76842
+Node: Input/Output\7f77950
+Node: Attach\7f79921
+Node: Kill Process\7f82388
+Node: Inferiors and Programs\7f83369
+Node: Threads\7f90614
+Ref: set libthread-db-search-path\7f98023
+Node: Forks\7f100081
+Node: Checkpoint/Restart\7f106391
+Ref: Checkpoint/Restart-Footnote-1\7f110920
+Node: Stopping\7f110955
+Node: Breakpoints\7f112218
+Node: Set Breaks\7f115761
+Node: Set Watchpoints\7f134494
+Node: Set Catchpoints\7f143897
+Node: Delete Breaks\7f153333
+Node: Disabling\7f155269
+Node: Conditions\7f158658
+Node: Break Commands\7f164306
+Node: Dynamic Printf\7f167528
+Node: Save Breakpoints\7f171788
+Node: Static Probe Points\7f172963
+Node: Error in Breakpoints\7f175650
+Node: Breakpoint-related Warnings\7f176386
+Node: Continuing and Stepping\7f178713
+Node: Skipping Over Functions and Files\7f188099
+Node: Signals\7f191671
+Ref: extra signal information\7f195953
+Node: Thread Stops\7f197456
+Node: All-Stop Mode\7f198555
+Node: Non-Stop Mode\7f202453
+Node: Background Execution\7f205930
+Node: Thread-Specific Breakpoints\7f208499
+Node: Interrupted System Calls\7f209821
+Node: Observer Mode\7f211335
+Node: Reverse Execution\7f214774
+Ref: Reverse Execution-Footnote-1\7f219401
+Ref: Reverse Execution-Footnote-2\7f220028
+Node: Process Record and Replay\7f220078
+Node: Stack\7f227325
+Node: Frames\7f228818
+Node: Backtrace\7f231570
+Ref: Backtrace-Footnote-1\7f236783
+Node: Selection\7f236971
+Node: Frame Info\7f239835
+Node: Source\7f241829
+Node: List\7f242895
+Node: Specify Location\7f245508
+Node: Edit\7f250112
+Ref: Edit-Footnote-1\7f251587
+Node: Search\7f251822
+Node: Source Path\7f252630
+Ref: set substitute-path\7f258997
+Node: Machine Code\7f261218
+Node: Data\7f267892
+Node: Expressions\7f275508
+Node: Ambiguous Expressions\7f277600
+Node: Variables\7f280834
+Node: Arrays\7f286452
+Node: Output Formats\7f288983
+Ref: Output Formats-Footnote-1\7f292171
+Node: Memory\7f292328
+Node: Auto Display\7f298482
+Node: Print Settings\7f303024
+Ref: set print entry-values\7f310604
+Node: Pretty Printing\7f321849
+Node: Pretty-Printer Introduction\7f322362
+Node: Pretty-Printer Example\7f324117
+Node: Pretty-Printer Commands\7f324895
+Node: Value History\7f327319
+Node: Convenience Vars\7f329740
+Node: Registers\7f334586
+Ref: Registers-Footnote-1\7f339263
+Node: Floating Point Hardware\7f339658
+Node: Vector Unit\7f340190
+Node: OS Information\7f340577
+Ref: linux info os infotypes\7f343154
+Node: Memory Region Attributes\7f347354
+Node: Dump/Restore Files\7f352024
+Node: Core File Generation\7f354329
+Node: Character Sets\7f355563
+Node: Caching Remote Data\7f361928
+Ref: Caching Remote Data-Footnote-1\7f364193
+Node: Searching Memory\7f364431
+Node: Optimized Code\7f367308
+Node: Inline Functions\7f368985
+Node: Tail Call Frames\7f371612
+Ref: set debug entry-values\7f373752
+Node: Macros\7f377826
+Ref: Macros-Footnote-1\7f385402
+Node: Tracepoints\7f385555
+Node: Set Tracepoints\7f387616
+Node: Create and Delete Tracepoints\7f390554
+Node: Enable and Disable Tracepoints\7f396954
+Node: Tracepoint Passcounts\7f398194
+Node: Tracepoint Conditions\7f399621
+Node: Trace State Variables\7f401315
+Node: Tracepoint Actions\7f403505
+Node: Listing Tracepoints\7f409810
+Node: Listing Static Tracepoint Markers\7f410931
+Node: Starting and Stopping Trace Experiments\7f412777
+Ref: disconnected tracing\7f414522
+Node: Tracepoint Restrictions\7f418140
+Node: Analyze Collected Data\7f421910
+Node: tfind\7f423215
+Node: tdump\7f427637
+Node: save tracepoints\7f430152
+Node: Tracepoint Variables\7f430648
+Node: Trace Files\7f431776
+Node: Overlays\7f433234
+Node: How Overlays Work\7f433954
+Ref: A code overlay\7f436514
+Node: Overlay Commands\7f439952
+Node: Automatic Overlay Debugging\7f444142
+Node: Overlay Sample Program\7f446283
+Node: Languages\7f448043
+Node: Setting\7f449206
+Node: Filenames\7f450908
+Node: Manually\7f451719
+Node: Automatically\7f452928
+Node: Show\7f453989
+Node: Checks\7f455311
+Node: Type Checking\7f456701
+Node: Range Checking\7f459434
+Node: Supported Languages\7f461835
+Node: C\7f463135
+Node: C Operators\7f464099
+Node: C Constants\7f468418
+Node: C Plus Plus Expressions\7f471299
+Node: C Defaults\7f474642
+Node: C Checks\7f475325
+Node: Debugging C\7f476048
+Node: Debugging C Plus Plus\7f476532
+Node: Decimal Floating Point\7f479990
+Node: D\7f481249
+Node: Go\7f481506
+Node: Objective-C\7f482600
+Node: Method Names in Commands\7f483063
+Node: The Print Command with Objective-C\7f484758
+Node: OpenCL C\7f485409
+Node: OpenCL C Datatypes\7f485684
+Node: OpenCL C Expressions\7f486059
+Node: OpenCL C Operators\7f486416
+Node: Fortran\7f486648
+Node: Fortran Operators\7f487370
+Node: Fortran Defaults\7f488226
+Node: Special Fortran Commands\7f488611
+Node: Pascal\7f489117
+Node: Modula-2\7f489632
+Node: M2 Operators\7f490607
+Node: Built-In Func/Proc\7f493606
+Node: M2 Constants\7f496467
+Node: M2 Types\7f498068
+Node: M2 Defaults\7f501287
+Node: Deviations\7f501887
+Node: M2 Checks\7f502988
+Node: M2 Scope\7f503806
+Node: GDB/M2\7f504830
+Node: Ada\7f505742
+Node: Ada Mode Intro\7f506805
+Node: Omissions from Ada\7f508715
+Node: Additions to Ada\7f513069
+Node: Stopping Before Main Program\7f516999
+Node: Ada Tasks\7f517528
+Node: Ada Tasks and Core Files\7f523941
+Node: Ravenscar Profile\7f524859
+Node: Ada Glitches\7f525929
+Node: Unsupported Languages\7f528723
+Node: Symbols\7f529413
+Node: Altering\7f544001
+Node: Assignment\7f544970
+Node: Jumping\7f548075
+Node: Signaling\7f550210
+Node: Returning\7f551341
+Node: Calling\7f554693
+Node: Patching\7f557720
+Node: GDB Files\7f558797
+Node: Files\7f559442
+Ref: Shared Libraries\7f572287
+Ref: Files-Footnote-1\7f583921
+Node: Separate Debug Files\7f584096
+Ref: debug-file-directory\7f587201
+Node: Index Files\7f595830
+Node: Symbol Errors\7f597899
+Node: Data Files\7f601512
+Node: Targets\7f602468
+Node: Active Targets\7f603948
+Node: Target Commands\7f605022
+Ref: load\7f609295
+Node: Byte Order\7f610276
+Node: Remote Debugging\7f611253
+Node: Connecting\7f612515
+Node: File Transfer\7f617455
+Node: Server\7f618395
+Ref: Monitor Commands for gdbserver\7f628617
+Ref: Server-Footnote-1\7f633271
+Node: Remote Configuration\7f633391
+Ref: set remotebreak\7f634415
+Ref: set remote hardware-watchpoint-limit\7f635879
+Ref: set remote hardware-breakpoint-limit\7f635879
+Ref: set remote hardware-watchpoint-length-limit\7f636105
+Ref: set remote exec-file\7f636520
+Node: Remote Stub\7f643485
+Node: Stub Contents\7f646382
+Node: Bootstrapping\7f648489
+Node: Debug Session\7f652298
+Node: Configurations\7f654340
+Node: Native\7f655109
+Node: HP-UX\7f655744
+Node: BSD libkvm Interface\7f656033
+Node: SVR4 Process Information\7f657104
+Node: DJGPP Native\7f660534
+Node: Cygwin Native\7f667114
+Node: Non-debug DLL Symbols\7f671063
+Node: Hurd Native\7f675611
+Node: Neutrino\7f680874
+Node: Darwin\7f681264
+Node: Embedded OS\7f682522
+Node: VxWorks\7f682998
+Node: VxWorks Connection\7f685215
+Node: VxWorks Download\7f686149
+Node: VxWorks Attach\7f687884
+Node: Embedded Processors\7f688282
+Node: ARM\7f689461
+Node: M32R/D\7f693582
+Node: M68K\7f695284
+Node: MicroBlaze\7f695577
+Node: MIPS Embedded\7f697027
+Node: OpenRISC 1000\7f701965
+Node: PowerPC Embedded\7f704834
+Node: PA\7f708601
+Node: Sparclet\7f708885
+Node: Sparclet File\7f710355
+Node: Sparclet Connection\7f711235
+Node: Sparclet Download\7f711713
+Node: Sparclet Execution\7f712762
+Node: Sparclite\7f713353
+Node: Z8000\7f713728
+Node: AVR\7f715112
+Node: CRIS\7f715475
+Node: Super-H\7f716453
+Node: Architectures\7f717656
+Node: i386\7f718069
+Node: Alpha\7f718752
+Node: MIPS\7f718885
+Node: HPPA\7f722778
+Node: SPU\7f723297
+Node: PowerPC\7f725485
+Node: Controlling GDB\7f726203
+Node: Prompt\7f727100
+Node: Editing\7f728819
+Node: Command History\7f729762
+Node: Screen Size\7f733166
+Node: Numbers\7f735000
+Node: ABI\7f736977
+Node: Auto-loading\7f739901
+Ref: set auto-load off\7f740768
+Ref: show auto-load\7f741404
+Ref: info auto-load\7f742183
+Node: Init File in the Current Directory\7f745764
+Ref: set auto-load local-gdbinit\7f746339
+Ref: show auto-load local-gdbinit\7f746521
+Ref: info auto-load local-gdbinit\7f746685
+Node: libthread_db.so.1 file\7f746833
+Ref: set auto-load libthread-db\7f747770
+Ref: show auto-load libthread-db\7f747901
+Ref: info auto-load libthread-db\7f748038
+Node: objfile-gdb.gdb file\7f748222
+Ref: set auto-load gdb-scripts\7f748831
+Ref: show auto-load gdb-scripts\7f748955
+Ref: info auto-load gdb-scripts\7f749085
+Node: Auto-loading safe path\7f749316
+Ref: set auto-load safe-path\7f750471
+Ref: show auto-load safe-path\7f751210
+Ref: add-auto-load-safe-path\7f751333
+Node: Auto-loading verbose mode\7f754227
+Ref: set debug auto-load\7f755390
+Ref: show debug auto-load\7f755491
+Node: Messages/Warnings\7f755613
+Ref: confirmation requests\7f757048
+Node: Debugging Output\7f758255
+Node: Other Misc Settings\7f765057
+Node: Extending GDB\7f766086
+Node: Sequences\7f767714
+Node: Define\7f768309
+Node: Hooks\7f772110
+Node: Command Files\7f774477
+Node: Output\7f779547
+Node: Python\7f784480
+Node: Python Commands\7f785655
+Node: Python API\7f787449
+Node: Basic Python\7f789382
+Ref: prompt_hook\7f796848
+Node: Exception Handling\7f797445
+Node: Values From Inferior\7f799941
+Node: Types In Python\7f812586
+Node: Pretty Printing API\7f821325
+Node: Selecting Pretty-Printers\7f825218
+Node: Writing a Pretty-Printer\7f827551
+Node: Inferiors In Python\7f832874
+Node: Events In Python\7f835881
+Node: Threads In Python\7f841289
+Node: Commands In Python\7f843901
+Node: Parameters In Python\7f853087
+Node: Functions In Python\7f858548
+Node: Progspaces In Python\7f860663
+Node: Objfiles In Python\7f862015
+Node: Frames In Python\7f863946
+Node: Blocks In Python\7f870383
+Node: Symbols In Python\7f873354
+Node: Symbol Tables In Python\7f880893
+Node: Breakpoints In Python\7f883884
+Node: Finish Breakpoints in Python\7f890996
+Node: Lazy Strings In Python\7f893103
+Node: Python Auto-loading\7f895306
+Ref: set auto-load python-scripts\7f895970
+Ref: show auto-load python-scripts\7f896070
+Ref: info auto-load python-scripts\7f896176
+Node: objfile-gdb.py file\7f897345
+Ref: set auto-load scripts-directory\7f898519
+Ref: with-auto-load-dir\7f898895
+Ref: show auto-load scripts-directory\7f899713
+Node: dotdebug_gdb_scripts section\7f900042
+Node: Which flavor to choose?\7f901563
+Node: Python modules\7f903389
+Node: gdb.printing\7f903775
+Node: gdb.types\7f905189
+Node: gdb.prompt\7f906891
+Node: Aliases\7f908540
+Node: Interpreters\7f911383
+Node: TUI\7f913482
+Node: TUI Overview\7f914429
+Node: TUI Keys\7f916862
+Node: TUI Single Key Mode\7f919166
+Node: TUI Commands\7f920041
+Node: TUI Configuration\7f922425
+Node: Emacs\7f923721
+Node: GDB/MI\7f929195
+Node: GDB/MI General Design\7f931075
+Node: Context management\7f933598
+Node: Asynchronous and non-stop modes\7f936733
+Node: Thread groups\7f938725
+Node: GDB/MI Command Syntax\7f941003
+Node: GDB/MI Input Syntax\7f941246
+Node: GDB/MI Output Syntax\7f942800
+Node: GDB/MI Compatibility with CLI\7f946372
+Node: GDB/MI Development and Front Ends\7f947109
+Node: GDB/MI Output Records\7f948766
+Node: GDB/MI Result Records\7f949138
+Node: GDB/MI Stream Records\7f950144
+Node: GDB/MI Async Records\7f951409
+Node: GDB/MI Frame Information\7f959241
+Node: GDB/MI Thread Information\7f960319
+Node: GDB/MI Ada Exception Information\7f961298
+Node: GDB/MI Simple Examples\7f961721
+Node: GDB/MI Command Description Format\7f963898
+Node: GDB/MI Breakpoint Commands\7f964778
+Node: GDB/MI Program Context\7f982649
+Node: GDB/MI Thread Commands\7f986917
+Node: GDB/MI Ada Tasking Commands\7f990873
+Node: GDB/MI Program Execution\7f993127
+Node: GDB/MI Stack Manipulation\7f1004913
+Node: GDB/MI Variable Objects\7f1015815
+Ref: -var-set-format\7f1025718
+Ref: -var-list-children\7f1026836
+Ref: -var-update\7f1035187
+Ref: -var-set-frozen\7f1038182
+Ref: -var-set-update-range\7f1038978
+Ref: -var-set-visualizer\7f1039508
+Node: GDB/MI Data Manipulation\7f1041005
+Node: GDB/MI Tracepoint Commands\7f1058590
+Node: GDB/MI Symbol Query\7f1065919
+Node: GDB/MI File Commands\7f1066608
+Node: GDB/MI Target Manipulation\7f1069945
+Node: GDB/MI File Transfer Commands\7f1076167
+Node: GDB/MI Miscellaneous Commands\7f1077489
+Ref: -interpreter-exec\7f1090081
+Node: Annotations\7f1092394
+Node: Annotations Overview\7f1093313
+Node: Server Prefix\7f1095776
+Node: Prompting\7f1096510
+Node: Errors\7f1098027
+Node: Invalidation\7f1098923
+Node: Annotations for Running\7f1099400
+Node: Source Annotations\7f1100920
+Node: JIT Interface\7f1101845
+Node: Declarations\7f1103645
+Node: Registering Code\7f1105032
+Node: Unregistering Code\7f1106004
+Node: Custom Debug Info\7f1106631
+Node: Using JIT Debug Info Readers\7f1107927
+Node: Writing JIT Debug Info Readers\7f1108794
+Node: In-Process Agent\7f1110991
+Ref: Control Agent\7f1112934
+Node: In-Process Agent Protocol\7f1113801
+Node: IPA Protocol Objects\7f1114593
+Ref: agent expression object\7f1115595
+Ref: tracepoint action object\7f1115801
+Ref: tracepoint object\7f1115882
+Node: IPA Protocol Commands\7f1118839
+Node: GDB Bugs\7f1120174
+Node: Bug Criteria\7f1120906
+Node: Bug Reporting\7f1121783
+Node: Command Line Editing\7f1129406
+Node: Introduction and Notation\7f1130058
+Node: Readline Interaction\7f1131678
+Node: Readline Bare Essentials\7f1132867
+Node: Readline Movement Commands\7f1134654
+Node: Readline Killing Commands\7f1135617
+Node: Readline Arguments\7f1137535
+Node: Searching\7f1138577
+Node: Readline Init File\7f1140726
+Node: Readline Init File Syntax\7f1141877
+Node: Conditional Init Constructs\7f1156935
+Node: Sample Init File\7f1159466
+Node: Bindable Readline Commands\7f1162581
+Node: Commands For Moving\7f1163636
+Node: Commands For History\7f1164495
+Node: Commands For Text\7f1167897
+Node: Commands For Killing\7f1170621
+Node: Numeric Arguments\7f1172761
+Node: Commands For Completion\7f1173898
+Node: Keyboard Macros\7f1175865
+Node: Miscellaneous Commands\7f1176434
+Node: Readline vi Mode\7f1180288
+Node: Using History Interactively\7f1181198
+Node: History Interaction\7f1181741
+Node: Event Designators\7f1183163
+Node: Word Designators\7f1184303
+Node: Modifiers\7f1185940
+Node: In Memoriam\7f1187163
+Node: Formatting Documentation\7f1188046
+Ref: Formatting Documentation-Footnote-1\7f1191367
+Node: Installing GDB\7f1191435
+Node: Requirements\7f1192007
+Ref: Expat\7f1192576
+Node: Running Configure\7f1195094
+Node: Separate Objdir\7f1198663
+Node: Config Names\7f1201559
+Node: Configure Options\7f1203008
+Node: System-wide configuration\7f1205378
+Node: Maintenance Commands\7f1206673
+Ref: maint info breakpoints\7f1208327
+Node: Remote Protocol\7f1222725
+Node: Overview\7f1223355
+Ref: Binary Data\7f1225917
+Node: Packets\7f1228440
+Ref: thread-id syntax\7f1229340
+Ref: extended mode\7f1230785
+Ref: bc\7f1232506
+Ref: bs\7f1232716
+Ref: read registers packet\7f1234320
+Ref: cycle step packet\7f1236253
+Ref: write register packet\7f1238129
+Ref: step with signal packet\7f1239125
+Ref: vCont packet\7f1240579
+Ref: vStopped packet\7f1245495
+Ref: X packet\7f1245838
+Ref: insert breakpoint or watchpoint packet\7f1246124
+Node: Stop Reply Packets\7f1250161
+Node: General Query Packets\7f1254901
+Ref: QNonStop\7f1265115
+Ref: QPassSignals\7f1265739
+Ref: QProgramSignals\7f1266908
+Ref: qSearch memory\7f1269384
+Ref: QStartNoAckMode\7f1269882
+Ref: qSupported\7f1270412
+Ref: multiprocess extensions\7f1280229
+Ref: install tracepoint in tracing\7f1282258
+Ref: qXfer read\7f1285276
+Ref: qXfer auxiliary vector read\7f1285770
+Ref: qXfer target description read\7f1286119
+Ref: qXfer library list read\7f1286563
+Ref: qXfer svr4 library list read\7f1287218
+Ref: qXfer memory map read\7f1287853
+Ref: qXfer sdata read\7f1288239
+Ref: qXfer siginfo read\7f1288703
+Ref: qXfer spu read\7f1289099
+Ref: qXfer threads read\7f1289622
+Ref: qXfer traceframe info read\7f1290024
+Ref: qXfer unwind info block\7f1290440
+Ref: qXfer fdpic loadmap read\7f1290672
+Ref: qXfer osdata read\7f1291087
+Ref: qXfer write\7f1292289
+Ref: qXfer siginfo write\7f1292846
+Ref: qXfer spu write\7f1293242
+Ref: General Query Packets-Footnote-1\7f1295329
+Node: Architecture-Specific Protocol Details\7f1295656
+Node: ARM-Specific Protocol Details\7f1296165
+Node: ARM Breakpoint Kinds\7f1296413
+Node: MIPS-Specific Protocol Details\7f1296745
+Node: MIPS Register packet Format\7f1297028
+Node: MIPS Breakpoint Kinds\7f1297957
+Node: Tracepoint Packets\7f1298376
+Ref: QTEnable\7f1307369
+Ref: QTDisable\7f1307565
+Ref: qTfSTM\7f1313089
+Ref: qTsSTM\7f1313089
+Ref: qTSTMat\7f1314127
+Node: Host I/O Packets\7f1317055
+Node: Interrupts\7f1321673
+Node: Notification Packets\7f1323576
+Node: Remote Non-Stop\7f1325847
+Node: Packet Acknowledgment\7f1330106
+Node: Examples\7f1332221
+Node: File-I/O Remote Protocol Extension\7f1332847
+Node: File-I/O Overview\7f1333309
+Node: Protocol Basics\7f1335506
+Node: The F Request Packet\7f1337738
+Node: The F Reply Packet\7f1338639
+Node: The Ctrl-C Message\7f1339557
+Node: Console I/O\7f1341186
+Node: List of Supported Calls\7f1342403
+Node: open\7f1342765
+Node: close\7f1345259
+Node: read\7f1345641
+Node: write\7f1346248
+Node: lseek\7f1347015
+Node: rename\7f1347893
+Node: unlink\7f1349289
+Node: stat/fstat\7f1350228
+Node: gettimeofday\7f1351115
+Node: isatty\7f1351550
+Node: system\7f1352146
+Node: Protocol-specific Representation of Datatypes\7f1353688
+Node: Integral Datatypes\7f1354065
+Node: Pointer Values\7f1354872
+Node: Memory Transfer\7f1355580
+Node: struct stat\7f1356200
+Node: struct timeval\7f1358402
+Node: Constants\7f1358919
+Node: Open Flags\7f1359368
+Node: mode_t Values\7f1359709
+Node: Errno Values\7f1360201
+Node: Lseek Flags\7f1361012
+Node: Limits\7f1361197
+Node: File-I/O Examples\7f1361557
+Node: Library List Format\7f1362673
+Node: Library List Format for SVR4 Targets\7f1365456
+Node: Memory Map Format\7f1367926
+Node: Thread List Format\7f1370503
+Node: Traceframe Info Format\7f1371321
+Node: Agent Expressions\7f1372778
+Node: General Bytecode Design\7f1375599
+Node: Bytecode Descriptions\7f1380399
+Node: Using Agent Expressions\7f1393835
+Node: Varying Target Capabilities\7f1395813
+Node: Rationale\7f1396975
+Node: Target Descriptions\7f1404361
+Node: Retrieving Descriptions\7f1406237
+Node: Target Description Format\7f1407322
+Node: Predefined Target Types\7f1416371
+Node: Standard Target Features\7f1417756
+Node: ARM Features\7f1419546
+Node: i386 Features\7f1421038
+Node: MIPS Features\7f1422142
+Node: M68K Features\7f1423326
+Node: PowerPC Features\7f1423989
+Node: TIC6x Features\7f1425296
+Node: Operating System Information\7f1425845
+Node: Process list\7f1426683
+Node: Trace File Format\7f1427745
+Node: Index Section Format\7f1429739
+Node: Copying\7f1437367
+Node: GNU Free Documentation License\7f1474957
+Node: Concept Index\7f1500123
+Node: Command and Variable Index\7f1616921
 \1f
 End Tag Table
index 46012f3..0e46981 100644 (file)
@@ -23,7 +23,7 @@ developing GNU and promoting software freedom."
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.5.
+Source-Level Debugger' for GDB (GDB) Version 7.5.1.
 
    Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
@@ -48,7 +48,7 @@ Debugging with GDB
 
 This file describes GDB, the GNU symbolic debugger.
 
-   This is the Tenth Edition, for GDB (GDB) Version 7.5.
+   This is the Tenth Edition, for GDB (GDB) Version 7.5.1.
 
    Copyright (C) 1988-2012 Free Software Foundation, Inc.
 
@@ -496,7 +496,7 @@ Let us use GDB to try to see what is going on.
      There is absolutely no warranty for GDB; type "show warranty"
       for details.
 
-     GDB 7.5, Copyright 1999 Free Software Foundation, Inc...
+     GDB 7.5.1, Copyright 1999 Free Software Foundation, Inc...
      (gdb)
 
 GDB reads only enough symbol data to know where to find the rest when
index 878d95a..8360468 100644 (file)
@@ -23,7 +23,7 @@ developing GNU and promoting software freedom."
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.5.
+Source-Level Debugger' for GDB (GDB) Version 7.5.1.
 
    Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
index 5a20e5a..d5d80da 100644 (file)
@@ -23,7 +23,7 @@ developing GNU and promoting software freedom."
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.5.
+Source-Level Debugger' for GDB (GDB) Version 7.5.1.
 
    Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
index 0ecc602..e53a5c0 100644 (file)
@@ -23,7 +23,7 @@ developing GNU and promoting software freedom."
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.5.
+Source-Level Debugger' for GDB (GDB) Version 7.5.1.
 
    Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
@@ -59,6 +59,13 @@ in all of the directories as specified below.
    Note that loading of this script file also requires accordingly
 configured `auto-load safe-path' (*note Auto-loading safe path::).
 
+   For object files using `.exe' suffix GDB tries to load first the
+scripts normally according to its `.exe' filename.  But if no scripts
+are found GDB also tries script filenames matching the object file
+without its `.exe' suffix.  This `.exe' stripping is case insensitive
+and it is attempted on any platform.  This makes the script filenames
+compatible between Unix and MS-Windows hosts.
+
 `set auto-load scripts-directory [DIRECTORIES]'
      Control GDB auto-loaded scripts location.  Multiple directory
      entries may be delimited by the host platform path separator in use
@@ -8737,7 +8744,7 @@ and TeX (or `texi2roff') to typeset the printed version.
 
    GDB includes an already formatted copy of the on-line Info version
 of this manual in the `gdb' subdirectory.  The main Info file is
-`gdb-7.5/gdb/gdb.info', and it refers to subordinate files matching
+`gdb-7.5.1/gdb/gdb.info', and it refers to subordinate files matching
 `gdb.info*' in the same directory.  If necessary, you can print out
 these files, or read them with any editor; but they are easier to read
 using the `info' subsystem in GNU Emacs or the standalone `info'
@@ -8747,8 +8754,8 @@ program, available as part of the GNU Texinfo distribution.
 Info formatting programs, such as `texinfo-format-buffer' or `makeinfo'.
 
    If you have `makeinfo' installed, and are in the top level GDB
-source directory (`gdb-7.5', in the case of version 7.5), you can make
-the Info file by typing:
+source directory (`gdb-7.5.1', in the case of version 7.5.1), you can
+make the Info file by typing:
 
      cd gdb
      make gdb.info
@@ -8773,7 +8780,7 @@ format.  On its own, TeX cannot either read or typeset a Texinfo file.
 
    If you have TeX and a DVI printer program installed, you can typeset
 and print this manual.  First switch to the `gdb' subdirectory of the
-main source directory (for example, to `gdb-7.5/gdb') and type:
+main source directory (for example, to `gdb-7.5.1/gdb') and type:
 
      make gdb.dvi
 
@@ -8781,7 +8788,7 @@ main source directory (for example, to `gdb-7.5/gdb') and type:
 
    ---------- Footnotes ----------
 
-   (1) In `gdb-7.5/gdb/refcard.ps' of the version 7.5 release.
+   (1) In `gdb-7.5.1/gdb/refcard.ps' of the version 7.5.1 release.
 
 \1f
 File: gdb.info,  Node: Installing GDB,  Next: Maintenance Commands,  Prev: Formatting Documentation,  Up: Top
index 41c2d69..bd33722 100644 (file)
@@ -23,7 +23,7 @@ developing GNU and promoting software freedom."
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.5.
+Source-Level Debugger' for GDB (GDB) Version 7.5.1.
 
    Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
@@ -54,39 +54,39 @@ preparing GDB for installation; you can then use `make' to build the
 in a single directory, whose name is usually composed by appending the
 version number to `gdb'.
 
-   For example, the GDB version 7.5 distribution is in the `gdb-7.5'
-directory.  That directory contains:
+   For example, the GDB version 7.5.1 distribution is in the
+`gdb-7.5.1' directory.  That directory contains:
 
-`gdb-7.5/configure (and supporting files)'
+`gdb-7.5.1/configure (and supporting files)'
      script for configuring GDB and all its supporting libraries
 
-`gdb-7.5/gdb'
+`gdb-7.5.1/gdb'
      the source specific to GDB itself
 
-`gdb-7.5/bfd'
+`gdb-7.5.1/bfd'
      source for the Binary File Descriptor library
 
-`gdb-7.5/include'
+`gdb-7.5.1/include'
      GNU include files
 
-`gdb-7.5/libiberty'
+`gdb-7.5.1/libiberty'
      source for the `-liberty' free software library
 
-`gdb-7.5/opcodes'
+`gdb-7.5.1/opcodes'
      source for the library of opcode tables and disassemblers
 
-`gdb-7.5/readline'
+`gdb-7.5.1/readline'
      source for the GNU command-line interface
 
-`gdb-7.5/glob'
+`gdb-7.5.1/glob'
      source for the GNU filename pattern-matching subroutine
 
-`gdb-7.5/mmalloc'
+`gdb-7.5.1/mmalloc'
      source for the GNU memory-mapped malloc package
 
    The simplest way to configure and build GDB is to run `configure'
 from the `gdb-VERSION-NUMBER' source directory, which in this example
-is the `gdb-7.5' directory.
+is the `gdb-7.5.1' directory.
 
    First switch to the `gdb-VERSION-NUMBER' source directory if you are
 not already in it; then run `configure'.  Pass the identifier for the
@@ -94,7 +94,7 @@ platform on which GDB will run as an argument.
 
    For example:
 
-     cd gdb-7.5
+     cd gdb-7.5.1
      ./configure HOST
      make
 
@@ -115,8 +115,8 @@ you may need to run `sh' on it explicitly:
      sh configure HOST
 
    If you run `configure' from a directory that contains source
-directories for multiple libraries or programs, such as the `gdb-7.5'
-source directory for version 7.5, `configure' creates configuration
+directories for multiple libraries or programs, such as the `gdb-7.5.1'
+source directory for version 7.5.1, `configure' creates configuration
 files for every directory level underneath (unless you tell it not to,
 with the `--norecursion' option).
 
@@ -157,13 +157,13 @@ directory.  If the path to `configure' would be the same as the
 argument to `--srcdir', you can leave out the `--srcdir' option; it is
 assumed.)
 
-   For example, with version 7.5, you can build GDB in a separate
+   For example, with version 7.5.1, you can build GDB in a separate
 directory for a Sun 4 like this:
 
-     cd gdb-7.5
+     cd gdb-7.5.1
      mkdir ../gdb-sun4
      cd ../gdb-sun4
-     ../gdb-7.5/configure sun4
+     ../gdb-7.5.1/configure sun4
      make
 
    When `configure' builds a configuration using a remote source
@@ -174,7 +174,7 @@ directory `gdb-sun4/libiberty', and GDB itself in `gdb-sun4/gdb'.
 
    Make sure that your path to the `configure' script has just one
 instance of `gdb' in it.  If your path to `configure' looks like
-`../gdb-7.5/gdb/configure', you are configuring only one subdirectory
+`../gdb-7.5.1/gdb/configure', you are configuring only one subdirectory
 of GDB, not the whole package.  This leads to build errors about
 missing include files such as `bfd/bfd.h'.
 
@@ -190,9 +190,9 @@ called `configure' (or one of its subdirectories).
 
    The `Makefile' that `configure' generates in each source directory
 also runs recursively.  If you type `make' in a source directory such
-as `gdb-7.5' (or in a separate configured directory configured with
-`--srcdir=DIRNAME/gdb-7.5'), you will build all the required libraries,
-and then build GDB.
+as `gdb-7.5.1' (or in a separate configured directory configured with
+`--srcdir=DIRNAME/gdb-7.5.1'), you will build all the required
+libraries, and then build GDB.
 
    When you have multiple hosts or targets configured in separate
 directories, you can run `make' on them in parallel (for example, if
@@ -236,7 +236,7 @@ you can use it to test your guesses on abbreviations--for example:
      Invalid configuration `i986v': machine `i986v' not recognized
 
 `config.sub' is also distributed in the GDB source directory
-(`gdb-7.5', for version 7.5).
+(`gdb-7.5.1', for version 7.5.1).
 
 \1f
 File: gdb.info,  Node: Configure Options,  Next: System-wide configuration,  Prev: Config Names,  Up: Installing GDB
index 3e73bb4..ab52e20 100644 (file)
@@ -23,7 +23,7 @@ developing GNU and promoting software freedom."
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of `Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 7.5.
+Source-Level Debugger' for GDB (GDB) Version 7.5.1.
 
    Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
@@ -3454,7 +3454,7 @@ Command, Variable, and Function Index
 * set auto-load python-scripts:          Python Auto-loading. (line  18)
 * set auto-load safe-path:               Auto-loading safe path.
                                                               (line  27)
-* set auto-load scripts-directory:       objfile-gdb.py file. (line  19)
+* set auto-load scripts-directory:       objfile-gdb.py file. (line  26)
 * set auto-solib-add:                    Files.               (line 303)
 * set backtrace:                         Backtrace.           (line 104)
 * set basenames-may-differ:              Files.               (line 522)
@@ -3671,7 +3671,7 @@ Command, Variable, and Function Index
 * show auto-load python-scripts:         Python Auto-loading. (line  21)
 * show auto-load safe-path:              Auto-loading safe path.
                                                               (line  41)
-* show auto-load scripts-directory:      objfile-gdb.py file. (line  43)
+* show auto-load scripts-directory:      objfile-gdb.py file. (line  50)
 * show auto-solib-add:                   Files.               (line 320)
 * show backtrace:                        Backtrace.           (line 111)
 * show basenames-may-differ:             Files.               (line 525)
index 68ea817..a404d42 100644 (file)
@@ -25785,6 +25785,13 @@ If this file does not exist, then @value{GDBN} will look for
 Note that loading of this script file also requires accordingly configured
 @code{auto-load safe-path} (@pxref{Auto-loading safe path}).
 
+For object files using @file{.exe} suffix @value{GDBN} tries to load first the
+scripts normally according to its @file{.exe} filename.  But if no scripts are
+found @value{GDBN} also tries script filenames matching the object file without
+its @file{.exe} suffix.  This @file{.exe} stripping is case insensitive and it
+is attempted on any platform.  This makes the script filenames compatible
+between Unix and MS-Windows hosts.
+
 @table @code
 @anchor{set auto-load scripts-directory}
 @kindex set auto-load scripts-directory
index deee5a2..48b8c08 100644 (file)
@@ -1691,13 +1691,17 @@ static void
 dwarf2_locate_sections (bfd *abfd, asection *sectp, void *vnames)
 {
   const struct dwarf2_debug_sections *names;
+  flagword aflag = bfd_get_section_flags (abfd, sectp);
 
   if (vnames == NULL)
     names = &dwarf2_elf_names;
   else
     names = (const struct dwarf2_debug_sections *) vnames;
 
-  if (section_is_p (sectp->name, &names->info))
+  if ((aflag & SEC_HAS_CONTENTS) == 0)
+    {
+    }
+  else if (section_is_p (sectp->name, &names->info))
     {
       dwarf2_per_objfile->info.asection = sectp;
       dwarf2_per_objfile->info.size = bfd_get_section_size (sectp);
@@ -1744,13 +1748,8 @@ dwarf2_locate_sections (bfd *abfd, asection *sectp, void *vnames)
     }
   else if (section_is_p (sectp->name, &names->eh_frame))
     {
-      flagword aflag = bfd_get_section_flags (abfd, sectp);
-
-      if (aflag & SEC_HAS_CONTENTS)
-        {
-         dwarf2_per_objfile->eh_frame.asection = sectp;
-          dwarf2_per_objfile->eh_frame.size = bfd_get_section_size (sectp);
-        }
+      dwarf2_per_objfile->eh_frame.asection = sectp;
+      dwarf2_per_objfile->eh_frame.size = bfd_get_section_size (sectp);
     }
   else if (section_is_p (sectp->name, &names->ranges))
     {
index e012f2d..b769873 100644 (file)
@@ -309,7 +309,8 @@ fprint_frame (struct ui_file *file, struct frame_info *fi)
 static struct frame_info *
 skip_inlined_frames (struct frame_info *frame)
 {
-  while (get_frame_type (frame) == INLINE_FRAME)
+  while (get_frame_type (frame) == INLINE_FRAME
+        || get_frame_type (frame) == TAILCALL_FRAME)
     frame = get_prev_frame (frame);
 
   return frame;
@@ -814,6 +815,11 @@ frame_pop (struct frame_info *this_frame)
   if (!prev_frame)
     error (_("Cannot pop the initial frame."));
 
+  /* Ignore TAILCALL_FRAME type frames, they were executed already before
+     entering THISFRAME.  */
+  while (get_frame_type (prev_frame) == TAILCALL_FRAME)
+    prev_frame = get_prev_frame (prev_frame);
+
   /* Make a copy of all the register values unwound from this frame.
      Save them in a scratch buffer so that there isn't a race between
      trying to extract the old values from the current regcache while
index 7fc0588..f741bd6 100644 (file)
@@ -1,3 +1,12 @@
+2012-09-05  Michael Brandt  <michael.brandt@axis.com>
+
+       * linux-crisv32-low.c: Fix compile errors.
+
+2012-08-22  Keith Seitz  <keiths@redhat.com>
+
+       * server.h: Include build-gnulib-gbserver/config.h.
+       * gdbreplay.c: Likewise.
+
 2012-08-02  Ulrich Weigand  <ulrich.weigand@linaro.org>
 
        * hostio.c (handle_pread): If pread fails, fall back to attempting
index bb5202c..5aaa98e 100644 (file)
@@ -19,6 +19,8 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "config.h"
+#include "build-gnulib-gdbserver/config.h"
+
 #include <stdio.h>
 #if HAVE_SYS_FILE_H
 #include <sys/file.h>
index 1cc4cd1..d0e2f56 100644 (file)
@@ -231,6 +231,7 @@ cris_remove_point (char type, CORE_ADDR addr, int len)
   unsigned long bp_ctrl;
   unsigned long start, end;
   struct regcache *regcache;
+  unsigned long bp_d_regs[12];
 
   /* Breakpoint/watchpoint types:
      0 = memory breakpoint for instructions
@@ -259,8 +260,6 @@ cris_remove_point (char type, CORE_ADDR addr, int len)
      single switch (addr) as there may be several watchpoints with
      the same start address for example.  */
 
-  unsigned long bp_d_regs[12];
-
   /* Get all range registers to simplify search.  */
   collect_register_by_name (regcache, "s3", &bp_d_regs[0]);
   collect_register_by_name (regcache, "s4", &bp_d_regs[1]);
@@ -321,8 +320,9 @@ static int
 cris_stopped_by_watchpoint (void)
 {
   unsigned long exs;
+  struct regcache *regcache = get_thread_regcache (current_inferior, 1);
 
-  collect_register_by_name ("exs", &exs);
+  collect_register_by_name (regcache, "exs", &exs);
 
   return (((exs & 0xff00) >> 8) == 0xc);
 }
@@ -331,47 +331,46 @@ static CORE_ADDR
 cris_stopped_data_address (void)
 {
   unsigned long eda;
+  struct regcache *regcache = get_thread_regcache (current_inferior, 1);
 
-  collect_register_by_name ("eda", &eda);
+  collect_register_by_name (regcache, "eda", &eda);
 
   /* FIXME: Possibly adjust to match watched range.  */
   return eda;
 }
 
 static void
-cris_fill_gregset (void *buf)
+cris_fill_gregset (struct regcache *regcache, void *buf)
 {
   int i;
 
   for (i = 0; i < cris_num_regs; i++)
     {
       if (cris_regmap[i] != -1)
-       collect_register (i, ((char *) buf) + cris_regmap[i]);
+       collect_register (regcache, i, ((char *) buf) + cris_regmap[i]);
     }
 }
 
 static void
-cris_store_gregset (const void *buf)
+cris_store_gregset (struct regcache *regcache, const void *buf)
 {
   int i;
 
   for (i = 0; i < cris_num_regs; i++)
     {
       if (cris_regmap[i] != -1)
-       supply_register (i, ((char *) buf) + cris_regmap[i]);
+       supply_register (regcache, i, ((char *) buf) + cris_regmap[i]);
     }
 }
 
-typedef unsigned long elf_gregset_t[cris_num_regs];
-
 struct regset_info target_regsets[] = {
-  { PTRACE_GETREGS, PTRACE_SETREGS, 0, sizeof (elf_gregset_t),
+  { PTRACE_GETREGS, PTRACE_SETREGS, 0, cris_num_regs * 4,
     GENERAL_REGS, cris_fill_gregset, cris_store_gregset },
   { 0, 0, 0, -1, -1, NULL, NULL }
 };
 
 struct linux_target_ops the_low_target = {
-  init_register_crisv32,
+  init_registers_crisv32,
   -1,
   NULL,
   NULL,
index 02dfa29..40d05a5 100644 (file)
@@ -21,6 +21,7 @@
 #define SERVER_H
 
 #include "config.h"
+#include "build-gnulib-gdbserver/config.h"
 
 #ifdef __MINGW32CE__
 #include "wincecompat.h"
index 6a02906..fd5969d 100644 (file)
@@ -7805,9 +7805,6 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   tdep->num_mmx_regs = 8;
   tdep->num_ymm_regs = 0;
 
-  tdep->sp_regnum_from_eax = -1;
-  tdep->pc_regnum_from_eax = -1;
-
   tdesc_data = tdesc_data_alloc ();
 
   set_gdbarch_relocate_instruction (gdbarch, i386_relocate_instruction);
@@ -7852,14 +7849,6 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
       /* Support dword pseudo-register if it hasn't been disabled.  */
       tdep->eax_regnum = ymm0_regnum;
       ymm0_regnum += tdep->num_dword_regs;
-      if (tdep->sp_regnum_from_eax != -1)
-       set_gdbarch_sp_regnum (gdbarch,
-                              (tdep->eax_regnum
-                               + tdep->sp_regnum_from_eax));
-      if (tdep->pc_regnum_from_eax != -1)
-       set_gdbarch_pc_regnum (gdbarch,
-                              (tdep->eax_regnum
-                               + tdep->pc_regnum_from_eax));
     }
   else
     tdep->eax_regnum = -1;
index 76afdce..5f233f5 100644 (file)
@@ -149,14 +149,6 @@ struct gdbarch_tdep
      of pseudo dword register support.  */
   int eax_regnum;
 
-  /* Register number for SP, relative to %eax.  Set this to -1 to
-     indicate the absence of pseudo SP register support.  */
-  int sp_regnum_from_eax;
-
-  /* Register number for PC, relative to %eax.  Set this to -1 to
-     indicate the absence of pseudo PC register support.  */
-  int pc_regnum_from_eax;
-
   /* Number of core registers.  */
   int num_core_regs;
 
index 475ac90..7e31600 100644 (file)
@@ -1777,6 +1777,11 @@ finish_command (char *arg, int from_tty)
       return;
     }
 
+  /* Ignore TAILCALL_FRAME type frames, they were executed already before
+     entering THISFRAME.  */
+  while (get_frame_type (frame) == TAILCALL_FRAME)
+    frame = get_prev_frame (frame);
+
   /* Find the function we will return from.  */
 
   function = find_pc_function (get_frame_pc (get_selected_frame (NULL)));
index 11f981f..d443ae7 100644 (file)
@@ -4896,14 +4896,22 @@ process_event_stop_test:
 
          if (execution_direction == EXEC_REVERSE)
            {
-             struct symtab_and_line sr_sal;
-
-             /* Normal function call return (static or dynamic).  */
-             init_sal (&sr_sal);
-             sr_sal.pc = ecs->stop_func_start;
-             sr_sal.pspace = get_frame_program_space (frame);
-             insert_step_resume_breakpoint_at_sal (gdbarch,
-                                                   sr_sal, null_frame_id);
+             /* If we're already at the start of the function, we've either
+                just stepped backward into a single instruction function,
+                or stepped back out of a signal handler to the first instruction
+                of the function.  Just keep going, which will single-step back
+                to the caller.  */
+             if (ecs->stop_func_start != stop_pc)
+               {
+                 struct symtab_and_line sr_sal;
+
+                 /* Normal function call return (static or dynamic).  */
+                 init_sal (&sr_sal);
+                 sr_sal.pc = ecs->stop_func_start;
+                 sr_sal.pspace = get_frame_program_space (frame);
+                 insert_step_resume_breakpoint_at_sal (gdbarch,
+                                                       sr_sal, null_frame_id);
+               }
            }
          else
            insert_step_resume_breakpoint_at_caller (frame);
@@ -4973,15 +4981,23 @@ process_event_stop_test:
 
       if (execution_direction == EXEC_REVERSE)
        {
-         /* Set a breakpoint at callee's start address.
-            From there we can step once and be back in the caller.  */
-         struct symtab_and_line sr_sal;
+         /* If we're already at the start of the function, we've either just
+            stepped backward into a single instruction function without line
+            number info, or stepped back out of a signal handler to the first
+            instruction of the function without line number info.  Just keep
+            going, which will single-step back to the caller.  */
+         if (ecs->stop_func_start != stop_pc)
+           {
+             /* Set a breakpoint at callee's start address.
+                From there we can step once and be back in the caller.  */
+             struct symtab_and_line sr_sal;
 
-         init_sal (&sr_sal);
-         sr_sal.pc = ecs->stop_func_start;
-         sr_sal.pspace = get_frame_program_space (frame);
-         insert_step_resume_breakpoint_at_sal (gdbarch,
-                                               sr_sal, null_frame_id);
+             init_sal (&sr_sal);
+             sr_sal.pc = ecs->stop_func_start;
+             sr_sal.pspace = get_frame_program_space (frame);
+             insert_step_resume_breakpoint_at_sal (gdbarch,
+                                                   sr_sal, null_frame_id);
+           }
        }
       else
        /* Set a breakpoint at callee's return address (the address
index c9b7ecc..6832999 100644 (file)
@@ -286,6 +286,11 @@ struct ls_parser
   /* Is the entire linespec quote-enclosed?  */
   int is_quote_enclosed;
 
+  /* Is a keyword syntactically valid at this point?
+     In, e.g., "break thread thread 1", the leading "keyword" must not
+     be interpreted as such.  */
+  int keyword_ok;
+
   /* The state of the parse.  */
   struct linespec_state state;
 #define PARSER_STATE(PPTR) (&(PPTR)->state)
@@ -607,6 +612,10 @@ linespec_lexer_lex_string (linespec_parser *parser)
          if (isspace (*PARSER_STREAM (parser)))
            {
              p = skip_spaces (PARSER_STREAM (parser));
+             /* When we get here we know we've found something followed by
+                a space (we skip over parens and templates below).
+                So if we find a keyword now, we know it is a keyword and not,
+                say, a function name.  */
              if (linespec_lexer_lex_keyword (p) != NULL)
                {
                  LS_TOKEN_STOKEN (token).ptr = start;
@@ -716,8 +725,10 @@ linespec_lexer_lex_one (linespec_parser *parser)
       /* Skip any whitespace.  */
       PARSER_STREAM (parser) = skip_spaces (PARSER_STREAM (parser));
 
-      /* Check for a keyword.  */
-      keyword = linespec_lexer_lex_keyword (PARSER_STREAM (parser));
+      /* Check for a keyword, they end the linespec.  */
+      keyword = NULL;
+      if (parser->keyword_ok)
+       keyword = linespec_lexer_lex_keyword (PARSER_STREAM (parser));
       if (keyword != NULL)
        {
          parser->lexer.current.type = LSTOKEN_KEYWORD;
@@ -2018,6 +2029,10 @@ parse_linespec (linespec_parser *parser, char **argptr)
        }
     }
 
+  /* A keyword at the start cannot be interpreted as such.
+     Consider "b thread thread 42".  */
+  parser->keyword_ok = 0;
+
   parser->lexer.saved_arg = *argptr;
   parser->lexer.stream = argptr;
   file_exception.reason = 0;
@@ -2092,6 +2107,9 @@ parse_linespec (linespec_parser *parser, char **argptr)
   else if (token.type != LSTOKEN_STRING && token.type != LSTOKEN_NUMBER)
     unexpected_linespec_error (parser);
 
+  /* Now we can recognize keywords.  */
+  parser->keyword_ok = 1;
+
   /* Shortcut: If the next token is not LSTOKEN_COLON, we know that
      this token cannot represent a filename.  */
   token = linespec_lexer_peek_token (parser);
index d075694..976f8ae 100644 (file)
@@ -1083,10 +1083,6 @@ Options:\n\n\
 "), stream);
 #endif
   fputs_unfiltered (_("\
-  --use-deprecated-index-sections\n\
-                     Do not reject deprecated .gdb_index sections.\n\
-"), stream);
-  fputs_unfiltered (_("\
   --version          Print version information and then exit.\n\
   -w                 Use a window interface.\n\
   --write            Set writing into executable and core files.\n\
index b0693bd..c882586 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-17 17:36+0000\n"
+"POT-Creation-Date: 2012-11-29 09:55+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -102,7 +102,7 @@ msgid "No definition of \"%s\" found."
 msgstr ""
 
 #: ada-exp.y:1399 c-exp.y:886 c-exp.y:938 cli/cli-cmds.c:919 f-exp.y:525
-#: go-exp.y:628 linespec.c:1371 linespec.c:2881 objc-exp.y:734 objc-exp.y:788
+#: go-exp.y:628 linespec.c:1382 linespec.c:2899 objc-exp.y:734 objc-exp.y:788
 #: p-exp.y:722 p-exp.y:791 source.c:177 symtab.c:3238
 msgid "No symbol table is loaded.  Use the \"file\" command."
 msgstr ""
@@ -238,7 +238,7 @@ msgstr ""
 msgid "Request to select 0 symbols!"
 msgstr ""
 
-#: ada-lang.c:3541 linespec.c:1278
+#: ada-lang.c:3541 linespec.c:1289
 msgid ""
 "canceled because the command is ambiguous\n"
 "See set/show multiple-symbol."
@@ -287,7 +287,7 @@ msgstr ""
 msgid "[%d] %s at ?\n"
 msgstr ""
 
-#: ada-lang.c:3657 ada-lang.c:3670 linespec.c:1306
+#: ada-lang.c:3657 ada-lang.c:3670 linespec.c:1317
 msgid "one or more choice numbers"
 msgstr ""
 
@@ -1484,7 +1484,7 @@ msgid "Unexpected error clearing breakpoint"
 msgstr ""
 
 #: arm-linux-tdep.c:1129 i386-tdep.c:3512 i386-tdep.c:3601 i386-tdep.c:3618
-#: ppc-linux-tdep.c:1335 stap-probe.c:487
+#: ppc-linux-tdep.c:1336 stap-probe.c:487
 #, possible-c-format
 msgid "Invalid register name `%s' on expression `%s'."
 msgstr ""
@@ -1851,206 +1851,226 @@ msgid ""
 "Process record doesnt support thumb32 instruction 0x%0x at address %s.\n"
 msgstr ""
 
-#: auto-load.c:57
+#: auto-load.c:58
 #, possible-c-format
 msgid "Debugging output for files of 'set auto-load ...' is %s.\n"
 msgstr ""
 
-#: auto-load.c:75
+#: auto-load.c:76
 #, possible-c-format
 msgid "Auto-loading of canned sequences of commands scripts is %s.\n"
 msgstr ""
 
-#: auto-load.c:107
+#: auto-load.c:108
 #, possible-c-format
 msgid "Auto-loading of .gdbinit script from current directory is %s.\n"
 msgstr ""
 
-#: auto-load.c:136
+#: auto-load.c:137
 #, possible-c-format
 msgid "List of directories from which to load auto-loaded scripts is %s.\n"
 msgstr ""
 
-#: auto-load.c:167
+#: auto-load.c:168
 #, possible-c-format
 msgid "auto-load: Expanded $-variables to \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:186
+#: auto-load.c:187
 #, possible-c-format
 msgid "auto-load: Updating directories of \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:209
+#: auto-load.c:210
 #, possible-c-format
 msgid "auto-load: Using directory \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:213
+#: auto-load.c:214
 #, possible-c-format
 msgid "auto-load: Resolved directory \"%s\" as \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:228
+#: auto-load.c:229
 #, possible-c-format
 msgid "auto-load: And canonicalized as \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:272
+#: auto-load.c:273
 msgid "Auto-load files are safe to load from any directory.\n"
 msgstr ""
 
-#: auto-load.c:275
+#: auto-load.c:276
 #, possible-c-format
 msgid "List of directories from which it is safe to auto-load files is %s.\n"
 msgstr ""
 
-#: auto-load.c:289
+#: auto-load.c:290
 msgid ""
 "Directory argument required.\n"
 "Use 'set auto-load safe-path /' for disabling the auto-load safe-path "
 "security."
 msgstr ""
 
-#: auto-load.c:311
+#: auto-load.c:312
 #, possible-c-format
 msgid "auto-load: Matching file \"%s\" to pattern \"%s\"\n"
 msgstr ""
 
-#: auto-load.c:329
+#: auto-load.c:330
 msgid "auto-load: Matched - empty pattern\n"
 msgstr ""
 
-#: auto-load.c:344
+#: auto-load.c:345
 #, possible-c-format
 msgid "auto-load: Not matched - pattern \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:353
+#: auto-load.c:354
 #, possible-c-format
 msgid "auto-load: Matched - file \"%s\" to pattern \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:407
+#: auto-load.c:408
 #, possible-c-format
 msgid "auto-load: Resolved file \"%s\" as \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:422
+#: auto-load.c:423
 #, possible-c-format
 msgid "auto-load: File \"%s\" matches directory \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:469
+#: auto-load.c:471
 #, possible-c-format
 msgid ""
 "File \"%s\" auto-loading has been declined by your `auto-load safe-path' set "
 "to \"%s\"."
 msgstr ""
 
-#: auto-load.c:490
+#: auto-load.c:485
+#, possible-c-format
+msgid ""
+"To enable execution of this file add\n"
+"\tadd-auto-load-safe-path %s\n"
+"line to your configuration file \"%s\".\n"
+"To completely disable this security protection add\n"
+"\tset auto-load safe-path /\n"
+"line to your configuration file \"%s\".\n"
+"For more information about this security protection see the\n"
+"\"Auto-loading safe path\" section in the GDB manual.  E.g., run from the "
+"shell:\n"
+"\tinfo \"(gdb)Auto-loading safe path\"\n"
+msgstr ""
+
+#: auto-load.c:516
 #, possible-c-format
 msgid ""
 "auto-load: Loading canned sequences of commands script \"%s\" for objfile \"%"
 "s\".\n"
 msgstr ""
 
-#: auto-load.c:721 auto-load.c:752
+#: auto-load.c:745 auto-load.c:776
 #, possible-c-format
 msgid "auto-load: Attempted file \"%s\" %s.\n"
 msgstr ""
 
-#: auto-load.c:722 auto-load.c:755
+#: auto-load.c:746 auto-load.c:779
 msgid "exists"
 msgstr ""
 
-#: auto-load.c:722 auto-load.c:755
+#: auto-load.c:746 auto-load.c:779
 msgid "does not exist"
 msgstr ""
 
-#: auto-load.c:737
+#: auto-load.c:761
 #, possible-c-format
 msgid "auto-load: Searching 'set auto-load scripts-directory' path \"%s\".\n"
 msgstr ""
 
-#: auto-load.c:901 solib.c:886 solib.c:968 xcoffsolib.c:113
+#: auto-load.c:828
+#, possible-c-format
+msgid "auto-load: Stripped .exe suffix, retrying with \"%s\".\n"
+msgstr ""
+
+#: auto-load.c:963 solib.c:886 solib.c:968 xcoffsolib.c:113
 #, possible-c-format
 msgid "Invalid regexp: %s"
 msgstr ""
 
-#: auto-load.c:978
+#: auto-load.c:1040
 msgid "Local .gdbinit file was not found.\n"
 msgstr ""
 
-#: auto-load.c:980
+#: auto-load.c:1042
 #, possible-c-format
 msgid "Local .gdbinit file \"%s\" has been loaded.\n"
 msgstr ""
 
-#: auto-load.c:983
+#: auto-load.c:1045
 #, possible-c-format
 msgid "Local .gdbinit file \"%s\" has not been loaded.\n"
 msgstr ""
 
-#: auto-load.c:1020
+#: auto-load.c:1082
 msgid ""
 "Valid is only global 'set auto-load no'; otherwise check the auto-load sub-"
 "commands."
 msgstr ""
 
-#: auto-load.c:1039
+#: auto-load.c:1101
 msgid ""
 "Auto-loading specific settings.\n"
 "Configure various auto-load-specific variables such as\n"
 "automatic loading of Python scripts."
 msgstr ""
 
-#: auto-load.c:1066
+#: auto-load.c:1128
 msgid ""
 "Show auto-loading specific settings.\n"
 "Show configuration of various auto-load-specific variables such as\n"
 "automatic loading of Python scripts."
 msgstr ""
 
-#: auto-load.c:1117
+#: auto-load.c:1179
 msgid ""
 "Print current status of auto-loaded files.\n"
 "Print whether various files like Python scripts or .gdbinit files have been\n"
 "found and/or loaded."
 msgstr ""
 
-#: auto-load.c:1140
+#: auto-load.c:1203
 msgid "Enable or disable auto-loading of canned sequences of commands scripts."
 msgstr ""
 
-#: auto-load.c:1141
+#: auto-load.c:1204
 msgid ""
 "Show whether auto-loading of canned sequences of commands scripts is enabled."
 msgstr ""
 
-#: auto-load.c:1143
+#: auto-load.c:1206
 msgid ""
 "If enabled, canned sequences of commands are loaded when the debugger reads\n"
 "an executable or shared library.\n"
 "This options has security implications for untrusted inferiors."
 msgstr ""
 
-#: auto-load.c:1152
+#: auto-load.c:1215
 msgid ""
 "Print the list of automatically loaded sequences of commands.\n"
 "Usage: info auto-load gdb-scripts [REGEXP]"
 msgstr ""
 
-#: auto-load.c:1157
+#: auto-load.c:1220
 msgid "Enable or disable auto-loading of .gdbinit script in current directory."
 msgstr ""
 
-#: auto-load.c:1158
+#: auto-load.c:1221
 msgid ""
 "Show whether auto-loading .gdbinit script in current directory is enabled."
 msgstr ""
 
-#: auto-load.c:1160
+#: auto-load.c:1223
 msgid ""
 "If enabled, canned sequences of commands are loaded when debugger starts\n"
 "from .gdbinit file in current directory.  Such files are deprecated,\n"
@@ -2058,53 +2078,71 @@ msgid ""
 "This options has security implications for untrusted inferiors."
 msgstr ""
 
-#: auto-load.c:1170
+#: auto-load.c:1233
 msgid ""
 "Print whether current directory .gdbinit file has been loaded.\n"
 "Usage: info auto-load local-gdbinit"
 msgstr ""
 
-#: auto-load.c:1176
-msgid "Set the list of directories from which to load auto-loaded scripts."
+#: auto-load.c:1240
+#, possible-c-format
+msgid ""
+"Automatically loaded Python scripts (named OBJFILE%s) and GDB scripts\n"
+"(named OBJFILE%s) are located in one of the directories listed by this\n"
+"option.\n"
+"%s"
 msgstr ""
 
-#: auto-load.c:1177
-msgid "Show the list of directories from which to load auto-loaded scripts."
+#: auto-load.c:1247
+#, possible-c-format
+msgid ""
+"Automatically loaded GDB scripts (named OBJFILE%s) are located in one\n"
+"of the directories listed by this option.\n"
+"%s"
 msgstr ""
 
-#: auto-load.c:1178
+#: auto-load.c:1253
 msgid ""
-"Automatically loaded Python scripts and GDB scripts are located in one of "
-"the\n"
-"directories listed by this option.  This option is ignored for the kinds of\n"
-"scripts having 'set auto-load ... off'.  Directories listed here need to be\n"
-"present also in the 'set auto-load safe-path' option."
+"This option is ignored for the kinds of scripts having 'set auto-load ... "
+"off'.\n"
+"Directories listed here need to be present also in the 'set auto-load safe-"
+"path'\n"
+"option."
+msgstr ""
+
+#: auto-load.c:1260
+msgid "Set the list of directories from which to load auto-loaded scripts."
+msgstr ""
+
+#: auto-load.c:1261
+msgid "Show the list of directories from which to load auto-loaded scripts."
 msgstr ""
 
-#: auto-load.c:1190
-msgid "Set the list of directories from which it is safe to auto-load files."
+#: auto-load.c:1272
+msgid "Set the list of files and directories that are safe for auto-loading."
 msgstr ""
 
-#: auto-load.c:1191
-msgid "Show the list of directories from which it is safe to auto-load files."
+#: auto-load.c:1273
+msgid "Show the list of files and directories that are safe for auto-loading."
 msgstr ""
 
-#: auto-load.c:1192
+#: auto-load.c:1274
 msgid ""
 "Various files loaded automatically for the 'set auto-load ...' options must\n"
 "be located in one of the directories listed by this option.  Warning will "
 "be\n"
 "printed and file will not be used otherwise.\n"
+"You can mix both directory and filename entries.\n"
 "Setting this parameter to an empty list resets it to its default value.\n"
 "Setting this parameter to '/' (without the quotes) allows any file\n"
-"for the 'set auto-load ...' options.  Each directory can be also shell\n"
+"for the 'set auto-load ...' options.  Each path entry can be also shell\n"
 "wildcard pattern; '*' does not match directory separator.\n"
 "This option is ignored for the kinds of files having 'set auto-load ... "
 "off'.\n"
 "This options has security implications for untrusted inferiors."
 msgstr ""
 
-#: auto-load.c:1210
+#: auto-load.c:1293
 msgid ""
 "Add entries to the list of directories from which it is safe to auto-load "
 "files.\n"
@@ -2113,15 +2151,15 @@ msgid ""
 "access the current full list setting."
 msgstr ""
 
-#: auto-load.c:1218
+#: auto-load.c:1301
 msgid "Set auto-load verifications debugging."
 msgstr ""
 
-#: auto-load.c:1219
+#: auto-load.c:1302
 msgid "Show auto-load verifications debugging."
 msgstr ""
 
-#: auto-load.c:1220
+#: auto-load.c:1303
 msgid ""
 "When non-zero, debugging output for files of 'set auto-load ...'\n"
 "is displayed."
@@ -3245,7 +3283,7 @@ msgid ""
 "Use the \"delete\" command to delete unwanted breakpoints."
 msgstr ""
 
-#: breakpoint.c:9640 linespec.c:1833
+#: breakpoint.c:9640 linespec.c:1844
 #, possible-c-format
 msgid "No line %d in file \"%s\"."
 msgstr ""
@@ -4650,7 +4688,7 @@ msgid "\"info\" must be followed by the name of an info command.\n"
 msgstr ""
 
 #: cli/cli-cmds.c:334 cli/cli-script.c:1520 infcmd.c:1165 infcmd.c:1179
-#: infcmd.c:2319 symfile.c:1086 symfile.c:1254 symfile.c:2401
+#: infcmd.c:2324 symfile.c:1086 symfile.c:1254 symfile.c:2401
 #: tracepoint.c:2200 tracepoint.c:2206
 msgid "Not confirmed."
 msgstr ""
@@ -5198,22 +5236,22 @@ msgid ""
 "  alias -a set print elms = set print elements"
 msgstr ""
 
-#: cli/cli-decode.c:1328
+#: cli/cli-decode.c:1331
 #, possible-c-format
 msgid "Undefined %scommand: \"%s\".  Try \"help%s%.*s\"."
 msgstr ""
 
-#: cli/cli-decode.c:1361
+#: cli/cli-decode.c:1364
 #, possible-c-format
 msgid "Lack of needed %scommand"
 msgstr ""
 
-#: cli/cli-decode.c:1426
+#: cli/cli-decode.c:1429
 #, possible-c-format
 msgid "Ambiguous %scommand \"%s\": %s."
 msgstr ""
 
-#: cli/cli-decode.c:1760
+#: cli/cli-decode.c:1763
 msgid "Invalid command"
 msgstr ""
 
@@ -5909,27 +5947,76 @@ msgstr ""
 msgid "warning: process %d is a zombie - the process has already terminated\n"
 msgstr ""
 
-#: common/linux-ptrace.c:81
+#: common/linux-ptrace.c:83
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: Cannot mmap: %s"
 msgstr ""
 
-#: common/linux-ptrace.c:93
+#: common/linux-ptrace.c:95
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: Cannot fork: %s"
 msgstr ""
 
-#: common/linux-ptrace.c:100
+#: common/linux-ptrace.c:102
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: Cannot PTRACE_TRACEME: %s"
 msgstr ""
 
-#: common/linux-ptrace.c:128
+#: common/linux-ptrace.c:131
+#, possible-c-format
+msgid "linux_ptrace_test_ret_to_nx: waitpid returned %ld: %s"
+msgstr ""
+
+#: common/linux-ptrace.c:139
+#, possible-c-format
+msgid "linux_ptrace_test_ret_to_nx: WTERMSIG %d is not SIGKILL!"
+msgstr ""
+
+#: common/linux-ptrace.c:142
+msgid ""
+"Cannot call inferior functions, Linux kernel PaX protection forbids return "
+"to non-executable pages!"
+msgstr ""
+
+#: common/linux-ptrace.c:149
+#, possible-c-format
+msgid "linux_ptrace_test_ret_to_nx: status %d is not WIFSTOPPED!"
+msgstr ""
+
+#: common/linux-ptrace.c:157
+#, possible-c-format
+msgid ""
+"linux_ptrace_test_ret_to_nx: WSTOPSIG %d is neither SIGTRAP nor SIGSEGV!"
+msgstr ""
+
+#: common/linux-ptrace.c:173
+#, possible-c-format
+msgid "linux_ptrace_test_ret_to_nx: Cannot PTRACE_PEEKUSER: %s"
+msgstr ""
+
+#: common/linux-ptrace.c:181
 #, possible-c-format
 msgid "linux_ptrace_test_ret_to_nx: Cannot PTRACE_KILL: %s"
 msgstr ""
 
-#: common/linux-ptrace.c:155
+#: common/linux-ptrace.c:193
+#, possible-c-format
+msgid "linux_ptrace_test_ret_to_nx: PTRACE_KILL waitpid returned %ld: %s"
+msgstr ""
+
+#: common/linux-ptrace.c:200
+#, possible-c-format
+msgid "linux_ptrace_test_ret_to_nx: PTRACE_KILL status %d is not WIFSIGNALED!"
+msgstr ""
+
+#: common/linux-ptrace.c:222
+#, possible-c-format
+msgid ""
+"linux_ptrace_test_ret_to_nx: PC %p is neither near return address %p nor is "
+"the return instruction %p!"
+msgstr ""
+
+#: common/linux-ptrace.c:226
 msgid ""
 "Cannot call inferior functions, you have broken Linux kernel i386 NX (non-"
 "executable pages) support!"
@@ -8154,44 +8241,44 @@ msgstr ""
 msgid "invalid attribute class or form for '%s' in '%s'"
 msgstr ""
 
-#: dwarf2read.c:1791
+#: dwarf2read.c:1790
 #, possible-c-format
 msgid ""
 "Support for zlib-compressed DWARF data (from '%s') is disabled in this copy "
 "of GDB"
 msgstr ""
 
-#: dwarf2read.c:1807 dwarf2read.c:1951
+#: dwarf2read.c:1806 dwarf2read.c:1950
 #, possible-c-format
 msgid "Dwarf Error: Can't read DWARF data from '%s'"
 msgstr ""
 
-#: dwarf2read.c:1814
+#: dwarf2read.c:1813
 #, possible-c-format
 msgid "Dwarf Error: Corrupt DWARF ZLIB header from '%s'"
 msgstr ""
 
-#: dwarf2read.c:1839
+#: dwarf2read.c:1838
 #, possible-c-format
 msgid "Dwarf Error: setting up DWARF uncompression in '%s': %d"
 msgstr ""
 
-#: dwarf2read.c:1845
+#: dwarf2read.c:1844
 #, possible-c-format
 msgid "Dwarf Error: zlib error uncompressing from '%s': %d"
 msgstr ""
 
-#: dwarf2read.c:1852
+#: dwarf2read.c:1851
 #, possible-c-format
 msgid "Dwarf Error: concluding DWARF uncompression in '%s': %d"
 msgstr ""
 
-#: dwarf2read.c:2549
+#: dwarf2read.c:2548
 #, possible-c-format
 msgid "Skipping obsolete .gdb_index section in %s."
 msgstr ""
 
-#: dwarf2read.c:2568
+#: dwarf2read.c:2567
 #, possible-c-format
 msgid ""
 "Skipping deprecated .gdb_index section in %s.\n"
@@ -8199,274 +8286,274 @@ msgid ""
 "to use the section anyway."
 msgstr ""
 
-#: dwarf2read.c:3099
+#: dwarf2read.c:3098
 #, possible-c-format
 msgid "  Number of unread CUs: %d\n"
 msgstr ""
 
-#: dwarf2read.c:3449
+#: dwarf2read.c:3448
 #, possible-c-format
 msgid "(Internal error: pc %s in read in CU, but not in symtab.)"
 msgstr ""
 
-#: dwarf2read.c:3683
+#: dwarf2read.c:3682
 msgid "read_comp_unit_head: dwarf from non elf file"
 msgstr ""
 
-#: dwarf2read.c:3702
+#: dwarf2read.c:3701
 #, possible-c-format
 msgid ""
 "Dwarf Error: wrong version in compilation unit header (is %d, should be 2, "
 "3, or 4) [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:3709
+#: dwarf2read.c:3708
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad offset (0x%lx) in compilation unit header (offset 0x%lx + "
 "6) [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:3718
+#: dwarf2read.c:3717
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad length (0x%lx) in compilation unit header (offset 0x%lx + "
 "0) [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:4050
+#: dwarf2read.c:4049
 #, possible-c-format
 msgid ""
 "debug type entry at offset 0x%x is duplicate to the entry at offset 0x%x, "
 "signature 0x%s"
 msgstr ""
 
-#: dwarf2read.c:4113
+#: dwarf2read.c:4112
 msgid "missing `.debug_types' section for DW_FORM_ref_sig8 die"
 msgstr ""
 
-#: dwarf2read.c:4316
+#: dwarf2read.c:4315
 #, possible-c-format
 msgid ""
 "Dwarf Error: compilation unit with DW_AT_GNU_dwo_name has children (offset 0x"
 "%x) [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:4359
+#: dwarf2read.c:4358
 #, possible-c-format
 msgid "Dwarf Error: missing dwo_id [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:4377
+#: dwarf2read.c:4376
 #, possible-c-format
 msgid ""
 "Dwarf Error: CU at offset 0x%x references unknown DWO with ID %s [in module %"
 "s]"
 msgstr ""
 
-#: dwarf2read.c:5438 dwarf2read.c:6837
+#: dwarf2read.c:5437 dwarf2read.c:6836
 #, possible-c-format
 msgid ""
 "Dwarf Error: DW_TAG_imported_unit is not supported in type units [in module %"
 "s]"
 msgstr ""
 
-#: dwarf2read.c:5551
+#: dwarf2read.c:5550
 #, possible-c-format
 msgid "unhandled containing DIE tag %d for DIE at %d"
 msgstr ""
 
-#: dwarf2read.c:5890 dwarf2read.c:12326
+#: dwarf2read.c:5889 dwarf2read.c:12325
 msgid "malformed enumerator DIE ignored"
 msgstr ""
 
-#: dwarf2read.c:5928
+#: dwarf2read.c:5927
 #, possible-c-format
 msgid "Dwarf Error: Could not find abbrev number %d [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:5983 dwarf2read.c:12553
+#: dwarf2read.c:5982 dwarf2read.c:12552
 msgid "ignoring absolute DW_AT_sibling"
 msgstr ""
 
-#: dwarf2read.c:6061 dwarf2read.c:13035
+#: dwarf2read.c:6060 dwarf2read.c:13034
 #, possible-c-format
 msgid "Dwarf Error: Cannot handle %s in DWARF reader [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:6106
+#: dwarf2read.c:6105
 #, possible-c-format
 msgid "bug: psymtab for %s is already read in."
 msgstr ""
 
-#: dwarf2read.c:6113 mdebugread.c:286
+#: dwarf2read.c:6112 mdebugread.c:286
 #, possible-c-format
 msgid "Reading in symbols for %s..."
 msgstr ""
 
-#: dwarf2read.c:6142 mdebugread.c:299 psymtab.c:98 symfile.c:1141
+#: dwarf2read.c:6141 mdebugread.c:299 psymtab.c:98 symfile.c:1141
 msgid "done.\n"
 msgstr ""
 
-#: dwarf2read.c:6508
+#: dwarf2read.c:6507
 #, possible-c-format
 msgid "Symtab %s has objects from two different Go packages: %s and %s"
 msgstr ""
 
-#: dwarf2read.c:6936
+#: dwarf2read.c:6935
 #, possible-c-format
 msgid "Tag '%s' has unexpected children"
 msgstr ""
 
-#: dwarf2read.c:7139
+#: dwarf2read.c:7138
 msgid "template parameter missing DW_AT_type"
 msgstr ""
 
-#: dwarf2read.c:7155
+#: dwarf2read.c:7154
 msgid "template parameter missing DW_AT_const_value"
 msgstr ""
 
-#: dwarf2read.c:7362
+#: dwarf2read.c:7361
 #, possible-c-format
 msgid ""
 "Computed physname <%s> does not match demangled <%s> (from linkage <%s>) - "
 "DIE at 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:7412 dwarf2read.c:7508
+#: dwarf2read.c:7411 dwarf2read.c:7507
 #, possible-c-format
 msgid "Tag '%s' has no DW_AT_import"
 msgstr ""
 
-#: dwarf2read.c:7499
+#: dwarf2read.c:7498
 #, possible-c-format
 msgid "child DW_TAG_imported_declaration expected - DIE at 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:7520
+#: dwarf2read.c:7519
 #, possible-c-format
 msgid ""
 "child DW_TAG_imported_declaration has unknown imported name - DIE at 0x%x "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:7689
+#: dwarf2read.c:7688
 msgid "CU refers to both DW_AT_GNU_macros and DW_AT_macro_info"
 msgstr ""
 
-#: dwarf2read.c:8010
+#: dwarf2read.c:8009
 #, possible-c-format
 msgid ""
 "Dwarf Error: debug entry at offset 0x%x is missing its dwo_id [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:8030
+#: dwarf2read.c:8029
 #, possible-c-format
 msgid ""
 "debug entry at offset 0x%x is duplicate to the entry at offset 0x%x, dwo_id "
 "0x%s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:8273
+#: dwarf2read.c:8272
 #, possible-c-format
 msgid "Could not find DWO CU referenced by CU at offset 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:8311
+#: dwarf2read.c:8310
 #, possible-c-format
 msgid "Could not find DWO TU referenced by TU at offset 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:8432
+#: dwarf2read.c:8431
 #, possible-c-format
 msgid "DIE 0x%x and its abstract origin 0x%x have different tags"
 msgstr ""
 
-#: dwarf2read.c:8475
+#: dwarf2read.c:8474
 #, possible-c-format
 msgid "Child DIE 0x%x and its abstract origin 0x%x have different tags"
 msgstr ""
 
-#: dwarf2read.c:8480
+#: dwarf2read.c:8479
 #, possible-c-format
 msgid "Child DIE 0x%x and its abstract origin 0x%x have different parents"
 msgstr ""
 
-#: dwarf2read.c:8493
+#: dwarf2read.c:8492
 #, possible-c-format
 msgid ""
 "Multiple children of DIE 0x%x refer to DIE 0x%x as their abstract origin"
 msgstr ""
 
-#: dwarf2read.c:8557
+#: dwarf2read.c:8556
 #, possible-c-format
 msgid "missing name for subprogram DIE at %d"
 msgstr ""
 
-#: dwarf2read.c:8568
+#: dwarf2read.c:8567
 #, possible-c-format
 msgid "cannot get low and high bounds for subprogram DIE at %d"
 msgstr ""
 
-#: dwarf2read.c:8780
+#: dwarf2read.c:8779
 #, possible-c-format
 msgid "missing DW_AT_low_pc for DW_TAG_GNU_call_site DIE 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:8796
+#: dwarf2read.c:8795
 #, possible-c-format
 msgid "Duplicate PC %s for DW_TAG_GNU_call_site DIE 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:8811
+#: dwarf2read.c:8810
 #, possible-c-format
 msgid ""
 "Tag %d is not DW_TAG_GNU_call_site_parameter in DW_TAG_GNU_call_site child "
 "DIE 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:8869
+#: dwarf2read.c:8868
 #, possible-c-format
 msgid ""
 "Cannot find function owning DW_TAG_GNU_call_site DIE 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:8906
+#: dwarf2read.c:8905
 #, possible-c-format
 msgid ""
 "DW_AT_GNU_call_site_target target DIE has invalid physname, for referencing "
 "DIE 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:8919
+#: dwarf2read.c:8918
 #, possible-c-format
 msgid ""
 "DW_AT_GNU_call_site_target target DIE has invalid low pc, for referencing "
 "DIE 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:8928
+#: dwarf2read.c:8927
 #, possible-c-format
 msgid ""
 "DW_TAG_GNU_call_site DW_AT_GNU_call_site_target is neither block nor "
 "reference, for DIE 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:8968
+#: dwarf2read.c:8967
 #, possible-c-format
 msgid ""
 "DW_AT_abstract_origin offset is not in CU for DW_TAG_GNU_call_site child DIE "
 "0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:8980
+#: dwarf2read.c:8979
 #, possible-c-format
 msgid ""
 "No DW_FORM_block* DW_AT_location for DW_TAG_GNU_call_site child DIE 0x%x [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:8998
+#: dwarf2read.c:8997
 #, possible-c-format
 msgid ""
 "Only single DW_OP_reg or DW_OP_fbreg is supported for DW_FORM_block* "
@@ -8474,136 +8561,136 @@ msgid ""
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:9011
+#: dwarf2read.c:9010
 #, possible-c-format
 msgid ""
 "No DW_FORM_block* DW_AT_GNU_call_site_value for DW_TAG_GNU_call_site child "
 "DIE 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:9029
+#: dwarf2read.c:9028
 #, possible-c-format
 msgid ""
 "No DW_FORM_block* DW_AT_GNU_call_site_data_value for DW_TAG_GNU_call_site "
 "child DIE 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:9073
+#: dwarf2read.c:9072
 #, possible-c-format
 msgid "Offset %d out of bounds for DW_AT_ranges attribute"
 msgstr ""
 
-#: dwarf2read.c:9127 dwarf2read.c:9443
+#: dwarf2read.c:9126 dwarf2read.c:9442
 msgid "Invalid .debug_ranges data (no base address)"
 msgstr ""
 
-#: dwarf2read.c:9135 dwarf2read.c:9452
+#: dwarf2read.c:9134 dwarf2read.c:9451
 msgid "Invalid .debug_ranges data (inverted range)"
 msgstr ""
 
-#: dwarf2read.c:9411
+#: dwarf2read.c:9410
 #, possible-c-format
 msgid "Offset %lu out of bounds for DW_AT_ranges attribute"
 msgstr ""
 
-#: dwarf2read.c:9893
+#: dwarf2read.c:9892
 #, possible-c-format
 msgid "unsupported accessibility %d"
 msgstr ""
 
-#: dwarf2read.c:9905
+#: dwarf2read.c:9904
 msgid "unexpected virtuality in component of Ada type"
 msgstr ""
 
-#: dwarf2read.c:9930
+#: dwarf2read.c:9929
 msgid "unexpected member function in Ada type"
 msgstr ""
 
-#: dwarf2read.c:10013
+#: dwarf2read.c:10012
 #, possible-c-format
 msgid "member function type missing for '%s'"
 msgstr ""
 
-#: dwarf2read.c:10102
+#: dwarf2read.c:10101
 #, possible-c-format
 msgid ""
 "Member function \"%s\" (offset %d) is virtual but the vtable offset is not "
 "specified"
 msgstr ""
 
-#: dwarf2read.c:10121
+#: dwarf2read.c:10120
 msgid "unexpected member functions in Ada type"
 msgstr ""
 
-#: dwarf2read.c:10464
+#: dwarf2read.c:10463
 #, possible-c-format
 msgid "virtual function table pointer not found when defining class '%s'"
 msgstr ""
 
-#: dwarf2read.c:10822
+#: dwarf2read.c:10821
 msgid "DW_AT_byte_size for array type smaller than the total size of elements"
 msgstr ""
 
-#: dwarf2read.c:11042
+#: dwarf2read.c:11041
 #, possible-c-format
 msgid "DW_TAG_module has no name, offset 0x%x"
 msgstr ""
 
-#: dwarf2read.c:11149
+#: dwarf2read.c:11148
 #, possible-c-format
 msgid "invalid pointer size %d"
 msgstr ""
 
-#: dwarf2read.c:11497
+#: dwarf2read.c:11496
 #, possible-c-format
 msgid "Self-referential DW_TAG_typedef - DIE at 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:11534
+#: dwarf2read.c:11533
 msgid "DW_AT_name missing from DW_TAG_base_type"
 msgstr ""
 
-#: dwarf2read.c:11587
+#: dwarf2read.c:11586
 #, possible-c-format
 msgid "unsupported DW_AT_encoding: '%s'"
 msgstr ""
 
-#: dwarf2read.c:11662
+#: dwarf2read.c:11661
 #, possible-c-format
 msgid "Missing DW_AT_lower_bound - DIE at 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:11893
+#: dwarf2read.c:11892
 #, possible-c-format
 msgid "Dwarf Error: could not find abbrev number %d [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12310
+#: dwarf2read.c:12309
 #, possible-c-format
 msgid ""
 "DW_TAG_typedef has childen - GCC PR debug/47510 bug - DIE at 0x%x [in module "
 "%s]"
 msgstr ""
 
-#: dwarf2read.c:12619
+#: dwarf2read.c:12618
 #, possible-c-format
 msgid "DW_AT_low_pc %s is zero for DIE at 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12630
+#: dwarf2read.c:12629
 #, possible-c-format
 msgid ""
 "DW_AT_low_pc %s is not < DW_AT_high_pc %s for DIE at 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12684
+#: dwarf2read.c:12683
 #, possible-c-format
 msgid ""
 "Dwarf Error: Type Unit at offset 0x%lx contains external reference to offset "
 "0x%lx [in module %s].\n"
 msgstr ""
 
-#: dwarf2read.c:12718
+#: dwarf2read.c:12717
 #, possible-c-format
 msgid "could not find partial DIE 0x%x in cache [from module %s]\n"
 msgstr ""
@@ -8612,110 +8699,110 @@ msgstr ""
 #. Later we can turn this into a complaint.
 #. For now flag a hard error.
 #. Later we can turn this into a complaint if warranted.
-#: dwarf2read.c:13009 dwarf2read.c:13021
+#: dwarf2read.c:13008 dwarf2read.c:13020
 #, possible-c-format
 msgid "Dwarf Error: %s found in non-DWO CU [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:13052
+#: dwarf2read.c:13051
 #, possible-c-format
 msgid "Suspicious DW_AT_byte_size value treated as zero instead of %s"
 msgstr ""
 
-#: dwarf2read.c:13137
+#: dwarf2read.c:13136
 #, possible-c-format
 msgid "read_address: bad switch, signed [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:13156
+#: dwarf2read.c:13155
 #, possible-c-format
 msgid "read_address: bad switch, unsigned [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:13250
+#: dwarf2read.c:13249
 msgid "intermixed 32-bit and 64-bit DWARF sections"
 msgstr ""
 
-#: dwarf2read.c:13286
+#: dwarf2read.c:13285
 #, possible-c-format
 msgid "read_offset_1: bad switch [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:13324
+#: dwarf2read.c:13323
 #, possible-c-format
 msgid "DW_FORM_strp used without .debug_str section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:13327
+#: dwarf2read.c:13326
 #, possible-c-format
 msgid "DW_FORM_strp pointing outside of .debug_str section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:13416
+#: dwarf2read.c:13415
 #, possible-c-format
 msgid "DW_FORM_addr_index used without .debug_addr section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:13419
+#: dwarf2read.c:13418
 #, possible-c-format
 msgid ""
 "DW_FORM_addr_index pointing outside of .debug_addr section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:13542
+#: dwarf2read.c:13541
 #, possible-c-format
 msgid ""
 "DW_FORM_str_index used without .debug_str.dwo section in CU at offset 0x%lx "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:13546
+#: dwarf2read.c:13545
 #, possible-c-format
 msgid ""
 "DW_FORM_str_index used without .debug_str_offsets.dwo section in CU at "
 "offset 0x%lx [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:13550
+#: dwarf2read.c:13549
 #, possible-c-format
 msgid ""
 "DW_FORM_str_index pointing outside of .debug_str_offsets.dwo section in CU "
 "at offset 0x%lx [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:13560
+#: dwarf2read.c:13559
 #, possible-c-format
 msgid ""
 "Offset from DW_FORM_str_index pointing outside of .debug_str.dwo section in "
 "CU at offset 0x%lx [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:13838
+#: dwarf2read.c:13837
 msgid "missing .debug_line.dwo section"
 msgstr ""
 
-#: dwarf2read.c:13840
+#: dwarf2read.c:13839
 msgid "missing .debug_line section"
 msgstr ""
 
-#: dwarf2read.c:13892
+#: dwarf2read.c:13891
 msgid "invalid maximum_ops_per_instruction in `.debug_line' section"
 msgstr ""
 
-#: dwarf2read.c:13942
+#: dwarf2read.c:13941
 msgid "line number info header doesn't fit in `.debug_line' section"
 msgstr ""
 
-#: dwarf2read.c:14161
+#: dwarf2read.c:14160
 #, possible-c-format
 msgid ".debug_line address at offset 0x%lx is 0 [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:14198 dwarf2read.c:14207
+#: dwarf2read.c:14197 dwarf2read.c:14206
 msgid "mangled .debug_line section"
 msgstr ""
 
-#: dwarf2read.c:14621
+#: dwarf2read.c:14620
 msgid "file index out of range"
 msgstr ""
 
@@ -8723,351 +8810,351 @@ msgstr ""
 #. trash data, but since we must specifically ignore things
 #. we don't recognize, there is nothing else we should do at
 #. this point.
-#: dwarf2read.c:14882
+#: dwarf2read.c:14881
 #, possible-c-format
 msgid "unsupported tag: '%s'"
 msgstr ""
 
-#: dwarf2read.c:15052
+#: dwarf2read.c:15051
 #, possible-c-format
 msgid "unsupported const value attribute form: '%s'"
 msgstr ""
 
-#: dwarf2read.c:15172
+#: dwarf2read.c:15171
 #, possible-c-format
 msgid ""
 "Dwarf Error: Problem turning containing type into gdb type [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:15203 dwarf2read.c:16333
+#: dwarf2read.c:15202 dwarf2read.c:16332
 #, possible-c-format
 msgid ""
 "Dwarf Error: Cannot find signatured DIE referenced from DIE at 0x%x [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:15221
+#: dwarf2read.c:15220
 #, possible-c-format
 msgid "Dwarf Error: Bad type attribute %s [in module %s]"
 msgstr ""
 
 #. read_type_die already issued a complaint.
-#: dwarf2read.c:15248
+#: dwarf2read.c:15247
 #, possible-c-format
 msgid "<unknown type in %s, CU 0x%x, DIE 0x%x>"
 msgstr ""
 
-#: dwarf2read.c:15350
+#: dwarf2read.c:15349
 #, possible-c-format
 msgid "unexpected tag in read_type_die: '%s'"
 msgstr ""
 
-#: dwarf2read.c:15566
+#: dwarf2read.c:15565
 #, possible-c-format
 msgid "template param type '%s' defined within parent '%s'"
 msgstr ""
 
-#: dwarf2read.c:16116
+#: dwarf2read.c:16115
 #, possible-c-format
 msgid "unsupported die ref attribute form: '%s'"
 msgstr ""
 
-#: dwarf2read.c:16138
+#: dwarf2read.c:16137
 #, possible-c-format
 msgid "Attribute value is not a constant (%s)"
 msgstr ""
 
-#: dwarf2read.c:16161
+#: dwarf2read.c:16160
 #, possible-c-format
 msgid "Dwarf Error: Expected reference attribute [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:16229
+#: dwarf2read.c:16228
 #, possible-c-format
 msgid ""
 "Dwarf Error: Cannot find DIE at 0x%x referenced from DIE at 0x%x [in module %"
 "s]"
 msgstr ""
 
-#: dwarf2read.c:16260
+#: dwarf2read.c:16259
 #, possible-c-format
 msgid "Dwarf Error: Cannot find DIE at 0x%x referenced in module %s"
 msgstr ""
 
-#: dwarf2read.c:16287
+#: dwarf2read.c:16286
 #, possible-c-format
 msgid ""
 "Dwarf Error: DIE at 0x%x referenced in module %s is neither DW_FORM_block* "
 "nor DW_FORM_exprloc"
 msgstr ""
 
-#: dwarf2read.c:16355
+#: dwarf2read.c:16354
 #, possible-c-format
 msgid ""
 "Dwarf Error: Cannot find signatured DIE at 0x%x referenced from DIE at 0x%x "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:16698
+#: dwarf2read.c:16697
 #, possible-c-format
 msgid "unsupported stack op: '%s'"
 msgstr ""
 
-#: dwarf2read.c:16701
+#: dwarf2read.c:16700
 #, possible-c-format
 msgid "unsupported stack op: '%02x'"
 msgstr ""
 
-#: dwarf2read.c:16713
+#: dwarf2read.c:16712
 msgid "location description stack overflow"
 msgstr ""
 
-#: dwarf2read.c:16720
+#: dwarf2read.c:16719
 msgid "location description stack underflow"
 msgstr ""
 
-#: dwarf2read.c:16805
+#: dwarf2read.c:16804
 #, possible-c-format
 msgid "bad file number in macro information (%d)"
 msgstr ""
 
-#: dwarf2read.c:16863
+#: dwarf2read.c:16862
 #, possible-c-format
 msgid ""
 "macro definition contains spaces in formal argument list:\n"
 "`%s'"
 msgstr ""
 
-#: dwarf2read.c:17086
+#: dwarf2read.c:17085
 #, possible-c-format
 msgid "invalid form 0x%x in `%s'"
 msgstr ""
 
-#: dwarf2read.c:17115
+#: dwarf2read.c:17114
 #, possible-c-format
 msgid "unrecognized DW_MACFINO opcode 0x%x"
 msgstr ""
 
-#: dwarf2read.c:17160
+#: dwarf2read.c:17159
 #, possible-c-format
 msgid "unrecognized version `%d' in .debug_macro section"
 msgstr ""
 
-#: dwarf2read.c:17289
+#: dwarf2read.c:17288
 #, possible-c-format
 msgid "debug info with no main source gives macro %s on line %d: %s"
 msgstr ""
 
-#: dwarf2read.c:17291 dwarf2read.c:17300
+#: dwarf2read.c:17290 dwarf2read.c:17299
 msgid "definition"
 msgstr ""
 
-#: dwarf2read.c:17291 dwarf2read.c:17300
+#: dwarf2read.c:17290 dwarf2read.c:17299
 msgid "undefinition"
 msgstr ""
 
-#: dwarf2read.c:17298
+#: dwarf2read.c:17297
 #, possible-c-format
 msgid "debug info gives %s macro %s with %s line %d: %s"
 msgstr ""
 
-#: dwarf2read.c:17299 dwarf2read.c:17329
+#: dwarf2read.c:17298 dwarf2read.c:17328
 msgid "command-line"
 msgstr ""
 
-#: dwarf2read.c:17299
+#: dwarf2read.c:17298
 msgid "in-file"
 msgstr ""
 
-#: dwarf2read.c:17301 dwarf2read.c:17330
+#: dwarf2read.c:17300 dwarf2read.c:17329
 msgid "zero"
 msgstr ""
 
-#: dwarf2read.c:17301 dwarf2read.c:17330
+#: dwarf2read.c:17300 dwarf2read.c:17329
 msgid "non-zero"
 msgstr ""
 
-#: dwarf2read.c:17327
+#: dwarf2read.c:17326
 #, possible-c-format
 msgid "debug info gives source %d included from %s at %s line %d"
 msgstr ""
 
-#: dwarf2read.c:17329
+#: dwarf2read.c:17328
 msgid "file"
 msgstr ""
 
-#: dwarf2read.c:17348
+#: dwarf2read.c:17347
 msgid "macro debug info has an unmatched `close_file' directive"
 msgstr ""
 
-#: dwarf2read.c:17374
+#: dwarf2read.c:17373
 msgid "no terminating 0-type entry for macros in `.debug_macinfo' section"
 msgstr ""
 
-#: dwarf2read.c:17396
+#: dwarf2read.c:17395
 msgid "recursive DW_MACRO_GNU_transparent_include in .debug_macro section"
 msgstr ""
 
-#: dwarf2read.c:17490
+#: dwarf2read.c:17489
 #, possible-c-format
 msgid "missing %s section"
 msgstr ""
 
-#: dwarf2read.c:17746
+#: dwarf2read.c:17745
 msgid "Location list used without specifying the CU base address."
 msgstr ""
 
-#: dwarf2read.c:17903
+#: dwarf2read.c:17902
 #, possible-c-format
 msgid ""
 "Dwarf Error: could not find partial DIE containing offset 0x%lx [in module %"
 "s]"
 msgstr ""
 
-#: dwarf2read.c:17916
+#: dwarf2read.c:17915
 #, possible-c-format
 msgid "invalid dwarf2 offset %u"
 msgstr ""
 
-#: dwarf2read.c:18199
+#: dwarf2read.c:18198
 #, possible-c-format
 msgid "A problem internal to GDB: DIE 0x%x has type already set"
 msgstr ""
 
-#: dwarf2read.c:18964
+#: dwarf2read.c:18963
 msgid "Ada is not currently supported by the index"
 msgstr ""
 
-#: dwarf2read.c:18988
+#: dwarf2read.c:18987
 msgid "couldn't data write to file"
 msgstr ""
 
-#: dwarf2read.c:19101
+#: dwarf2read.c:19100
 msgid "Cannot use an index to create the index"
 msgstr ""
 
-#: dwarf2read.c:19104
+#: dwarf2read.c:19103
 msgid "Cannot make an index when the file has multiple .debug_types sections"
 msgstr ""
 
-#: dwarf2read.c:19115
+#: dwarf2read.c:19114
 #, possible-c-format
 msgid "Can't open `%s' for writing"
 msgstr ""
 
-#: dwarf2read.c:19270
+#: dwarf2read.c:19269
 msgid "usage: save gdb-index DIRECTORY"
 msgstr ""
 
-#: dwarf2read.c:19291
+#: dwarf2read.c:19290
 #, possible-c-format
 msgid "Error while writing index for `%s': "
 msgstr ""
 
-#: dwarf2read.c:19306
+#: dwarf2read.c:19305
 #, possible-c-format
 msgid "Whether to always disassemble DWARF expressions is %s.\n"
 msgstr ""
 
-#: dwarf2read.c:19316
+#: dwarf2read.c:19315
 #, possible-c-format
 msgid "Whether to check \"physname\" is %s.\n"
 msgstr ""
 
-#: dwarf2read.c:19330
+#: dwarf2read.c:19329
 msgid ""
 "Set DWARF 2 specific variables.\n"
 "Configure DWARF 2 variables such as the cache size"
 msgstr ""
 
 #. allow-unknown
-#: dwarf2read.c:19336
+#: dwarf2read.c:19335
 msgid ""
 "Show DWARF 2 specific variables\n"
 "Show DWARF 2 variables such as the cache size"
 msgstr ""
 
-#: dwarf2read.c:19343
+#: dwarf2read.c:19342
 msgid "Set the upper bound on the age of cached dwarf2 compilation units."
 msgstr ""
 
-#: dwarf2read.c:19344
+#: dwarf2read.c:19343
 msgid "Show the upper bound on the age of cached dwarf2 compilation units."
 msgstr ""
 
-#: dwarf2read.c:19345
+#: dwarf2read.c:19344
 msgid ""
 "A higher limit means that cached compilation units will be stored\n"
 "in memory longer, and more total memory will be used.  Zero disables\n"
 "caching, which can slow down startup."
 msgstr ""
 
-#: dwarf2read.c:19355
+#: dwarf2read.c:19354
 msgid "Set whether `info address' always disassembles DWARF expressions."
 msgstr ""
 
-#: dwarf2read.c:19356
+#: dwarf2read.c:19355
 msgid "Show whether `info address' always disassembles DWARF expressions."
 msgstr ""
 
-#: dwarf2read.c:19357
+#: dwarf2read.c:19356
 msgid ""
 "When enabled, DWARF expressions are always printed in an assembly-like\n"
 "syntax.  When disabled, expressions will be printed in a more\n"
 "conversational style, when possible."
 msgstr ""
 
-#: dwarf2read.c:19366
+#: dwarf2read.c:19365
 msgid "Set debugging of the dwarf2 reader."
 msgstr ""
 
-#: dwarf2read.c:19367
+#: dwarf2read.c:19366
 msgid "Show debugging of the dwarf2 reader."
 msgstr ""
 
-#: dwarf2read.c:19368
+#: dwarf2read.c:19367
 msgid ""
 "When enabled, debugging messages are printed during dwarf2 reading\n"
 "and symtab expansion."
 msgstr ""
 
-#: dwarf2read.c:19375
+#: dwarf2read.c:19374
 msgid "Set debugging of the dwarf2 DIE reader."
 msgstr ""
 
-#: dwarf2read.c:19376
+#: dwarf2read.c:19375
 msgid "Show debugging of the dwarf2 DIE reader."
 msgstr ""
 
-#: dwarf2read.c:19377
+#: dwarf2read.c:19376
 msgid ""
 "When enabled (non-zero), DIEs are dumped after they are read in.\n"
 "The value is the maximum depth to print."
 msgstr ""
 
-#: dwarf2read.c:19384
+#: dwarf2read.c:19383
 msgid "Set cross-checking of \"physname\" code against demangler."
 msgstr ""
 
-#: dwarf2read.c:19385
+#: dwarf2read.c:19384
 msgid "Show cross-checking of \"physname\" code against demangler."
 msgstr ""
 
-#: dwarf2read.c:19386
+#: dwarf2read.c:19385
 msgid ""
 "When enabled, GDB's internal \"physname\" code is checked against\n"
 "the demangler."
 msgstr ""
 
-#: dwarf2read.c:19393
+#: dwarf2read.c:19392
 msgid "Set whether to use deprecated gdb_index sections."
 msgstr ""
 
-#: dwarf2read.c:19394
+#: dwarf2read.c:19393
 msgid "Show whether to use deprecated gdb_index sections."
 msgstr ""
 
-#: dwarf2read.c:19395
+#: dwarf2read.c:19394
 msgid ""
 "When enabled, deprecated .gdb_index sections are used anyway.\n"
 "Normally they are ignored either because of a missing feature or\n"
@@ -9075,7 +9162,7 @@ msgid ""
 "Warning: This option must be enabled before gdb reads the file."
 msgstr ""
 
-#: dwarf2read.c:19405
+#: dwarf2read.c:19404
 msgid ""
 "Save a gdb-index file.\n"
 "Usage: save gdb-index DIRECTORY"
@@ -9663,139 +9750,139 @@ msgstr ""
 msgid "An upper bound on the number of backtrace levels is %s.\n"
 msgstr ""
 
-#: frame.c:681
+#: frame.c:682
 msgid "No unwind_pc method"
 msgstr ""
 
-#: frame.c:701 frame.c:769
+#: frame.c:702 frame.c:770
 msgid "PC not available"
 msgstr ""
 
-#: frame.c:815
+#: frame.c:816
 msgid "Cannot pop the initial frame."
 msgstr ""
 
-#: frame.c:916
+#: frame.c:922
 #, possible-c-format
 msgid "Register %d was optimized out"
 msgstr ""
 
-#: frame.c:919
+#: frame.c:925
 #, possible-c-format
 msgid "Register %d is not available"
 msgstr ""
 
-#: frame.c:1068
+#: frame.c:1074
 msgid "Attempt to assign to a value that was optimized out."
 msgstr ""
 
-#: frame.c:1085
+#: frame.c:1091
 msgid "Attempt to assign to an unmodifiable value."
 msgstr ""
 
-#: frame.c:1142
+#: frame.c:1148
 #, possible-c-format
 msgid ""
 "Bad debug information detected: Attempt to read %d bytes from registers."
 msgstr ""
 
-#: frame.c:1308 ia64-libunwind-tdep.c:335 ia64-tdep.c:1926 ia64-tdep.c:2301
+#: frame.c:1314 ia64-libunwind-tdep.c:335 ia64-tdep.c:1926 ia64-tdep.c:2301
 msgid "No registers."
 msgstr ""
 
-#: frame.c:1310 stack.c:1661 stack.c:2200 thread.c:1289
+#: frame.c:1316 stack.c:1661 stack.c:2200 thread.c:1289
 msgid "No stack."
 msgstr ""
 
-#: frame.c:1312
+#: frame.c:1318
 msgid "No memory."
 msgstr ""
 
-#: frame.c:1317
+#: frame.c:1323
 msgid "No selected thread."
 msgstr ""
 
-#: frame.c:1319 infcmd.c:1827
+#: frame.c:1325 infcmd.c:1832
 msgid "Invalid selected thread."
 msgstr ""
 
-#: frame.c:1321
+#: frame.c:1327
 msgid "Target is executing."
 msgstr ""
 
-#: frame.c:2350
+#: frame.c:2356
 msgid "Missing unwind SP method"
 msgstr ""
 
-#: frame.c:2454
+#: frame.c:2460
 msgid ""
 "Set backtrace specific variables.\n"
 "Configure backtrace variables such as the backtrace limit"
 msgstr ""
 
 #. allow-unknown
-#: frame.c:2459
+#: frame.c:2465
 msgid ""
 "Show backtrace specific variables\n"
 "Show backtrace variables such as the backtrace limit"
 msgstr ""
 
-#: frame.c:2466
+#: frame.c:2472
 msgid "Set whether backtraces should continue past \"main\"."
 msgstr ""
 
-#: frame.c:2467
+#: frame.c:2473
 msgid "Show whether backtraces should continue past \"main\"."
 msgstr ""
 
-#: frame.c:2468
+#: frame.c:2474
 msgid ""
 "Normally the caller of \"main\" is not of interest, so GDB will terminate\n"
 "the backtrace at \"main\".  Set this variable if you need to see the rest\n"
 "of the stack trace."
 msgstr ""
 
-#: frame.c:2478
+#: frame.c:2484
 msgid ""
 "Set whether backtraces should continue past the entry point of a program."
 msgstr ""
 
-#: frame.c:2480
+#: frame.c:2486
 msgid ""
 "Show whether backtraces should continue past the entry point of a program."
 msgstr ""
 
-#: frame.c:2482
+#: frame.c:2488
 msgid ""
 "Normally there are no callers beyond the entry point of a program, so GDB\n"
 "will terminate the backtrace there.  Set this variable if you need to see\n"
 "the rest of the stack trace."
 msgstr ""
 
-#: frame.c:2492
+#: frame.c:2498
 msgid "Set an upper bound on the number of backtrace levels."
 msgstr ""
 
-#: frame.c:2493
+#: frame.c:2499
 msgid "Show the upper bound on the number of backtrace levels."
 msgstr ""
 
-#: frame.c:2494
+#: frame.c:2500
 msgid ""
 "No more than the specified number of frames can be displayed or examined.\n"
 "Zero is unlimited."
 msgstr ""
 
 #. Debug this files internals.
-#: frame.c:2503
+#: frame.c:2509
 msgid "Set frame debugging."
 msgstr ""
 
-#: frame.c:2504
+#: frame.c:2510
 msgid "Show frame debugging."
 msgstr ""
 
-#: frame.c:2505
+#: frame.c:2511
 msgid "When non-zero, frame specific internal debugging is enabled."
 msgstr ""
 
@@ -9868,7 +9955,7 @@ msgstr ""
 msgid "Contents of F77 COMMON block '%s':\n"
 msgstr ""
 
-#: f-valprint.c:523 infrun.c:6836 stack.c:1740 stack.c:1954
+#: f-valprint.c:523 infrun.c:6852 stack.c:1740 stack.c:1954
 msgid "Unable to restore previously selected frame."
 msgstr ""
 
@@ -10625,7 +10712,7 @@ msgstr ""
 msgid "vtable for '%s' @ %s (subobject @ %s):\n"
 msgstr ""
 
-#: gnu-v3-abi.c:897 printcmd.c:1800 value.c:2254
+#: gnu-v3-abi.c:897 printcmd.c:1800 value.c:2258
 #, possible-c-format
 msgid "<error: %s>"
 msgstr ""
@@ -11240,28 +11327,28 @@ msgid ""
 "; instruction is only %d bytes long, need at least %d bytes for the jump"
 msgstr ""
 
-#: i386-tdep.c:7927
+#: i386-tdep.c:7916
 msgid "Set the disassembly flavor."
 msgstr ""
 
-#: i386-tdep.c:7928
+#: i386-tdep.c:7917
 msgid "Show the disassembly flavor."
 msgstr ""
 
-#: i386-tdep.c:7929
+#: i386-tdep.c:7918
 msgid ""
 "The valid values are \"att\" and \"intel\", and the default value is \"att\"."
 msgstr ""
 
-#: i386-tdep.c:7938
+#: i386-tdep.c:7927
 msgid "Set the convention for returning small structs."
 msgstr ""
 
-#: i386-tdep.c:7939
+#: i386-tdep.c:7928
 msgid "Show the convention for returning small structs."
 msgstr ""
 
-#: i386-tdep.c:7940
+#: i386-tdep.c:7929
 msgid ""
 "Valid values are \"default\", \"pcc\" and \"reg\", and the default value\n"
 "is \"default\"."
@@ -11541,7 +11628,7 @@ msgstr ""
 msgid "Use the \"run\" command to start a Unix child process."
 msgstr ""
 
-#: infcmd.c:128 infcmd.c:2317 infcmd.c:2705 linux-fork.c:658 remote-sim.c:891
+#: infcmd.c:128 infcmd.c:2322 infcmd.c:2710 linux-fork.c:658 remote-sim.c:891
 msgid "The program is not being run."
 msgstr ""
 
@@ -11575,7 +11662,7 @@ msgid "The target does not support running in non-stop mode."
 msgstr ""
 
 #: infcmd.c:582 infcmd.c:755 infcmd.c:898 infcmd.c:1138 infcmd.c:1242
-#: infcmd.c:1391 infcmd.c:1427 infcmd.c:1729 infcmd.c:2549
+#: infcmd.c:1391 infcmd.c:1427 infcmd.c:1729 infcmd.c:2554
 msgid "Asynchronous execution not supported on this target."
 msgstr ""
 
@@ -11687,137 +11774,137 @@ msgstr ""
 msgid "\"finish\" not meaningful in the outermost frame."
 msgstr ""
 
-#: infcmd.c:1772 infcmd.c:1791
+#: infcmd.c:1772 infcmd.c:1796
 msgid "Run till exit from "
 msgstr ""
 
-#: infcmd.c:1789
+#: infcmd.c:1794
 msgid "Run back to call of "
 msgstr ""
 
-#: infcmd.c:1813
+#: infcmd.c:1818
 msgid "The program being debugged is not being run.\n"
 msgstr ""
 
-#: infcmd.c:1829 infrun.c:6549
+#: infcmd.c:1834 infrun.c:6565
 msgid "Selected thread is running."
 msgstr ""
 
-#: infcmd.c:1836
+#: infcmd.c:1841
 #, possible-c-format
 msgid "Program stopped at %s.\n"
 msgstr ""
 
-#: infcmd.c:1839
+#: infcmd.c:1844
 msgid "It stopped after being stepped.\n"
 msgstr ""
 
-#: infcmd.c:1848
+#: infcmd.c:1853
 msgid "It stopped at a breakpoint that has since been deleted.\n"
 msgstr ""
 
-#: infcmd.c:1852
+#: infcmd.c:1857
 #, possible-c-format
 msgid "It stopped at breakpoint %d.\n"
 msgstr ""
 
-#: infcmd.c:1858
+#: infcmd.c:1863
 #, possible-c-format
 msgid "It stopped with signal %s, %s.\n"
 msgstr ""
 
-#: infcmd.c:1865
+#: infcmd.c:1870
 msgid "Type \"info stack\" or \"info registers\" for more information.\n"
 msgstr ""
 
-#: infcmd.c:1910
+#: infcmd.c:1915
 msgid "environment variable and value"
 msgstr ""
 
-#: infcmd.c:1934
+#: infcmd.c:1939
 msgid "environment variable to set"
 msgstr ""
 
-#: infcmd.c:1956
+#: infcmd.c:1961
 #, possible-c-format
 msgid "Setting environment variable \"%s\" to null value.\n"
 msgstr ""
 
 #. If there is no argument, delete all environment variables.
 #. Ask for confirmation if reading from the terminal.
-#: infcmd.c:1973
+#: infcmd.c:1978
 msgid "Delete all environment variables? "
 msgstr ""
 
-#: infcmd.c:2151 infcmd.c:2302 infcmd.c:2826
+#: infcmd.c:2156 infcmd.c:2307 infcmd.c:2831
 msgid "The program has no registers now."
 msgstr ""
 
-#: infcmd.c:2179
+#: infcmd.c:2184
 msgid "Missing register name"
 msgstr ""
 
 #. Nothing matched.
-#: infcmd.c:2253
+#: infcmd.c:2258
 #, possible-c-format
 msgid "Invalid register `%.*s'"
 msgstr ""
 
-#: infcmd.c:2318
+#: infcmd.c:2323
 msgid "Kill the program being debugged? "
 msgstr ""
 
-#: infcmd.c:2332
+#: infcmd.c:2337
 #, possible-c-format
 msgid "In %s,\n"
 msgstr ""
 
-#: infcmd.c:2529 target.c:2547
+#: infcmd.c:2534 target.c:2547
 msgid "A program is being debugged already.  Kill it? "
 msgstr ""
 
-#: infcmd.c:2532
+#: infcmd.c:2537
 msgid "Not killed."
 msgstr ""
 
-#: infcmd.c:2540
+#: infcmd.c:2545
 msgid "Cannot attach to this target in non-stop mode"
 msgstr ""
 
-#: infcmd.c:2786
+#: infcmd.c:2791
 msgid "-a is meaningless in all-stop mode."
 msgstr ""
 
-#: infcmd.c:2834
+#: infcmd.c:2839
 msgid "\"unset\" must be followed by the name of an unset subcommand.\n"
 msgstr ""
 
-#: infcmd.c:2924
+#: infcmd.c:2929
 msgid "Set terminal for future runs of program being debugged."
 msgstr ""
 
-#: infcmd.c:2925
+#: infcmd.c:2930
 msgid "Show terminal for future runs of program being debugged."
 msgstr ""
 
-#: infcmd.c:2926
+#: infcmd.c:2931
 msgid "Usage: set inferior-tty /dev/pts/1"
 msgstr ""
 
-#: infcmd.c:2934
+#: infcmd.c:2939
 msgid "Set argument list to give program being debugged when it is started."
 msgstr ""
 
-#: infcmd.c:2935
+#: infcmd.c:2940
 msgid "Show argument list to give program being debugged when it is started."
 msgstr ""
 
-#: infcmd.c:2936
+#: infcmd.c:2941
 msgid ""
 "Follow this command with any number of args, to be passed to the program."
 msgstr ""
 
-#: infcmd.c:2942
+#: infcmd.c:2947
 msgid ""
 "The environment to give the program, or one variable's value.\n"
 "With an argument VAR, prints the value of environment variable VAR to\n"
@@ -11825,17 +11912,17 @@ msgid ""
 "environment to be given to the program."
 msgstr ""
 
-#: infcmd.c:2950
+#: infcmd.c:2955
 msgid "Complement to certain \"set\" commands."
 msgstr ""
 
-#: infcmd.c:2953
+#: infcmd.c:2958
 msgid ""
 "Cancel environment variable VAR for the program.\n"
 "This does not affect the program until the next \"run\" command."
 msgstr ""
 
-#: infcmd.c:2959
+#: infcmd.c:2964
 msgid ""
 "Set environment variable value to give the program.\n"
 "Arguments are VAR VALUE where VAR is variable name and VALUE is value.\n"
@@ -11843,7 +11930,7 @@ msgid ""
 "This does not affect the program until the next \"run\" command."
 msgstr ""
 
-#: infcmd.c:2967
+#: infcmd.c:2972
 msgid ""
 "Add directory DIR(s) to beginning of search path for object files.\n"
 "$cwd in the path means the current working directory.\n"
@@ -11852,7 +11939,7 @@ msgid ""
 "fully linked executable files and separately compiled object files as needed."
 msgstr ""
 
-#: infcmd.c:2976
+#: infcmd.c:2981
 msgid ""
 "Current search path for finding object files.\n"
 "$cwd in the path means the current working directory.\n"
@@ -11861,11 +11948,11 @@ msgid ""
 "fully linked executable files and separately compiled object files as needed."
 msgstr ""
 
-#: infcmd.c:2987
+#: infcmd.c:2992
 msgid "Kill execution of program being debugged."
 msgstr ""
 
-#: infcmd.c:2990
+#: infcmd.c:2995
 msgid ""
 "Attach to a process or file outside of GDB.\n"
 "This command attaches to another target, of the same type as your last\n"
@@ -11880,45 +11967,45 @@ msgid ""
 "to specify the program, and to load its symbol table."
 msgstr ""
 
-#: infcmd.c:3003
+#: infcmd.c:3008
 msgid ""
 "Detach a process or file previously attached.\n"
 "If a process, it is no longer traced, and it continues its execution.  If\n"
 "you were debugging a file, the file is closed and gdb no longer accesses it."
 msgstr ""
 
-#: infcmd.c:3009
+#: infcmd.c:3014
 msgid ""
 "Disconnect from a target.\n"
 "The target will wait for another debugger to connect.  Not available for\n"
 "all targets."
 msgstr ""
 
-#: infcmd.c:3014
+#: infcmd.c:3019
 msgid ""
 "Continue program giving it signal specified by the argument.\n"
 "An argument of \"0\" means continue program without giving it a signal."
 msgstr ""
 
-#: infcmd.c:3018
+#: infcmd.c:3023
 msgid ""
 "Step one instruction exactly.\n"
 "Argument N means do this N times (or till program stops for another reason)."
 msgstr ""
 
-#: infcmd.c:3024
+#: infcmd.c:3029
 msgid ""
 "Step one instruction, but proceed through subroutine calls.\n"
 "Argument N means do this N times (or till program stops for another reason)."
 msgstr ""
 
-#: infcmd.c:3030
+#: infcmd.c:3035
 msgid ""
 "Execute until selected stack frame returns.\n"
 "Upon return, the value returned is printed and put in the value history."
 msgstr ""
 
-#: infcmd.c:3035
+#: infcmd.c:3040
 msgid ""
 "Step program, proceeding through subroutine calls.\n"
 "Like the \"step\" command as long as subroutine calls do not happen;\n"
@@ -11926,34 +12013,34 @@ msgid ""
 "Argument N means do this N times (or till program stops for another reason)."
 msgstr ""
 
-#: infcmd.c:3045
+#: infcmd.c:3050
 msgid ""
 "Step program until it reaches a different source line.\n"
 "Argument N means do this N times (or till program stops for another reason)."
 msgstr ""
 
-#: infcmd.c:3051
+#: infcmd.c:3056
 msgid ""
 "Execute until the program reaches a source line greater than the current\n"
 "or a specified location (same args as break command) within the current "
 "frame."
 msgstr ""
 
-#: infcmd.c:3058
+#: infcmd.c:3063
 msgid ""
 "Continue the program up to the given location (same form as args for break "
 "command).\n"
 "Execution will also stop upon exit from the current stack frame."
 msgstr ""
 
-#: infcmd.c:3064
+#: infcmd.c:3069
 msgid ""
 "Continue program being debugged at specified line or address.\n"
 "Give as argument either LINENUM or *ADDR, where ADDR is an expression\n"
 "for an address to start at."
 msgstr ""
 
-#: infcmd.c:3072
+#: infcmd.c:3077
 msgid ""
 "Usage: go <location>\n"
 "Continue program being debugged, stopping at specified line or \n"
@@ -11963,7 +12050,7 @@ msgid ""
 "This command is a combination of tbreak and jump."
 msgstr ""
 
-#: infcmd.c:3085
+#: infcmd.c:3090
 msgid ""
 "Continue program being debugged, after signal or breakpoint.\n"
 "If proceeding from breakpoint, a number N may be used as an argument,\n"
@@ -11976,7 +12063,7 @@ msgid ""
 "Specifying -a and an ignore count simultaneously is an error."
 msgstr ""
 
-#: infcmd.c:3098
+#: infcmd.c:3103
 msgid ""
 "Start debugged program.  You may specify arguments to give it.\n"
 "Args may include \"*\", or \"[...]\"; they are expanded using \"sh\".\n"
@@ -11988,18 +12075,18 @@ msgid ""
 "use \"set args\" without arguments."
 msgstr ""
 
-#: infcmd.c:3111
+#: infcmd.c:3116
 msgid "Start debugged program with no arguments."
 msgstr ""
 
-#: infcmd.c:3113
+#: infcmd.c:3118
 msgid ""
 "Run the debugged program until the beginning of the main procedure.\n"
 "You may specify arguments to give to your program, just as with the\n"
 "\"run\" command."
 msgstr ""
 
-#: infcmd.c:3120
+#: infcmd.c:3125
 msgid ""
 "Interrupt the execution of the debugged program.\n"
 "If non-stop mode is enabled, interrupt only the current thread,\n"
@@ -12007,62 +12094,62 @@ msgid ""
 "interrupt all running threads in non-stop mode, use the -a option."
 msgstr ""
 
-#: infcmd.c:3125 infcmd.c:3131
+#: infcmd.c:3130 infcmd.c:3136
 msgid ""
 "List of integer registers and their contents, for selected stack frame.\n"
 "Register name as argument means describe only that register."
 msgstr ""
 
-#: infcmd.c:3134
+#: infcmd.c:3139
 msgid ""
 "List of all registers and their contents, for selected stack frame.\n"
 "Register name as argument means describe only that register."
 msgstr ""
 
-#: infcmd.c:3139
+#: infcmd.c:3144
 msgid "Execution status of the program."
 msgstr ""
 
-#: infcmd.c:3142
+#: infcmd.c:3147
 msgid "Print the status of the floating point unit\n"
 msgstr ""
 
-#: infcmd.c:3145
+#: infcmd.c:3150
 msgid "Print the status of the vector unit\n"
 msgstr ""
 
-#: infcmd.c:3148
+#: infcmd.c:3153
 msgid ""
 "Show /proc process information about any running process.\n"
 "Specify any process id, or use the program being debugged by default."
 msgstr ""
 
 #. allow-unknown
-#: infcmd.c:3154
+#: infcmd.c:3159
 msgid "List of mapped memory regions."
 msgstr ""
 
-#: infcmd.c:3158
+#: infcmd.c:3163
 msgid "List process info from /proc/PID/stat."
 msgstr ""
 
-#: infcmd.c:3162
+#: infcmd.c:3167
 msgid "List process info from /proc/PID/status."
 msgstr ""
 
-#: infcmd.c:3166
+#: infcmd.c:3171
 msgid "List current working directory of the process."
 msgstr ""
 
-#: infcmd.c:3170
+#: infcmd.c:3175
 msgid "List command line arguments of the process."
 msgstr ""
 
-#: infcmd.c:3174
+#: infcmd.c:3179
 msgid "List absolute filename for executable of the process."
 msgstr ""
 
-#: infcmd.c:3178
+#: infcmd.c:3183
 msgid "List all available /proc info."
 msgstr ""
 
@@ -12327,7 +12414,7 @@ msgid ""
 "this platform."
 msgstr ""
 
-#: infrun.c:251 infrun.c:7021 target.c:4644 target.c:4692
+#: infrun.c:251 infrun.c:7037 target.c:4644 target.c:4692
 msgid "Cannot change this setting while the inferior is running."
 msgstr ""
 
@@ -12425,120 +12512,120 @@ msgstr ""
 msgid "Cannot step over breakpoint hit in wrong thread"
 msgstr ""
 
-#: infrun.c:5920 linux-fork.c:374 linux-fork.c:406
+#: infrun.c:5936 linux-fork.c:374 linux-fork.c:406
 #, possible-c-format
 msgid "[Switching to %s]\n"
 msgstr ""
 
-#: infrun.c:5931
+#: infrun.c:5947
 msgid "No unwaited-for children left.\n"
 msgstr ""
 
-#: infrun.c:5939
+#: infrun.c:5955
 msgid ""
 "Cannot remove breakpoints because program is no longer writable.\n"
 "Further execution is probably impossible.\n"
 msgstr ""
 
-#: infrun.c:6039
+#: infrun.c:6055
 msgid "Unknown value."
 msgstr ""
 
-#: infrun.c:6211
+#: infrun.c:6227
 msgid "Signal        Stop\tPrint\tPass to program\tDescription\n"
 msgstr ""
 
-#: infrun.c:6248
+#: infrun.c:6264
 msgid "signal to handle"
 msgstr ""
 
 #. Not a number and not a recognized flag word => complain.
-#: infrun.c:6351
+#: infrun.c:6367
 #, possible-c-format
 msgid "Unrecognized or ambiguous flag word: \"%s\"."
 msgstr ""
 
-#: infrun.c:6366
+#: infrun.c:6382
 #, possible-c-format
 msgid ""
 "%s is used by the debugger.\n"
 "Are you sure you want to change it? "
 msgstr ""
 
-#: infrun.c:6374
+#: infrun.c:6390
 msgid "Not confirmed, unchanged.\n"
 msgstr ""
 
-#: infrun.c:6422
+#: infrun.c:6438
 msgid "xdb command"
 msgstr ""
 
-#: infrun.c:6473
+#: infrun.c:6489
 msgid "Invalid signal handling flag.\n"
 msgstr ""
 
-#: infrun.c:6486
+#: infrun.c:6502
 msgid ""
 "Only signals 1-15 are valid as numeric signals.\n"
 "Use \"info signals\" for a list of symbolic signals."
 msgstr ""
 
-#: infrun.c:6529
+#: infrun.c:6545
 msgid ""
 "\n"
 "Use the \"handle\" command to change these tables.\n"
 msgstr ""
 
-#: infrun.c:6541
+#: infrun.c:6557
 msgid "No thread selected."
 msgstr ""
 
-#: infrun.c:6545
+#: infrun.c:6561
 msgid "The current thread has terminated"
 msgstr ""
 
-#: infrun.c:6580
+#: infrun.c:6596
 msgid "Unable to read siginfo"
 msgstr ""
 
-#: infrun.c:6601
+#: infrun.c:6617
 msgid "Unable to write siginfo"
 msgstr ""
 
-#: infrun.c:6988
+#: infrun.c:7004
 msgid "Target does not support this operation."
 msgstr ""
 
-#: infrun.c:6998
+#: infrun.c:7014
 msgid "Forward.\n"
 msgstr ""
 
-#: infrun.c:7001
+#: infrun.c:7017
 msgid "Reverse.\n"
 msgstr ""
 
-#: infrun.c:7005
+#: infrun.c:7021
 #, possible-c-format
 msgid "bogus execution_direction value: %d"
 msgstr ""
 
-#: infrun.c:7032
+#: infrun.c:7048
 #, possible-c-format
 msgid "Controlling the inferior in non-stop mode is %s.\n"
 msgstr ""
 
-#: infrun.c:7040
+#: infrun.c:7056
 #, possible-c-format
 msgid "Resuming the execution of threads of all processes is %s.\n"
 msgstr ""
 
-#: infrun.c:7059 infrun.c:7081
+#: infrun.c:7075 infrun.c:7097
 msgid ""
 "What debugger does when program gets various signals.\n"
 "Specify a signal as argument to print info on that signal only."
 msgstr ""
 
-#: infrun.c:7064
+#: infrun.c:7080
 msgid ""
 "Specify how to handle a signal.\n"
 "Args are signals and actions to apply to those signals.\n"
@@ -12556,7 +12643,7 @@ msgid ""
 "Pass and Stop may be combined."
 msgstr ""
 
-#: infrun.c:7084
+#: infrun.c:7100
 msgid ""
 "Specify how to handle a signal.\n"
 "Args are signals and actions to apply to those signals.\n"
@@ -12575,46 +12662,46 @@ msgid ""
 "Pass and Stop may be combined."
 msgstr ""
 
-#: infrun.c:7104
+#: infrun.c:7120
 msgid ""
 "There is no `stop' command, but you can set a hook on `stop'.\n"
 "This allows you to set a list of commands to be run each time execution\n"
 "of the program stops."
 msgstr ""
 
-#: infrun.c:7109
+#: infrun.c:7125
 msgid "Set inferior debugging."
 msgstr ""
 
-#: infrun.c:7110
+#: infrun.c:7126
 msgid "Show inferior debugging."
 msgstr ""
 
-#: infrun.c:7111
+#: infrun.c:7127
 msgid "When non-zero, inferior specific debugging is enabled."
 msgstr ""
 
-#: infrun.c:7118
+#: infrun.c:7134
 msgid "Set displaced stepping debugging."
 msgstr ""
 
-#: infrun.c:7119
+#: infrun.c:7135
 msgid "Show displaced stepping debugging."
 msgstr ""
 
-#: infrun.c:7120
+#: infrun.c:7136
 msgid "When non-zero, displaced stepping specific debugging is enabled."
 msgstr ""
 
-#: infrun.c:7127
+#: infrun.c:7143
 msgid "Set whether gdb controls the inferior in non-stop mode."
 msgstr ""
 
-#: infrun.c:7128
+#: infrun.c:7144
 msgid "Show whether gdb controls the inferior in non-stop mode."
 msgstr ""
 
-#: infrun.c:7129
+#: infrun.c:7145
 msgid ""
 "When debugging a multi-threaded program and this setting is\n"
 "off (the default, also called all-stop mode), when one thread stops\n"
@@ -12629,30 +12716,30 @@ msgid ""
 "leave it stopped or free to run as needed."
 msgstr ""
 
-#: infrun.c:7201
+#: infrun.c:7217
 msgid "Set stopping for shared library events."
 msgstr ""
 
-#: infrun.c:7202
+#: infrun.c:7218
 msgid "Show stopping for shared library events."
 msgstr ""
 
-#: infrun.c:7203
+#: infrun.c:7219
 msgid ""
 "If nonzero, gdb will give control to the user when the dynamic linker\n"
 "notifies gdb of shared library events.  The most common event of interest\n"
 "to the user would be loading/unloading of a new library."
 msgstr ""
 
-#: infrun.c:7213
+#: infrun.c:7229
 msgid "Set debugger response to a program call of fork or vfork."
 msgstr ""
 
-#: infrun.c:7214
+#: infrun.c:7230
 msgid "Show debugger response to a program call of fork or vfork."
 msgstr ""
 
-#: infrun.c:7215
+#: infrun.c:7231
 msgid ""
 "A fork or vfork creates a new process.  follow-fork-mode can be:\n"
 "  parent  - the original process is debugged after a fork\n"
@@ -12661,15 +12748,15 @@ msgid ""
 "By default, the debugger will follow the parent process."
 msgstr ""
 
-#: infrun.c:7227
+#: infrun.c:7243
 msgid "Set debugger response to a program call of exec."
 msgstr ""
 
-#: infrun.c:7228
+#: infrun.c:7244
 msgid "Show debugger response to a program call of exec."
 msgstr ""
 
-#: infrun.c:7229
+#: infrun.c:7245
 msgid ""
 "An exec call replaces the program image of a process.\n"
 "\n"
@@ -12688,15 +12775,15 @@ msgid ""
 "By default, the debugger will use the same inferior."
 msgstr ""
 
-#: infrun.c:7250
+#: infrun.c:7266
 msgid "Set mode for locking scheduler during execution."
 msgstr ""
 
-#: infrun.c:7251
+#: infrun.c:7267
 msgid "Show mode for locking scheduler during execution."
 msgstr ""
 
-#: infrun.c:7252
+#: infrun.c:7268
 msgid ""
 "off  == no locking (threads may preempt at any time)\n"
 "on   == full locking (no thread except the current thread may run)\n"
@@ -12705,15 +12792,15 @@ msgid ""
 "\tOther threads may run while stepping over a function call ('next')."
 msgstr ""
 
-#: infrun.c:7262
+#: infrun.c:7278
 msgid "Set mode for resuming threads of all processes."
 msgstr ""
 
-#: infrun.c:7263
+#: infrun.c:7279
 msgid "Show mode for resuming threads of all processes."
 msgstr ""
 
-#: infrun.c:7264
+#: infrun.c:7280
 msgid ""
 "When on, execution commands (such as 'continue' or 'next') resume all\n"
 "threads of all processes.  When off (which is the default), execution\n"
@@ -12722,30 +12809,30 @@ msgid ""
 "mode (see help set scheduler-locking)."
 msgstr ""
 
-#: infrun.c:7274
+#: infrun.c:7290
 msgid "Set mode of the step operation."
 msgstr ""
 
-#: infrun.c:7275
+#: infrun.c:7291
 msgid "Show mode of the step operation."
 msgstr ""
 
-#: infrun.c:7276
+#: infrun.c:7292
 msgid ""
 "When set, doing a step over a function without debug line information\n"
 "will stop at the first instruction of that function. Otherwise, the\n"
 "function is skipped and the step command stops at a different source line."
 msgstr ""
 
-#: infrun.c:7285
+#: infrun.c:7301
 msgid "Set debugger's willingness to use displaced stepping."
 msgstr ""
 
-#: infrun.c:7286
+#: infrun.c:7302
 msgid "Show debugger's willingness to use displaced stepping."
 msgstr ""
 
-#: infrun.c:7287
+#: infrun.c:7303
 msgid ""
 "If on, gdb will use displaced stepping to step over breakpoints if it is\n"
 "supported by the target architecture.  If off, gdb will not use displaced\n"
@@ -12757,57 +12844,57 @@ msgid ""
 "use it in all-stop mode (see help set non-stop)."
 msgstr ""
 
-#: infrun.c:7299
+#: infrun.c:7315
 msgid ""
 "Set direction of execution.\n"
 "Options are 'forward' or 'reverse'."
 msgstr ""
 
-#: infrun.c:7301
+#: infrun.c:7317
 msgid "Show direction of execution (forward/reverse)."
 msgstr ""
 
-#: infrun.c:7302
+#: infrun.c:7318
 msgid "Tells gdb whether to execute forward or backward."
 msgstr ""
 
 #. Set/show detach-on-fork: user-settable mode.
-#: infrun.c:7308
+#: infrun.c:7324
 msgid "Set whether gdb will detach the child of a fork."
 msgstr ""
 
-#: infrun.c:7309
+#: infrun.c:7325
 msgid "Show whether gdb will detach the child of a fork."
 msgstr ""
 
-#: infrun.c:7310
+#: infrun.c:7326
 msgid "Tells gdb whether to detach the child of a fork."
 msgstr ""
 
-#: infrun.c:7317
+#: infrun.c:7333
 msgid "Set disabling of debuggee's virtual address space randomization."
 msgstr ""
 
-#: infrun.c:7318
+#: infrun.c:7334
 msgid "Show disabling of debuggee's virtual address space randomization."
 msgstr ""
 
-#: infrun.c:7319
+#: infrun.c:7335
 msgid ""
 "When this mode is on (which is the default), randomization of the virtual\n"
 "address space is disabled.  Standalone programs run with the randomization\n"
 "enabled by default on some platforms."
 msgstr ""
 
-#: infrun.c:7343
+#: infrun.c:7359
 msgid "Set whether gdb controls the inferior in observer mode."
 msgstr ""
 
-#: infrun.c:7344
+#: infrun.c:7360
 msgid "Show whether gdb controls the inferior in observer mode."
 msgstr ""
 
-#: infrun.c:7345
+#: infrun.c:7361
 msgid ""
 "In observer mode, GDB can get data from the inferior, but not\n"
 "affect its execution.  Registers and memory may not be changed,\n"
@@ -13263,102 +13350,102 @@ msgstr ""
 msgid "For Fortran the default is off; for other languages the default is on."
 msgstr ""
 
-#: linespec.c:587
+#: linespec.c:592
 msgid "unmatched quote"
 msgstr ""
 
-#: linespec.c:1294
+#: linespec.c:1305
 msgid ""
 "[0] cancel\n"
 "[1] all\n"
 msgstr ""
 
-#: linespec.c:1316
+#: linespec.c:1327
 msgid "canceled"
 msgstr ""
 
-#: linespec.c:1332
+#: linespec.c:1343
 #, possible-c-format
 msgid "No choice number %d.\n"
 msgstr ""
 
-#: linespec.c:1344
+#: linespec.c:1355
 #, possible-c-format
 msgid "duplicate request for %d ignored.\n"
 msgstr ""
 
-#: linespec.c:1381
+#: linespec.c:1392
 #, possible-c-format
 msgid ""
 "Undefined convenience variable or function \"%s\" not defined in \"%s\"."
 msgstr ""
 
-#: linespec.c:1385
+#: linespec.c:1396
 #, possible-c-format
 msgid "Undefined convenience variable or function \"%s\" not defined."
 msgstr ""
 
-#: linespec.c:1392
+#: linespec.c:1403
 #, possible-c-format
 msgid "Function \"%s\" not defined in \"%s\"."
 msgstr ""
 
-#: linespec.c:1396
+#: linespec.c:1407
 #, possible-c-format
 msgid "Function \"%s\" not defined."
 msgstr ""
 
-#: linespec.c:1423
+#: linespec.c:1434
 #, possible-c-format
 msgid "malformed linespec error: unexpected %s, \"%s\""
 msgstr ""
 
-#: linespec.c:1428
+#: linespec.c:1439
 #, possible-c-format
 msgid "malformed linespec error: unexpected %s"
 msgstr ""
 
-#: linespec.c:1587
+#: linespec.c:1598
 #, possible-c-format
 msgid "No label \"%s\" defined in function \"%s\"."
 msgstr ""
 
-#: linespec.c:1836
+#: linespec.c:1847
 #, possible-c-format
 msgid "No line %d in the current file."
 msgstr ""
 
-#: linespec.c:2372 linespec.c:2394
+#: linespec.c:2390 linespec.c:2412
 msgid "Empty line specification."
 msgstr ""
 
-#: linespec.c:2382 linespec.c:2404
+#: linespec.c:2400 linespec.c:2422
 #, possible-c-format
 msgid "Junk at end of line specification: %s"
 msgstr ""
 
 #. The error message doesn't really matter, because this case
 #. should only hit during breakpoint reset.
-#: linespec.c:2440
+#: linespec.c:2458
 msgid "cannot evaluate expressions while program space is in startup"
 msgstr ""
 
 #. Throw an NOT_FOUND_ERROR.  This will be caught by the caller
 #. and other attempts to locate the symbol will be made.
-#: linespec.c:2806
+#: linespec.c:2824
 msgid "see caller, this text doesn't matter"
 msgstr ""
 
-#: linespec.c:2883
+#: linespec.c:2901
 #, possible-c-format
 msgid "No source file named %s."
 msgstr ""
 
-#: linespec.c:3195
+#: linespec.c:3213
 msgid "History values used in line specs must have integer values."
 msgstr ""
 
-#: linespec.c:3218
+#: linespec.c:3236
 msgid "Convenience variables used in line specs must have integer values."
 msgstr ""
 
@@ -14853,47 +14940,41 @@ msgstr ""
 
 #: main.c:1085
 msgid ""
-"  --use-deprecated-index-sections\n"
-"                     Do not reject deprecated .gdb_index sections.\n"
-msgstr ""
-
-#: main.c:1089
-msgid ""
 "  --version          Print version information and then exit.\n"
 "  -w                 Use a window interface.\n"
 "  --write            Set writing into executable and core files.\n"
 "  --xdb              XDB compatibility mode.\n"
 msgstr ""
 
-#: main.c:1095
+#: main.c:1091
 msgid ""
 "\n"
 "At startup, GDB reads the following init files and executes their commands:\n"
 msgstr ""
 
-#: main.c:1099
+#: main.c:1095
 #, possible-c-format
 msgid "   * system-wide init file: %s\n"
 msgstr ""
 
-#: main.c:1103
+#: main.c:1099
 #, possible-c-format
 msgid "   * user-specific init file: %s\n"
 msgstr ""
 
-#: main.c:1107
+#: main.c:1103
 #, possible-c-format
 msgid "   * local init file (see also 'set auto-load local-gdbinit'): ./%s\n"
 msgstr ""
 
-#: main.c:1110
+#: main.c:1106
 msgid ""
 "\n"
 "For more information, type \"help\" from within GDB, or consult the\n"
 "GDB manual (available as on-line info or a printed manual).\n"
 msgstr ""
 
-#: main.c:1115
+#: main.c:1111
 #, possible-c-format
 msgid "Report bugs to \"%s\".\n"
 msgstr ""
@@ -17169,7 +17250,7 @@ msgstr ""
 msgid "The given mask covers kernel address space and cannot be used.\n"
 msgstr ""
 
-#: ppc-linux-tdep.c:1158
+#: ppc-linux-tdep.c:1159
 msgid "Cannot find AT_ENTRY auxiliary vector entry."
 msgstr ""
 
@@ -17410,7 +17491,7 @@ msgstr ""
 msgid "expected wchar_t argument for %%lc"
 msgstr ""
 
-#: printcmd.c:2197 printcmd.c:2214 value.c:2288
+#: printcmd.c:2197 printcmd.c:2214 value.c:2292
 msgid "Invalid floating value found in program."
 msgstr ""
 
@@ -17940,40 +18021,40 @@ msgstr ""
 msgid "Show printing of pascal static members."
 msgstr ""
 
-#: python/py-auto-load.c:61
+#: python/py-auto-load.c:57
 #, possible-c-format
 msgid "Auto-loading of Python scripts is %s.\n"
 msgstr ""
 
-#: python/py-auto-load.c:79
+#: python/py-auto-load.c:75
 #, possible-c-format
 msgid ""
 "auto-load: Loading Python script \"%s\" by extension for objfile \"%s\".\n"
 msgstr ""
 
-#: python/py-auto-load.c:124
+#: python/py-auto-load.c:120
 #, possible-c-format
 msgid "Invalid entry in %s section"
 msgstr ""
 
-#: python/py-auto-load.c:139
+#: python/py-auto-load.c:135
 #, possible-c-format
 msgid "Non-null-terminated path in %s: %s"
 msgstr ""
 
-#: python/py-auto-load.c:146
+#: python/py-auto-load.c:142
 #, possible-c-format
 msgid "Empty path in %s"
 msgstr ""
 
-#: python/py-auto-load.c:160
+#: python/py-auto-load.c:156
 #, possible-c-format
 msgid ""
 "auto-load: Loading Python script \"%s\" from section \"%s\" of objfile \"%s"
 "\".\n"
 msgstr ""
 
-#: python/py-auto-load.c:173
+#: python/py-auto-load.c:169
 #, possible-c-format
 msgid ""
 "Missing auto-load scripts referenced in section %s\n"
@@ -17981,45 +18062,45 @@ msgid ""
 "Use `info auto-load python [REGEXP]' to list them."
 msgstr ""
 
-#: python/py-auto-load.c:220
+#: python/py-auto-load.c:216
 #, possible-c-format
 msgid "Couldn't read %s section of %s"
 msgstr ""
 
-#: python/py-auto-load.c:253
+#: python/py-auto-load.c:249
 msgid "Set the debugger's behaviour regarding auto-loaded Python scripts."
 msgstr ""
 
-#: python/py-auto-load.c:254
+#: python/py-auto-load.c:250
 msgid "Show the debugger's behaviour regarding auto-loaded Python scripts."
 msgstr ""
 
-#: python/py-auto-load.c:255
+#: python/py-auto-load.c:251
 msgid ""
 "If enabled, auto-loaded Python scripts are loaded when the debugger reads\n"
 "an executable or shared library.\n"
 "This options has security implications for untrusted inferiors."
 msgstr ""
 
-#: python/py-auto-load.c:264
+#: python/py-auto-load.c:260
 msgid ""
 "Set the debugger's behaviour regarding auto-loaded Python scripts, "
 "deprecated."
 msgstr ""
 
-#: python/py-auto-load.c:267
+#: python/py-auto-load.c:263
 msgid ""
 "Show the debugger's behaviour regarding auto-loaded Python scripts, "
 "deprecated."
 msgstr ""
 
-#: python/py-auto-load.c:282
+#: python/py-auto-load.c:278
 msgid ""
 "Print the list of automatically loaded Python scripts.\n"
 "Usage: info auto-load python-scripts [REGEXP]"
 msgstr ""
 
-#: python/py-auto-load.c:286
+#: python/py-auto-load.c:282
 msgid "Print the list of automatically loaded Python scripts, deprecated."
 msgstr ""
 
@@ -25959,7 +26040,7 @@ msgstr ""
 msgid "Not a numeric type."
 msgstr ""
 
-#: valops.c:1002 valops.c:1354 value.c:881
+#: valops.c:1002 valops.c:1354 value.c:885
 msgid "value has been optimized out"
 msgstr ""
 
@@ -25976,7 +26057,7 @@ msgstr ""
 msgid "Value being assigned to is no longer active."
 msgstr ""
 
-#: valops.c:1357 value.c:888
+#: valops.c:1357 value.c:892
 msgid "value is not available"
 msgstr ""
 
@@ -26453,83 +26534,83 @@ msgstr ""
 msgid "Show printing of array indexes"
 msgstr ""
 
-#: value.c:1518
+#: value.c:1522
 msgid "The history is empty."
 msgstr ""
 
-#: value.c:1520
+#: value.c:1524
 msgid "There is only one value in the history."
 msgstr ""
 
-#: value.c:1522
+#: value.c:1526
 #, possible-c-format
 msgid "History does not go back to $$%d."
 msgstr ""
 
-#: value.c:1525
+#: value.c:1529
 #, possible-c-format
 msgid "History has not yet reached $%d."
 msgstr ""
 
-#: value.c:1681
+#: value.c:1685
 msgid "Init-if-undefined requires an assignment expression."
 msgstr ""
 
-#: value.c:1686
+#: value.c:1690
 msgid "The first parameter to init-if-undefined should be a GDB variable."
 msgstr ""
 
-#: value.c:1870
+#: value.c:1874
 msgid "bad kind"
 msgstr ""
 
 #. We can never get a component of any other kind.
-#: value.c:1959
+#: value.c:1963
 msgid "set_internalvar_component"
 msgstr ""
 
-#: value.c:1970
+#: value.c:1974
 #, possible-c-format
 msgid "Cannot overwrite convenience function %s"
 msgstr ""
 
-#: value.c:2258
+#: value.c:2262
 msgid ""
 "No debugger convenience variables now defined.\n"
 "Convenience variables have names starting with \"$\";\n"
 "use \"set\" as in \"set $foo = 5\" to define them.\n"
 msgstr ""
 
-#: value.c:2452
+#: value.c:2456
 msgid "Value can't be converted to integer."
 msgstr ""
 
 #. FIXME: would like to include fieldval in the message, but
 #. we don't have a sprintf_longest.
-#: value.c:2994
+#: value.c:2998
 #, possible-c-format
 msgid "Value does not fit in %d bits."
 msgstr ""
 
-#: value.c:3045
+#: value.c:3049
 #, possible-c-format
 msgid "Unexpected type (%d) encountered for integer constant."
 msgstr ""
 
-#: value.c:3081
+#: value.c:3085
 #, possible-c-format
 msgid "Unexpected type (%d) encountered for unsigned integer constant."
 msgstr ""
 
-#: value.c:3173
+#: value.c:3177
 msgid "Unexpected type encountered for floating constant."
 msgstr ""
 
-#: value.c:3333
+#: value.c:3337
 msgid "Function return type unknown."
 msgstr ""
 
-#: value.c:3365
+#: value.c:3369
 msgid ""
 "Debugger convenience (\"$foo\") variables.\n"
 "These variables are created when you assign them values;\n"
@@ -26540,11 +26621,11 @@ msgid ""
 "\"$__\" holds the contents of the last address examined with \"x\"."
 msgstr ""
 
-#: value.c:3375
+#: value.c:3379
 msgid "Elements of value history around item number IDX (or last ten)."
 msgstr ""
 
-#: value.c:3379
+#: value.c:3383
 msgid ""
 "Initialize a convenience variable if necessary.\n"
 "init-if-undefined VARIABLE = EXPRESSION\n"
@@ -26553,7 +26634,7 @@ msgid ""
 "VARIABLE is already initialized."
 msgstr ""
 
-#: value.c:3386
+#: value.c:3390
 msgid "Placeholder command for showing help on convenience functions."
 msgstr ""
 
index c7b70db..ccded83 100644 (file)
@@ -648,8 +648,9 @@ powerpc_linux_in_dynsym_resolve_code (CORE_ADDR pc)
 
   /* Check if we are in the resolver.  */
   sym = lookup_minimal_symbol_by_pc (pc);
-  if ((strcmp (SYMBOL_LINKAGE_NAME (sym), "__glink") == 0)
-      || (strcmp (SYMBOL_LINKAGE_NAME (sym), "__glink_PLTresolve") == 0))
+  if (sym != NULL
+      && (strcmp (SYMBOL_LINKAGE_NAME (sym), "__glink") == 0
+         || strcmp (SYMBOL_LINKAGE_NAME (sym), "__glink_PLTresolve") == 0))
     return 1;
 
   return 0;
index 8512129..a018f5f 100644 (file)
 
 #include "python-internal.h"
 
-/* The suffix of per-objfile scripts to auto-load.
-   E.g. When the program loads libfoo.so, look for libfoo-gdb.py.  */
-#define GDBPY_AUTO_FILE_NAME "-gdb.py"
-
 /* The section to look for Python auto-loaded scripts (in file formats that
    support sections).
    Each entry in this section is a byte of value 1, and then the nul-terminated
index dd7066f..0d07271 100644 (file)
 
 struct breakpoint_object;
 
+/* The suffix of per-objfile scripts to auto-load.
+   E.g. When the program loads libfoo.so, look for libfoo-gdb.py.  */
+#define GDBPY_AUTO_FILE_NAME "-gdb.py"
+
 extern void finish_python_initialization (void);
 
 void eval_python_from_control_command (struct command_line *);
index 01252e2..175d61c 100644 (file)
@@ -2889,8 +2889,8 @@ allocate_symtab (const char *filename, struct objfile *objfile)
                              last_objfile_name);
        }
       fprintf_unfiltered (gdb_stdlog,
-                         "Created symtab 0x%lx for module %s.\n",
-                         (long) symtab, filename);
+                         "Created symtab %s for module %s.\n",
+                         host_address_to_string (symtab), filename);
     }
 
   return (symtab);
index 82a9903..bb9a1df 100644 (file)
@@ -1,3 +1,63 @@
+2012-11-15  Luis Machado  <lgustavo@codesourcery.com>
+
+       * gdb.mi/mi-var-create-rtti.c: New file.
+       * gdb.mi/mi-var-create-rtti.exp: New file.
+
+2012-10-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
+           Doug Evans  <dje@google.com>
+
+       Fix recent gdb_breakpoint regression.
+       * gdb.java/jmisc.exp: gdb_breakpoint for $function - remove curly
+       braces from the parameter.
+       * gdb.java/jprint.exp: Likewise.
+
+2012-10-15  Doug Evans  <dje@google.com>
+
+       * lib/gdb.exp (runto): Fix call to gdb_breakpoint.
+
+2012-10-11  Doug Evans  <dje@google.com>
+
+       PR breakpoints/14643.
+       * gdb.linespec/ls-errs.exp: Change tests of "b if|task|thread".
+       * gdb.linespec/thread.c: New file.
+       * gdb.linespec/thread.exp: New file.
+
+       * lib/gdb.exp (gdb_breakpoint): Fix varargs scan.
+       Recognize "message" -> print pass and fail.  Add eof case.
+       (runto): Recognize message, no-message.  Print pass/fail if requested,
+       with same treatment as gdb_breakpoint.
+       (runto_main): Pass no-message to runto.
+       (gdb_internal_error_resync): Add log message.
+
+2012-10-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       Fix crash during stepping on ppc32.
+       * gdb.base/step-symless.c: New file.
+       * gdb.base/step-symless.exp: New file.
+
+2012-09-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       PR 14119
+       * gdb.arch/amd64-tailcall-ret.S: New file.
+       * gdb.arch/amd64-tailcall-ret.c: New file.
+       * gdb.arch/amd64-tailcall-ret.exp: New file.
+       * gdb.reverse/amd64-tailcall-reverse.S: New file.
+       * gdb.reverse/amd64-tailcall-reverse.c: New file.
+       * gdb.reverse/amd64-tailcall-reverse.exp: New file.
+
+2012-09-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       PR 14548
+       * gdb.reverse/singlejmp-reverse-nodebug.S: New file.
+       * gdb.reverse/singlejmp-reverse-nodebug.c: New file.
+       * gdb.reverse/singlejmp-reverse.S: New file.
+       * gdb.reverse/singlejmp-reverse.c: New file.
+       * gdb.reverse/singlejmp-reverse.exp: New file.
+
+2012-09-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * gdb.base/valgrind-infcall.exp: Remove comment about Ubuntu.
+
 2012-08-16  Tom Tromey  <tromey@redhat.com>
 
        * gdb.python/py-mi.exp: Add test for printer whose children
diff --git a/gdb/testsuite/gdb.arch/amd64-tailcall-ret.S b/gdb/testsuite/gdb.arch/amd64-tailcall-ret.S
new file mode 100644 (file)
index 0000000..e64b70d
--- /dev/null
@@ -0,0 +1,357 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2012 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* This source file was generated by:
+   gcc -o gdb.arch/amd64-tailcall-ret.S gdb.arch/amd64-tailcall-ret.c -Wall -S -dA -O2 -g
+   */
+
+       .file   "amd64-tailcall-ret.c"
+       .text
+.Ltext0:
+       .p2align 4,,15
+       .type   g, @function
+g:
+.LFB0:
+       .file 1 "gdb.arch/amd64-tailcall-ret.c"
+       # gdb.arch/amd64-tailcall-ret.c:22
+       .loc 1 22 0
+       .cfi_startproc
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+       # gdb.arch/amd64-tailcall-ret.c:23
+       .loc 1 23 0
+       movl    $2, v(%rip)
+# SUCC: EXIT [100.0%] 
+       ret
+       .cfi_endproc
+.LFE0:
+       .size   g, .-g
+       .p2align 4,,15
+       .type   f, @function
+f:
+.LFB1:
+       # gdb.arch/amd64-tailcall-ret.c:28
+       .loc 1 28 0
+       .cfi_startproc
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+       # gdb.arch/amd64-tailcall-ret.c:29
+       .loc 1 29 0
+       jmp     g
+# SUCC: EXIT [100.0%]  (ab,sibcall)
+.LVL0:
+       .cfi_endproc
+.LFE1:
+       .size   f, .-f
+       .section        .text.startup,"ax",@progbits
+       .p2align 4,,15
+       .globl  main
+       .type   main, @function
+main:
+.LFB2:
+       # gdb.arch/amd64-tailcall-ret.c:34
+       .loc 1 34 0
+       .cfi_startproc
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+       # gdb.arch/amd64-tailcall-ret.c:35
+       .loc 1 35 0
+       call    f
+.LVL1:
+       # gdb.arch/amd64-tailcall-ret.c:36
+       .loc 1 36 0
+       call    f
+.LVL2:
+       # gdb.arch/amd64-tailcall-ret.c:37
+       .loc 1 37 0
+       movl    $3, v(%rip)
+       # gdb.arch/amd64-tailcall-ret.c:39
+       .loc 1 39 0
+       xorl    %eax, %eax
+# SUCC: EXIT [100.0%] 
+       ret
+       .cfi_endproc
+.LFE2:
+       .size   main, .-main
+       .comm   v,4,4
+       .text
+.Letext0:
+       .section        .debug_info,"",@progbits
+.Ldebug_info0:
+       .long   0xd5    # Length of Compilation Unit Info
+       .value  0x2     # DWARF version number
+       .long   .Ldebug_abbrev0 # Offset Into Abbrev. Section
+       .byte   0x8     # Pointer Size (in bytes)
+       .uleb128 0x1    # (DIE (0xb) DW_TAG_compile_unit)
+       .long   .LASF0  # DW_AT_producer: "GNU C 4.7.2 20120911 (prerelease)"
+       .byte   0x1     # DW_AT_language
+       .long   .LASF1  # DW_AT_name: "gdb.arch/amd64-tailcall-ret.c"
+       .long   .LASF2  # DW_AT_comp_dir: ""
+       .long   .Ldebug_ranges0+0       # DW_AT_ranges
+       .quad   0       # DW_AT_low_pc
+       .quad   0       # DW_AT_entry_pc
+       .long   .Ldebug_line0   # DW_AT_stmt_list
+       .uleb128 0x2    # (DIE (0x31) DW_TAG_subprogram)
+       .ascii "g\0"    # DW_AT_name
+       .byte   0x1     # DW_AT_decl_file (gdb.arch/amd64-tailcall-ret.c)
+       .byte   0x15    # DW_AT_decl_line
+       .byte   0x1     # DW_AT_prototyped
+       .quad   .LFB0   # DW_AT_low_pc
+       .quad   .LFE0   # DW_AT_high_pc
+       .byte   0x2     # DW_AT_frame_base
+       .byte   0x77    # DW_OP_breg7
+       .sleb128 8
+       .byte   0x1     # DW_AT_GNU_all_call_sites
+       .uleb128 0x3    # (DIE (0x4b) DW_TAG_subprogram)
+       .ascii "f\0"    # DW_AT_name
+       .byte   0x1     # DW_AT_decl_file (gdb.arch/amd64-tailcall-ret.c)
+       .byte   0x1b    # DW_AT_decl_line
+       .byte   0x1     # DW_AT_prototyped
+       .quad   .LFB1   # DW_AT_low_pc
+       .quad   .LFE1   # DW_AT_high_pc
+       .byte   0x2     # DW_AT_frame_base
+       .byte   0x77    # DW_OP_breg7
+       .sleb128 8
+       .byte   0x1     # DW_AT_GNU_all_call_sites
+       .long   0x78    # DW_AT_sibling
+       .uleb128 0x4    # (DIE (0x69) DW_TAG_GNU_call_site)
+       .quad   .LVL0   # DW_AT_low_pc
+       .byte   0x1     # DW_AT_GNU_tail_call
+       .long   0x31    # DW_AT_abstract_origin
+       .byte   0       # end of children of DIE 0x4b
+       .uleb128 0x5    # (DIE (0x78) DW_TAG_subprogram)
+       .byte   0x1     # DW_AT_external
+       .long   .LASF3  # DW_AT_name: "main"
+       .byte   0x1     # DW_AT_decl_file (gdb.arch/amd64-tailcall-ret.c)
+       .byte   0x21    # DW_AT_decl_line
+       .byte   0x1     # DW_AT_prototyped
+       .long   0xb8    # DW_AT_type
+       .quad   .LFB2   # DW_AT_low_pc
+       .quad   .LFE2   # DW_AT_high_pc
+       .byte   0x2     # DW_AT_frame_base
+       .byte   0x77    # DW_OP_breg7
+       .sleb128 8
+       .byte   0x1     # DW_AT_GNU_all_call_sites
+       .long   0xb8    # DW_AT_sibling
+       .uleb128 0x6    # (DIE (0x9d) DW_TAG_GNU_call_site)
+       .quad   .LVL1   # DW_AT_low_pc
+       .long   0x4b    # DW_AT_abstract_origin
+       .uleb128 0x6    # (DIE (0xaa) DW_TAG_GNU_call_site)
+       .quad   .LVL2   # DW_AT_low_pc
+       .long   0x4b    # DW_AT_abstract_origin
+       .byte   0       # end of children of DIE 0x78
+       .uleb128 0x7    # (DIE (0xb8) DW_TAG_base_type)
+       .byte   0x4     # DW_AT_byte_size
+       .byte   0x5     # DW_AT_encoding
+       .ascii "int\0"  # DW_AT_name
+       .uleb128 0x8    # (DIE (0xbf) DW_TAG_variable)
+       .ascii "v\0"    # DW_AT_name
+       .byte   0x1     # DW_AT_decl_file (gdb.arch/amd64-tailcall-ret.c)
+       .byte   0x12    # DW_AT_decl_line
+       .long   0xd3    # DW_AT_type
+       .byte   0x1     # DW_AT_external
+       .byte   0x9     # DW_AT_location
+       .byte   0x3     # DW_OP_addr
+       .quad   v
+       .uleb128 0x9    # (DIE (0xd3) DW_TAG_volatile_type)
+       .long   0xb8    # DW_AT_type
+       .byte   0       # end of children of DIE 0xb
+       .section        .debug_abbrev,"",@progbits
+.Ldebug_abbrev0:
+       .uleb128 0x1    # (abbrev code)
+       .uleb128 0x11   # (TAG: DW_TAG_compile_unit)
+       .byte   0x1     # DW_children_yes
+       .uleb128 0x25   # (DW_AT_producer)
+       .uleb128 0xe    # (DW_FORM_strp)
+       .uleb128 0x13   # (DW_AT_language)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3    # (DW_AT_name)
+       .uleb128 0xe    # (DW_FORM_strp)
+       .uleb128 0x1b   # (DW_AT_comp_dir)
+       .uleb128 0xe    # (DW_FORM_strp)
+       .uleb128 0x55   # (DW_AT_ranges)
+       .uleb128 0x6    # (DW_FORM_data4)
+       .uleb128 0x11   # (DW_AT_low_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x52   # (DW_AT_entry_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x10   # (DW_AT_stmt_list)
+       .uleb128 0x6    # (DW_FORM_data4)
+       .byte   0
+       .byte   0
+       .uleb128 0x2    # (abbrev code)
+       .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
+       .byte   0       # DW_children_no
+       .uleb128 0x3    # (DW_AT_name)
+       .uleb128 0x8    # (DW_FORM_string)
+       .uleb128 0x3a   # (DW_AT_decl_file)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3b   # (DW_AT_decl_line)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x27   # (DW_AT_prototyped)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x11   # (DW_AT_low_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x12   # (DW_AT_high_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x40   # (DW_AT_frame_base)
+       .uleb128 0xa    # (DW_FORM_block1)
+       .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .byte   0
+       .byte   0
+       .uleb128 0x3    # (abbrev code)
+       .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
+       .byte   0x1     # DW_children_yes
+       .uleb128 0x3    # (DW_AT_name)
+       .uleb128 0x8    # (DW_FORM_string)
+       .uleb128 0x3a   # (DW_AT_decl_file)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3b   # (DW_AT_decl_line)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x27   # (DW_AT_prototyped)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x11   # (DW_AT_low_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x12   # (DW_AT_high_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x40   # (DW_AT_frame_base)
+       .uleb128 0xa    # (DW_FORM_block1)
+       .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x1    # (DW_AT_sibling)
+       .uleb128 0x13   # (DW_FORM_ref4)
+       .byte   0
+       .byte   0
+       .uleb128 0x4    # (abbrev code)
+       .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
+       .byte   0       # DW_children_no
+       .uleb128 0x11   # (DW_AT_low_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x2115 # (DW_AT_GNU_tail_call)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x31   # (DW_AT_abstract_origin)
+       .uleb128 0x13   # (DW_FORM_ref4)
+       .byte   0
+       .byte   0
+       .uleb128 0x5    # (abbrev code)
+       .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
+       .byte   0x1     # DW_children_yes
+       .uleb128 0x3f   # (DW_AT_external)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x3    # (DW_AT_name)
+       .uleb128 0xe    # (DW_FORM_strp)
+       .uleb128 0x3a   # (DW_AT_decl_file)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3b   # (DW_AT_decl_line)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x27   # (DW_AT_prototyped)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x49   # (DW_AT_type)
+       .uleb128 0x13   # (DW_FORM_ref4)
+       .uleb128 0x11   # (DW_AT_low_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x12   # (DW_AT_high_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x40   # (DW_AT_frame_base)
+       .uleb128 0xa    # (DW_FORM_block1)
+       .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x1    # (DW_AT_sibling)
+       .uleb128 0x13   # (DW_FORM_ref4)
+       .byte   0
+       .byte   0
+       .uleb128 0x6    # (abbrev code)
+       .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
+       .byte   0       # DW_children_no
+       .uleb128 0x11   # (DW_AT_low_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x31   # (DW_AT_abstract_origin)
+       .uleb128 0x13   # (DW_FORM_ref4)
+       .byte   0
+       .byte   0
+       .uleb128 0x7    # (abbrev code)
+       .uleb128 0x24   # (TAG: DW_TAG_base_type)
+       .byte   0       # DW_children_no
+       .uleb128 0xb    # (DW_AT_byte_size)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3e   # (DW_AT_encoding)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3    # (DW_AT_name)
+       .uleb128 0x8    # (DW_FORM_string)
+       .byte   0
+       .byte   0
+       .uleb128 0x8    # (abbrev code)
+       .uleb128 0x34   # (TAG: DW_TAG_variable)
+       .byte   0       # DW_children_no
+       .uleb128 0x3    # (DW_AT_name)
+       .uleb128 0x8    # (DW_FORM_string)
+       .uleb128 0x3a   # (DW_AT_decl_file)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3b   # (DW_AT_decl_line)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x49   # (DW_AT_type)
+       .uleb128 0x13   # (DW_FORM_ref4)
+       .uleb128 0x3f   # (DW_AT_external)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x2    # (DW_AT_location)
+       .uleb128 0xa    # (DW_FORM_block1)
+       .byte   0
+       .byte   0
+       .uleb128 0x9    # (abbrev code)
+       .uleb128 0x35   # (TAG: DW_TAG_volatile_type)
+       .byte   0       # DW_children_no
+       .uleb128 0x49   # (DW_AT_type)
+       .uleb128 0x13   # (DW_FORM_ref4)
+       .byte   0
+       .byte   0
+       .byte   0
+       .section        .debug_aranges,"",@progbits
+       .long   0x3c    # Length of Address Ranges Info
+       .value  0x2     # DWARF Version
+       .long   .Ldebug_info0   # Offset of Compilation Unit Info
+       .byte   0x8     # Size of Address
+       .byte   0       # Size of Segment Descriptor
+       .value  0       # Pad to 16 byte boundary
+       .value  0
+       .quad   .Ltext0 # Address
+       .quad   .Letext0-.Ltext0        # Length
+       .quad   .LFB2   # Address
+       .quad   .LFE2-.LFB2     # Length
+       .quad   0
+       .quad   0
+       .section        .debug_ranges,"",@progbits
+.Ldebug_ranges0:
+       .quad   .Ltext0 # Offset 0
+       .quad   .Letext0
+       .quad   .LFB2   # Offset 0x10
+       .quad   .LFE2
+       .quad   0
+       .quad   0
+       .section        .debug_line,"",@progbits
+.Ldebug_line0:
+       .section        .debug_str,"MS",@progbits,1
+.LASF0:
+       .string "GNU C 4.7.2 20120911 (prerelease)"
+.LASF1:
+       .string "gdb.arch/amd64-tailcall-ret.c"
+.LASF2:
+       .string ""
+.LASF3:
+       .string "main"
+       .ident  "GCC: (GNU) 4.7.2 20120911 (prerelease)"
+       .section        .note.GNU-stack,"",@progbits
diff --git a/gdb/testsuite/gdb.arch/amd64-tailcall-ret.c b/gdb/testsuite/gdb.arch/amd64-tailcall-ret.c
new file mode 100644 (file)
index 0000000..ec9a1fb
--- /dev/null
@@ -0,0 +1,39 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2012 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+volatile int v;
+
+static __attribute__ ((noinline, noclone)) void
+g (void)
+{
+  v = 2;
+}
+
+static __attribute__ ((noinline, noclone)) void
+f (void)
+{
+  g ();
+}
+
+int
+main (void)
+{
+  f (); /* first */
+  f (); /* second */
+  v = 3;
+  return 0;
+}
diff --git a/gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp b/gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp
new file mode 100644 (file)
index 0000000..8460893
--- /dev/null
@@ -0,0 +1,44 @@
+# Copyright (C) 2012 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+set opts {}
+standard_testfile .S
+
+if [info exists COMPILE] {
+    # make check RUNTESTFLAGS="gdb.arch/amd64-tailcall-ret.exp COMPILE=1"
+    standard_testfile
+    lappend opts debug optimize=-O2
+} elseif { ![istarget x86_64-*-* ] || ![is_lp64_target] } {
+    verbose "Skipping ${testfile}."
+    return
+}
+
+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} $opts] } {
+    return -1
+}
+
+if ![runto_main] {
+    return -1
+}
+
+gdb_breakpoint "g"
+gdb_continue_to_breakpoint "g" ".* v = 2;"
+
+gdb_test "return" { f \(\); /\* second \*/} "return" \
+         {Make g return now\? \(y or n\) } "y"
+
+gdb_continue_to_breakpoint "g" ".* v = 2;"
+
+gdb_test "finish" " v = 3;"
diff --git a/gdb/testsuite/gdb.base/step-symless.c b/gdb/testsuite/gdb.base/step-symless.c
new file mode 100644 (file)
index 0000000..97eaf5e
--- /dev/null
@@ -0,0 +1,38 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2012 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+static volatile int v;
+
+static void
+symful (void)
+{
+  v++;
+}
+
+static void
+symless (void)
+{
+  v++;
+}
+
+int
+main (void)
+{
+  symless ();
+  symful ();
+  return 0;
+}
diff --git a/gdb/testsuite/gdb.base/step-symless.exp b/gdb/testsuite/gdb.base/step-symless.exp
new file mode 100644 (file)
index 0000000..47d36ab
--- /dev/null
@@ -0,0 +1,41 @@
+# Copyright (C) 2012 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+standard_testfile
+if {[build_executable ${testfile}.exp ${testfile} ${srcfile} {nodebug}] == -1} {
+    return -1
+}
+
+# We need those symbols global to access them from the .S file.
+set test "strip stub symbols"
+set objcopy_program [transform objcopy]
+set result [catch "exec $objcopy_program -N symless ${binfile}" output]
+verbose "result is $result"
+verbose "output is $output"
+if {$result != 0} {
+    fail $test
+    return
+}
+pass $test
+
+clean_restart $testfile
+
+if ![runto_main] {
+    return -1
+}
+
+gdb_breakpoint symful
+
+gdb_test "step" "Single stepping until exit.*no line number information.*\r\nBreakpoint \[^\r\n\]* in \\.?symful \\(\\)"
index 84d6819..107fd3c 100644 (file)
@@ -96,7 +96,6 @@ while {$loop && $continue_count < 100} {
     gdb_test_multiple "continue" "" {
        -re "Invalid free\\(\\).*: main .*\r\n$gdb_prompt $" {
            pass $test
-           # In Ubuntu 10.04.4 environments 'break' does not work here.
            set loop 0
        }
        -re "Remote connection closed.*\r\n$gdb_prompt $" {
index 7215861..4bd1800 100644 (file)
@@ -43,8 +43,8 @@ if [set_lang_java] then {
     # signature.
     runto_main
     set function "${testfile}.main(java.lang.String\[\])"
-    gdb_breakpoint "$function" { allow-pending }
-    gdb_breakpoint "${function}void" { allow-pending }
+    gdb_breakpoint "$function" allow-pending
+    gdb_breakpoint "${function}void" allow-pending
     gdb_continue_to_breakpoint $function
 
     gdb_test_multiple "ptype jmisc" "ptype jmisc" {
index b2d5d31..116a4ba 100644 (file)
@@ -43,8 +43,8 @@ if [set_lang_java] then {
     # signature.
     runto_main
     set function "${testfile}.main(java.lang.String\[\])"
-    gdb_breakpoint "$function" { allow-pending }
-    gdb_breakpoint "${function}void" { allow-pending }
+    gdb_breakpoint "$function" allow-pending
+    gdb_breakpoint "${function}void" allow-pending
     gdb_continue_to_breakpoint $function
 
     gdb_test "p jvclass.addprint(4,5,6)" " = 15" "unambiguous static call"
index 5668397..7ee2623 100644 (file)
@@ -171,7 +171,7 @@ foreach x {"3" "+100" "-100" "foo"} {
 }
 
 foreach x {"if" "task" "thread"} {
-    add the_tests $x unexpected_opt "keyword" $x
+    add the_tests $x invalid_function $x
 }
 
 add the_tests "'main.c'flubber" unexpected_opt "string" "flubber"
diff --git a/gdb/testsuite/gdb.linespec/thread.c b/gdb/testsuite/gdb.linespec/thread.c
new file mode 100644 (file)
index 0000000..185e4a3
--- /dev/null
@@ -0,0 +1,31 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2012 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* http://sourceware.org/bugzilla/show_bug.cgi?id=14643 */
+
+static void
+thread ()
+{
+}
+
+int
+main ()
+{
+  int x = 0;
+  thread (); /* set breakpoint 1 here */
+  return x;
+}
diff --git a/gdb/testsuite/gdb.linespec/thread.exp b/gdb/testsuite/gdb.linespec/thread.exp
new file mode 100644 (file)
index 0000000..1e8ee46
--- /dev/null
@@ -0,0 +1,41 @@
+# Copyright 2012 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# http://sourceware.org/bugzilla/show_bug.cgi?id=14643
+# gdb 7.5 thinks "thread" is a linespec keyword.
+
+standard_testfile
+set exefile $testfile
+
+if {[prepare_for_testing $testfile $exefile $srcfile {debug}]} {
+    return -1
+}
+
+if ![runto_main] {
+    fail "Can't run to main"
+    return 0
+}
+
+set bp_location1 [gdb_get_line_number "set breakpoint 1 here"]
+
+gdb_test "break $srcfile:$bp_location1" \
+    "Breakpoint.*at.* file .*$srcfile, line $bp_location1\\." \
+    "breakpoint line number in file"
+
+gdb_continue_to_breakpoint "$bp_location1"
+
+gdb_breakpoint "thread" "message"
+
+gdb_continue_to_breakpoint "thread function"
diff --git a/gdb/testsuite/gdb.mi/mi-var-create-rtti.c b/gdb/testsuite/gdb.mi/mi-var-create-rtti.c
new file mode 100644 (file)
index 0000000..897c59d
--- /dev/null
@@ -0,0 +1,24 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2012 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+int
+main (void)
+{
+  int i = 0;
+
+  return i; /* next-line */
+}
diff --git a/gdb/testsuite/gdb.mi/mi-var-create-rtti.exp b/gdb/testsuite/gdb.mi/mi-var-create-rtti.exp
new file mode 100644 (file)
index 0000000..16d8551
--- /dev/null
@@ -0,0 +1,52 @@
+# Copyright 2012 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+load_lib mi-support.exp
+set MIFLAGS "-i=mi"
+
+gdb_exit
+if [mi_gdb_start] {
+    continue
+}
+
+standard_testfile .c
+set opts {debug}
+
+if [build_executable $testfile.exp $testfile $srcfile $opts] {
+    return -1
+}
+
+mi_delete_breakpoints
+mi_gdb_reinitialize_dir $srcdir/$subdir
+mi_gdb_load ${binfile}
+
+if ![mi_run_to_main] {
+    untested "could not run to main"
+    return -1
+}
+
+# Test creating a register-based variable.  We pick
+# register SP since it is a pointer to data.  This checks
+# for a regression when creating MI variables from pointers
+# with "print object" enabled.
+
+# Enable "print object"
+mi_gdb_test "-gdb-set print object on" ".*"
+
+# Test creating a variable for $sp
+mi_gdb_test "-var-create sp1 * \$sp" \
+           "\\^done,name=\"sp1\",numchild=\"0\",value=\"$hex\",type=\"void \\*\",has_more=\"0\"" \
+           "-var-create sp1 * \$sp"
+gdb_exit
diff --git a/gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.S b/gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.S
new file mode 100644 (file)
index 0000000..71a7278
--- /dev/null
@@ -0,0 +1,353 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2012 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* This source file was generated by:
+   gcc -o gdb.reverse/amd64-tailcall-reverse.S gdb.reverse/amd64-tailcall-reverse.c -Wall -S -dA -O2 -g
+   */
+
+       .file   "amd64-tailcall-reverse.c"
+       .text
+.Ltext0:
+       .p2align 4,,15
+       .type   g, @function
+g:
+.LFB0:
+       .file 1 "gdb.reverse/amd64-tailcall-reverse.c"
+       # gdb.reverse/amd64-tailcall-reverse.c:22
+       .loc 1 22 0
+       .cfi_startproc
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+       # gdb.reverse/amd64-tailcall-reverse.c:23
+       .loc 1 23 0
+       movl    $2, v(%rip)
+# SUCC: EXIT [100.0%] 
+       ret
+       .cfi_endproc
+.LFE0:
+       .size   g, .-g
+       .p2align 4,,15
+       .type   f, @function
+f:
+.LFB1:
+       # gdb.reverse/amd64-tailcall-reverse.c:28
+       .loc 1 28 0
+       .cfi_startproc
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+       # gdb.reverse/amd64-tailcall-reverse.c:29
+       .loc 1 29 0
+       jmp     g
+# SUCC: EXIT [100.0%]  (ab,sibcall)
+.LVL0:
+       .cfi_endproc
+.LFE1:
+       .size   f, .-f
+       .section        .text.startup,"ax",@progbits
+       .p2align 4,,15
+       .globl  main
+       .type   main, @function
+main:
+.LFB2:
+       # gdb.reverse/amd64-tailcall-reverse.c:34
+       .loc 1 34 0
+       .cfi_startproc
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+       # gdb.reverse/amd64-tailcall-reverse.c:35
+       .loc 1 35 0
+       movl    $1, v(%rip)
+       # gdb.reverse/amd64-tailcall-reverse.c:36
+       .loc 1 36 0
+       call    f
+.LVL1:
+       # gdb.reverse/amd64-tailcall-reverse.c:37
+       .loc 1 37 0
+       movl    $3, v(%rip)
+       # gdb.reverse/amd64-tailcall-reverse.c:39
+       .loc 1 39 0
+       xorl    %eax, %eax
+# SUCC: EXIT [100.0%] 
+       ret
+       .cfi_endproc
+.LFE2:
+       .size   main, .-main
+       .comm   v,4,4
+       .text
+.Letext0:
+       .section        .debug_info,"",@progbits
+.Ldebug_info0:
+       .long   0xc8    # Length of Compilation Unit Info
+       .value  0x2     # DWARF version number
+       .long   .Ldebug_abbrev0 # Offset Into Abbrev. Section
+       .byte   0x8     # Pointer Size (in bytes)
+       .uleb128 0x1    # (DIE (0xb) DW_TAG_compile_unit)
+       .long   .LASF0  # DW_AT_producer: "GNU C 4.7.2 20120911 (prerelease)"
+       .byte   0x1     # DW_AT_language
+       .long   .LASF1  # DW_AT_name: "gdb.reverse/amd64-tailcall-reverse.c"
+       .long   .LASF2  # DW_AT_comp_dir: ""
+       .long   .Ldebug_ranges0+0       # DW_AT_ranges
+       .quad   0       # DW_AT_low_pc
+       .quad   0       # DW_AT_entry_pc
+       .long   .Ldebug_line0   # DW_AT_stmt_list
+       .uleb128 0x2    # (DIE (0x31) DW_TAG_subprogram)
+       .ascii "g\0"    # DW_AT_name
+       .byte   0x1     # DW_AT_decl_file (gdb.reverse/amd64-tailcall-reverse.c)
+       .byte   0x15    # DW_AT_decl_line
+       .byte   0x1     # DW_AT_prototyped
+       .quad   .LFB0   # DW_AT_low_pc
+       .quad   .LFE0   # DW_AT_high_pc
+       .byte   0x2     # DW_AT_frame_base
+       .byte   0x77    # DW_OP_breg7
+       .sleb128 8
+       .byte   0x1     # DW_AT_GNU_all_call_sites
+       .uleb128 0x3    # (DIE (0x4b) DW_TAG_subprogram)
+       .ascii "f\0"    # DW_AT_name
+       .byte   0x1     # DW_AT_decl_file (gdb.reverse/amd64-tailcall-reverse.c)
+       .byte   0x1b    # DW_AT_decl_line
+       .byte   0x1     # DW_AT_prototyped
+       .quad   .LFB1   # DW_AT_low_pc
+       .quad   .LFE1   # DW_AT_high_pc
+       .byte   0x2     # DW_AT_frame_base
+       .byte   0x77    # DW_OP_breg7
+       .sleb128 8
+       .byte   0x1     # DW_AT_GNU_all_call_sites
+       .long   0x78    # DW_AT_sibling
+       .uleb128 0x4    # (DIE (0x69) DW_TAG_GNU_call_site)
+       .quad   .LVL0   # DW_AT_low_pc
+       .byte   0x1     # DW_AT_GNU_tail_call
+       .long   0x31    # DW_AT_abstract_origin
+       .byte   0       # end of children of DIE 0x4b
+       .uleb128 0x5    # (DIE (0x78) DW_TAG_subprogram)
+       .byte   0x1     # DW_AT_external
+       .long   .LASF3  # DW_AT_name: "main"
+       .byte   0x1     # DW_AT_decl_file (gdb.reverse/amd64-tailcall-reverse.c)
+       .byte   0x21    # DW_AT_decl_line
+       .byte   0x1     # DW_AT_prototyped
+       .long   0xab    # DW_AT_type
+       .quad   .LFB2   # DW_AT_low_pc
+       .quad   .LFE2   # DW_AT_high_pc
+       .byte   0x2     # DW_AT_frame_base
+       .byte   0x77    # DW_OP_breg7
+       .sleb128 8
+       .byte   0x1     # DW_AT_GNU_all_call_sites
+       .long   0xab    # DW_AT_sibling
+       .uleb128 0x6    # (DIE (0x9d) DW_TAG_GNU_call_site)
+       .quad   .LVL1   # DW_AT_low_pc
+       .long   0x4b    # DW_AT_abstract_origin
+       .byte   0       # end of children of DIE 0x78
+       .uleb128 0x7    # (DIE (0xab) DW_TAG_base_type)
+       .byte   0x4     # DW_AT_byte_size
+       .byte   0x5     # DW_AT_encoding
+       .ascii "int\0"  # DW_AT_name
+       .uleb128 0x8    # (DIE (0xb2) DW_TAG_variable)
+       .ascii "v\0"    # DW_AT_name
+       .byte   0x1     # DW_AT_decl_file (gdb.reverse/amd64-tailcall-reverse.c)
+       .byte   0x12    # DW_AT_decl_line
+       .long   0xc6    # DW_AT_type
+       .byte   0x1     # DW_AT_external
+       .byte   0x9     # DW_AT_location
+       .byte   0x3     # DW_OP_addr
+       .quad   v
+       .uleb128 0x9    # (DIE (0xc6) DW_TAG_volatile_type)
+       .long   0xab    # DW_AT_type
+       .byte   0       # end of children of DIE 0xb
+       .section        .debug_abbrev,"",@progbits
+.Ldebug_abbrev0:
+       .uleb128 0x1    # (abbrev code)
+       .uleb128 0x11   # (TAG: DW_TAG_compile_unit)
+       .byte   0x1     # DW_children_yes
+       .uleb128 0x25   # (DW_AT_producer)
+       .uleb128 0xe    # (DW_FORM_strp)
+       .uleb128 0x13   # (DW_AT_language)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3    # (DW_AT_name)
+       .uleb128 0xe    # (DW_FORM_strp)
+       .uleb128 0x1b   # (DW_AT_comp_dir)
+       .uleb128 0xe    # (DW_FORM_strp)
+       .uleb128 0x55   # (DW_AT_ranges)
+       .uleb128 0x6    # (DW_FORM_data4)
+       .uleb128 0x11   # (DW_AT_low_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x52   # (DW_AT_entry_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x10   # (DW_AT_stmt_list)
+       .uleb128 0x6    # (DW_FORM_data4)
+       .byte   0
+       .byte   0
+       .uleb128 0x2    # (abbrev code)
+       .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
+       .byte   0       # DW_children_no
+       .uleb128 0x3    # (DW_AT_name)
+       .uleb128 0x8    # (DW_FORM_string)
+       .uleb128 0x3a   # (DW_AT_decl_file)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3b   # (DW_AT_decl_line)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x27   # (DW_AT_prototyped)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x11   # (DW_AT_low_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x12   # (DW_AT_high_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x40   # (DW_AT_frame_base)
+       .uleb128 0xa    # (DW_FORM_block1)
+       .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .byte   0
+       .byte   0
+       .uleb128 0x3    # (abbrev code)
+       .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
+       .byte   0x1     # DW_children_yes
+       .uleb128 0x3    # (DW_AT_name)
+       .uleb128 0x8    # (DW_FORM_string)
+       .uleb128 0x3a   # (DW_AT_decl_file)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3b   # (DW_AT_decl_line)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x27   # (DW_AT_prototyped)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x11   # (DW_AT_low_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x12   # (DW_AT_high_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x40   # (DW_AT_frame_base)
+       .uleb128 0xa    # (DW_FORM_block1)
+       .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x1    # (DW_AT_sibling)
+       .uleb128 0x13   # (DW_FORM_ref4)
+       .byte   0
+       .byte   0
+       .uleb128 0x4    # (abbrev code)
+       .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
+       .byte   0       # DW_children_no
+       .uleb128 0x11   # (DW_AT_low_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x2115 # (DW_AT_GNU_tail_call)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x31   # (DW_AT_abstract_origin)
+       .uleb128 0x13   # (DW_FORM_ref4)
+       .byte   0
+       .byte   0
+       .uleb128 0x5    # (abbrev code)
+       .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
+       .byte   0x1     # DW_children_yes
+       .uleb128 0x3f   # (DW_AT_external)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x3    # (DW_AT_name)
+       .uleb128 0xe    # (DW_FORM_strp)
+       .uleb128 0x3a   # (DW_AT_decl_file)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3b   # (DW_AT_decl_line)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x27   # (DW_AT_prototyped)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x49   # (DW_AT_type)
+       .uleb128 0x13   # (DW_FORM_ref4)
+       .uleb128 0x11   # (DW_AT_low_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x12   # (DW_AT_high_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x40   # (DW_AT_frame_base)
+       .uleb128 0xa    # (DW_FORM_block1)
+       .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x1    # (DW_AT_sibling)
+       .uleb128 0x13   # (DW_FORM_ref4)
+       .byte   0
+       .byte   0
+       .uleb128 0x6    # (abbrev code)
+       .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
+       .byte   0       # DW_children_no
+       .uleb128 0x11   # (DW_AT_low_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x31   # (DW_AT_abstract_origin)
+       .uleb128 0x13   # (DW_FORM_ref4)
+       .byte   0
+       .byte   0
+       .uleb128 0x7    # (abbrev code)
+       .uleb128 0x24   # (TAG: DW_TAG_base_type)
+       .byte   0       # DW_children_no
+       .uleb128 0xb    # (DW_AT_byte_size)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3e   # (DW_AT_encoding)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3    # (DW_AT_name)
+       .uleb128 0x8    # (DW_FORM_string)
+       .byte   0
+       .byte   0
+       .uleb128 0x8    # (abbrev code)
+       .uleb128 0x34   # (TAG: DW_TAG_variable)
+       .byte   0       # DW_children_no
+       .uleb128 0x3    # (DW_AT_name)
+       .uleb128 0x8    # (DW_FORM_string)
+       .uleb128 0x3a   # (DW_AT_decl_file)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3b   # (DW_AT_decl_line)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x49   # (DW_AT_type)
+       .uleb128 0x13   # (DW_FORM_ref4)
+       .uleb128 0x3f   # (DW_AT_external)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x2    # (DW_AT_location)
+       .uleb128 0xa    # (DW_FORM_block1)
+       .byte   0
+       .byte   0
+       .uleb128 0x9    # (abbrev code)
+       .uleb128 0x35   # (TAG: DW_TAG_volatile_type)
+       .byte   0       # DW_children_no
+       .uleb128 0x49   # (DW_AT_type)
+       .uleb128 0x13   # (DW_FORM_ref4)
+       .byte   0
+       .byte   0
+       .byte   0
+       .section        .debug_aranges,"",@progbits
+       .long   0x3c    # Length of Address Ranges Info
+       .value  0x2     # DWARF Version
+       .long   .Ldebug_info0   # Offset of Compilation Unit Info
+       .byte   0x8     # Size of Address
+       .byte   0       # Size of Segment Descriptor
+       .value  0       # Pad to 16 byte boundary
+       .value  0
+       .quad   .Ltext0 # Address
+       .quad   .Letext0-.Ltext0        # Length
+       .quad   .LFB2   # Address
+       .quad   .LFE2-.LFB2     # Length
+       .quad   0
+       .quad   0
+       .section        .debug_ranges,"",@progbits
+.Ldebug_ranges0:
+       .quad   .Ltext0 # Offset 0
+       .quad   .Letext0
+       .quad   .LFB2   # Offset 0x10
+       .quad   .LFE2
+       .quad   0
+       .quad   0
+       .section        .debug_line,"",@progbits
+.Ldebug_line0:
+       .section        .debug_str,"MS",@progbits,1
+.LASF3:
+       .string "main"
+.LASF0:
+       .string "GNU C 4.7.2 20120911 (prerelease)"
+.LASF1:
+       .string "gdb.reverse/amd64-tailcall-reverse.c"
+.LASF2:
+       .string ""
+       .ident  "GCC: (GNU) 4.7.2 20120911 (prerelease)"
+       .section        .note.GNU-stack,"",@progbits
diff --git a/gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.c b/gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.c
new file mode 100644 (file)
index 0000000..d275727
--- /dev/null
@@ -0,0 +1,39 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2012 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+volatile int v;
+
+static __attribute__ ((noinline, noclone)) void
+g (void)
+{
+  v = 2;
+}
+
+static __attribute__ ((noinline, noclone)) void
+f (void)
+{
+  g ();
+}
+
+int
+main (void)
+{
+  v = 1;
+  f ();
+  v = 3;
+  return 0;
+}
diff --git a/gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.exp b/gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.exp
new file mode 100644 (file)
index 0000000..da9f439
--- /dev/null
@@ -0,0 +1,49 @@
+# Copyright (C) 2012 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+if ![supports_reverse] {
+    return
+}
+
+set opts {}
+standard_testfile .S
+
+if [info exists COMPILE] {
+    # make check RUNTESTFLAGS="gdb.reverse/amd64-tailcall-reverse.exp COMPILE=1"
+    standard_testfile
+    lappend opts debug optimize=-O2
+} elseif { ![istarget x86_64-*-* ] || ![is_lp64_target] } {
+    verbose "Skipping ${testfile}."
+    return
+}
+
+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} $opts] } {
+    return -1
+}
+
+if ![runto_main] {
+    return -1
+}
+
+if [supports_process_record] {
+    gdb_test_no_output "record"
+}
+
+gdb_test "next" {f \(\);} "next to f"
+gdb_test "next" {v = 3;} "next to v = 3"
+
+# FAIL was:
+# 29        g ();
+gdb_test "reverse-next" {f \(\);}
diff --git a/gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.S b/gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.S
new file mode 100644 (file)
index 0000000..f5f0a7c
--- /dev/null
@@ -0,0 +1,37 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2012 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* This source file was generated by:
+   gcc -o gdb.reverse/singlejmp-reverse-nodebug.S gdb.reverse/singlejmp-reverse-nodebug.c -Wall -S -O2
+   */
+
+       .file   "singlejmp-reverse-nodebug.c"
+       .text
+       .p2align 4,,15
+       .globl  nodebug
+       .type   nodebug, @function
+nodebug:
+.LFB0:
+       .cfi_startproc
+       # basic block 2
+       rep
+       ret
+       .cfi_endproc
+.LFE0:
+       .size   nodebug, .-nodebug
+       .ident  "GCC: (GNU) 4.6.4 20120911 (prerelease)"
+       .section        .note.GNU-stack,"",@progbits
diff --git a/gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.c b/gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.c
new file mode 100644 (file)
index 0000000..965f803
--- /dev/null
@@ -0,0 +1,21 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2012 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+void
+nodebug (void)
+{
+}
diff --git a/gdb/testsuite/gdb.reverse/singlejmp-reverse.S b/gdb/testsuite/gdb.reverse/singlejmp-reverse.S
new file mode 100644 (file)
index 0000000..04d7b9a
--- /dev/null
@@ -0,0 +1,311 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2012 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* This source file was generated by:
+   gcc -o gdb.reverse/singlejmp-reverse.S gdb.reverse/singlejmp-reverse.c -Wall -S -dA -O2 -g
+   */
+
+       .file   "singlejmp-reverse.c"
+       .text
+.Ltext0:
+       .p2align 4,,15
+       .type   g, @function
+g:
+.LFB0:
+       .file 1 "gdb.reverse/singlejmp-reverse.c"
+       # gdb.reverse/singlejmp-reverse.c:22
+       .loc 1 22 0
+       .cfi_startproc
+       # basic block 2
+       # gdb.reverse/singlejmp-reverse.c:23
+       .loc 1 23 0
+       movl    $2, v(%rip)
+       # gdb.reverse/singlejmp-reverse.c:24
+       .loc 1 24 0
+       ret
+       .cfi_endproc
+.LFE0:
+       .size   g, .-g
+       .p2align 4,,15
+       .type   f, @function
+f:
+.LFB1:
+       # gdb.reverse/singlejmp-reverse.c:28
+       .loc 1 28 0
+       .cfi_startproc
+       # basic block 2
+       # gdb.reverse/singlejmp-reverse.c:29
+       .loc 1 29 0
+       jmp     g
+       .cfi_endproc
+.LFE1:
+       .size   f, .-f
+       .section        .text.startup,"ax",@progbits
+       .p2align 4,,15
+       .globl  main
+       .type   main, @function
+main:
+.LFB2:
+       # gdb.reverse/singlejmp-reverse.c:36
+       .loc 1 36 0
+       .cfi_startproc
+       # basic block 2
+       subq    $8, %rsp
+.LCFI0:
+       .cfi_def_cfa_offset 16
+       # gdb.reverse/singlejmp-reverse.c:37
+       .loc 1 37 0
+       movl    $1, v(%rip)
+       # gdb.reverse/singlejmp-reverse.c:38
+       .loc 1 38 0
+       call    f
+       # gdb.reverse/singlejmp-reverse.c:39
+       .loc 1 39 0
+       call    nodebug
+       # gdb.reverse/singlejmp-reverse.c:40
+       .loc 1 40 0
+       movl    $3, v(%rip)
+       # gdb.reverse/singlejmp-reverse.c:42
+       .loc 1 42 0
+       xorl    %eax, %eax
+       addq    $8, %rsp
+.LCFI1:
+       .cfi_def_cfa_offset 8
+       ret
+       .cfi_endproc
+.LFE2:
+       .size   main, .-main
+       .comm   v,4,4
+       .text
+.Letext0:
+       .section        .debug_info,"",@progbits
+.Ldebug_info0:
+       .long   0xa1    # Length of Compilation Unit Info
+       .value  0x2     # DWARF version number
+       .long   .Ldebug_abbrev0 # Offset Into Abbrev. Section
+       .byte   0x8     # Pointer Size (in bytes)
+       .uleb128 0x1    # (DIE (0xb) DW_TAG_compile_unit)
+       .long   .LASF0  # DW_AT_producer: "GNU C 4.6.4 20120911 (prerelease)"
+       .byte   0x1     # DW_AT_language
+       .long   .LASF1  # DW_AT_name: "gdb.reverse/singlejmp-reverse.c"
+       .long   .LASF2  # DW_AT_comp_dir: ""
+       .quad   0       # DW_AT_low_pc
+       .quad   0       # DW_AT_entry_pc
+       .long   .Ldebug_ranges0+0       # DW_AT_ranges
+       .long   .Ldebug_line0   # DW_AT_stmt_list
+       .uleb128 0x2    # (DIE (0x31) DW_TAG_subprogram)
+       .ascii "g\0"    # DW_AT_name
+       .byte   0x1     # DW_AT_decl_file (gdb.reverse/singlejmp-reverse.c)
+       .byte   0x15    # DW_AT_decl_line
+       .byte   0x1     # DW_AT_prototyped
+       .quad   .LFB0   # DW_AT_low_pc
+       .quad   .LFE0   # DW_AT_high_pc
+       .byte   0x2     # DW_AT_frame_base
+       .byte   0x77    # DW_OP_breg7
+       .sleb128 8
+       .uleb128 0x2    # (DIE (0x4a) DW_TAG_subprogram)
+       .ascii "f\0"    # DW_AT_name
+       .byte   0x1     # DW_AT_decl_file (gdb.reverse/singlejmp-reverse.c)
+       .byte   0x1b    # DW_AT_decl_line
+       .byte   0x1     # DW_AT_prototyped
+       .quad   .LFB1   # DW_AT_low_pc
+       .quad   .LFE1   # DW_AT_high_pc
+       .byte   0x2     # DW_AT_frame_base
+       .byte   0x77    # DW_OP_breg7
+       .sleb128 8
+       .uleb128 0x3    # (DIE (0x63) DW_TAG_subprogram)
+       .byte   0x1     # DW_AT_external
+       .long   .LASF3  # DW_AT_name: "main"
+       .byte   0x1     # DW_AT_decl_file (gdb.reverse/singlejmp-reverse.c)
+       .byte   0x23    # DW_AT_decl_line
+       .byte   0x1     # DW_AT_prototyped
+       .long   0x84    # DW_AT_type
+       .quad   .LFB2   # DW_AT_low_pc
+       .quad   .LFE2   # DW_AT_high_pc
+       .long   .LLST0  # DW_AT_frame_base
+       .uleb128 0x4    # (DIE (0x84) DW_TAG_base_type)
+       .byte   0x4     # DW_AT_byte_size
+       .byte   0x5     # DW_AT_encoding
+       .ascii "int\0"  # DW_AT_name
+       .uleb128 0x5    # (DIE (0x8b) DW_TAG_variable)
+       .ascii "v\0"    # DW_AT_name
+       .byte   0x1     # DW_AT_decl_file (gdb.reverse/singlejmp-reverse.c)
+       .byte   0x12    # DW_AT_decl_line
+       .long   0x9f    # DW_AT_type
+       .byte   0x1     # DW_AT_external
+       .byte   0x9     # DW_AT_location
+       .byte   0x3     # DW_OP_addr
+       .quad   v
+       .uleb128 0x6    # (DIE (0x9f) DW_TAG_volatile_type)
+       .long   0x84    # DW_AT_type
+       .byte   0       # end of children of DIE 0xb
+       .section        .debug_abbrev,"",@progbits
+.Ldebug_abbrev0:
+       .uleb128 0x1    # (abbrev code)
+       .uleb128 0x11   # (TAG: DW_TAG_compile_unit)
+       .byte   0x1     # DW_children_yes
+       .uleb128 0x25   # (DW_AT_producer)
+       .uleb128 0xe    # (DW_FORM_strp)
+       .uleb128 0x13   # (DW_AT_language)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3    # (DW_AT_name)
+       .uleb128 0xe    # (DW_FORM_strp)
+       .uleb128 0x1b   # (DW_AT_comp_dir)
+       .uleb128 0xe    # (DW_FORM_strp)
+       .uleb128 0x11   # (DW_AT_low_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x52   # (DW_AT_entry_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x55   # (DW_AT_ranges)
+       .uleb128 0x6    # (DW_FORM_data4)
+       .uleb128 0x10   # (DW_AT_stmt_list)
+       .uleb128 0x6    # (DW_FORM_data4)
+       .byte   0
+       .byte   0
+       .uleb128 0x2    # (abbrev code)
+       .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
+       .byte   0       # DW_children_no
+       .uleb128 0x3    # (DW_AT_name)
+       .uleb128 0x8    # (DW_FORM_string)
+       .uleb128 0x3a   # (DW_AT_decl_file)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3b   # (DW_AT_decl_line)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x27   # (DW_AT_prototyped)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x11   # (DW_AT_low_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x12   # (DW_AT_high_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x40   # (DW_AT_frame_base)
+       .uleb128 0xa    # (DW_FORM_block1)
+       .byte   0
+       .byte   0
+       .uleb128 0x3    # (abbrev code)
+       .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
+       .byte   0       # DW_children_no
+       .uleb128 0x3f   # (DW_AT_external)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x3    # (DW_AT_name)
+       .uleb128 0xe    # (DW_FORM_strp)
+       .uleb128 0x3a   # (DW_AT_decl_file)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3b   # (DW_AT_decl_line)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x27   # (DW_AT_prototyped)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x49   # (DW_AT_type)
+       .uleb128 0x13   # (DW_FORM_ref4)
+       .uleb128 0x11   # (DW_AT_low_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x12   # (DW_AT_high_pc)
+       .uleb128 0x1    # (DW_FORM_addr)
+       .uleb128 0x40   # (DW_AT_frame_base)
+       .uleb128 0x6    # (DW_FORM_data4)
+       .byte   0
+       .byte   0
+       .uleb128 0x4    # (abbrev code)
+       .uleb128 0x24   # (TAG: DW_TAG_base_type)
+       .byte   0       # DW_children_no
+       .uleb128 0xb    # (DW_AT_byte_size)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3e   # (DW_AT_encoding)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3    # (DW_AT_name)
+       .uleb128 0x8    # (DW_FORM_string)
+       .byte   0
+       .byte   0
+       .uleb128 0x5    # (abbrev code)
+       .uleb128 0x34   # (TAG: DW_TAG_variable)
+       .byte   0       # DW_children_no
+       .uleb128 0x3    # (DW_AT_name)
+       .uleb128 0x8    # (DW_FORM_string)
+       .uleb128 0x3a   # (DW_AT_decl_file)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x3b   # (DW_AT_decl_line)
+       .uleb128 0xb    # (DW_FORM_data1)
+       .uleb128 0x49   # (DW_AT_type)
+       .uleb128 0x13   # (DW_FORM_ref4)
+       .uleb128 0x3f   # (DW_AT_external)
+       .uleb128 0xc    # (DW_FORM_flag)
+       .uleb128 0x2    # (DW_AT_location)
+       .uleb128 0xa    # (DW_FORM_block1)
+       .byte   0
+       .byte   0
+       .uleb128 0x6    # (abbrev code)
+       .uleb128 0x35   # (TAG: DW_TAG_volatile_type)
+       .byte   0       # DW_children_no
+       .uleb128 0x49   # (DW_AT_type)
+       .uleb128 0x13   # (DW_FORM_ref4)
+       .byte   0
+       .byte   0
+       .byte   0
+       .section        .debug_loc,"",@progbits
+.Ldebug_loc0:
+.LLST0:
+       .quad   .LFB2   # Location list begin address (*.LLST0)
+       .quad   .LCFI0  # Location list end address (*.LLST0)
+       .value  0x2     # Location expression size
+       .byte   0x77    # DW_OP_breg7
+       .sleb128 8
+       .quad   .LCFI0  # Location list begin address (*.LLST0)
+       .quad   .LCFI1  # Location list end address (*.LLST0)
+       .value  0x2     # Location expression size
+       .byte   0x77    # DW_OP_breg7
+       .sleb128 16
+       .quad   .LCFI1  # Location list begin address (*.LLST0)
+       .quad   .LFE2   # Location list end address (*.LLST0)
+       .value  0x2     # Location expression size
+       .byte   0x77    # DW_OP_breg7
+       .sleb128 8
+       .quad   0       # Location list terminator begin (*.LLST0)
+       .quad   0       # Location list terminator end (*.LLST0)
+       .section        .debug_aranges,"",@progbits
+       .long   0x3c    # Length of Address Ranges Info
+       .value  0x2     # DWARF Version
+       .long   .Ldebug_info0   # Offset of Compilation Unit Info
+       .byte   0x8     # Size of Address
+       .byte   0       # Size of Segment Descriptor
+       .value  0       # Pad to 16 byte boundary
+       .value  0
+       .quad   .Ltext0 # Address
+       .quad   .Letext0-.Ltext0        # Length
+       .quad   .LFB2   # Address
+       .quad   .LFE2-.LFB2     # Length
+       .quad   0
+       .quad   0
+       .section        .debug_ranges,"",@progbits
+.Ldebug_ranges0:
+       .quad   .Ltext0 # Offset 0
+       .quad   .Letext0
+       .quad   .LFB2   # Offset 0x10
+       .quad   .LFE2
+       .quad   0
+       .quad   0
+       .section        .debug_line,"",@progbits
+.Ldebug_line0:
+       .section        .debug_str,"MS",@progbits,1
+.LASF3:
+       .string "main"
+.LASF0:
+       .string "GNU C 4.6.4 20120911 (prerelease)"
+.LASF2:
+       .string ""
+.LASF1:
+       .string "gdb.reverse/singlejmp-reverse.c"
+       .ident  "GCC: (GNU) 4.6.4 20120911 (prerelease)"
+       .section        .note.GNU-stack,"",@progbits
diff --git a/gdb/testsuite/gdb.reverse/singlejmp-reverse.c b/gdb/testsuite/gdb.reverse/singlejmp-reverse.c
new file mode 100644 (file)
index 0000000..c9ebf37
--- /dev/null
@@ -0,0 +1,42 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2012 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+volatile int v;
+
+static __attribute__ ((noinline, noclone)) void
+g (void)
+{
+  v = 2;
+}
+
+static __attribute__ ((noinline, noclone)) void
+f (void)
+{
+  g ();
+}
+
+extern void nodebug (void);
+
+int
+main (void)
+{
+  v = 1;
+  f ();
+  nodebug ();
+  v = 3;
+  return 0;
+}
diff --git a/gdb/testsuite/gdb.reverse/singlejmp-reverse.exp b/gdb/testsuite/gdb.reverse/singlejmp-reverse.exp
new file mode 100644 (file)
index 0000000..830a89f
--- /dev/null
@@ -0,0 +1,62 @@
+# Copyright (C) 2012 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+if ![supports_reverse] {
+    return
+}
+
+standard_testfile ".S" "${gdb_test_file_name}-nodebug.S"
+set executable ${testfile}
+
+if [info exists COMPILE] {
+    # make check RUNTESTFLAGS="gdb.reverse/singlejmp-reverse.exp COMPILE=1"
+    if { [build_executable_from_specs ${testfile}.exp $executable {} \
+                                     ${testfile}.c {debug optimize=-O2} \
+                                     ${testfile}-nodebug.c {optimize=-O2} \
+                                     ] == -1 } {
+       return -1
+    }
+} elseif { ![istarget x86_64-*-* ] || ![is_lp64_target] } {
+    verbose "Skipping ${testfile}."
+    return
+} elseif { [build_executable ${testfile}.exp ${testfile} \
+           [list ${srcfile} ${srcfile2}] {}] == -1 } {
+    return -1
+}
+
+clean_restart $executable
+
+if ![runto_main] {
+    return -1
+}
+
+if [supports_process_record] {
+    gdb_test_no_output "record"
+}
+
+gdb_test "next" {v = 1;} "next to v = 1"
+gdb_test "next" {f \(\);} "next to f"
+gdb_test "next" {nodebug \(\);} "next to nodebug"
+gdb_test "next" {v = 3;} "next to v = 3"
+
+# FAIL was:
+# No more reverse-execution history.
+# {
+gdb_test "reverse-step" {nodebug \(\);}
+
+# FAIL was:
+# No more reverse-execution history.
+# {
+gdb_test "reverse-next" {f \(\);}
index 4f2b7c9..df2d818 100644 (file)
@@ -334,29 +334,44 @@ proc gdb_start_cmd {args} {
 
 # Set a breakpoint at FUNCTION.  If there is an additional argument it is
 # a list of options; the supported options are allow-pending, temporary,
-# and no-message.
+# message, no-message, and passfail.
+# The result is 1 for success, 0 for failure.
+#
+# Note: The handling of message vs no-message is messed up, but it's based
+# on historical usage.  By default this function does not print passes,
+# only fails.
+# no-message: turns off printing of fails (and passes, but they're already off)
+# message: turns on printing of passes (and fails, but they're already on)
 
 proc gdb_breakpoint { function args } {
     global gdb_prompt
     global decimal
 
     set pending_response n
-    if {[lsearch -exact [lindex $args 0] allow-pending] != -1} {
+    if {[lsearch -exact $args allow-pending] != -1} {
        set pending_response y
     }
 
     set break_command "break"
     set break_message "Breakpoint"
-    if {[lsearch -exact [lindex $args 0] temporary] != -1} {
+    if {[lsearch -exact $args temporary] != -1} {
        set break_command "tbreak"
        set break_message "Temporary breakpoint"
     }
 
-    set no_message 0
-    if {[lsearch -exact [lindex $args 0] no-message] != -1} {
-       set no_message 1
+    set print_pass 0
+    set print_fail 1
+    set no_message_loc [lsearch -exact $args no-message]
+    set message_loc [lsearch -exact $args message]
+    # The last one to appear in args wins.
+    if { $no_message_loc > $message_loc } {
+       set print_fail 0
+    } elseif { $message_loc > $no_message_loc } {
+       set print_pass 1
     }
 
+    set test_name "setting breakpoint at $function"
+
     send_gdb "$break_command $function\n"
     # The first two regexps are what we get with -g, the third is without -g.
     gdb_expect 30 {
@@ -365,8 +380,8 @@ proc gdb_breakpoint { function args } {
        -re "$break_message \[0-9\]* at .*$gdb_prompt $" {}
        -re "$break_message \[0-9\]* \\(.*\\) pending.*$gdb_prompt $" {
                if {$pending_response == "n"} {
-                       if { $no_message == 0 } {
-                               fail "setting breakpoint at $function"
+                       if { $print_fail } {
+                               fail $test_name
                        }
                        return 0
                }
@@ -376,23 +391,34 @@ proc gdb_breakpoint { function args } {
                exp_continue
        }
        -re "A problem internal to GDB has been detected" {
-               fail "setting breakpoint at $function in runto (GDB internal error)"
+               if { $print_fail } {
+                   fail "$test_name (GDB internal error)"
+               }
                gdb_internal_error_resync
                return 0
        }
        -re "$gdb_prompt $" {
-               if { $no_message == 0 } {
-                       fail "setting breakpoint at $function"
+               if { $print_fail } {
+                       fail $test_name
+               }
+               return 0
+       }
+       eof {
+               if { $print_fail } {
+                       fail "$test_name (eof)"
                }
                return 0
        }
        timeout {
-               if { $no_message == 0 } {
-                       fail "setting breakpoint at $function (timeout)"
+               if { $print_fail } {
+                       fail "$test_name (timeout)"
                }
                return 0
        }
     }
+    if { $print_pass } {
+       pass $test_name
+    }
     return 1;
 }    
 
@@ -400,8 +426,15 @@ proc gdb_breakpoint { function args } {
 # Since this is the only breakpoint that will be set, if it stops
 # at a breakpoint, we will assume it is the one we want.  We can't
 # just compare to "function" because it might be a fully qualified,
-# single quoted C++ function specifier.  If there's an additional argument,
-# pass it to gdb_breakpoint.
+# single quoted C++ function specifier.
+#
+# If there are additional arguments, pass them to gdb_breakpoint.
+# We recognize no-message/message ourselves.
+# The default is no-message.
+# no-message is messed up here, like gdb_breakpoint: to preserve
+# historical usage fails are always printed by default.
+# no-message: turns off printing of fails (and passes, but they're already off)
+# message: turns on printing of passes (and fails, but they're already on)
 
 proc runto { function args } {
     global gdb_prompt
@@ -409,7 +442,28 @@ proc runto { function args } {
 
     delete_breakpoints
 
-    if ![gdb_breakpoint $function [lindex $args 0]] {
+    # Default to "no-message".
+    set args "no-message $args"
+
+    set print_pass 0
+    set print_fail 1
+    set no_message_loc [lsearch -exact $args no-message]
+    set message_loc [lsearch -exact $args message]
+    # The last one to appear in args wins.
+    if { $no_message_loc > $message_loc } {
+       set print_fail 0
+    } elseif { $message_loc > $no_message_loc } {
+       set print_pass 1
+    }
+
+    set test_name "running to $function in runto"
+
+    # We need to use eval here to pass our varargs args to gdb_breakpoint
+    # which is also a varargs function.
+    # But we also have to be careful because $function may have multiple
+    # elements, and we don't want Tcl to move the remaining elements after
+    # the first to $args.  That is why $function is wrapped in {}.
+    if ![eval gdb_breakpoint {$function} $args] {
        return 0;
     }
 
@@ -419,30 +473,46 @@ proc runto { function args } {
     # the "in func" output we get without -g.
     gdb_expect 30 {
        -re "Break.* at .*:$decimal.*$gdb_prompt $" {
+           if { $print_pass } {
+               pass $test_name
+           }
            return 1
        }
        -re "Breakpoint \[0-9\]*, \[0-9xa-f\]* in .*$gdb_prompt $" { 
+           if { $print_pass } {
+               pass $test_name
+           }
            return 1
        }
        -re "The target does not support running in non-stop mode.\r\n$gdb_prompt $" {
-           unsupported "Non-stop mode not supported"
+           if { $print_fail } {
+               unsupported "Non-stop mode not supported"
+           }
            return 0
        }
        -re ".*A problem internal to GDB has been detected" {
-           fail "running to $function in runto (GDB internal error)"
+           if { $print_fail } {
+               fail "$test_name (GDB internal error)"
+           }
            gdb_internal_error_resync
            return 0
        }
        -re "$gdb_prompt $" { 
-           fail "running to $function in runto"
+           if { $print_fail } {
+               fail $test_name
+           }
            return 0
        }
        eof { 
-           fail "running to $function in runto (end of file)"
+           if { $print_fail } {
+               fail "$test_name (eof)"
+           }
            return 0
        }
        timeout { 
-           fail "running to $function in runto (timeout)"
+           if { $print_fail } {
+               fail "$test_name (timeout)"
+           }
            return 0
        }
     }
@@ -455,7 +525,7 @@ proc runto { function args } {
 # If you don't want that, use gdb_start_cmd.
 
 proc runto_main { } {
-    return [runto main]
+    return [runto main no-message]
 }
 
 ### Continue, and expect to hit a breakpoint.
@@ -508,6 +578,8 @@ proc gdb_continue_to_breakpoint {name {location_pattern .*}} {
 proc gdb_internal_error_resync {} {
     global gdb_prompt
 
+    verbose -log "Resyncing due to internal error."
+
     set count 0
     while {$count < 10} {
        gdb_expect {
index a6bb718..218d4d5 100644 (file)
@@ -850,8 +850,12 @@ value_actual_type (struct value *value, int resolve_simple_types,
   result = value_type (value);
   if (opts.objectprint)
     {
-      if (TYPE_CODE (result) == TYPE_CODE_PTR
+      /* If result's target type is TYPE_CODE_STRUCT, proceed to
+        fetch its rtti type.  */
+      if ((TYPE_CODE (result) == TYPE_CODE_PTR
          || TYPE_CODE (result) == TYPE_CODE_REF)
+         && TYPE_CODE (check_typedef (TYPE_TARGET_TYPE (result)))
+            == TYPE_CODE_STRUCT)
         {
           struct type *real_type;
 
index c382960..a5f017a 100644 (file)
@@ -1 +1 @@
-7.5
+7.5.1
index 4ece5ab..4da3a06 100644 (file)
@@ -1,3 +1,8 @@
+2012-07-31  Mike Frysinger  <vapier@gentoo.org>
+
+       * md5.c (md5_finish_ctx): Declare swap_bytes.  Assign SWAP() output
+       to swap_bytes, and then call memcpy to move it to ctx->buffer.
+
 2012-07-13  Doug Evans  <dje@google.com>
 
        * filename_cmp.c (filename_hash, filename_eq): New functions.
index 0db8fc8..8cc0cb5 100644 (file)
@@ -103,6 +103,7 @@ md5_finish_ctx (struct md5_ctx *ctx, void *resbuf)
 {
   /* Take yet unprocessed bytes into account.  */
   md5_uint32 bytes = ctx->buflen;
+  md5_uint32 swap_bytes;
   size_t pad;
 
   /* Now count remaining bytes.  */
@@ -113,10 +114,13 @@ md5_finish_ctx (struct md5_ctx *ctx, void *resbuf)
   pad = bytes >= 56 ? 64 + 56 - bytes : 56 - bytes;
   memcpy (&ctx->buffer[bytes], fillbuf, pad);
 
-  /* Put the 64-bit file length in *bits* at the end of the buffer.  */
-  *(md5_uint32 *) &ctx->buffer[bytes + pad] = SWAP (ctx->total[0] << 3);
-  *(md5_uint32 *) &ctx->buffer[bytes + pad + 4] = SWAP ((ctx->total[1] << 3) |
-                                                       (ctx->total[0] >> 29));
+  /* Put the 64-bit file length in *bits* at the end of the buffer.
+     Use memcpy to avoid aliasing problems.  On most systems, this
+     will be optimized away to the same code.  */
+  swap_bytes = SWAP (ctx->total[0] << 3);
+  memcpy (&ctx->buffer[bytes + pad], &swap_bytes, sizeof (swap_bytes));
+  swap_bytes = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29));
+  memcpy (&ctx->buffer[bytes + pad + 4], &swap_bytes, sizeof (swap_bytes));
 
   /* Process last bytes.  */
   md5_process_block (ctx->buffer, bytes + pad + 8, ctx);
diff --git a/md5.sum b/md5.sum
index 4607beb..f975b80 100644 (file)
--- a/md5.sum
+++ b/md5.sum
@@ -460,7 +460,7 @@ e67d8b07516154c4ddbee2e3bab3d75e  bfd/doc/doc.str
 39f61ac0fb56eced56e6894e7bc47cef  bfd/doc/header.sed
 5fa24958e8a60b2f879af658e615ccc0  bfd/doc/makefile.vms
 d7a37304ccd7b245f93df4be02797477  bfd/doc/proto.str
-38b96e25e08a45daa65bce5dae12c37b  bfd/doc/bfdver.texi
+bb790cbe0187b12f8544a2b9c03291f6  bfd/doc/bfdver.texi
 b1848292a4811cd7301fc6201debe63a  bfd/doc/aoutx.texi
 1ec269e34cd7de48135ce9d4aefb98b6  bfd/doc/archive.texi
 f387391c9b6221323eee7e5dc53ab174  bfd/doc/archures.texi
@@ -702,7 +702,7 @@ a04bbfc6092a474c8797b8b4f4b28035  gdb/.dir-locals.el
 c3a142c54fa6dc516b5a14aabc62e78f  gdb/.gitignore
 0e8e9a83ca2de8e7edc3ac4791c379e0  gdb/CONTRIBUTE
 d32239bcb673463ab874e80d47fae504  gdb/COPYING
-29459e2bc17ea3fadc95cf9fab73a172  gdb/ChangeLog
+e1e8bc5ba6ae43cae2782cc947cddc8d  gdb/ChangeLog
 42b9f7c51223e595f66c2210064be682  gdb/ChangeLog-1990
 8f5a03c189727d347a330548f3ea9c98  gdb/ChangeLog-1991
 51d2fa6ce8618d5c87150c7c576f1f6d  gdb/ChangeLog-1992
@@ -770,7 +770,7 @@ fa9ccd1d7488dac4ae8a971f92009437  gdb/amd64-linux-tdep.h
 46aa048480e9be6144599531661ceb41  gdb/amd64-nat.c
 e2cef59310fcc1711a275eec473eeba9  gdb/amd64-nat.h
 142113802069790ef8c2ee9b4a21c1c7  gdb/amd64-sol2-tdep.c
-7b28d4475a2aef79f3bd2202f693d199  gdb/amd64-tdep.c
+50c20b27edfc3ed01757fda355ccfd1c  gdb/amd64-tdep.c
 f083b6bb124c20ad96a53ef849afe5e4  gdb/amd64-tdep.h
 425f01a1645629a9467032d756162678  gdb/amd64-windows-nat.c
 e54adc457de46bdca74af64de296c96c  gdb/amd64-windows-tdep.c
@@ -797,7 +797,7 @@ aa96a769aa9be57e0d727881ee79e62b  gdb/armbsd-tdep.c
 66a73dc1080711a3d55f37d16ddb775e  gdb/armnbsd-nat.c
 826af3810cc9448157a1ea6f7f142c46  gdb/armnbsd-tdep.c
 70fb31e48a90157b9270bca8c4f2a6d6  gdb/armobsd-tdep.c
-625df147df7178dcb64ccdd42b49e1b5  gdb/auto-load.c
+67d374ebefcffbdd46bbf7ba26f1c4a7  gdb/auto-load.c
 d5ad2ba5255773bf8f62a1e39803ec72  gdb/auto-load.h
 b0f639f55c14dd8cc3303f0be9ded626  gdb/auxv.c
 c32d8ef0e03fbf46bf202427bd250c40  gdb/auxv.h
@@ -879,7 +879,7 @@ d3d6859c1a2fade6f71a8aa8ddbb9f98  gdb/dbxread.c
 17abb75d54c0318f0c2929724b6a25da  gdb/dcache.c
 07cb5058ffeffd173b9a0f8270eec8a6  gdb/dcache.h
 13f1974b41f890746469a9b16b2235b5  gdb/dec-thread.c
-71a46655ee2fa3eb03219fa7e564eced  gdb/defs.h
+6ec3e1e9cd24786e7e5df436669be552  gdb/defs.h
 9dd6593e7c927010adcfa22fccb04524  gdb/demangle.c
 3aded3605f7488210ff205cdd7a3b226  gdb/dfp.c
 1cbf5428c93b97b6432801160e3eb48d  gdb/dfp.h
@@ -903,7 +903,7 @@ dddf51f48b09f6c440db53cafac83b22  gdb/dwarf2expr.c
 e1496b320142f1226e038cc5a10ed567  gdb/dwarf2expr.h
 cf7518fce3540c55cdf572ba483b2db2  gdb/dwarf2loc.c
 5a714f27c437a15781b592538ffb7503  gdb/dwarf2loc.h
-2e217e87d839e70d7e144cffda5580ac  gdb/dwarf2read.c
+7ce212a5bdd73280a88448a516f11b7c  gdb/dwarf2read.c
 f852d804f582274b9a240a103a823ae2  gdb/elfread.c
 23632a118398a1f66b9f91f2ffe78a12  gdb/environ.c
 e8d655fd58c17483b268477190e1fc92  gdb/environ.h
@@ -935,7 +935,7 @@ b06f65b9e9de3a9d15af70e73960075a  gdb/findcmd.c
 4e1313fbee885087315bf3dc9176f6fe  gdb/frame-base.h
 98a7d20803c6682892bf3110e757fcf4  gdb/frame-unwind.c
 a77a6309ae039cd6ce09e7856e1ef9a4  gdb/frame-unwind.h
-db59dfecb1dc4f3d66c405c9e656a34b  gdb/frame.c
+fcbf803fbaa872738bfef308c62d698f  gdb/frame.c
 cdf2e9c0f80c87d02cde560cec4d77aa  gdb/frame.h
 c7bef879f9f50b1a6046da8cab7dd489  gdb/frv-linux-tdep.c
 be96fa00f3aa213f9848a1d76688973b  gdb/frv-tdep.c
@@ -1020,8 +1020,8 @@ f05b021eaf672b40dd32a733b937b84f  gdb/i386-nat.h
 e6d9a5f907836a846af13e0bc7a1b79b  gdb/i386-nto-tdep.c
 6f2bafd5495abc9c29d9a6cbf78b2fd9  gdb/i386-sol2-nat.c
 9eb584aa3c5ac9359b639d0a383b8fb0  gdb/i386-sol2-tdep.c
-0c876d7b6be969617736270fc82f5671  gdb/i386-tdep.c
-e076c225e034a0332afd2c9ffc7986f7  gdb/i386-tdep.h
+f2da753bd400df436e9ed3e6a0b1c7cb  gdb/i386-tdep.c
+cedd68eec18a7754e6cfe8aa897f4346  gdb/i386-tdep.h
 75478759b42ee713ae183e5f37af167b  gdb/i386-windows-nat.c
 78cb575ef6664b5720c02471febbb18c  gdb/i386bsd-nat.c
 06dbf1e75a68d5d3797fb59e05937d85  gdb/i386bsd-nat.h
@@ -1057,12 +1057,12 @@ b734ec894047c2a575083b86e1a0273f  gdb/inf-ptrace.h
 c35fd23919a8cca9b4e0d148b4000459  gdb/inf-ttrace.h
 019a5761d16393daa8c8c5811b4d8e33  gdb/infcall.c
 56b778f95084e0c4623e87cdb168a776  gdb/infcall.h
-93ca5451a086a4dd3298faacfd238bad  gdb/infcmd.c
+5c99751f67ef932fc6ac5861d6c4a52b  gdb/infcmd.c
 987dc2641adfa8dd5ed1d3083931682a  gdb/inferior.c
 d82c6a59f0e5f85cd27c1aedccb1e001  gdb/inferior.h
 09772df7a350117869dc7dab168a9282  gdb/inflow.c
 db212b74175c347b52d0b5fb3faf026d  gdb/inflow.h
-fb37b904cdfd921d9ac5089e55a17076  gdb/infrun.c
+a17486c491f3642e38773d0da02f1174  gdb/infrun.c
 953d0e968f674d12486290853e9e386d  gdb/inline-frame.c
 9e313f674a7c2cdb0541ea52f806d134  gdb/inline-frame.h
 7c92bb52acde002e570a5b1e9683c787  gdb/interps.c
@@ -1080,7 +1080,7 @@ d58fdfb892582a70c87804560a837ea2  gdb/jv-valprint.c
 e1077c322c7202b154cf999a053fe9d7  gdb/language.c
 997423099e93f7ac61dde4d51089bec1  gdb/m2-exp.y
 49592faf95b556fe36281b2a516a9f70  gdb/language.h
-0a4df2eaefef5254d81229ccbfb2f294  gdb/linespec.c
+476a72e1b5116df354a687c1750ebe7e  gdb/linespec.c
 5497e3682e3afaab892ca11a66ca2950  gdb/linespec.h
 a703ad4a4ed36314b64a5c9a57007719  gdb/linux-fork.c
 18d36d4834f1c8326d00493bb21ce8e4  gdb/linux-fork.h
@@ -1120,7 +1120,7 @@ c670ac4662aaa13a5551f4692cf6729e  gdb/macroexp.c
 adababafd40d86c626dcb94e6b368b31  gdb/macroscope.h
 c6524f98f7a919834c62e514ff36ef97  gdb/macrotab.c
 93a1071b922cbadf8f162294f2fe74e3  gdb/macrotab.h
-7d6447061ae48bb0860d1eda7387df38  gdb/main.c
+1b2200f29e5649dc18f9bb1da5366636  gdb/main.c
 7528c49ee7049af565a08fcedac5ae77  gdb/main.h
 6f347e70580b547f6ab8ba8960c5f3d4  gdb/maint.c
 d245e6a10a53596f4942f3aeee3e1329  gdb/mdebugread.c
@@ -1193,7 +1193,7 @@ bf8f83672e228dfd73aa2647e631e612  gdb/p-valprint.c
 38ecc77ff4af359817f6ae0440dffa6d  gdb/parser-defs.h
 0f9c35e0e25bf30b79cbab966d8573fa  gdb/posix-hdep.c
 414be542ca82006e906f5af586a97bf1  gdb/ppc-linux-nat.c
-2526a97d9102f08cee7f37732a1ccc1c  gdb/ppc-linux-tdep.c
+e74183d73a248605a9e133a3d8564d7e  gdb/ppc-linux-tdep.c
 741872aee583b49384eb91eb4930bbd3  gdb/ppc-linux-tdep.h
 c675b712b585236dd600533025703472  gdb/ppc-sysv-tdep.c
 791d2242ccf354b862988e98710f3bc9  gdb/ppc-tdep.h
@@ -1343,7 +1343,7 @@ cdf6a59fc4b82140ee363c8c7bc58bce  gdb/stack.h
 e71fdcbe183dab6e9bb2a6e983982a66  gdb/std-operator.def
 a3f6ba3854e8f56a0d99669d75bcfb03  gdb/std-regs.c
 e444811cef88edbfb0ac4dee7c90d538  gdb/symfile-mem.c
-6354a2665263c1921d37e51d150257ef  gdb/symfile.c
+bdfcfe703b9b3adb62342e6eaa76711a  gdb/symfile.c
 b6f486982248fc430b80784534e1cab5  gdb/symfile.h
 969b1e7fc926eefa49cdbbc025c406df  gdb/symmisc.c
 df40a3dbfb38349a08392d9adba9e75e  gdb/symtab.c
@@ -1385,7 +1385,7 @@ b799cb34404e6370e33f0853aaea7030  gdb/valarith.c
 e1a32655e26049221103a5c751396ae7  gdb/valops.c
 2f64099e7de31e998ff209296465ede3  gdb/valprint.c
 0e38e4a97766782f0a93c93d1734fa6a  gdb/valprint.h
-8c157b6a085625450ce750136373cecd  gdb/value.c
+2fe9334f36ea9b3477d34eef6f18f75c  gdb/value.c
 d97bf4af58b9cec40578126c0fda8fed  gdb/value.h
 2b37645cdd19555e06775ebad88bf225  gdb/varobj.c
 874e03757eff5c0d2c086e2cf7967144  gdb/varobj.h
@@ -1396,7 +1396,7 @@ c38c7d0a945ebc05b1efdc5d78b7d538  gdb/vax-tdep.c
 89248bc9aae5dac9bc9716fac67aad5b  gdb/vaxnbsd-tdep.c
 dbbd1783603802bffc9fce0683394796  gdb/vaxobsd-tdep.c
 fe8a5f81dd9b4284facd03f11f79a03e  gdb/version.h
-183d476e5f65a2f5252a5043ba3688c0  gdb/version.in
+5d4b8fa24780e4e25297aa77264e951c  gdb/version.in
 116c45a916c6d2f004d466d50497fb14  gdb/windows-nat.c
 5d46a3efdb81bad1cea8a80c561eac32  gdb/windows-nat.h
 b7b59da8f83a39a200ed5e4ed1780e9f  gdb/windows-tdep.c
@@ -1421,7 +1421,7 @@ cc8aa5d06a8539a75b2fbb82072566a1  gdb/xtensa-tdep.h
 8ccfd91194d0a3c2d817d60570520445  gdb/xtensa-xtregs.c
 a0ee257136bcbc46c0333b556d63869c  gdb/cli/cli-cmds.c
 92be51e5007e0ac5587384d8a17a38d3  gdb/cli/cli-cmds.h
-89b4b6742131967b5fd0687b1464bf47  gdb/cli/cli-decode.c
+82f0984edf6fadf2a701851233277865  gdb/cli/cli-decode.c
 804d7d0ef72adca597ff2b03afe1b029  gdb/cli/cli-decode.h
 022d3434d85e50986e7d0bb6b9de4712  gdb/cli/cli-dump.c
 2f8090cd6fd1c4c34f667e03b65047d3  gdb/cli/cli-dump.h
@@ -1452,7 +1452,7 @@ b8cb96ba4c9861852f641c38ad9e57bd  gdb/common/i386-xstate.h
 09a783c56d0edb795c3ef85c3a6aa819  gdb/common/linux-osdata.h
 ea27e54a6db2efe7194a240a07c611f7  gdb/common/linux-procfs.c
 0ab2dfbf3272bb9fdb87f6d3d3058e84  gdb/common/linux-procfs.h
-fe1b1a4e094025abab299289162722a4  gdb/common/linux-ptrace.c
+7b78ee5b26d9b7f737a1359842acb832  gdb/common/linux-ptrace.c
 bf52cb2bb8ce8ed53d2254f2ec282df2  gdb/common/linux-ptrace.h
 61d1da6a52787d2e1b649008559f8abb  gdb/common/ptid.c
 36aff2da1a41f691e30ea187cd5c818e  gdb/common/ptid.h
@@ -1541,7 +1541,7 @@ dd0e12186d87daa399b8d1fa21afb146  gdb/config/vax/nbsdaout.mh
 2b0bfbd4c6e9614c300b8887b592197d  gdb/config/xtensa/linux.mh
 16721564da743eab7c2935f361f24ed5  gdb/contrib/test_pubnames_and_indexes.py
 b5a451f9ce631db17dd56dabc9c19321  gdb/data-directory/Makefile.in
-19ba206965f8b1b819fd825c3e3e8b71  gdb/doc/ChangeLog
+b77e132264d70f54da585a62cf1f9245  gdb/doc/ChangeLog
 cde55cb7bff1f00bd1c4b1ec0336c922  gdb/doc/LRS
 b2d5af403b33b8fca80aee36ba84b648  gdb/doc/Makefile.in
 d5d06eaf9b4d44aa442a4a281aa9aea4  gdb/doc/a4rc.sed
@@ -1549,7 +1549,7 @@ d5d06eaf9b4d44aa442a4a281aa9aea4  gdb/doc/a4rc.sed
 16323a3dc38234990af7a5a8ad37b5cd  gdb/doc/all-cfg.texi
 237d78bddccb0bb9dc86911e194aac8e  gdb/doc/annotate.texinfo
 ab0fe311032294b952da80585b8b90e7  gdb/doc/fdl.texi
-4dbdebad6f40d1cae89f1151121af42d  gdb/doc/gdb.texinfo
+92eb1faaac0ff2f6637bac5f08dda3cc  gdb/doc/gdb.texinfo
 b8a3eda0db9943a56763cdb63b3cec42  gdb/doc/gdbint.texinfo
 bf96494e6e4d346175babd5ef9781882  gdb/doc/gpl.texi
 73ec71cd3b2e7f61bc530f19d4b35056  gdb/doc/lpsrc.sed
@@ -1562,13 +1562,13 @@ d39233c86ed6a6dc9e853ae6a11fe03e  gdb/doc/stack_frame.pdf
 6076d300a46651562d4ecd0604442414  gdb/doc/stack_frame.png
 553b7fe1bf4b5d8b96fdb8cd83503de1  gdb/doc/stack_frame.svg
 f81a0e00e0cb9e41b078069fb9bedb07  gdb/doc/stack_frame.txt
-351868531c2644b422d15ccca799e26a  gdb/doc/gdb.info
-4487a374ee47961b38fa1b4687eee060  gdb/doc/gdb.info-1
-6a2d5b40b94f5a64189da1293f820859  gdb/doc/gdb.info-2
-d7f703d8770387977223c1678d0efb63  gdb/doc/gdb.info-3
-3cdabe049d6e72d22e430f6e56c4480c  gdb/doc/gdb.info-4
-abd3f30779c3daf2959081a7d0fd13e0  gdb/doc/gdb.info-5
-9a73aeebc39dc6563ec0d70395c24d51  gdb/doc/gdb.info-6
+64cb5346f64c4a62ae82372c2dba0f86  gdb/doc/gdb.info
+6f50daa86b752dde6bf04c006f1d8f4e  gdb/doc/gdb.info-1
+71445fbe9140bebe39c0ae43d9242c4e  gdb/doc/gdb.info-2
+6d67349092e2bbcc92d07a97c19c46c7  gdb/doc/gdb.info-3
+d5f1a2bdb3237a159b380b9a2c54793b  gdb/doc/gdb.info-4
+12e10ca75f4ebc08a124928318fe4bba  gdb/doc/gdb.info-5
+c31a35da6ad97a7f473ad24c19590229  gdb/doc/gdb.info-6
 05c0d0b2a8b9edbc5db07192d1388b12  gdb/doc/gdbint.info
 751be19074a19c3f654f3d2537b4336e  gdb/doc/gdbint.info-1
 a003c8e79cb28d422bbb83034c17da12  gdb/doc/gdbint.info-2
@@ -1777,7 +1777,7 @@ a238f6359a5d0f298234e00f685d548c  gdb/features/rs6000/powerpc-vsx32l.xml
 376e396dd67d075bacc312f2c0a194fe  gdb/features/rs6000/rs6000.c
 31a4eafb186358843e27350b150e180e  gdb/features/rs6000/rs6000.xml
 94230696f6e1981ae284eb1d31607f8e  gdb/gdbserver/.gitignore
-8d50f02f0a6915c495681cf9b28934f9  gdb/gdbserver/ChangeLog
+a2e3adfccd75ab997a5e12061b952ad7  gdb/gdbserver/ChangeLog
 dde2aa36479f53e8fa976c08bb81fc56  gdb/gdbserver/Makefile.in
 791b58ddf159b59c7d9375e2c2f00a07  gdb/gdbserver/README
 0e796e5e05adc41096c8f711836e9f7e  gdb/gdbserver/acinclude.m4
@@ -1791,7 +1791,7 @@ ab1f29be3446ecf5e2b781969e77d4bb  gdb/gdbserver/configure.srv
 a06d2fc06d24c8ff8e1eacce34aa6cd7  gdb/gdbserver/dll.c
 7798a56033d81424a9b44b065d808946  gdb/gdbserver/event-loop.c
 475cc2ff3a61f243746075c4cd840cc3  gdb/gdbserver/gdb_proc_service.h
-0a3f5f95849acd6f4a783c0ca75b6e5c  gdb/gdbserver/gdbreplay.c
+9837e218420b54aa1079bb86be4f1c74  gdb/gdbserver/gdbreplay.c
 f0e3f141168f9e49b60877d30817cc61  gdb/gdbserver/gdbserver.1
 9cec9bf1ae90c6dd37fb731b055b8bde  gdb/gdbserver/gdbthread.h
 34cd731f76620c1d39d318c510cf782a  gdb/gdbserver/hostio-errno.c
@@ -1805,7 +1805,7 @@ bdacf42a94348b7665d43b9eb8a98f69  gdb/gdbserver/linux-amd64-ipa.c
 719b265ba65d8c185d19a9de4ed9815a  gdb/gdbserver/linux-arm-low.c
 1edf0686a3ef6e743686033944310f83  gdb/gdbserver/linux-bfin-low.c
 cba8bd803a9842d2480a89ddad0a8147  gdb/gdbserver/linux-cris-low.c
-803fbc985d226837d1f5e297997e26f4  gdb/gdbserver/linux-crisv32-low.c
+c7e69fab3796b52ada36bfe1d3859914  gdb/gdbserver/linux-crisv32-low.c
 100dce3c66e8c38e807c1517d1f20f23  gdb/gdbserver/linux-i386-ipa.c
 a4138055c1b6e3a5ff3fa2c260b87976  gdb/gdbserver/linux-ia64-low.c
 a56ae41ac0c3dc2a2ab35b9647ea34d1  gdb/gdbserver/linux-low.c
@@ -1836,7 +1836,7 @@ f7bac380dcb49575b757695b72fd6084  gdb/gdbserver/mem-break.h
 58a941c8ff873a865d474eece1de9f1e  gdb/gdbserver/regcache.h
 2a349d85d5e1a3a219380e55ee083220  gdb/gdbserver/remote-utils.c
 f7800406d7f0a7dc2a57b4ca690a3285  gdb/gdbserver/server.c
-f61b46da0ace58fe7e171f964837d920  gdb/gdbserver/server.h
+943b1d8855a00bb20280232bcca6dec9  gdb/gdbserver/server.h
 7d7b0321c7c4e80e33c15fda1c9a0c98  gdb/gdbserver/spu-low.c
 ab8791abc79fb06583ba8f6e830adcc0  gdb/gdbserver/target.c
 e6edecda64b09d5ab8c68f47476e410e  gdb/gdbserver/target.h
@@ -1975,8 +1975,8 @@ c20fd87765652ad7ba50f43a0ec95088  gdb/osf-share/cma_util.h
 7cd3745f37bbbfcd24086735939ead52  gdb/osf-share/HP800/cma_thread_io.h
 36cb16e3cf86ddd4609d275a6a3052f5  gdb/osf-share/RIOS/cma_thread_io.h
 1851bff0653201a488dcae18dde7efad  gdb/po/gdbtext
-74b34d720e20e5ffaa85d11127d51ec5  gdb/po/gdb.pot
-41d7ed66b6e42064caddff286fc26136  gdb/python/py-auto-load.c
+35aeb6693f11ff68e347650ec57f8bd5  gdb/po/gdb.pot
+effd93924993d455c130ac3c633a6c06  gdb/python/py-auto-load.c
 d46f38c49ba79ffcc1fe58e6babe8493  gdb/python/py-block.c
 be8cbd2c7ccd83e31f62e01605df83b8  gdb/python/py-bpevent.c
 bb535075049a1e977b2b25081908b990  gdb/python/py-breakpoint.c
@@ -2011,7 +2011,7 @@ a65d01a6be1d6e49f1a76f867a77a65f  gdb/python/py-value.c
 df61f04da42752ab5d9115d036f22430  gdb/python/python-config.py
 fae4b5c88e230ab947fae2d1ed72f686  gdb/python/python-internal.h
 bc441a666242c968665db9d8c4545eab  gdb/python/python.c
-06701c32366f9f2f6b2f847e9242a566  gdb/python/python.h
+c3120dbddd6d105aed603c88ed4c2581  gdb/python/python.h
 0ede955be53064e857fca1abcd4af3d5  gdb/python/lib/gdb/__init__.py
 0b0f0baea9b60fb07eb7f687730da3f5  gdb/python/lib/gdb/printing.py
 9153dfb2c33ccfb638dcaf82a0c6f411  gdb/python/lib/gdb/prompt.py
@@ -2107,7 +2107,7 @@ ea9cbcd95f79798e1a692f4abf93a2c7  gdb/syscalls/mips-n32-linux.xml
 c0ec02b9ad0757a03d9dea6ea6b8adb0  gdb/syscalls/ppc64-linux.xml
 1ec17336100dcc40f3964c8027955d28  gdb/syscalls/sparc-linux.xml
 92757f46acf7c629f8cecaaf0304f2c4  gdb/syscalls/sparc64-linux.xml
-7c67ab0a288eb2b773b073a92e3a64d1  gdb/testsuite/ChangeLog
+58f1dadc84eb046cf227cbea0ba7deb5  gdb/testsuite/ChangeLog
 8181316b8b2460853fe22c659ba1071e  gdb/testsuite/Makefile.in
 1b9bb551736dbc95577c91620b81fb6c  gdb/testsuite/TODO
 a225f3bdf3ee20da9623fd4c54b5454b  gdb/testsuite/aclocal.m4
@@ -2425,6 +2425,9 @@ f649c736950b5fd624424e3a7f370e4f  gdb/testsuite/gdb.arch/amd64-prologue-xmm.c
 0263f89000d75b0d113a836aaf5daacf  gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp
 e3a9f564be714835504436d7e8d0f0ce  gdb/testsuite/gdb.arch/amd64-prologue-xmm.s
 265407290bc6234802cf2a634ecea75c  gdb/testsuite/gdb.arch/amd64-pseudo.c
+ae401dd7f797623b002f3a31faea1b29  gdb/testsuite/gdb.arch/amd64-tailcall-ret.S
+f76e72540158df1b94356cf00a331b06  gdb/testsuite/gdb.arch/amd64-tailcall-ret.c
+62d774d8e3ab2df4f8e4e4976557e300  gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp
 a3bc5b058e9a28b8c8961be3f48a0613  gdb/testsuite/gdb.arch/amd64-word.exp
 075421c7c7df13e3432011aea5c623e1  gdb/testsuite/gdb.arch/arm-disp-step.S
 f44f55476bfcc00aab9ef07183adf7a9  gdb/testsuite/gdb.arch/arm-disp-step.exp
@@ -3051,6 +3054,8 @@ e48c21a0eeb78774c8761fbef657bdf1  gdb/testsuite/gdb.base/step-line.c
 98cd6b7b1e6e3b7431873224eef42ee2  gdb/testsuite/gdb.base/step-line.inp
 18720b2bb9f88cd34aab612f18a606f5  gdb/testsuite/gdb.base/step-resume-infcall.c
 12b0ee8c5ec65ce23abc5ff7a695671f  gdb/testsuite/gdb.base/step-resume-infcall.exp
+28eae0dd3a433e1c2d87bf5fb9c5d32f  gdb/testsuite/gdb.base/step-symless.c
+4acf5ba9179f799a0f20efb12216cb14  gdb/testsuite/gdb.base/step-symless.exp
 9ffc2cd8e384888785a57bd5ed8168d2  gdb/testsuite/gdb.base/step-test.c
 632fb2a218b330d0bdf4157005e9e142  gdb/testsuite/gdb.base/step-test.exp
 1ea088b852b87134ad1b9038b0dd2204  gdb/testsuite/gdb.base/store.c
@@ -3087,7 +3092,7 @@ e0f4a00d7eb2641628c91c705b4592d0  gdb/testsuite/gdb.base/unwindonsignal.c
 a7f582dad7c86be966dc26a2dfd2a9b3  gdb/testsuite/gdb.base/valgrind-db-attach.c
 9aeaebc9306f400ea147ed756128d580  gdb/testsuite/gdb.base/valgrind-db-attach.exp
 3cd0507c8af37b5788e02cd161262bd0  gdb/testsuite/gdb.base/valgrind-infcall.c
-442ca0b023d931a86fd214e05a52777e  gdb/testsuite/gdb.base/valgrind-infcall.exp
+9e65bd5d29634331e26bdf7ce0242320  gdb/testsuite/gdb.base/valgrind-infcall.exp
 319b40e0e783d65b296cdf21f0c3e0a0  gdb/testsuite/gdb.base/value-double-free.c
 abb7f938274118488161ab577968dc69  gdb/testsuite/gdb.base/value-double-free.exp
 96414feab41b4954360074ac656e2b8e  gdb/testsuite/gdb.base/varargs.c
@@ -3111,9 +3116,9 @@ d9e17bb34177d4e5e5451b7a1ccc23b7  gdb/testsuite/gdb.base/watchpoint-cond-gone.c
 4b740c38221dedee87164d2672b91f79  gdb/testsuite/gdb.base/watchpoint-cond-gone.exp
 2a9ad92ef6a4f856d2f8cbc74d71b42e  gdb/testsuite/gdb.base/watchpoint-delete.c
 30b9cb8e733e54fea5cdbf71702b0ee8  gdb/testsuite/gdb.base/watchpoint-delete.exp
-c874d720fe6c68976f66ff27c6da946c  gdb/testsuite/gdb.base/watchpoint-hw.c
 0aaae63688bb03c5d7396d83b97588e0  gdb/testsuite/gdb.base/watchpoint-hw-hit-once.c
 545ef21168a1434c070b48ee8d6b884e  gdb/testsuite/gdb.base/watchpoint-hw-hit-once.exp
+c874d720fe6c68976f66ff27c6da946c  gdb/testsuite/gdb.base/watchpoint-hw.c
 c058ad583be695298ac6baba7ade02e6  gdb/testsuite/gdb.base/watchpoint-hw.exp
 2438fd3bcbad761182cfd4776499434e  gdb/testsuite/gdb.base/watchpoint-solib-shr.c
 14bb4ed2e7a3ca9f01b6456cd8dee9f0  gdb/testsuite/gdb.base/watchpoint-solib.c
@@ -3704,11 +3709,11 @@ d1035b543709f23158df094b6d49742b  gdb/testsuite/gdb.hp/gdb.objdbg/tools/test-obj
 103f30848803219a9db8fe445895dfa2  gdb/testsuite/gdb.java/Makefile.in
 63f3a0db56477a8a423a38f20de3205f  gdb/testsuite/gdb.java/jmain.exp
 030f9fc25e9acc988163f24817c83ee9  gdb/testsuite/gdb.java/jmain.java
-c194af5391bc7c1310b9621d1d1d811e  gdb/testsuite/gdb.java/jmisc.exp
+3955386528896b182c48284e87177f4b  gdb/testsuite/gdb.java/jmisc.exp
 e3a680cfde66129ed9607ad7c20fd6a0  gdb/testsuite/gdb.java/jmisc.java
 da2c5a6f26856d356b914dc3e303e201  gdb/testsuite/gdb.java/jnpe.exp
 df1554dc0e0d4fec69b18ca35eef22d2  gdb/testsuite/gdb.java/jnpe.java
-12eba58e54fd44ff325d66cf0109819c  gdb/testsuite/gdb.java/jprint.exp
+a82d1599333d72e980e75a14f430d631  gdb/testsuite/gdb.java/jprint.exp
 3035031cd2f267e7197722302f799e27  gdb/testsuite/gdb.java/jprint.java
 0520f99c4fca800e611dfe1727ff2817  gdb/testsuite/gdb.java/jv-exp.exp
 83388566b538e9cc2ef8c8bdef0dbd44  gdb/testsuite/gdb.java/jv-print.exp
@@ -3718,9 +3723,11 @@ df1554dc0e0d4fec69b18ca35eef22d2  gdb/testsuite/gdb.java/jnpe.java
 4cbe227c3ce3b7553c6b43bf0a2c0c0a  gdb/testsuite/gdb.linespec/ls-dollar.cc
 4f0e3058d0a23ac693c2b87bffbf746b  gdb/testsuite/gdb.linespec/ls-dollar.exp
 25fb37697e4b6d3bef5326907b5e2cbf  gdb/testsuite/gdb.linespec/ls-errs.c
-23270f6411b79fa118844d240102be79  gdb/testsuite/gdb.linespec/ls-errs.exp
+b9d5ea9a7010aff7b0764321f6835b85  gdb/testsuite/gdb.linespec/ls-errs.exp
 52412320dfc03bbc8ae9e0a5956b2d5a  gdb/testsuite/gdb.linespec/lspec.cc
 76efa0be5b547481043ba197cad7a14e  gdb/testsuite/gdb.linespec/lspec.h
+d01390218de5119422806a50774518f3  gdb/testsuite/gdb.linespec/thread.c
+f5cfa5bb073e9fdd45d686a0b26adac4  gdb/testsuite/gdb.linespec/thread.exp
 6db4b606c9a0b27272f4c918408081cb  gdb/testsuite/gdb.linespec/base/one/thefile.cc
 6063637e818b9601823ea95e95cfcfab  gdb/testsuite/gdb.linespec/base/two/thefile.cc
 1efe6f6402cbf322cd8aa810521f4b17  gdb/testsuite/gdb.mi/ChangeLog-1999-2003
@@ -3785,6 +3792,8 @@ ee24692225ea85b28daabbd1ad974b62  gdb/testsuite/gdb.mi/mi-var-child.c
 3f48c06500859c3cf308754bac65f6b0  gdb/testsuite/gdb.mi/mi-var-cmd.exp
 8598dd80f7a0084ddc50cb8423376a93  gdb/testsuite/gdb.mi/mi-var-cp.cc
 dc5043efc1e27dfee24432a323fe296e  gdb/testsuite/gdb.mi/mi-var-cp.exp
+9fdfa766cff302c6f682209875fa3279  gdb/testsuite/gdb.mi/mi-var-create-rtti.c
+7834fe61dc99271281caec6a49e05e01  gdb/testsuite/gdb.mi/mi-var-create-rtti.exp
 7f8ccbc524207bc51ed381afeffdb3d7  gdb/testsuite/gdb.mi/mi-var-display.exp
 a9474410222ee8fab31dfb464e59198c  gdb/testsuite/gdb.mi/mi-var-invalidate.exp
 24d9eae00eb2ddcc9946624160a680cb  gdb/testsuite/gdb.mi/mi-var-rtti.cc
@@ -3961,6 +3970,9 @@ b4d2852e0a6c20f6a94cb2bea32b7428  gdb/testsuite/gdb.python/python.c
 4262afd139ccc75abebdbd4a936378c5  gdb/testsuite/gdb.python/source1
 01f60a446360a6a9e07afb55ac6cd5d9  gdb/testsuite/gdb.python/source2.py
 5d0857368c33e2992acae395c7353dee  gdb/testsuite/gdb.reverse/Makefile.in
+e158161c9ef174b36b69bb8e7b48f367  gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.S
+e40f94b35f639d77782865bf77869423  gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.c
+6a6a93044bdd636106d2c5622a63ae12  gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.exp
 e1f07c48544f9e652a81e4fc357822ac  gdb/testsuite/gdb.reverse/break-precsave.exp
 b749c2f0e459adb076c510d07419c9b6  gdb/testsuite/gdb.reverse/break-reverse.c
 d2afd35b6abf06808c0db8cd3d6f974b  gdb/testsuite/gdb.reverse/break-reverse.exp
@@ -3989,6 +4001,11 @@ b34b810f445106b670055e89fd6d4f61  gdb/testsuite/gdb.reverse/machinestate.exp
 e7b8677e478b90ad5c33f356e36bd734  gdb/testsuite/gdb.reverse/sigall-precsave.exp
 b48715211845417cac4850ca50b276f4  gdb/testsuite/gdb.reverse/sigall-reverse.c
 7cb15f12754160514415b7c3091a9856  gdb/testsuite/gdb.reverse/sigall-reverse.exp
+22794bd0ee0b96cacdd4742106dfc2f0  gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.S
+053fa5e737f4a8ea969ab77b4e21f9c3  gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.c
+9bf9af6d7b26ea37ec31e24161532d69  gdb/testsuite/gdb.reverse/singlejmp-reverse.S
+4c01008b4dbc1795c3d681d1ba8386f8  gdb/testsuite/gdb.reverse/singlejmp-reverse.c
+45c3827c8d3742e35c4bda7b728074e2  gdb/testsuite/gdb.reverse/singlejmp-reverse.exp
 f17cfbb6458a72c312f00c807cc6c33f  gdb/testsuite/gdb.reverse/solib-precsave.exp
 0739a17b9f89c3f77f566fbb0fa04e86  gdb/testsuite/gdb.reverse/solib-reverse.c
 2812d36b3d0fa46d067e16019e504aea  gdb/testsuite/gdb.reverse/solib-reverse.exp
@@ -4213,7 +4230,7 @@ f3b186643f452e1f8a949613a87ac99a  gdb/testsuite/lib/cell.exp
 6b64019bc3b989ff3c4f43d7d05d9989  gdb/testsuite/lib/fortran.exp
 5cd24413a6dbb7177ca707c2b64607d3  gdb/testsuite/lib/future.exp
 d239eaeaacac1055125b70b9a9760421  gdb/testsuite/lib/gdb-python.exp
-15bba05edc13cbd18287147a37ad99e1  gdb/testsuite/lib/gdb.exp
+906f477f9b33d6f8625394a429c225ac  gdb/testsuite/lib/gdb.exp
 50b624a3bb3f5fe169fddeaf02daa20a  gdb/testsuite/lib/gdbserver-support.exp
 777cf66a4347ab65ba50690bfe3b2ab4  gdb/testsuite/lib/go.exp
 124f4627e54084a8df56842b401576f4  gdb/testsuite/lib/java.exp
@@ -4689,7 +4706,7 @@ a97c47969dfc92a7666dfe3c2e1e1448  libdecnumber/dpd/decimal32Symbols.h
 0f6db29710e7075c2fd62bc4478b3b8d  libdecnumber/dpd/decimal64Symbols.h
 99c2e5e712b990ee07be10f53e41f3fb  libiberty/.gitignore
 a916467b91076e631dd8edb7424769c7  libiberty/COPYING.LIB
-6a9fd50468b78362739488bf7b845843  libiberty/ChangeLog
+870f4a13c436d221ef483dcc434724f6  libiberty/ChangeLog
 78cbb9fa07796e2b83ec5539ebd53589  libiberty/Makefile.in
 c68dbf7834af4281ebd84caa3fd54680  libiberty/README
 8797cb1a6faa84f3c7fe3d12164a4b13  libiberty/_doprnt.c
@@ -4750,7 +4767,7 @@ fe4e25fb7df7cacdc921eaf39ce595af  libiberty/maint-tool
 e7487c25e2021939bf5af58e8cd70a3f  libiberty/make-relative-prefix.c
 0172f6488e44155e35d94e3f2c5c3c5c  libiberty/make-temp-file.c
 379561229f99437be05ede87fbcf8533  libiberty/makefile.vms
-7005e9cc6647b299a791a6af3904e49b  libiberty/md5.c
+4e8442fe28956a3c8f62353b4b036c6b  libiberty/md5.c
 de9bd20436bf2cb64d8c374c110ce315  libiberty/memchr.c
 33320d312ab390ca0eb5c43c9e349d57  libiberty/memcmp.c
 c90c2f09bdcbd65b4732a4be25a56d12  libiberty/memcpy.c