public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [RFA 0/2] Fix PR cli/19551
@ 2017-04-13  4:17 Tom Tromey
  2017-04-13  4:17 ` [RFA 2/2] PR cli/19551 - change formatting of "Reading symbols" messages Tom Tromey
  2017-04-13  4:44 ` [RFA 1/2] Use a distinguishing name for minidebug objfile Tom Tromey
  0 siblings, 2 replies; 12+ messages in thread
From: Tom Tromey @ 2017-04-13  4:17 UTC (permalink / raw)
  To: gdb-patches

PR cli/19551 is about gdb's output when reading debuginfo.  Currently
it can be quite ugly (detailed in patch #2) and also confusing (see
patch #1).  This short series attempts to make the output prettier.

I built and regtested this using the buildbot.

The test suite changes are somewhat ugly, IMO.  Maybe there's some
better way.

Tom

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [RFA 2/2] PR cli/19551 - change formatting of "Reading symbols" messages
  2017-04-13  4:17 [RFA 0/2] Fix PR cli/19551 Tom Tromey
@ 2017-04-13  4:17 ` Tom Tromey
  2017-04-18 17:43   ` Pedro Alves
  2017-04-27 21:40   ` Simon Marchi
  2017-04-13  4:44 ` [RFA 1/2] Use a distinguishing name for minidebug objfile Tom Tromey
  1 sibling, 2 replies; 12+ messages in thread
From: Tom Tromey @ 2017-04-13  4:17 UTC (permalink / raw)
  To: gdb-patches; +Cc: Tom Tromey

From: Tom Tromey <tromey@redhat.com>

PR cli/19551 notes that the "Reading symbols" messages can be messy, for
example:

(gdb) file /bin/gdb
Reading symbols from /bin/gdb...Reading symbols from /bin/gdb...(no debugging symbols found)...done.
(no debugging symbols found)...done.

In this case the first message is being interrupted by the message for
the minidebug info; then the subsequent output is emitted strangely.

This patch changes gdb to use a progress bar when reading debug info.
It modifies the DWARF reader(s) to update the progress.  Any printing
is deferred until the first progress report, so the messages no longer
clash.

While printing the status message it looks like:

Reading symbols from ./gdb
[##############                                                  ]

The "#"s show the progress; these are only printed on a terminal.

When it is finished it looks like:

Reading symbols from .gnu_debugdata for /usr/bin/gdb
Reading symbols from /bin/gdb

I made the MI implementation do nothing.  MI has a
"status-async-output" production in the grammar:

'STATUS-ASYNC-OUTPUT ==>'
     '[ TOKEN ] "+" ASYNC-OUTPUT NL'

... which maybe could be used for this sort of thing.  Currently I think
it's only used for "load" progress (see mi_load_progress); so it wasn't
clear to me whether this would be a good idea.

gdb/ChangeLog
2017-04-12  Tom Tromey  <tom@tromey.com>

	PR cli/19551:
	* utils.h (get_chars_per_line): Declare.
	* utils.c (get_chars_per_line): New function.
	* ui-out.h (ui_out::progress_meter): New class.
	(ui_out::progress, ui_out::do_progress_start)
	(ui_out::do_progress_notify, ui_out::do_progress_end): New
	methods.
	* ui-out.c (do_progress_end)
	(make_cleanup_ui_out_progress_begin_end, ui_out_progress): New
	functions.
	* symfile.c (symbol_file_add_with_addrs): Create a
	progress_meter.
	(symbol_file_add_with_addrs): Likewise.
	* psymtab.c (require_partial_symbols): Create a progress_meter.
	* mi/mi-out.h (mi_ui_out::do_progress_start)
	(mi_ui_out::do_progress_notify, mi_ui_out::do_progress_end): New
	methods.
	* dwarf2read.c (create_cus_from_index_list): Call
	ui_out::progress.  Add total_progress_steps argument.
	(create_cus_from_index): Add total_progress_steps argument.
	(create_signatured_type_table_from_index): Update.  Call
	ui_out::progress.
	(dwarf2_read_index): Update.
	(dw2_expand_all_symtabs, dwarf2_build_psymtabs_hard): Call
	ui_out::progress.
	* cli-out.h (struct cli_ui_out) <do_progress_start,
	do_progress_notify, do_progress_end>: New methods.
	<enum meter_stat, struct cli_progress_info>: New.
	<m_meters>: New member.
	* cli-out.c (cli_ui_out::do_progress_start)
	(cli_ui_out::do_progress_notify, cli_ui_out::do_progress_end): New
	methods.

gdb/testsuite/ChangeLog
2017-04-12  Tom Tromey  <tom@tromey.com>

	PR cli/19551:
	* lib/mi-support.exp (mi_gdb_file_cmd): Update regexps.
	* lib/gdb.exp (gdb_file_cmd): Update regexps.
	* gdb.stabs/weird.exp: Update regexp.
	* gdb.server/solib-list.exp: Update regexp.
	* gdb.linespec/linespec.exp: Update regexp.
	* gdb.multi/remove-inferiors.exp (test_remove_inferiors): Update
	regexp.
	* gdb.dwarf2/dw2-stack-boundary.exp: Update regexp.
	* gdb.dwarf2/dw2-objfile-overlap.exp: Update regexp.
	* gdb.cp/cp-relocate.exp: Update regexp.
	* gdb.base/sym-file.exp: Update regexps.
	* gdb.base/sepdebug.exp: Update regexps.
	* gdb.base/relocate.exp: Update regexps.
	* gdb.base/print-symbol-loading.exp (test_load_core): Update regexp.
	* gdb.base/kill-detach-inferiors-cmd.exp: Update regexp.
	* gdb.base/dbx.exp (gdb_file_cmd): Update regexp.
	* gdb.base/code_elim.exp: Update regexp.
	* gdb.base/break-unload-file.exp (test_break): Update regexp.
	* gdb.base/break-interp.exp (test_attach_gdb): Update regexp.
	* gdb.base/break-idempotent.exp (force_breakpoint_re_set): Update
	regexp.
	* gdb.base/attach.exp (do_attach_tests): Update regexp.
	* gdb.python/py-section-script.exp: Update regexps.
---
 gdb/ChangeLog                                      | 35 +++++++++
 gdb/cli-out.c                                      | 85 ++++++++++++++++++++++
 gdb/cli-out.h                                      | 29 ++++++++
 gdb/dwarf2read.c                                   | 39 +++++++---
 gdb/mi/mi-out.h                                    | 12 +++
 gdb/psymtab.c                                      | 20 ++---
 gdb/symfile.c                                      | 82 +++++++++++----------
 gdb/testsuite/ChangeLog                            | 27 +++++++
 gdb/testsuite/gdb.base/attach.exp                  | 10 +--
 gdb/testsuite/gdb.base/break-idempotent.exp        |  2 +-
 gdb/testsuite/gdb.base/break-interp.exp            |  2 +-
 gdb/testsuite/gdb.base/break-unload-file.exp       |  2 +-
 gdb/testsuite/gdb.base/code_elim.exp               | 10 +--
 gdb/testsuite/gdb.base/dbx.exp                     |  2 +-
 .../gdb.base/kill-detach-inferiors-cmd.exp         |  2 +-
 gdb/testsuite/gdb.base/print-symbol-loading.exp    |  2 +-
 gdb/testsuite/gdb.base/relocate.exp                |  4 +-
 gdb/testsuite/gdb.base/sepdebug.exp                |  2 +-
 gdb/testsuite/gdb.base/sym-file.exp                |  4 +-
 gdb/testsuite/gdb.cp/cp-relocate.exp               |  2 +-
 gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap.exp   |  2 +-
 gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp    |  2 +-
 gdb/testsuite/gdb.linespec/linespec.exp            |  2 +-
 gdb/testsuite/gdb.multi/remove-inferiors.exp       |  2 +-
 gdb/testsuite/gdb.python/py-section-script.exp     |  2 +-
 gdb/testsuite/gdb.server/solib-list.exp            |  2 +-
 gdb/testsuite/gdb.stabs/weird.exp                  |  2 +-
 gdb/testsuite/lib/gdb.exp                          |  8 +-
 gdb/testsuite/lib/mi-support.exp                   |  4 +-
 gdb/ui-out.h                                       | 36 +++++++++
 gdb/utils.c                                        |  8 ++
 gdb/utils.h                                        |  4 +
 32 files changed, 353 insertions(+), 94 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c56de68..064ce21 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,6 +1,41 @@
 2017-04-12  Tom Tromey  <tom@tromey.com>
 
 	PR cli/19551:
+	* utils.h (get_chars_per_line): Declare.
+	* utils.c (get_chars_per_line): New function.
+	* ui-out.h (ui_out::progress_meter): New class.
+	(ui_out::progress, ui_out::do_progress_start)
+	(ui_out::do_progress_notify, ui_out::do_progress_end): New
+	methods.
+	* ui-out.c (do_progress_end)
+	(make_cleanup_ui_out_progress_begin_end, ui_out_progress): New
+	functions.
+	* symfile.c (symbol_file_add_with_addrs): Create a
+	progress_meter.
+	(symbol_file_add_with_addrs): Likewise.
+	* psymtab.c (require_partial_symbols): Create a progress_meter.
+	* mi/mi-out.h (mi_ui_out::do_progress_start)
+	(mi_ui_out::do_progress_notify, mi_ui_out::do_progress_end): New
+	methods.
+	* dwarf2read.c (create_cus_from_index_list): Call
+	ui_out::progress.  Add total_progress_steps argument.
+	(create_cus_from_index): Add total_progress_steps argument.
+	(create_signatured_type_table_from_index): Update.  Call
+	ui_out::progress.
+	(dwarf2_read_index): Update.
+	(dw2_expand_all_symtabs, dwarf2_build_psymtabs_hard): Call
+	ui_out::progress.
+	* cli-out.h (struct cli_ui_out) <do_progress_start,
+	do_progress_notify, do_progress_end>: New methods.
+	<enum meter_stat, struct cli_progress_info>: New.
+	<m_meters>: New member.
+	* cli-out.c (cli_ui_out::do_progress_start)
+	(cli_ui_out::do_progress_notify, cli_ui_out::do_progress_end): New
+	methods.
+
+2017-04-12  Tom Tromey  <tom@tromey.com>
+
+	PR cli/19551:
 	* symfile-add-flags.h (enum symfile_add_flags)
 	<SYMFILE_NOT_FILENAME>: New constant.
 	* symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
diff --git a/gdb/cli-out.c b/gdb/cli-out.c
index 2a59869..e99fce2 100644
--- a/gdb/cli-out.c
+++ b/gdb/cli-out.c
@@ -236,6 +236,91 @@ cli_ui_out::do_redirect (ui_file *outstream)
     m_streams.pop_back ();
 }
 
+void
+cli_ui_out::do_progress_start (const std::string &name, int should_print)
+{
+  struct ui_file *stream = m_streams.back ();
+  cli_progress_info meter;
+
+  meter.last_value = 0;
+  meter.name = name;
+  if (!ui_file_isatty (stream))
+    {
+      fprintf_unfiltered (stream, "%s...", meter.name.c_str ());
+      gdb_flush (stream);
+      meter.printing = WORKING;
+    }
+  else
+    {
+      /* Don't actually emit anything until the first call notify us
+	 of progress.  This makes it so a second progress message can
+	 be started before the first one has been notified, without
+	 messy output.  */
+      meter.printing = should_print ? START : NO_PRINT;
+    }
+
+  m_meters.push_back (meter);
+}
+
+void
+cli_ui_out::do_progress_notify (double howmuch)
+{
+  struct ui_file *stream = m_streams.back ();
+  cli_progress_info &meter (m_meters.back ());
+
+  if (meter.printing == NO_PRINT)
+    return;
+
+  if (meter.printing == START)
+    {
+      fprintf_unfiltered (stream, "%s\n", meter.name.c_str ());
+      gdb_flush (stream);
+      meter.printing = WORKING;
+    }
+
+  if (ui_file_isatty (stream))
+    {
+      int i, max;
+      int width = get_chars_per_line () - 3;
+
+      max = width * howmuch;
+      fprintf_unfiltered (stream, "\r[");
+      for (i = 0; i < width; ++i)
+	fprintf_unfiltered (stream, i < max ? "#" : " ");
+      fprintf_unfiltered (stream, "]");
+      gdb_flush (stream);
+    }
+}
+
+void
+cli_ui_out::do_progress_end ()
+{
+  struct ui_file *stream = m_streams.back ();
+  cli_progress_info &meter = m_meters.back ();
+
+  if (meter.printing != NO_PRINT)
+    {
+      if (ui_file_isatty (stream))
+	{
+	  int i;
+	  int width = get_chars_per_line () - 3;
+
+	  fprintf_unfiltered (stream, "\r");
+	  for (i = 0; i < width + 2; ++i)
+	    fprintf_unfiltered (stream, " ");
+	  fprintf_unfiltered (stream, "\r");
+	  gdb_flush (stream);
+	}
+      else
+	{
+	  fprintf_unfiltered (stream, "done.\n");
+	  gdb_flush (stream);
+	}
+    }
+
+  m_meters.pop_back ();
+}
+
 /* local functions */
 
 /* Like cli_ui_out::do_field_fmt, but takes a variable number of args
diff --git a/gdb/cli-out.h b/gdb/cli-out.h
index 1b6a1ad..51da43d 100644
--- a/gdb/cli-out.h
+++ b/gdb/cli-out.h
@@ -62,6 +62,10 @@ protected:
   virtual void do_flush () override;
   virtual void do_redirect (struct ui_file *outstream) override;
 
+  virtual void do_progress_start (const std::string &, int) override;
+  virtual void do_progress_notify (double) override;
+  virtual void do_progress_end () override;
+
   bool suppress_output ()
   { return m_suppress_output; }
 
@@ -73,6 +77,31 @@ private:
 
   std::vector<ui_file *> m_streams;
   bool m_suppress_output;
+
+  /* Represents the printing state of a progress meter.  */
+  enum meter_state
+  {
+    /* Printing will start with the next output.  */
+    START,
+    /* Printing has already started.  */
+    WORKING,
+    /* Printing should not be done.  */
+    NO_PRINT
+  };
+
+  /* The state of a recent progress meter.  */
+  struct cli_progress_info
+  {
+    /* The current state.  */
+    enum meter_state printing;
+    /* The name to print.  */
+    std::string name;
+    /* The last notification value.  */
+    double last_value;
+  };
+
+  /* Stack of progress meters.  */
+  std::vector<cli_progress_info> m_meters;
 };
 
 extern cli_ui_out *cli_out_new (struct ui_file *stream);
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index b58d0fc..7d99c99 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -2940,7 +2940,8 @@ create_cus_from_index_list (struct objfile *objfile,
 			    const gdb_byte *cu_list, offset_type n_elements,
 			    struct dwarf2_section_info *section,
 			    int is_dwz,
-			    int base_offset)
+			    int base_offset,
+			    double total_progress_steps)
 {
   offset_type i;
 
@@ -2964,6 +2965,8 @@ create_cus_from_index_list (struct objfile *objfile,
 					struct dwarf2_per_cu_quick_data);
       the_cu->is_dwz = is_dwz;
       dwarf2_per_objfile->all_comp_units[base_offset + i / 2] = the_cu;
+
+      current_uiout->progress ((i + 2 * base_offset) / total_progress_steps);
     }
 }
 
@@ -2973,7 +2976,8 @@ create_cus_from_index_list (struct objfile *objfile,
 static void
 create_cus_from_index (struct objfile *objfile,
 		       const gdb_byte *cu_list, offset_type cu_list_elements,
-		       const gdb_byte *dwz_list, offset_type dwz_elements)
+		       const gdb_byte *dwz_list, offset_type dwz_elements,
+		       double total_progress_steps)
 {
   struct dwz_file *dwz;
 
@@ -2983,14 +2987,15 @@ create_cus_from_index (struct objfile *objfile,
 	       dwarf2_per_objfile->n_comp_units);
 
   create_cus_from_index_list (objfile, cu_list, cu_list_elements,
-			      &dwarf2_per_objfile->info, 0, 0);
+			      &dwarf2_per_objfile->info, 0, 0,
+			      total_progress_steps);
 
   if (dwz_elements == 0)
     return;
 
   dwz = dwarf2_get_dwz_file ();
   create_cus_from_index_list (objfile, dwz_list, dwz_elements, &dwz->info, 1,
-			      cu_list_elements / 2);
+			      cu_list_elements / 2, total_progress_steps);
 }
 
 /* Create the signatured type hash table from the index.  */
@@ -2999,7 +3004,9 @@ static void
 create_signatured_type_table_from_index (struct objfile *objfile,
 					 struct dwarf2_section_info *section,
 					 const gdb_byte *bytes,
-					 offset_type elements)
+					 offset_type elements,
+					 offset_type base_progress_step,
+					 double total_progress_steps)
 {
   offset_type i;
   htab_t sig_types_hash;
@@ -3044,6 +3051,8 @@ create_signatured_type_table_from_index (struct objfile *objfile,
       *slot = sig_type;
 
       dwarf2_per_objfile->all_type_units[i / 3] = sig_type;
+
+      current_uiout->progress ((base_progress_step + i) / total_progress_steps);
     }
 
   dwarf2_per_objfile->signatured_types = sig_types_hash;
@@ -3334,6 +3343,7 @@ dwarf2_read_index (struct objfile *objfile)
   const gdb_byte *cu_list, *types_list, *dwz_list = NULL;
   offset_type cu_list_elements, types_list_elements, dwz_list_elements = 0;
   struct dwz_file *dwz;
+  double total_progress_steps;
 
   if (!read_index_from_section (objfile, objfile_name (objfile),
 				use_deprecated_index_sections,
@@ -3368,8 +3378,11 @@ dwarf2_read_index (struct objfile *objfile)
 	}
     }
 
+  total_progress_steps = ((double) cu_list_elements + dwz_list_elements
+			  + types_list_elements);
+
   create_cus_from_index (objfile, cu_list, cu_list_elements, dwz_list,
-			 dwz_list_elements);
+			 dwz_list_elements, total_progress_steps);
 
   if (types_list_elements)
     {
@@ -3384,7 +3397,10 @@ dwarf2_read_index (struct objfile *objfile)
 			   dwarf2_per_objfile->types, 0);
 
       create_signatured_type_table_from_index (objfile, section, types_list,
-					       types_list_elements);
+					       types_list_elements,
+					       (cu_list_elements
+						+ dwz_list_elements),
+					       total_progress_steps);
     }
 
   create_addrmap_from_index (objfile, &local_map);
@@ -3939,16 +3955,17 @@ dw2_expand_symtabs_for_function (struct objfile *objfile,
 static void
 dw2_expand_all_symtabs (struct objfile *objfile)
 {
-  int i;
+  int i, count;
 
   dw2_setup (objfile);
 
-  for (i = 0; i < (dwarf2_per_objfile->n_comp_units
-		   + dwarf2_per_objfile->n_type_units); ++i)
+  count = dwarf2_per_objfile->n_comp_units + dwarf2_per_objfile->n_type_units;
+  for (i = 0; i < count; ++i)
     {
       struct dwarf2_per_cu_data *per_cu = dw2_get_cutu (i);
 
       dw2_instantiate_symtab (per_cu);
+      current_uiout->progress (i / (double) count);
     }
 }
 
@@ -6626,6 +6643,7 @@ dwarf2_build_psymtabs_hard (struct objfile *objfile)
   struct obstack temp_obstack;
   int i;
 
+  current_uiout->progress (0);
   if (dwarf_read_debug)
     {
       fprintf_unfiltered (gdb_stdlog, "Building psymtabs of objfile %s ...\n",
@@ -6656,6 +6674,7 @@ dwarf2_build_psymtabs_hard (struct objfile *objfile)
       struct dwarf2_per_cu_data *per_cu = dw2_get_cutu (i);
 
       process_psymtab_comp_unit (per_cu, 0, language_minimal);
+      current_uiout->progress (i / (double) dwarf2_per_objfile->n_comp_units);
     }
 
   /* This has to wait until we read the CUs, we need the list of DWOs.  */
diff --git a/gdb/mi/mi-out.h b/gdb/mi/mi-out.h
index fea94f2..490c06a 100644
--- a/gdb/mi/mi-out.h
+++ b/gdb/mi/mi-out.h
@@ -72,6 +72,18 @@ protected:
   virtual bool do_is_mi_like_p () override
   { return true; }
 
+  virtual void do_progress_start (const std::string &, int) override
+  {
+  }
+
+  virtual void do_progress_notify (double) override
+  {
+  }
+
+  virtual void do_progress_end () override
+  {
+  }
+
 private:
 
   void field_separator ();
diff --git a/gdb/psymtab.c b/gdb/psymtab.c
index bb482ee..9ffb796 100644
--- a/gdb/psymtab.c
+++ b/gdb/psymtab.c
@@ -35,6 +35,7 @@
 #include "language.h"
 #include "cp-support.h"
 #include "gdbcmd.h"
+#include "common/gdb_optional.h"
 
 struct psymbol_bcache
 {
@@ -78,23 +79,22 @@ require_partial_symbols (struct objfile *objfile, int verbose)
 
       if (objfile->sf->sym_read_psymbols)
 	{
+	  gdb::optional<ui_out::progress_meter> meter;
+
 	  if (verbose)
 	    {
-	      printf_unfiltered (_("Reading symbols from %s..."),
-				 objfile_name (objfile));
-	      gdb_flush (gdb_stdout);
+	      std::string text = (std::string ("Reading symbols from ")
+				  + objfile_name (objfile));
+
+	      meter.emplace (current_uiout, text, verbose);
 	    }
+
 	  (*objfile->sf->sym_read_psymbols) (objfile);
+
 	  if (verbose)
 	    {
 	      if (!objfile_has_symbols (objfile))
-		{
-		  wrap_here ("");
-		  printf_unfiltered (_("(no debugging symbols found)..."));
-		  wrap_here ("");
-		}
-
-	      printf_unfiltered (_("done.\n"));
+		printf_unfiltered (_(" (no debugging symbols found)\n"));
 	    }
 	}
     }
diff --git a/gdb/symfile.c b/gdb/symfile.c
index ff1e726..285663e 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -1165,50 +1165,53 @@ symbol_file_add_with_addrs (bfd *abfd, const char *name,
   /* We either created a new mapped symbol table, mapped an existing
      symbol table file which has not had initial symbol reading
      performed, or need to read an unmapped symbol table.  */
-  if (should_print)
-    {
-      if (deprecated_pre_add_symbol_hook)
-	deprecated_pre_add_symbol_hook (name);
-      else
-	{
-	  printf_unfiltered (_("Reading symbols from %s..."), name);
-	  wrap_here ("");
-	  gdb_flush (gdb_stdout);
-	}
-    }
-  syms_from_objfile (objfile, addrs, add_flags);
+  {
+    std::string progress_text;
+
+    if (should_print)
+      {
+	if (deprecated_pre_add_symbol_hook)
+	  deprecated_pre_add_symbol_hook (name);
+
+	progress_text = std::string ("Reading symbols from ") + name;
+      }
+    else
+      progress_text = "";
+
+    ui_out::progress_meter meter (current_uiout, progress_text, should_print);
+    syms_from_objfile (objfile, addrs, add_flags);
+  }
 
   /* We now have at least a partial symbol table.  Check to see if the
      user requested that all symbols be read on initial access via either
      the gdb startup command line or on a per symbol file basis.  Expand
      all partial symbol tables for this objfile if so.  */
 
-  if ((flags & OBJF_READNOW))
-    {
-      if (should_print)
-	{
-	  printf_unfiltered (_("expanding to full symbols..."));
-	  wrap_here ("");
-	  gdb_flush (gdb_stdout);
-	}
+  {
+    if ((flags & OBJF_READNOW))
+      {
+	std::string progress_text;
 
-      if (objfile->sf)
-	objfile->sf->qf->expand_all_symtabs (objfile);
-    }
+	if (should_print)
+	  progress_text = std::string ("Expanding full symbols for ") + name;
+	else
+	  progress_text = "";
 
-  if (should_print && !objfile_has_symbols (objfile))
-    {
-      wrap_here ("");
-      printf_unfiltered (_("(no debugging symbols found)..."));
-      wrap_here ("");
-    }
+	ui_out::progress_meter meter (current_uiout, progress_text,
+				      should_print);
+
+	if (objfile->sf)
+	  objfile->sf->qf->expand_all_symtabs (objfile);
+      }
+  }
 
   if (should_print)
     {
+      if (!objfile_has_symbols (objfile))
+	printf_unfiltered (_(" (no debugging symbols found)\n"));
+
       if (deprecated_post_add_symbol_hook)
 	deprecated_post_add_symbol_hook ();
-      else
-	printf_unfiltered (_("done.\n"));
     }
 
   /* We print some messages regardless of whether 'from_tty ||
@@ -2483,10 +2486,6 @@ reread_symbols (void)
 	  struct cleanup *old_cleanups;
 	  struct section_offsets *offsets;
 	  int num_offsets;
-	  char *original_name;
-
-	  printf_unfiltered (_("`%s' has changed; re-reading symbols.\n"),
-			     objfile_name (objfile));
 
 	  /* There are various functions like symbol_file_add,
 	     symfile_bfd_open, syms_from_objfile, etc., which might
@@ -2502,6 +2501,11 @@ reread_symbols (void)
 	  /* We need to do this whenever any symbols go away.  */
 	  make_cleanup (clear_symtab_users_cleanup, 0 /*ignore*/);
 
+	  std::string text
+	    = (std::string (_("`%s' has changed; re-reading symbols.\n"))
+	       + objfile_name (objfile));
+	  ui_out::progress_meter meter (current_uiout, text, 1);
+
 	  if (exec_bfd != NULL
 	      && filename_cmp (bfd_get_filename (objfile->obfd),
 			       bfd_get_filename (exec_bfd)) == 0)
@@ -2548,8 +2552,7 @@ reread_symbols (void)
 	      error (_("Can't open %s to read symbols."), obfd_filename);
 	  }
 
-	  original_name = xstrdup (objfile->original_name);
-	  make_cleanup (xfree, original_name);
+	  std::string original_name (objfile->original_name);
 
 	  /* bfd_openr sets cacheable to true, which is what we want.  */
 	  if (!bfd_check_format (objfile->obfd, bfd_object))
@@ -2598,8 +2601,9 @@ reread_symbols (void)
 	  set_objfile_per_bfd (objfile);
 
 	  objfile->original_name
-	    = (char *) obstack_copy0 (&objfile->objfile_obstack, original_name,
-				      strlen (original_name));
+	    = (char *) obstack_copy0 (&objfile->objfile_obstack,
+				      original_name.c_str (),
+				      original_name.length ());
 
 	  /* Reset the sym_fns pointer.  The ELF reader can change it
 	     based on whether .gdb_index is present, and we need it to
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 7f858e6..76915e1 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,30 @@
+2017-04-12  Tom Tromey  <tom@tromey.com>
+
+	PR cli/19551:
+	* lib/mi-support.exp (mi_gdb_file_cmd): Update regexps.
+	* lib/gdb.exp (gdb_file_cmd): Update regexps.
+	* gdb.stabs/weird.exp: Update regexp.
+	* gdb.server/solib-list.exp: Update regexp.
+	* gdb.linespec/linespec.exp: Update regexp.
+	* gdb.multi/remove-inferiors.exp (test_remove_inferiors): Update
+	regexp.
+	* gdb.dwarf2/dw2-stack-boundary.exp: Update regexp.
+	* gdb.dwarf2/dw2-objfile-overlap.exp: Update regexp.
+	* gdb.cp/cp-relocate.exp: Update regexp.
+	* gdb.base/sym-file.exp: Update regexps.
+	* gdb.base/sepdebug.exp: Update regexps.
+	* gdb.base/relocate.exp: Update regexps.
+	* gdb.base/print-symbol-loading.exp (test_load_core): Update regexp.
+	* gdb.base/kill-detach-inferiors-cmd.exp: Update regexp.
+	* gdb.base/dbx.exp (gdb_file_cmd): Update regexp.
+	* gdb.base/code_elim.exp: Update regexp.
+	* gdb.base/break-unload-file.exp (test_break): Update regexp.
+	* gdb.base/break-interp.exp (test_attach_gdb): Update regexp.
+	* gdb.base/break-idempotent.exp (force_breakpoint_re_set): Update
+	regexp.
+	* gdb.base/attach.exp (do_attach_tests): Update regexp.
+	* gdb.python/py-section-script.exp: Update regexps.
+
 2017-04-12  Pedro Alves  <palves@redhat.com>
 
 	PR gdb/21323
diff --git a/gdb/testsuite/gdb.base/attach.exp b/gdb/testsuite/gdb.base/attach.exp
index 98a50f5..301f2ef 100644
--- a/gdb/testsuite/gdb.base/attach.exp
+++ b/gdb/testsuite/gdb.base/attach.exp
@@ -167,10 +167,10 @@ proc do_attach_tests {} {
     set test "set file, before attach1"
     gdb_test_multiple "file $binfile" "$test" {
 	-re "Load new symbol table from.*y or n. $" {
-	    gdb_test "y" "Reading symbols from $escapedbinfile\.\.\.*done." \
+	    gdb_test "y" "Reading symbols from $escapedbinfile.*" \
 		"$test (re-read)"
 	}
-	-re "Reading symbols from $escapedbinfile\.\.\.*done.*$gdb_prompt $" {
+	-re "Reading symbols from $escapedbinfile.*$gdb_prompt $" {
 	    pass "$test"
 	}
     }
@@ -226,7 +226,7 @@ proc do_attach_tests {} {
 	    # executable's symbol table.  This in turn always results in
 	    # asking the user for actually loading the symbol table of the
 	    # executable.
-	    gdb_test "y" "Reading symbols from $sysroot$escapedbinfile\.\.\.*done." \
+	    gdb_test "y" "Reading symbols from $sysroot$escapedbinfile" \
 		"$test (reset file)"
 
 	    set found_exec_file 1
@@ -241,10 +241,10 @@ proc do_attach_tests {} {
 	set test "load file manually, after attach2"
 	gdb_test_multiple "file $binfile" "$test" {
 	    -re "A program is being debugged already..*Are you sure you want to change the file.*y or n. $" {
-		gdb_test "y" "Reading symbols from $escapedbinfile\.\.\.*done." \
+		gdb_test "y" "Reading symbols from $escapedbinfile" \
 		    "$test (re-read)"
 	    }
-	    -re "Reading symbols from $escapedbinfile\.\.\.*done.*$gdb_prompt $" {
+	    -re "Reading symbols from $escapedbinfile.*$gdb_prompt $" {
 		pass "$test"
 	    }
 	}
diff --git a/gdb/testsuite/gdb.base/break-idempotent.exp b/gdb/testsuite/gdb.base/break-idempotent.exp
index 2944edd..faf9d0a 100644
--- a/gdb/testsuite/gdb.base/break-idempotent.exp
+++ b/gdb/testsuite/gdb.base/break-idempotent.exp
@@ -69,7 +69,7 @@ proc force_breakpoint_re_set {} {
 	    send_gdb "y\n"
 	    exp_continue
 	}
-	-re "Reading symbols from.*done.*$gdb_prompt $" {
+	-re "Reading symbols from.*$gdb_prompt $" {
 	    pass $test
 	}
     }
diff --git a/gdb/testsuite/gdb.base/break-interp.exp b/gdb/testsuite/gdb.base/break-interp.exp
index 3a6d9a9..4398d96 100644
--- a/gdb/testsuite/gdb.base/break-interp.exp
+++ b/gdb/testsuite/gdb.base/break-interp.exp
@@ -258,7 +258,7 @@ proc test_attach_gdb {file pid displacement prefix} {
 	# Print the "PIE (Position Independent Executable) displacement" message.
 	gdb_test_no_output "set verbose on"
 
-	gdb_test "file $file" "Reading symbols from .*done\\." "file"
+	gdb_test "file $file" "Reading symbols from .*" "file"
 
 	set test "attach"
 	gdb_test_multiple "attach $pid" $test {
diff --git a/gdb/testsuite/gdb.base/break-unload-file.exp b/gdb/testsuite/gdb.base/break-unload-file.exp
index e33ee9f..df464c8 100644
--- a/gdb/testsuite/gdb.base/break-unload-file.exp
+++ b/gdb/testsuite/gdb.base/break-unload-file.exp
@@ -132,7 +132,7 @@ proc test_break { initial_load always_inserted break_command } {
 		send_gdb "y\n"
 		exp_continue
 	    }
-	    -re "Reading symbols from.*done.*$gdb_prompt $" {
+	    -re "Reading symbols from.*$gdb_prompt $" {
 		pass $test
 	    }
 	}
diff --git a/gdb/testsuite/gdb.base/code_elim.exp b/gdb/testsuite/gdb.base/code_elim.exp
index 29d9f37..24b4530 100644
--- a/gdb/testsuite/gdb.base/code_elim.exp
+++ b/gdb/testsuite/gdb.base/code_elim.exp
@@ -75,7 +75,7 @@ gdb_exit
 gdb_start
 
 gdb_test "symbol-file ${binfile1}" \
-	"Reading symbols from .*${testfile1}\\.\\.\\.done\\.(|\r\nUsing host libthread_db library .*libthread_db.so.*\\.)" \
+	"Reading symbols from .*${testfile1}(|\r\nUsing host libthread_db library .*libthread_db.so.*\\.).*" \
 	"symbol-file ${testfile1}"
 
 with_test_prefix "single psymtabs" {
@@ -109,13 +109,13 @@ gdb_start
 
 with_test_prefix "order1" {
     gdb_test "add-symbol-file ${binfile1} 0x100000 -s .bss 0x120000" \
-	    "Reading symbols from .*${testfile1}\\.\\.\\.done\\." \
+	    "Reading symbols from .*${testfile1}.*" \
 	    "add-symbol-file ${testfile1} 0x100000" \
 	    "add symbol table from file \".*${testfile1}\" at.*\\(y or n\\) " \
 	    "y"
 
     gdb_test "add-symbol-file ${binfile2} 0x200000 -s .data 0x210000 -s .bss 0x220000" \
-	    "Reading symbols from .*${testfile2}\\.\\.\\.done\\." \
+	    "Reading symbols from .*${testfile2}.*" \
 	    "add-symbol-file ${testfile2} 0x200000" \
 	    "add symbol table from file \".*${testfile2}\" at.*\\(y or n\\) " \
 	    "y"
@@ -133,13 +133,13 @@ gdb_start
 
 with_test_prefix "order2" {
     gdb_test "add-symbol-file ${binfile2} 0x200000 -s .data 0x210000 -s .bss 0x220000" \
-	    "Reading symbols from .*${testfile2}\\.\\.\\.done\\." \
+	    "Reading symbols from .*${testfile2}.*" \
 	    "add-symbol-file ${testfile2} 0x200000" \
 	    "add symbol table from file \".*${testfile2}\" at.*\\(y or n\\) " \
 	    "y"
 
     gdb_test "add-symbol-file ${binfile1} 0x100000 -s .bss 0x120000" \
-	    "Reading symbols from .*${testfile1}\\.\\.\\.done\\." \
+	    "Reading symbols from .*${testfile1}.*" \
 	    "add-symbol-file ${testfile1} 0x100000" \
 	    "add symbol table from file \".*${testfile1}\" at.*\\(y or n\\) " \
 	    "y"
diff --git a/gdb/testsuite/gdb.base/dbx.exp b/gdb/testsuite/gdb.base/dbx.exp
index 19bc709..023093c 100644
--- a/gdb/testsuite/gdb.base/dbx.exp
+++ b/gdb/testsuite/gdb.base/dbx.exp
@@ -189,7 +189,7 @@ proc gdb_file_cmd {arg} {
             }
             return 0
         }
-        -re "Reading symbols from.*done.*$gdb_prompt $" {
+        -re "Reading symbols from.*$gdb_prompt $" {
             verbose "\t\tLoaded $arg into the $GDB"
             send_gdb "exec-file $arg\n" 
             gdb_expect {
diff --git a/gdb/testsuite/gdb.base/kill-detach-inferiors-cmd.exp b/gdb/testsuite/gdb.base/kill-detach-inferiors-cmd.exp
index 23c262f..26dd6fe 100644
--- a/gdb/testsuite/gdb.base/kill-detach-inferiors-cmd.exp
+++ b/gdb/testsuite/gdb.base/kill-detach-inferiors-cmd.exp
@@ -34,7 +34,7 @@ runto_main
 # Add another forked inferior process.
 gdb_test "add-inferior" "Added inferior 2" "add inferior 2"
 gdb_test "inferior 2" "Switching to inferior 2.*"
-gdb_test "file $binfile" "Reading symbols from .*done.*" "load binary"
+gdb_test "file $binfile" "Reading symbols from .*" "load binary"
 gdb_test "start" "Temporary breakpoint.*Starting program.*"
 
 # Add an attached inferior process.
diff --git a/gdb/testsuite/gdb.base/print-symbol-loading.exp b/gdb/testsuite/gdb.base/print-symbol-loading.exp
index d7b3540..331a7a8 100644
--- a/gdb/testsuite/gdb.base/print-symbol-loading.exp
+++ b/gdb/testsuite/gdb.base/print-symbol-loading.exp
@@ -56,7 +56,7 @@ proc test_load_core { print_symbol_loading } {
 	gdb_reinitialize_dir $srcdir/$subdir
 	gdb_test_no_output "set print symbol-loading $print_symbol_loading"
 	if { ${print_symbol_loading} != "off" } {
-	    gdb_test "file $binfile" "Reading symbols from.*done\\." "file"
+	    gdb_test "file $binfile" "Reading symbols from .*" "file"
 	} else {
 	    gdb_test_no_output "file $binfile" "file"
 	}
diff --git a/gdb/testsuite/gdb.base/relocate.exp b/gdb/testsuite/gdb.base/relocate.exp
index 5639cc8..9455fb1 100644
--- a/gdb/testsuite/gdb.base/relocate.exp
+++ b/gdb/testsuite/gdb.base/relocate.exp
@@ -38,7 +38,7 @@ foreach x {"-raednow" "readnow" "foo" "-readnow s"} {
 
 # Load the object file.
 gdb_test "add-symbol-file ${binfile} 0" \
-	"Reading symbols from .*${testfile}\\.o\\.\\.\\.done\\.(|\r\nUsing host libthread_db library .*libthread_db.so.*\\.)" \
+	"Reading symbols from .*${testfile}\\.o(|\r\nUsing host libthread_db library .*libthread_db.so.*\\.).*" \
 	"add-symbol-file ${testfile}.o 0" \
 	"add symbol table from file \".*${testfile}\\.o\" at\[ \t\r\n\]+\.text_addr = 0x0\[\r\n\]+\\(y or n\\) " \
 	"y"
@@ -87,7 +87,7 @@ gdb_test_no_output "set \$offset = 0x10000"
 
 # Load the object file.
 gdb_test "add-symbol-file ${binfile} \$offset" \
-	"Reading symbols from .*${testfile}\\.o\\.\\.\\.done\\.(|\r\nUsing host libthread_db library .*libthread_db.so.*\\.)" \
+	"Reading symbols from .*${testfile}\\.o(|\r\nUsing host libthread_db library .*libthread_db.so.*\\.).*" \
 	"add-symbol-file ${testfile}.o \$offset" \
 	"add symbol table from file \".*${testfile}\\.o\" at\[ \t\r\n\]+\.text_addr = 0x10000\[\r\n\]+\\(y or n\\) " \
 	"y"
diff --git a/gdb/testsuite/gdb.base/sepdebug.exp b/gdb/testsuite/gdb.base/sepdebug.exp
index ce55aa3..cd93e6b 100644
--- a/gdb/testsuite/gdb.base/sepdebug.exp
+++ b/gdb/testsuite/gdb.base/sepdebug.exp
@@ -660,7 +660,7 @@ if {[build_executable sepdebug.exp sepdebug2 sepdebug2.c debug] != -1
 
     set escapedobjdirsubdir [string_to_regexp [standard_output_file {}]]
 
-    gdb_test "file [standard_output_file sepdebug2]" "warning: the debug information found in \"${escapedobjdirsubdir}/sepdebug2\\.debug\" does not match \"${escapedobjdirsubdir}/sepdebug2\" \\(CRC mismatch\\)\\..*\\(no debugging symbols found\\).*" "CRC mismatch is reported"
+    gdb_test "file [standard_output_file sepdebug2]" "warning: the debug information found in \"${escapedobjdirsubdir}/sepdebug2\\.debug\" does not match \"${escapedobjdirsubdir}/sepdebug2\" \\(CRC mismatch\\)\\..*" "CRC mismatch is reported"
 }
 
 
diff --git a/gdb/testsuite/gdb.base/sym-file.exp b/gdb/testsuite/gdb.base/sym-file.exp
index f058021..680cea5 100644
--- a/gdb/testsuite/gdb.base/sym-file.exp
+++ b/gdb/testsuite/gdb.base/sym-file.exp
@@ -93,7 +93,7 @@ if {!$result} then {
 
 # 3) Add the library's symbols using 'add-symbol-file'.
 set result [gdb_test "add-symbol-file ${lib_syms} addr" \
-		     "Reading symbols from .*${lib_syms}\\.\\.\\.done\\." \
+		     "Reading symbols from .*${lib_syms}.*" \
 		     "add-symbol-file ${lib_basename}.so addr" \
 		     "add symbol table from file \".*${lib_basename}\\.so\"\
  at.*\\(y or n\\) " \
@@ -177,7 +177,7 @@ with_test_prefix "stale bkpts" {
 
     # Load the library's symbols.
     gdb_test "add-symbol-file ${lib_syms} addr" \
-	"Reading symbols from .*${lib_syms}\\.\\.\\.done\\." \
+	"Reading symbols from .*${lib_syms}.*" \
 	"add-symbol-file ${lib_basename}.so addr" \
 	"add symbol table from file \".*${lib_syms}\"\
 at.*\\(y or n\\) " \
diff --git a/gdb/testsuite/gdb.cp/cp-relocate.exp b/gdb/testsuite/gdb.cp/cp-relocate.exp
index 50ddebd..7827269 100644
--- a/gdb/testsuite/gdb.cp/cp-relocate.exp
+++ b/gdb/testsuite/gdb.cp/cp-relocate.exp
@@ -123,7 +123,7 @@ gdb_start
 gdb_reinitialize_dir $srcdir/$subdir
 
 gdb_test "add-symbol-file ${binfile} 0 -s ${func1_sec} 0x10000 -s ${func2_sec} 0x20000" \
-	"Reading symbols from .*${testfile}\\.o\\.\\.\\.done\\.(|\r\nUsing host libthread_db library .*libthread_db.so.*\\.)" \
+	"Reading symbols from .*${testfile}\\.o(|\r\nUsing host libthread_db library .*libthread_db.so.*\\.).*" \
 	"add-symbol-file ${testfile}.o" \
 	"add symbol table from file \".*${testfile}\\.o\" at.*\\(y or n\\) " \
 	"y"
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap.exp b/gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap.exp
index 90a78ef..50628b4 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap.exp
@@ -37,7 +37,7 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile_outer}" "${binfile_outer}" \
 clean_restart $executable_outer
 
 gdb_test "add-symbol-file $binfile_inner outer_inner" \
-         {Reading symbols from .*\.\.\.done\.} "add-symbol-file" \
+         {Reading symbols from .*} "add-symbol-file" \
 	 "\r\n\t\\.text_addr = 0x\[0-9a-f\]+\r\n\\(y or n\\) \$" "y"
 
 # Expand symtab for ${binfile_outer}.
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp b/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp
index eb9f422..2f455fa 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp
@@ -38,7 +38,7 @@ if [is_remote host] {
     }
 }
 gdb_test_no_output "set complaints 100"
-gdb_test "file $binfile" {Reading symbols from .*\.\.\.location description stack underflow\.\.\.location description stack overflow\.\.\..*done\.} "check partial symtab errors"
+gdb_test "file $binfile" {Reading symbols from .*location description stack underflow.*location description stack overflow.*} "check partial symtab errors"
 
 gdb_test "p underflow" {Asked for position 0 of stack, stack only has 0 elements on it\.}
 gdb_test "p overflow" " = 2"
diff --git a/gdb/testsuite/gdb.linespec/linespec.exp b/gdb/testsuite/gdb.linespec/linespec.exp
index ccb73c8..aba4db3 100644
--- a/gdb/testsuite/gdb.linespec/linespec.exp
+++ b/gdb/testsuite/gdb.linespec/linespec.exp
@@ -123,7 +123,7 @@ gdb_test "inferior 2" "Switching to inferior 2 .*" \
 # Note that in particular this should not cause errors when re-setting
 # breakpoints.
 gdb_test "file $binfile" \
-    "Reading symbols from .*done." \
+    "Reading symbols from .*." \
     "set the new inferior file for linespec tests"
 
 gdb_test "break main" \
diff --git a/gdb/testsuite/gdb.multi/remove-inferiors.exp b/gdb/testsuite/gdb.multi/remove-inferiors.exp
index b89e0be..ea99e78 100644
--- a/gdb/testsuite/gdb.multi/remove-inferiors.exp
+++ b/gdb/testsuite/gdb.multi/remove-inferiors.exp
@@ -49,7 +49,7 @@ proc test_remove_inferiors { } {
     # Load binfile and start the inferior.
     set binfile_re [string_to_regexp ${binfile}]
     gdb_test "file ${binfile}" \
-	     "Reading symbols from ${binfile_re}...done." \
+	     "Reading symbols from ${binfile_re}.*" \
 	     "load binary"
 
     if {![runto_main]} {
diff --git a/gdb/testsuite/gdb.python/py-section-script.exp b/gdb/testsuite/gdb.python/py-section-script.exp
index 6707156..212389a 100644
--- a/gdb/testsuite/gdb.python/py-section-script.exp
+++ b/gdb/testsuite/gdb.python/py-section-script.exp
@@ -140,7 +140,7 @@ with_test_prefix "sepdebug" {
 	-re "\r\nwarning: Invalid entry in \\.debug_gdb_scripts section.*\r\n$gdb_prompt $" {
 	    fail $test
 	}
-	-re "done\\.\r\n$gdb_prompt $" {
+	-re "Reading symbols from ${binfile}.*$gdb_prompt $" {
 	    pass $test
 	}
     }
diff --git a/gdb/testsuite/gdb.server/solib-list.exp b/gdb/testsuite/gdb.server/solib-list.exp
index 64fc70b..f3e41a2 100644
--- a/gdb/testsuite/gdb.server/solib-list.exp
+++ b/gdb/testsuite/gdb.server/solib-list.exp
@@ -88,7 +88,7 @@ foreach nonstop { 0 1 } { with_test_prefix "non-stop $nonstop" {
     # but before "target remote" below so that qSymbol data get already
     # initialized from BINFILE (and not from ld.so first needing a change to
     # BINFILE later).
-    gdb_test "file ${binfile}" {Reading symbols from .*\.\.\.done\..*} "file binfile" \
+    gdb_test "file ${binfile}" {Reading symbols from .*} "file binfile" \
 	     {(Are you sure you want to change the file|Load new symbol table from ".*")\? \(y or n\) } "y"
 
     set test "target $gdbserver_protocol"
diff --git a/gdb/testsuite/gdb.stabs/weird.exp b/gdb/testsuite/gdb.stabs/weird.exp
index 68a3ed6..e398a01 100644
--- a/gdb/testsuite/gdb.stabs/weird.exp
+++ b/gdb/testsuite/gdb.stabs/weird.exp
@@ -301,7 +301,7 @@ gdb_expect 60 {
 	send_gdb "y\n"
 	exp_continue
     }
-    -re "^Reading symbols from .*$binfile_re\\.\\.\\.done\.(|\r\nUsing host libthread_db library .*libthread_db.so.*\\.)\r\n$gdb_prompt $" {
+    -re "^Reading symbols from .*${binfile}.*(|\r\nUsing host libthread_db library .*libthread_db.so.*\\.)$gdb_prompt $" {
 	pass "weirdx.o read without error"
     }
     -re ".*$gdb_prompt $" {
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index ea77361..43510ba 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -1465,17 +1465,17 @@ proc gdb_file_cmd { arg } {
 
     send_gdb "file $arg\n"
     gdb_expect 120 {
-	-re "Reading symbols from.*LZMA support was disabled.*done.*$gdb_prompt $" {
+	-re "Reading symbols from.*LZMA support was disabled.*$gdb_prompt $" {
 	    verbose "\t\tLoaded $arg into $GDB; .gnu_debugdata found but no LZMA available"
 	    set gdb_file_cmd_debug_info "lzma"
 	    return 0
 	}
-	-re "Reading symbols from.*no debugging symbols found.*done.*$gdb_prompt $" {
+	-re "Reading symbols from.*no debugging symbols found.*$gdb_prompt $" {
 	    verbose "\t\tLoaded $arg into $GDB with no debugging symbols"
 	    set gdb_file_cmd_debug_info "nodebug"
 	    return 0
 	}
-        -re "Reading symbols from.*done.*$gdb_prompt $" {
+        -re "Reading symbols from.*$gdb_prompt $" {
             verbose "\t\tLoaded $arg into $GDB"
 	    set gdb_file_cmd_debug_info "debug"
 	    return 0
@@ -1483,7 +1483,7 @@ proc gdb_file_cmd { arg } {
         -re "Load new symbol table from \".*\".*y or n. $" {
             send_gdb "y\n"
             gdb_expect 120 {
-                -re "Reading symbols from.*done.*$gdb_prompt $" {
+                -re "Reading symbols from.*$gdb_prompt $" {
                     verbose "\t\tLoaded $arg with new symbol table into $GDB"
 		    set gdb_file_cmd_debug_info "debug"
 		    return 0
diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-support.exp
index 5682b7e..b8b2029 100644
--- a/gdb/testsuite/lib/mi-support.exp
+++ b/gdb/testsuite/lib/mi-support.exp
@@ -504,7 +504,7 @@ proc mi_gdb_file_cmd { arg } {
 # output.  Queries are an error for mi.
     send_gdb "105-file-exec-and-symbols $arg\n"
     gdb_expect 120 {
-	-re "Reading symbols from.*done.*$mi_gdb_prompt$" {
+	-re "Reading symbols from.*$mi_gdb_prompt$" {
 	    verbose "\t\tLoaded $arg into the $GDB"
 	    return 0
 	}
@@ -515,7 +515,7 @@ proc mi_gdb_file_cmd { arg } {
 	-re "Load new symbol table from \".*\".*y or n. $" {
 	    send_gdb "y\n"
 	    gdb_expect 120 {
-		-re "Reading symbols from.*done.*$mi_gdb_prompt$" {
+		-re "Reading symbols from.*$mi_gdb_prompt$" {
 		    verbose "\t\tLoaded $arg with new symbol table into $GDB"
 		    # All OK
 		}
diff --git a/gdb/ui-out.h b/gdb/ui-out.h
index 9278cab..7857fba 100644
--- a/gdb/ui-out.h
+++ b/gdb/ui-out.h
@@ -135,6 +135,38 @@ class ui_out
   bool query_table_field (int colno, int *width, int *alignment,
 			  const char **col_name);
 
+  /* An object that starts and finishes a progress meter.  */
+  class progress_meter
+  {
+  public:
+    progress_meter (struct ui_out *uiout, const std::string &name,
+		    int should_print)
+      : m_uiout (uiout)
+    {
+      m_uiout->do_progress_start (name, should_print);
+    }
+
+    ~progress_meter ()
+    {
+      m_uiout->do_progress_notify (1.0);
+      m_uiout->do_progress_end ();
+    }
+
+    progress_meter (const progress_meter &) = delete;
+    progress_meter &operator= (const progress_meter &) = delete;
+
+  private:
+
+    struct ui_out *m_uiout;
+  };
+
+  /* Emit some progress corresponding to the most recently created
+     progress meter.  HOWMUCH may range from 0.0 to 1.0.  */
+  void progress (double howmuch)
+  {
+    do_progress_notify (howmuch);
+  }
+
  protected:
 
   virtual void do_table_begin (int nbrofcols, int nr_rows, const char *tblid)
@@ -165,6 +197,10 @@ class ui_out
   virtual void do_flush () = 0;
   virtual void do_redirect (struct ui_file *outstream) = 0;
 
+  virtual void do_progress_start (const std::string &, int) = 0;
+  virtual void do_progress_notify (double) = 0;
+  virtual void do_progress_end () = 0;
+
   /* Set as not MI-like by default.  It is overridden in subclasses if
      necessary.  */
 
diff --git a/gdb/utils.c b/gdb/utils.c
index b4332f8..302920b 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -1847,6 +1847,14 @@ reinitialize_more_filter (void)
   chars_printed = 0;
 }
 
+/* See utils.h.  */
+
+int
+get_chars_per_line (void)
+{
+  return chars_per_line;
+}
+
 /* Indicate that if the next sequence of characters overflows the line,
    a newline should be inserted here rather than when it hits the end.
    If INDENT is non-null, it is a string to be printed to indent the
diff --git a/gdb/utils.h b/gdb/utils.h
index f3e8007..c371bad 100644
--- a/gdb/utils.h
+++ b/gdb/utils.h
@@ -155,6 +155,10 @@ extern void wrap_here (const char *);
 
 extern void reinitialize_more_filter (void);
 
+/* Return the number of characters in a line.  */
+
+extern int get_chars_per_line (void);
+
 extern int pagination_enabled;
 
 extern struct ui_file **current_ui_gdb_stdout_ptr (void);
-- 
2.9.3

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [RFA 1/2] Use a distinguishing name for minidebug objfile
  2017-04-13  4:17 [RFA 0/2] Fix PR cli/19551 Tom Tromey
  2017-04-13  4:17 ` [RFA 2/2] PR cli/19551 - change formatting of "Reading symbols" messages Tom Tromey
@ 2017-04-13  4:44 ` Tom Tromey
  2017-04-18 17:42   ` Pedro Alves
  1 sibling, 1 reply; 12+ messages in thread
From: Tom Tromey @ 2017-04-13  4:44 UTC (permalink / raw)
  To: gdb-patches; +Cc: Tom Tromey

One part of PR cli/19951 is that the mini debug info objfile reuses the
name of the main objfile from which it comes.  This can be seen because
gdb claims to be reading symbols from the same file two times, like:

Reading symbols from /bin/gdb...Reading symbols from /bin/gdb...(no debugging symbols found)...done.

I think this would be less confusing if the minidebug objfile were given
a different name.  That is what this patch implements.  It also arranges
for the minidebug objfile to be marked OBJF_NOT_FILENAME.

gdb/ChangeLog
2017-04-12  Tom Tromey  <tom@tromey.com>

	PR cli/19551:
	* symfile-add-flags.h (enum symfile_add_flags)
	<SYMFILE_NOT_FILENAME>: New constant.
	* symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
	objfile name from BFD.
	(symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
	* minidebug.c (find_separate_debug_file_in_section): Put
	".gnu_debugdata" into BFD's file name.
---
 gdb/ChangeLog           | 11 +++++++++++
 gdb/minidebug.c         |  5 ++++-
 gdb/symfile-add-flags.h |  7 +++++--
 gdb/symfile.c           |  4 +++-
 4 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 315932e..c56de68 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,14 @@
+2017-04-12  Tom Tromey  <tom@tromey.com>
+
+	PR cli/19551:
+	* symfile-add-flags.h (enum symfile_add_flags)
+	<SYMFILE_NOT_FILENAME>: New constant.
+	* symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
+	objfile name from BFD.
+	(symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
+	* minidebug.c (find_separate_debug_file_in_section): Put
+	".gnu_debugdata" into BFD's file name.
+
 2017-04-13  Pedro Alves  <palves@redhat.com>
 
 	* breakpoint.h (struct breakpoint): Reindent.
diff --git a/gdb/minidebug.c b/gdb/minidebug.c
index d4687dd..c2ada46 100644
--- a/gdb/minidebug.c
+++ b/gdb/minidebug.c
@@ -270,7 +270,10 @@ find_separate_debug_file_in_section (struct objfile *objfile)
     return NULL;
 
 #ifdef HAVE_LIBLZMA
-  abfd = gdb_bfd_openr_iovec (objfile_name (objfile), gnutarget, lzma_open,
+  std::string filename = (std::string (".gnu_debugdata for ")
+			  + objfile_name (objfile));
+
+  abfd = gdb_bfd_openr_iovec (filename.c_str (), gnutarget, lzma_open,
 			      section, lzma_pread, lzma_close, lzma_stat);
   if (abfd == NULL)
     return NULL;
diff --git a/gdb/symfile-add-flags.h b/gdb/symfile-add-flags.h
index 4d5f58a..c2c6fd2 100644
--- a/gdb/symfile-add-flags.h
+++ b/gdb/symfile-add-flags.h
@@ -40,8 +40,11 @@ enum symfile_add_flag
 
     /* Do not immediately read symbols for this file.  By default,
        symbols are read when the objfile is created.  */
-    SYMFILE_NO_READ = 1 << 4
-  };
+    SYMFILE_NO_READ = 1 << 4,
+
+    /* The new objfile should be marked OBJF_NOT_FILENAME.  */
+    SYMFILE_NOT_FILENAME = 1 << 5,
+ };
 
 DEF_ENUM_FLAGS_TYPE (enum symfile_add_flag, symfile_add_flags);
 
diff --git a/gdb/symfile.c b/gdb/symfile.c
index 846aabe..ff1e726 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -876,7 +876,7 @@ read_symbols (struct objfile *objfile, symfile_add_flags add_flags)
 	     section.  Therefore use also non-canonical name form for the same
 	     file containing the section.  */
 	  symbol_file_add_separate (abfd.get (), objfile->original_name,
-				    add_flags, objfile);
+				    add_flags | SYMFILE_NOT_FILENAME, objfile);
 	}
     }
   if ((add_flags & SYMFILE_NO_READ) == 0)
@@ -1143,6 +1143,8 @@ symbol_file_add_with_addrs (bfd *abfd, const char *name,
       flags |= OBJF_READNOW;
       add_flags &= ~SYMFILE_NO_READ;
     }
+  if ((add_flags & SYMFILE_NOT_FILENAME) != 0)
+    flags |= OBJF_NOT_FILENAME;
 
   /* Give user a chance to burp if we'd be
      interactively wiping out any existing symbols.  */
-- 
2.9.3

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [RFA 1/2] Use a distinguishing name for minidebug objfile
  2017-04-13  4:44 ` [RFA 1/2] Use a distinguishing name for minidebug objfile Tom Tromey
@ 2017-04-18 17:42   ` Pedro Alves
  2017-04-19  3:11     ` Tom Tromey
  0 siblings, 1 reply; 12+ messages in thread
From: Pedro Alves @ 2017-04-18 17:42 UTC (permalink / raw)
  To: Tom Tromey, gdb-patches

On 04/13/2017 05:15 AM, Tom Tromey wrote:
> One part of PR cli/19951 is that the mini debug info objfile reuses the
> name of the main objfile from which it comes.  This can be seen because
> gdb claims to be reading symbols from the same file two times, like:
> 
> Reading symbols from /bin/gdb...Reading symbols from /bin/gdb...(no debugging symbols found)...done.
> 
> I think this would be less confusing if the minidebug objfile were given
> a different name.  That is what this patch implements.  It also arranges
> for the minidebug objfile to be marked OBJF_NOT_FILENAME.

Could you update the commit log to also show how things look
after the patch?  I could guess it after staring at the patch for
a bit, but it'd be nice to be explicit.

Otherwise LGTM.

Thanks,
Pedro Alves

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [RFA 2/2] PR cli/19551 - change formatting of "Reading symbols" messages
  2017-04-13  4:17 ` [RFA 2/2] PR cli/19551 - change formatting of "Reading symbols" messages Tom Tromey
@ 2017-04-18 17:43   ` Pedro Alves
  2017-04-18 17:44     ` Pedro Alves
  2017-04-20  0:11     ` Tom Tromey
  2017-04-27 21:40   ` Simon Marchi
  1 sibling, 2 replies; 12+ messages in thread
From: Pedro Alves @ 2017-04-18 17:43 UTC (permalink / raw)
  To: Tom Tromey, gdb-patches

[-- Attachment #1: Type: text/plain, Size: 11855 bytes --]

On 04/13/2017 05:15 AM, Tom Tromey wrote:
> From: Tom Tromey <tromey@redhat.com>
> 
> PR cli/19551 notes that the "Reading symbols" messages can be messy, for
> example:
> 
> (gdb) file /bin/gdb
> Reading symbols from /bin/gdb...Reading symbols from /bin/gdb...(no debugging symbols found)...done.
> (no debugging symbols found)...done.
> 
> In this case the first message is being interrupted by the message for
> the minidebug info; then the subsequent output is emitted strangely.
> 
> This patch changes gdb to use a progress bar when reading debug info.

Nice!

> It modifies the DWARF reader(s) to update the progress.  

What does GDB show with the reader?  Is their output now broken, same,
etc?

> Any printing
> is deferred until the first progress report, so the messages no longer
> clash.

Can you clarify what printing you're referring to?
What happens if gdb emits e.g., complaints while a progress bar
is half full?

> 
> While printing the status message it looks like:
> 
> Reading symbols from ./gdb
> [##############                                                  ]
> 
> The "#"s show the progress; these are only printed on a terminal.
> 
> When it is finished it looks like:
> 
> Reading symbols from .gnu_debugdata for /usr/bin/gdb
> Reading symbols from /bin/gdb

I played with this a bit and it looks like a real nice improvement
to me.

I noticed that if you clear the screen such that the prompt is not at
the bottom when gdb reads symbols (e.g., start gdb on itself,
run to main, do ctrl-l to clear the screen, and do
"nosharedlibrary / sharedlibrary"), and if symbol reading is quick, then
the meter appears/disappears very quickly in what looks like an
odd flash.  It looks a tiny bit annoying to me.  Though not a deal breaker
and I'll get used to it for sure.  One way around it would be to
not print the meter unless the operation is taking longer than some
minimum time, like 1s or some such.

> 
> I made the MI implementation do nothing.  MI has a
> "status-async-output" production in the grammar:
> 
> 'STATUS-ASYNC-OUTPUT ==>'
>      '[ TOKEN ] "+" ASYNC-OUTPUT NL'
> 
> ... which maybe could be used for this sort of thing.  Currently I think
> it's only used for "load" progress (see mi_load_progress); so it wasn't
> clear to me whether this would be a good idea.

I think it'd be a good idea, but of course you don't have to do
it yourself.

Looks like the testsuite changes needs some more work.  I thought
I'd see how it looks, and ran (only) the gdb.base/attach.exp test,
and got:

 Running rc/gdb/testsuite/gdb.base/attach.exp ...
 ERROR: internal buffer is full.

I'm attaching the resulting gdb.log.


> 
> gdb/ChangeLog
> 2017-04-12  Tom Tromey  <tom@tromey.com>

(I think the correct thing to do wrt to authorship/copyright
is add both email addresses as multiple authors.  See e.g.,
commit 3e29f34a4eef.)
> index 2a59869..e99fce2 100644
> --- a/gdb/cli-out.c
> +++ b/gdb/cli-out.c
> @@ -236,6 +236,91 @@ cli_ui_out::do_redirect (ui_file *outstream)
>      m_streams.pop_back ();
>  }
>  
> +void
> +cli_ui_out::do_progress_start (const std::string &name, int should_print)

bool for "should_print" ?

> +{
> +  struct ui_file *stream = m_streams.back ();
> +  cli_progress_info meter;
> +
> +  meter.last_value = 0;

How about adding a ctor like this:

    cli_progress_info (meter_state printing_,
		       const std::string &name_)
      : printing (printing_),
        name (name_),
	last_value (0)
    {}

and then calling emplace_back further below.  You'd
need a:

  meter_state printing;

temporary ...

> +  meter.name = name;
> +  if (!ui_file_isatty (stream))
> +    {
> +      fprintf_unfiltered (stream, "%s...", meter.name.c_str ());
> +      gdb_flush (stream);

(Note these could use the isatty/printf/flush methods of ui_file.
Likewise throughout.)

> +      meter.printing = WORKING;

... for these, of course.

> +    }
> +  else
> +    {
> +      /* Don't actually emit anything until the first call notify us
> +	 of progress.  This makes it so a second progress message can
> +	 be started before the first one has been notified, without
> +	 messy output.  */
> +      meter.printing = should_print ? START : NO_PRINT;

I find the START etc names to bit too generic to be directly
in cli_ui_out scope.  I think they should be either METER_START etc.,
or meter_state should be an enum class, or meter_state stays a
regular enum but is moved to cli_progress_info, perhaps.

> +    }
> +
> +  m_meters.push_back (meter);
> +}
> +
> +void
> +cli_ui_out::do_progress_notify (double howmuch)
> +{
> +  struct ui_file *stream = m_streams.back ();

We've dropped most of the redundant "struct" in "struct ui_file"
in cli-out.c/h recently.  Let's not add it back in new code.

> +  cli_progress_info &meter (m_meters.back ());

Below you've written this as:

    cli_progress_info &meter = m_meters.back ();

I prefer the latter using =, as it's easier to reason
about.

> +
> +  if (meter.printing == NO_PRINT)
> +    return;
> +
> +  if (meter.printing == START)
> +    {
> +      fprintf_unfiltered (stream, "%s\n", meter.name.c_str ());
> +      gdb_flush (stream);
> +      meter.printing = WORKING;
> +    }
> +
> +  if (ui_file_isatty (stream))
> +    {
> +      int i, max;
> +      int width = get_chars_per_line () - 3;
> +
> +      max = width * howmuch;
> +      fprintf_unfiltered (stream, "\r[");
> +      for (i = 0; i < width; ++i)

These can now be:

 int max = ...
 for (int i = 0; ...

etc., likewise throughout.

> +	fprintf_unfiltered (stream, i < max ? "#" : " ");
> +      fprintf_unfiltered (stream, "]");
> +      gdb_flush (stream);
> +    }
> +}
> +


>    std::vector<ui_file *> m_streams;
>    bool m_suppress_output;
> +
> +  /* Represents the printing state of a progress meter.  */
> +  enum meter_state
> +  {
> +    /* Printing will start with the next output.  */
> +    START,
> +    /* Printing has already started.  */
> +    WORKING,
> +    /* Printing should not be done.  */
> +    NO_PRINT
> +  };
> +
> +  /* The state of a recent progress meter.  */
> +  struct cli_progress_info
> +  {
> +    /* The current state.  */
> +    enum meter_state printing;
> +    /* The name to print.  */
> +    std::string name;
> +    /* The last notification value.  */
> +    double last_value;
> +  };
> +
> +  /* Stack of progress meters.  */
> +  std::vector<cli_progress_info> m_meters;

I think it'd be good to have this comment expanded a bit to
explain why we need a stack, and what happens when we're
already printing a meter and a new stack level appears.

>  };
>  
>  extern cli_ui_out *cli_out_new (struct ui_file *stream);
> diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
> index b58d0fc..7d99c99 100644
> --- a/gdb/dwarf2read.c
> +++ b/gdb/dwarf2read.c

Could you add some comments about what is considered a "step"
here, how the number of total progress steps is determined, etc.?

> diff --git a/gdb/mi/mi-out.h b/gdb/mi/mi-out.h
> index fea94f2..490c06a 100644
> --- a/gdb/mi/mi-out.h
> +++ b/gdb/mi/mi-out.h
> @@ -72,6 +72,18 @@ protected:
>    virtual bool do_is_mi_like_p () override
>    { return true; }
>  
> +  virtual void do_progress_start (const std::string &, int) override
> +  {
> +  }
> +
> +  virtual void do_progress_notify (double) override
> +  {
> +  }
> +
> +  virtual void do_progress_end () override
> +  {
> +  }

If implementations can do nothing, shouldn't "nothing" be the
default implementation?

> @@ -78,23 +79,22 @@ require_partial_symbols (struct objfile *objfile, int verbose)
>  
>        if (objfile->sf->sym_read_psymbols)
>  	{
> +	  gdb::optional<ui_out::progress_meter> meter;
> +
>  	  if (verbose)
>  	    {
> -	      printf_unfiltered (_("Reading symbols from %s..."),
> -				 objfile_name (objfile));
> -	      gdb_flush (gdb_stdout);
> +	      std::string text = (std::string ("Reading symbols from ")
> +				  + objfile_name (objfile));
> +
> +	      meter.emplace (current_uiout, text, verbose);

It looked to me that the "progress text" string is always a 
discardable string that could be moved all the way to meter.name
instead of duped.  I.e., here you'd have:

     meter.emplace (current_uiout, std::move (text), verbose);

> +  {
> +    std::string progress_text;
> +
> +    if (should_print)
> +      {
> +	if (deprecated_pre_add_symbol_hook)
> +	  deprecated_pre_add_symbol_hook (name);
> +
> +	progress_text = std::string ("Reading symbols from ") + name;
> +      }
> +    else
> +      progress_text = "";

This else branch is unnecessary.  strings are empty by default.

> +
> +    ui_out::progress_meter meter (current_uiout, progress_text, should_print);

   ui_out::progress_meter meter (current_uiout, 
                                 std::move (progress_text), 
                                 should_print);

Etc (re. move).  Of course, the progress_meter prototype
would be adjusted accordingly.


> +    syms_from_objfile (objfile, addrs, add_flags);
> +  }
>  
>    /* We now have at least a partial symbol table.  Check to see if the
>       user requested that all symbols be read on initial access via either
>       the gdb startup command line or on a per symbol file basis.  Expand
>       all partial symbol tables for this objfile if so.  */
>  
> -  if ((flags & OBJF_READNOW))
> -    {
> -      if (should_print)
> -	{
> -	  printf_unfiltered (_("expanding to full symbols..."));
> -	  wrap_here ("");
> -	  gdb_flush (gdb_stdout);
> -	}
> +  {
> +    if ((flags & OBJF_READNOW))
> +      {
> +	std::string progress_text;
>  
> -      if (objfile->sf)
> -	objfile->sf->qf->expand_all_symtabs (objfile);
> -    }
> +	if (should_print)
> +	  progress_text = std::string ("Expanding full symbols for ") + name;
> +	else
> +	  progress_text = "";
>  
> -  if (should_print && !objfile_has_symbols (objfile))
> -    {
> -      wrap_here ("");
> -      printf_unfiltered (_("(no debugging symbols found)..."));
> -      wrap_here ("");
> -    }
> +	ui_out::progress_meter meter (current_uiout, progress_text,
> +				      should_print);
> +
> +	if (objfile->sf)
> +	  objfile->sf->qf->expand_all_symtabs (objfile);
> +      }
> +  }
>  
>    if (should_print)
>      {
> +      if (!objfile_has_symbols (objfile))
> +	printf_unfiltered (_(" (no debugging symbols found)\n"));
> +
>        if (deprecated_post_add_symbol_hook)
>  	deprecated_post_add_symbol_hook ();
> -      else
> -	printf_unfiltered (_("done.\n"));
>      }
>  
>    /* We print some messages regardless of whether 'from_tty ||
> @@ -2483,10 +2486,6 @@ reread_symbols (void)
>  	  struct cleanup *old_cleanups;
>  	  struct section_offsets *offsets;
>  	  int num_offsets;
> -	  char *original_name;
> -
> -	  printf_unfiltered (_("`%s' has changed; re-reading symbols.\n"),
> -			     objfile_name (objfile));
>  
>  	  /* There are various functions like symbol_file_add,
>  	     symfile_bfd_open, syms_from_objfile, etc., which might
> @@ -2502,6 +2501,11 @@ reread_symbols (void)
>  	  /* We need to do this whenever any symbols go away.  */
>  	  make_cleanup (clear_symtab_users_cleanup, 0 /*ignore*/);
>  
> +	  std::string text
> +	    = (std::string (_("`%s' has changed; re-reading symbols.\n"))
> +	       + objfile_name (objfile));

This transformation doesn't look right.  Note the %s.

> +	  ui_out::progress_meter meter (current_uiout, text, 1);
> +
>  	  if (exec_bfd != NULL
>  	      && filename_cmp (bfd_get_filename (objfile->obfd),
>  			       bfd_get_filename (exec_bfd)) == 0)
> @@ -2548,8 +2552,7 @@ reread_symbols (void)
>  	      error (_("Can't open %s to read symbols."), obfd_filename);
>  	  }
>  


> +/* See utils.h.  */
> +
> +int
> +get_chars_per_line (void)

You can drop the "void".

> +{
> +  return chars_per_line;
> +}
> +

> +/* Return the number of characters in a line.  */
> +
> +extern int get_chars_per_line (void);
> +

Ditto.

Thanks,
Pedro Alves


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: gdb.log --]
[-- Type: text/x-log; name="gdb.log", Size: 178575 bytes --]

Test run by pedro on Tue Apr 18 18:12:39 2017
Native configuration is x86_64-pc-linux-gnu

		=== gdb tests ===

Schedule of variations:
    unix

Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /home/pedro/gdb/mygit/src/gdb/testsuite/config/unix.exp as tool-and-target-specific interface file.
Running /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/attach.exp ...
Executing on build: rm -f /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach2    (timeout = 300)
spawn -ignore SIGHUP rm -f /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach2
Executing on host: gcc  /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/attach.c  -g  -lm   -o /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach    (timeout = 300)
spawn -ignore SIGHUP gcc /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/attach.c -g -lm -o /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach
Executing on host: gcc  /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/attach2.c  -g  -lm   -o /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach2    (timeout = 300)
spawn -ignore SIGHUP gcc /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/attach2.c -g -lm -o /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach2
get_compiler_info: gcc-5-3-1
spawn /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/../../gdb/gdb -nw -nx -data-directory /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/../data-directory
GNU gdb (GDB) 7.12.50.20170413-git
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base
Source directories searched: /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base:$cdir:$cwd
(gdb) kill
The program is not being run.
(gdb) file /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach
Reading symbols from /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach
\r[]\r[]\r[]\r\r(gdb) show sysroot
The current system root is "target:".
(gdb) spawn /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach
attach abc
Illegal process-id: abc.
(gdb) PASS: gdb.base/attach.exp: attach to nonsense is prohibited
attach 13884x
Illegal process-id: 13884x.
(gdb) PASS: gdb.base/attach.exp: attach to digits-starting nonsense is prohibited
attach 0
Attaching to program: /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach, process 0
ptrace: No such process.
(gdb) PASS: gdb.base/attach.exp: attach to nonexistent process is prohibited
file /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach
Load new symbol table from "/home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach"? (y or n) y
Reading symbols from /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach
\r[]\r[]\r[]\r\r(gdb) PASS: gdb.base/attach.exp: set file, before attach1 (re-read)
attach 13884
Attaching to program: /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach, process 13884
Reading symbols from /usr/lib/debug/usr/lib64/libm-2.22.so.debug
\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r\rReading symbols from /lib64/libm.so.6
\r[]\r\rReading symbols from /usr/lib/debug/usr/lib64/libc-2.22.so.debug
\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r\rReading symbols from /lib64/libc.so.6
\r[]\r\rReading symbols from /usr/lib/debug/usr/lib64/ld-2.22.so.debug
\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r\rReading symbols from /lib64/ld-linux-x86-64.so.2
\r[]\r\rmain () at /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/attach.c:18
18	  while (! should_exit)
(gdb) PASS: gdb.base/attach.exp: attach1, after setting file
print should_exit
$1 = 0
(gdb) PASS: gdb.base/attach.exp: after attach1, print should_exit
detach
Detaching from program: /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach, process 13884
(gdb) PASS: gdb.base/attach.exp: attach1 detach
file
No executable file now.
Discard symbol table from `/home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach'? (y or n) y
No symbol file now.
(gdb) PASS: gdb.base/attach.exp: attach1, purging symbols after detach
attach 13884
Attaching to process 13884
Reading symbols from /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach
\r[]\r[]\r[]\r\rReading symbols from /usr/lib/debug/usr/lib64/libm-2.22.so.debug
\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r\rReading symbols from /lib64/libm.so.6
\r[]\r\rReading symbols from /usr/lib/debug/usr/lib64/libc-2.22.so.debug
\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r\rReading symbols from /lib64/libc.so.6
\r[]\r\rReading symbols from /usr/lib/debug/usr/lib64/ld-2.22.so.debug
\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r\rReading symbols from /lib64/ld-linux-x86-64.so.2
\r[]\r\rmain () at /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/attach.c:18
18	  while (! should_exit)
(gdb) PASS: gdb.base/attach.exp: attach2, with no file
set should_exit=1
(gdb) PASS: gdb.base/attach.exp: after attach2, set should_exit
tbreak 22
Temporary breakpoint 1 at 0x4005ff: file /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/attach.c, line 22.
(gdb) continue
Continuing.

Temporary breakpoint 1, main () at /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/attach.c:22
22	  return 0; /* postloop */
(gdb) PASS: gdb.base/attach.exp: continue to breakpoint: postloop
continue
Continuing.
[Inferior 1 (process 13884) exited normally]
(gdb) PASS: gdb.base/attach.exp: continue until exit at after attach2, exit
killing 13884
Executing on build: kill -9 13884    (timeout = 300)
spawn -ignore SIGHUP kill -9 13884
closing exp9
waiting for exp9
spawn /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach
dir /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach
Source directories searched: /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach:/home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base:$cdir:$cwd
(gdb) PASS: gdb.base/attach.exp: set source path
cd /tmp
Working directory /tmp.
(gdb) PASS: gdb.base/attach.exp: cd away from process working directory
symbol-file
Discard symbol table from `/home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach'? (y or n) y
No symbol file now.
(gdb) PASS: gdb.base/attach.exp: before attach3, flush symbols
exec
No executable file now.
(gdb) PASS: gdb.base/attach.exp: before attach3, flush exec
attach 13902
Attaching to process 13902
Reading symbols from /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach
\r[]\r[]\r[]\r\rReading symbols from /usr/lib/debug/usr/lib64/libm-2.22.so.debug
\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r\rReading symbols from /lib64/libm.so.6
\r[]\r\rReading symbols from /usr/lib/debug/usr/lib64/libc-2.22.so.debug
\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r\rReading symbols from /lib64/libc.so.6
\r[]\r\rReading symbols from /usr/lib/debug/usr/lib64/ld-2.22.so.debug
\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r\rReading symbols from /lib64/ld-linux-x86-64.so.2
\r[]\r\rmain () at /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/attach.c:18
18	  while (! should_exit)
(gdb) PASS: gdb.base/attach.exp: attach when process' a.out not in cwd
kill
Kill the program being debugged? (y or n) y
(gdb) PASS: gdb.base/attach.exp: after attach3, exit
killing 13902
Executing on build: kill -9 13902    (timeout = 300)
spawn -ignore SIGHUP kill -9 13902
closing exp9
waiting for exp9
spawn /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/../../gdb/gdb -nw -nx -data-directory /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/../data-directory
GNU gdb (GDB) 7.12.50.20170413-git
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
(gdb) set height 0
(gdb) set width 0
(gdb) dir
Reinitialize source path to empty? (y or n) y
Source directories searched: $cdir:$cwd
(gdb) dir /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base
Source directories searched: /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base:$cdir:$cwd
(gdb) spawn /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach2
file /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach2
Reading symbols from /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach2
\r[]\r[]\r[]\r\r(gdb) PASS: gdb.base/attach.exp: force switch to gdb64, if necessary
attach 13932
Attaching to program: /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach2, process 13932
Reading symbols from /usr/lib/debug/usr/lib64/libm-2.22.so.debug
\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r\rReading symbols from /lib64/libm.so.6
\r[]\r\rReading symbols from /usr/lib/debug/usr/lib64/libc-2.22.so.debug
\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r\rReading symbols from /lib64/libc.so.6
\r[]\r\rReading symbols from /usr/lib/debug/usr/lib64/ld-2.22.so.debug
\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r\rReading symbols from /lib64/ld-linux-x86-64.so.2
\r[]\r\r0x00007fc27e8a5510 in __nanosleep_nocancel () at ../sysdeps/unix/syscall-template.S:84
84	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
(gdb) PASS: gdb.base/attach.exp: attach call
i r r3
Invalid register `r3'
(gdb) PASS: gdb.base/attach.exp: info other register
p should_exit = 1
$1 = 1
(gdb) PASS: gdb.base/attach.exp: p should_exit = 1
continue
Continuing.
[Inferior 1 (process 13932) exited normally]
(gdb) PASS: gdb.base/attach.exp: continue until exit
killing 13932
Executing on build: kill -9 13932    (timeout = 300)
spawn -ignore SIGHUP kill -9 13932
closing exp9
waiting for exp9
spawn /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach
spawn /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/../../gdb/gdb -nw -nx -data-directory /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/../data-directory --pid=13952
GNU gdb (GDB) 7.12.50.20170413-git
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
Attaching to process 13952
Reading symbols from /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach
\r[                                                                                                                                                                         ]\r[                                                                                                                                                                         ]\r[#########################################################################################################################################################################]\r                                                                                                                                                                           \rReading symbols from /usr/lib/debug/usr/lib64/libm-2.22.so.debug
\r[                                                                                                                                                                         ]\r[                                                                                                                                                                         ]\r[                                                                                                                                                                         ]\r[#                                                                                                                                                                        ]\r[#                                                                                                                                                                        ]\r[#                                                                                                                                                                        ]\r[##                                                                                                                                                                       ]\r[##                                                                                                                                                                       ]\r[##                                                                                                                                                                       ]\r[###                                                                                                                                                                      ]\r[###                                                                                                                                                                      ]\r[####                                                                                                                                                                     ]\r[####                                                                                                                                                                     ]\r[####                                                                                                                                                                     ]\r[#####                                                                                                                                                                    ]\r[#####                                                                                                                                                                    ]\r[#####                                                                                                                                                                    ]\r[######                                                                                                                                                                   ]\r[######                                                                                                                                                                   ]\r[#######                                                                                                                                                                  ]\r[#######                                                                                                                                                                  ]\r[#######                                                                                                                                                                  ]\r[########                                                                                                                                                                 ]\r[########                                                                                                                                                                 ]\r[########                                                                                                                                                                 ]\r[#########                                                                                                                                                                ]\r[#########                                                                                                                                                                ]\r[#########                                                                                                                                                                ]\r[##########                                                                                                                                                               ]\r[##########                                                                                                                                                               ]\r[###########                                                                                                                                                              ]\r[###########                                                                                                                                                              ]\r[###########                                                                                                                                                              ]\r[############                                                                                                                                                             ]\r[############                                                                                                                                                             ]\r[############                                                                                                                                                             ]\r[#############                                                                                                                                                            ]\r[#############                                                                                                                                                            ]\r[##############                                                                                                                                                           ]\r[##############                                                                                                                                                           ]\r[##############                                                                                                                                                           ]\r[###############                                                                                                                                                          ]\r[###############                                                                                                                                                          ]\r[###############                                                                                                                                                          ]\r[################                                                                                                                                                         ]\r[################                                                                                                                                                         ]\r[#################                                                                                                                                                        ]\r[#################                                                                                                                                                        ]\r[#################                                                                                                                                                        ]\r[##################                                                                                                                                                       ]\r[##################                                                                                                                                                       ]\r[##################                                                                                                                                                       ]\r[###################                                                                                                                                                      ]\r[###################                                                                                                                                                      ]\r[###################                                                                                                                                                      ]\r[####################                                                                                                                                                     ]\r[####################                                                                                                                                                     ]\r[#####################                                                                                                                                                    ]\r[#####################                                                                                                                                                    ]\r[#####################                                                                                                                                                    ]\r[######################                                                                                                                                                   ]\r[######################                                                                                                                                                   ]\r[######################                                                                                                                                                   ]\r[#######################                                                                                                                                                  ]\r[#######################                                                                                                                                                  ]\r[########################                                                                                                                                                 ]\r[########################                                                                                                                                                 ]\r[########################                                                                                                                                                 ]\r[#########################                                                                                                                                                ]\r[#########################                                                                                                                                                ]\r[#########################                                                                                                                                                ]\r[##########################                                                                                                                                               ]\r[##########################                                                                                                                                               ]\r[##########################                                                                                                                                               ]\r[###########################                                                                                                                                              ]\r[###########################                                                                                                                                              ]\r[############################                                                                                                                                             ]\r[############################                                                                                                                                             ]\r[############################                                                                                                                                             ]\r[#############################                                                                                                                                            ]\r[#############################                                                                                                                                            ]\r[#############################                                                                                                                                            ]\r[##############################                                                                                                                                           ]\r[##############################                                                                                                                                           ]\r[###############################                                                                                                                                          ]\r[###############################                                                                                                                                          ]\r[###############################                                                                                                                                          ]\r[################################                                                                                                                                         ]\r[################################                                                                                                                                         ]\r[################################                                                                                                                                         ]\r[#################################                                                                                                                                        ]\r[#################################                                                                                                                                        ]\r[##################################                                                                                                                                       ]\r[##################################                                                                                                                                       ]\r[##################################                                                                                                                                       ]\r[###################################                                                                                                                                      ]\r[###################################                                                                                                                                      ]\r[###################################                                                                                                                                      ]\r[####################################                                                                                                                                     ]\r[####################################                                                                                                                                     ]\r[####################################                                                                                                                                     ]\r[#####################################                                                                                                                                    ]\r[#####################################                                                                                                                                    ]\r[######################################                                                                                                                                   ]\r[######################################                                                                                                                                   ]\r[######################################                                                                                                                                   ]\r[#######################################                                                                                                                                  ]\r[#######################################                                                                                                                                  ]\r[#######################################                                                                                                                                  ]\r[########################################                                                                                                                                 ]\r[########################################                                                                                                                                 ]\r[#########################################                                                                                                                                ]\r[#########################################                                                                                                                                ]\r[#########################################                                                                                                                                ]\r[##########################################                                                                                                                               ]\r[##########################################                                                                                                                               ]\r[##########################################                                                                                                                               ]\r[###########################################                                                                                                                              ]\r[###########################################                                                                                                                              ]\r[############################################                                                                                                                             ]\r[############################################                                                                                                                             ]\r[############################################                                                                                                                             ]\r[#############################################                                                                                                                            ]\r[#############################################                                                                                                                            ]\r[#############################################                                                                                                                            ]\r[##############################################                                                                                                                           ]\r[##############################################                                                                                                                           ]\r[##############################################                                                                                                                           ]\r[###############################################                                                                                                                          ]\r[###############################################                                                                                                                          ]\r[################################################                                                                                                                         ]\r[################################################                                                                                                                         ]\r[################################################                                                                                                                         ]\r[#################################################                                                                                                                        ]\r[#################################################                                                                                                                        ]\r[#################################################                                                                                                                        ]\r[##################################################                                                                                                                       ]\r[##################################################                                                                                                                       ]\r[###################################################                                                                                                                      ]\r[###################################################                                                                                                                      ]\r[###################################################                                                                                                                      ]\r[####################################################                                                                                                                     ]\r[####################################################                                                                                                                     ]\r[####################################################                                                                                                                     ]\r[#####################################################                                                                                                                    ]\r[#####################################################                                                                                                                    ]\r[#####################################################                                                                                                                    ]\r[######################################################                                                                                                                   ]\r[######################################################                                                                                                                   ]\r[#######################################################                                                                                                                  ]\r[#######################################################                                                                                                                  ]\r[#######################################################                                                                                                                  ]\r[########################################################                                                                                                                 ]\r[########################################################                                                                                                                 ]\r[########################################################                                                                                                                 ]\r[#########################################################                                                                                                                ]\r[#########################################################                                                                                                                ]\r[##########################################################                                                                                                               ]\r[##########################################################                                                                                                               ]\r[##########################################################                                                                                                               ]\r[###########################################################                                                                                                              ]\r[###########################################################                                                                                                              ]\r[###########################################################                                                                                                              ]\r[############################################################                                                                                                             ]\r[############################################################                                                                                                             ]\r[#############################################################                                                                                                            ]\r[#############################################################                                                                                                            ]\r[#############################################################                                                                                                            ]\r[##############################################################                                                                                                           ]\r[##############################################################                                                                                                           ]\r[##############################################################                                                                                                           ]\r[###############################################################                                                                                                          ]\r[###############################################################                                                                                                          ]\r[###############################################################                                                                                                          ]\r[################################################################                                                                                                         ]\r[################################################################                                                                                                         ]\r[#################################################################                                                                                                        ]\r[#################################################################                                                                                                        ]\r[#################################################################                                                                                                        ]\r[##################################################################                                                                                                       ]\r[##################################################################                                                                                                       ]\r[##################################################################                                                                                                       ]\r[###################################################################                                                                                                      ]\r[###################################################################                                                                                                      ]\r[####################################################################                                                                                                     ]\r[####################################################################                                                                                                     ]\r[####################################################################                                                                                                     ]\r[#####################################################################                                                                                                    ]\r[#####################################################################                                                                                                    ]\r[#####################################################################                                                                                                    ]\r[######################################################################                                                                                                   ]\r[######################################################################                                                                                                   ]\r[#######################################################################                                                                                                  ]\r[#######################################################################                                                                                                  ]\r[#######################################################################                                                                                                  ]\r[########################################################################                                                                                                 ]\r[########################################################################                                                                                                 ]\r[########################################################################                                                                                                 ]\r[#########################################################################                                                                                                ]\r[#########################################################################                                                                                                ]\r[#########################################################################                                                                                                ]\r[##########################################################################                                                                                               ]\r[##########################################################################                                                                                               ]\r[###########################################################################                                                                                              ]\r[###########################################################################                                                                                              ]\r[###########################################################################                                                                                              ]\r[############################################################################                                                                                             ]\r[############################################################################                                                                                             ]\r[############################################################################                                                                                             ]\r[#############################################################################                                                                                            ]\r[#############################################################################                                                                                            ]\r[##############################################################################                                                                                           ]\r[##############################################################################                                                                                           ]\r[##############################################################################                                                                                           ]\r[###############################################################################                                                                                          ]\r[###############################################################################                                                                                          ]\r[###############################################################################                                                                                          ]\r[################################################################################                                                                                         ]\r[################################################################################                                                                                         ]\r[################################################################################                                                                                         ]\r[#################################################################################                                                                                        ]\r[#################################################################################                                                                                        ]\r[##################################################################################                                                                                       ]\r[##################################################################################                                                                                       ]\r[##################################################################################                                                                                       ]\r[###################################################################################                                                                                      ]\r[###################################################################################                                                                                      ]\r[###################################################################################                                                                                      ]\r[####################################################################################                                                                                     ]\r[####################################################################################                                                                                     ]\r[#####################################################################################                                                                                    ]\r[#####################################################################################                                                                                    ]\r[#####################################################################################                                                                                    ]\r[######################################################################################                                                                                   ]\r[######################################################################################                                                                                   ]\r[######################################################################################                                                                                   ]\r[#######################################################################################                                                                                  ]\r[#######################################################################################                                                                                  ]\r[########################################################################################                                                                                 ]\r[########################################################################################                                                                                 ]\r[########################################################################################                                                                                 ]\r[#########################################################################################                                                                                ]\r[#########################################################################################                                                                                ]\r[#########################################################################################                                                                                ]\r[##########################################################################################                                                                               ]\r[##########################################################################################                                                                               ]\r[##########################################################################################                                                                               ]\r[###########################################################################################                                                                              ]\r[###########################################################################################                                                                              ]\r[############################################################################################                                                                             ]\r[############################################################################################                                                                             ]\r[############################################################################################                                                                             ]\r[#############################################################################################                                                                            ]\r[#############################################################################################                                                                            ]\r[#############################################################################################                                                                            ]\r[##############################################################################################                                                                           ]\r[##############################################################################################                                                                           ]\r[###############################################################################################                                                                          ]\r[###############################################################################################                                                                          ]\r[###############################################################################################                                                                          ]\r[################################################################################################                                                                         ]\r[################################################################################################                                                                         ]\r[################################################################################################                                                                         ]\r[#################################################################################################                                                                        ]\r[#################################################################################################                                                                        ]\r[#################################################################################################                                                                        ]\r[##################################################################################################                                                                       ]\r[##################################################################################################                                                                       ]\r[###################################################################################################                                                                      ]\r[###################################################################################################                                                                      ]\r[###################################################################################################                                                                      ]\r[####################################################################################################                                                                     ]\r[####################################################################################################                                                                     ]\r[####################################################################################################                                                                     ]\r[#####################################################################################################                                                                    ]\r[#####################################################################################################                                                                    ]\r[######################################################################################################                                                                   ]\r[######################################################################################################                                                                   ]\r[######################################################################################################                                                                   ]\r[#######################################################################################################                                                                  ]\r[#######################################################################################################                                                                  ]\r[#######################################################################################################                                                                  ]\r[########################################################################################################                                                                 ]\r[########################################################################################################                                                                 ]\r[#########################################################################################################                                                                ]\r[#########################################################################################################                                                                ]\r[#########################################################################################################                                                                ]\r[##########################################################################################################                                                               ]\r[##########################################################################################################                                                               ]\r[##########################################################################################################                                                               ]\r[###########################################################################################################                                                              ]\r[###########################################################################################################                                                              ]\r[###########################################################################################################                                                              ]\r[############################################################################################################                                                             ]\r[############################################################################################################                                                             ]\r[#############################################################################################################                                                            ]\r[#############################################################################################################                                                            ]\r[#############################################################################################################                                                            ]\r[##############################################################################################################                                                           ]\r[##############################################################################################################                                                           ]\r[##############################################################################################################                                                           ]\r[###############################################################################################################                                                          ]\r[###############################################################################################################                                                          ]\r[################################################################################################################                                                         ]\r[################################################################################################################                                                         ]\r[################################################################################################################                                                         ]\r[#################################################################################################################                                                        ]\r[#################################################################################################################                                                        ]\r[#################################################################################################################                                                        ]\r[##################################################################################################################                                                       ]\r[##################################################################################################################                                                       ]\r[###################################################################################################################                                                      ]\r[###################################################################################################################                                                      ]\r[###################################################################################################################                                                      ]\r[####################################################################################################################                                                     ]\r[####################################################################################################################                                                     ]\r[####################################################################################################################                                                     ]\r[#####################################################################################################################                                                    ]\r[#####################################################################################################################                                                    ]\r[#####################################################################################################################                                                    ]\r[######################################################################################################################                                                   ]\r[######################################################################################################################                                                   ]\r[#######################################################################################################################                                                  ]\r[#######################################################################################################################                                                  ]\r[#######################################################################################################################                                                  ]\r[########################################################################################################################                                                 ]\r[########################################################################################################################                                                 ]\r[########################################################################################################################                                                 ]\r[#########################################################################################################################                                                ]\r[#########################################################################################################################                                                ]\r[##########################################################################################################################                                               ]\r[##########################################################################################################################                                               ]\r[##########################################################################################################################                                               ]\r[###########################################################################################################################                                              ]\r[###########################################################################################################################                                              ]\r[###########################################################################################################################                                              ]\r[############################################################################################################################                                             ]\r[############################################################################################################################                                             ]\r[############################################################################################################################                                             ]\r[#############################################################################################################################                                            ]\r[#############################################################################################################################                                            ]\r[##############################################################################################################################                                           ]\r[##############################################################################################################################                                           ]\r[##############################################################################################################################                                           ]\r[###############################################################################################################################                                          ]\r[###############################################################################################################################                                          ]\r[###############################################################################################################################                                          ]\r[################################################################################################################################                                         ]\r[################################################################################################################################                                         ]\r[#################################################################################################################################                                        ]\r[#################################################################################################################################                                        ]\r[#################################################################################################################################                                        ]\r[##################################################################################################################################                                       ]\r[##################################################################################################################################                                       ]\r[##################################################################################################################################                                       ]\r[###################################################################################################################################                                      ]\r[###################################################################################################################################                                      ]\r[####################################################################################################################################                                     ]\r[####################################################################################################################################                                     ]\r[####################################################################################################################################                                     ]\r[#####################################################################################################################################                                    ]\r[#####################################################################################################################################                                    ]\r[#####################################################################################################################################                                    ]\r[######################################################################################################################################                                   ]\r[######################################################################################################################################                                   ]\r[######################################################################################################################################                                   ]\r[#######################################################################################################################################                                  ]\r[#######################################################################################################################################                                  ]\r[########################################################################################################################################                                 ]\r[########################################################################################################################################                                 ]\r[########################################################################################################################################                                 ]\r[#########################################################################################################################################                                ]\r[#########################################################################################################################################                                ]\r[#########################################################################################################################################                                ]\r[##########################################################################################################################################                               ]\r[##########################################################################################################################################                               ]\r[###########################################################################################################################################                              ]\r[###########################################################################################################################################                              ]\r[###########################################################################################################################################                              ]\r[############################################################################################################################################                             ]\r[############################################################################################################################################                             ]\r[############################################################################################################################################                             ]\r[#############################################################################################################################################                            ]\r[#############################################################################################################################################                            ]\r[##############################################################################################################################################                           ]\r[##############################################################################################################################################                           ]\r[##############################################################################################################################################                           ]\r[###############################################################################################################################################                          ]\r[###############################################################################################################################################                          ]\r[###############################################################################################################################################                          ]\r[################################################################################################################################################                         ]\r[################################################################################################################################################                         ]\r[################################################################################################################################################                         ]\r[#################################################################################################################################################                        ]\r[#################################################################################################################################################                        ]\r[##################################################################################################################################################                       ]\r[##################################################################################################################################################                       ]\r[##################################################################################################################################################                       ]\r[###################################################################################################################################################                      ]\r[###################################################################################################################################################                      ]\r[###################################################################################################################################################                      ]\r[####################################################################################################################################################                     ]\r[####################################################################################################################################################                     ]\r[#####################################################################################################################################################                    ]\r[#####################################################################################################################################################                    ]\r[#####################################################################################################################################################                    ]\r[######################################################################################################################################################                   ]\r[######################################################################################################################################################                   ]\r[######################################################################################################################################################                   ]\r[#######################################################################################################################################################                  ]\r[#######################################################################################################################################################                  ]\r[#######################################################################################################################################################                  ]\r[########################################################################################################################################################                 ]\r[########################################################################################################################################################                 ]\r[#########################################################################################################################################################                ]\r[#########################################################################################################################################################                ]\r[#########################################################################################################################################################                ]\r[##########################################################################################################################################################               ]\r[##########################################################################################################################################################               ]\r[##########################################################################################################################################################               ]\r[###########################################################################################################################################################              ]\r[###########################################################################################################################################################              ]\r[############################################################################################################################################################             ]\r[############################################################################################################################################################             ]\r[############################################################################################################################################################             ]\r[#############################################################################################################################################################            ]\r[#############################################################################################################################################################            ]\r[#############################################################################################################################################################            ]\r[##############################################################################################################################################################           ]\r[##############################################################################################################################################################           ]\r[###############################################################################################################################################################          ]\r[###############################################################################################################################################################          ]\r[###############################################################################################################################################################          ]\r[################################################################################################################################################################         ]\r[################################################################################################################################################################         ]\r[################################################################################################################################################################         ]\r[#################################################################################################################################################################        ]\r[#################################################################################################################################################################        ]\r[#################################################################################################################################################################        ]\r[##################################################################################################################################################################       ]\r[##################################################################################################################################################################       ]\r[###################################################################################################################################################################      ]\r[###################################################################################################################################################################      ]\r[###################################################################################################################################################################      ]\r[####################################################################################################################################################################     ]\r[####################################################################################################################################################################     ]\r[####################################################################################################################################################################     ]\r[#####################################################################################################################################################################    ]\r[#####################################################################################################################################################################    ]\r[######################################################################################################################################################################   ]\r[######################################################################################################################################################################   ]\r[######################################################################################################################################################################   ]\r[#######################################################################################################################################################################  ]\r[#######################################################################################################################################################################  ]\r[#######################################################################################################################################################################  ]\r[######################################################################################################################################################################## ]\r[######################################################################################################################################################################## ]\r[#########################################################################################################################################################################]\r                                                                                                                                                                           \rReading symbols from /lib64/libm.so.6
\r[#########################################################################################################################################################################]\r                                                                                                                                                                           \rReading symbols from /usr/lib/debug/usr/lib64/libc-2.22.so.debug
\r[                                                                                                                                                                         ]\r[                                                                                                                                                                         ]\r[                                                                                                                                                                         ]\r[                                                                                                                                                                         ]\r[                                                                                                                                                                         ]\r[                                                                                                                                                                         ]\r[                                                                                                                                                                         ]\r[                                                                                                                                                                         ]\r[                                                                                                                                                                         ]\r[#                                                                                                                                                                        ]\r[#                                                                                                                                                                        ]\r[#                                                                                                                                                                        ]\r[#                                                                                                                                                                        ]\r[#                                                                                                                                                                        ]\r[#                                                                                                                                                                        ]\r[#                                                                                                                                                                        ]\r[#                                                                                                                                                                        ]\r[#                                                                                                                                                                        ]\r[##                                                                                                                                                                       ]\r[##                                                                                                                                                                       ]\r[##                                                                                                                                                                       ]\r[##                                                                                                                                                                       ]\r[##                                                                                                                                                                       ]\r[##                                                                                                                                                                       ]\r[##                                                                                                                                                                       ]\r[##                                                                                                                                                                       ]\r[##                                                                                                                                                                       ]\r[###                                                                                                                                                                      ]\r[###                                                                                                                                                                      ]\r[###                                                                                                                                                                      ]\r[###                                                                                                                                                                      ]\r[###                                                                                                                                                                      ]\r[###                                                                                                                                                                      ]\r[###                                                                                                                                                                      ]\r[###                                                                                                                                                                      ]\r[####                                                                                                                                                                     ]\r[####                                                                                                                                                                     ]\r[####                                                                                                                                                                     ]\r[####                                                                                                                                                                     ]\r[####                                                                                                                                                                     ]\r[####                                                                                                                                                                     ]\r[####                                                                                                                                                                     ]\r[####                                                                                                                                                                     ]\r[####                                                                                                                                                                     ]\r[#####                                                                                                                                                                    ]\r[#####                                                                                                                                                                    ]\r[#####                                                                                                                                                                    ]\r[#####                                                                                                                                                                    ]\r[#####                                                                                                                                                                    ]\r[#####                                                                                                                                                                    ]\r[#####                                                                                                                                                                    ]\r[#####                                                                                                                                                                    ]\r[#####                                                                                                                                                                    ]\r[######                                                                                                                                                                   ]\r[######                                                                                                                                                                   ]\r[######                                                                                                                                                                   ]\r[######                                                                                                                                                                   ]\r[######                                                                                                                                                                   ]\r[######                                                                                                                                                                   ]\r[######                                                                                                                                                                   ]\r[######                                                                                                                                                                   ]\r[######                                                                                                                                                                   ]\r[#######                                                                                                                                                                  ]\r[#######                                                                                                                                                                  ]\r[#######                                                                                                                                                                  ]\r[#######                                                                                                                                                                  ]\r[#######                                                                                                                                                                  ]\r[#######                                                                                                                                                                  ]\r[#######                                                                                                                                                                  ]\r[#######                                                                                                                                                                  ]\r[########                                                                                                                                                                 ]\r[########                                                                                                                                                                 ]\r[########                                                                                                                                                                 ]\r[########                                                                                                                                                                 ]\r[########                                                                                                                                                                 ]\r[########                                                                                                                                                                 ]\r[########                                                                                                                                                                 ]\r[########                                                                                                                                                                 ]\r[########                                                                                                                                                                 ]\r[#########                                                                                                                                                                ]\r[#########                                                                                                                                                                ]\r[#########                                                                                                                                                                ]\r[#########                                                                                                                                                                ]\r[#########                                                                                                                                                                ]\r[#########                                                                                                                                                                ]\r[#########                                                                                                                                                                ]\r[#########                                                                                                                                                                ]\r[#########                                                                                                                                                                ]\r[##########                                                                                                                                                               ]\r[##########                                                                                                                                                               ]\r[##########                                                                                                                                                               ]\r[##########                                                                                                                                                               ]\r[##########                                                                                                                                                               ]\r[##########                                                                                                                                                               ]\r[##########                                                                                                                                                               ]\r[##########                                                                                                                                                               ]\r[##########                                                                                                                                                               ]\r[###########                                                                                                                                                              ]\r[###########                                                                                                                                                              ]\r[###########                                                                                                                                                              ]\r[###########                                                                                                                                                              ]\r[###########                                                                                                                                                              ]\r[###########                                                                                                                                                              ]\r[###########                                                                                                                                                              ]\r[###########                                                                                                                                                              ]\r[############                                                                                                                                                             ]\r[############                                                                                                                                                             ]\r[############                                                                                                                                                             ]\r[############                                                                                                                                                             ]\r[############                                                                                                                                                             ]\r[############                                                                                                                                                             ]\r[############                                                                                                                                                             ]\r[############                                                                                                                                                             ]\r[############                                                                                                                                                             ]\r[#############                                                                                                                                                            ]\r[#############                                                                                                                                                            ]\r[#############                                                                                                                                                            ]\r[#############                                                                                                                                                            ]\r[#############                                                                                                                                                            ]\r[#############                                                                                                                                                            ]\r[#############                                                                                                                                                            ]\r[#############                                                                                                                                                            ]\r[#############                                                                                                                                                            ]\r[##############                                                                                                                                                           ]\r[##############                                                                                                                                                           ]\r[##############                                                                                                                                                           ]\r[##############                                                                                                                                                           ]\r[##############                                                                                                                                                           ]\r[##############                                                                                                                                                           ]\r[##############                                                                                                                                                           ]\r[##############                                                                                                                                                           ]\r[##############                                                                                                                                                           ]\r[###############                                                                                                                                                          ]\r[###############                                                                                                                                                          ]\r[###############                                                                                                                                                          ]\r[###############                                                                                                                                                          ]\r[###############                                                                                                                                                          ]\r[###############                                                                                                                                                          ]\r[###############                                                                                                                                                          ]\r[###############                                                                                                                                                          ]\r[################                                                                                                                                                         ]\r[################                                                                                                                                                         ]\r[################                                                                                                                                                         ]\r[################                                                                                                                                                         ]\r[################                                                                                                                                                         ]\r[################                                                                                                                                                         ]\r[################                                                                                                                                                         ]\r[################                                                                                                                                                         ]\r[################                                                                                                                                                         ]\r[#################                                                                                                                                                        ]\r[#################                                                                                                                                                        ]\r[#################                                                                                                                                                        ]\r[#################                                                                                                                                                        ]\r[#################                                                                                                                                                        ]\r[#################                                                                                                                                                        ]\r[#################                                                                                                                                                        ]\r[#################                                                                                                                                                        ]\r[#################                                                                                                                                                        ]\r[##################                                                                                                                                                       ]\r[##################                                                                                                                                                       ]\r[##################                                                                                                                                                       ]\r[##################                                                                                                                                                       ]\r[##################                                                                                                                                                       ]\r[##################                                                                                                                                                       ]\r[##################                                                                                                                                                       ]\r[##################                                                                                                                                                       ]\r[###################                                                                                                                                                      ]\r[###################                                                                                                                                                      ]\r[###################                                                                                                                                                      ]\r[###################                                                                                                                                                      ]\r[###################                                                                                                                                                      ]\r[###################                                                                                                                                                      ]\r[###################                                                                                                                                                      ]\r[###################                                                                                                                                                      ]\r[###################                                                                                                                                                      ]\r[####################                                                                                                                                                     ]\r[####################                                                                                                                                                     ]\r[####################                                                                                                                                                     ]\r[####################                                                                                                                                                     ]\r[####################                                                                                                                                                     ]\r[####################                                                                                                                                                     ]\r[####################                                                                                                                                                     ]\r[####################                                                                                                                                                     ]\r[####################                                                                                                                                                     ]\r[#####################                                                                                                                                                    ]\r[#####################                                                                                                                                                    ]\r[#####################                                                                                                                                                    ]\r[#####################                                                                                                                                                    ]\r[#####################                                                                                                                                                    ]\r[#####################                                                                                                                                                    ]\r[#####################                                                                                                                                                    ]\r[#####################                                                                                                                                                    ]\r[#####################                                                                                                                                                    ]\r[######################                                                                                                                                                   ]\r[######################                                                                                                                                                   ]\r[######################                                                                                                                                                   ]\r[######################                                                                                                                                                   ]\r[######################                                                                                                                                                   ]\r[######################                                                                                                                                                   ]\r[######################                                                                                                                                                   ]\r[######################                                                                                                                                                   ]\r[#######################                                                                                                                                                  ]\r[#######################                                                                                                                                                  ]\r[#######################                                                                                                                                                  ]\r[#######################                                                                                                                                                  ]\r[#######################                                                                                                                                                  ]\r[#######################                                                                                                                                                  ]\r[#######################                                                                                                                                                  ]\r[#######################                                                                                                                                                  ]\r[#######################                                                                                                                                                  ]\r[########################                                                                                                                                                 ]\r[########################                                                                                                                                                 ]\r[########################                                                                                                                                                 ]\r[########################                                                                                                                                                 ]\r[########################                                                                                                                                                 ]\r[########################                                                                                                                                                 ]\r[########################                                                                                                                                                 ]\r[########################                                                                                                                                                 ]\r[########################                                                                                                                                                 ]\r[#########################                                                                                                                                                ]\r[#########################                                                                                                                                                ]\r[#########################                                                                                                                                                ]\r[#########################                                                                                                                                                ]\r[#########################                                                                                                                                                ]\r[#########################                                                                                                                                                ]\r[#########################                                                                                                                                                ]\r[#########################                                                                                                                                                ]\r[#########################                                                                                                                                                ]\r[##########################                                                                                                                                               ]\r[##########################                                                                                                                                               ]\r[##########################                                                                                                                                               ]\r[##########################                                                                                                                                               ]\r[##########################                                                                                                                                               ]\r[##########################                                                                                                                                               ]\r[##########################                                                                                                                                               ]\r[##########################                                                                                                                                               ]\r[###########################                                                                                                                                              ]\r[###########################                                                                                                                                              ]\r[###########################                                                                                                                                              ]\r[###########################                                                                                                                                              ]\r[###########################                                                                                                                                              ]\r[###########################                                                                                                                                              ]\r[###########################                                                                                                                                              ]\r[###########################                                                                                                                                              ]\r[###########################                                                                                                                                              ]\r[############################                                                                                                                                             ]\r[############################                                                                                                                                             ]\r[############################                                                                                                                                             ]\r[############################                                                                                                                                             ]\r[############################                                                                                                                                             ]\r[############################                                                                                                                                             ]\r[############################                                                                                                                                             ]\r[############################                                                                                                                                             ]\r[############################                                                                                                                                             ]\r[#############################                                                                                                                                            ]\r[#############################                                                                                                                                            ]\r[#############################                                                                                                                                            ]\r[#############################                                                                                                                                            ]\r[#############################                                                                                                                                            ]\r[#############################                                                                                                                                            ]\r[#############################                                                                                                                                            ]\r[#############################                                                                                                                                            ]\r[#############################                                                                                                                                            ]\r[##############################                                                                                                                                           ]\r[##############################                                                                                                                                           ]\r[##############################                                                                                                                                           ]\r[##############################                                                                                                                                           ]\r[##############################                                                                                                                                           ]\r[##############################                                                                                                                                           ]\r[##############################                                                                                                                                           ]\r[##############################                                                                                                                                           ]\r[###############################                                                                                                                                          ]\r[###############################                                                                                                                                          ]\r[###############################                                                                                                                                          ]\r[###############################                                                                                                                                          ]\r[###############################                                                                                                                                          ]\r[###############################                                                                                                                                          ]\r[###############################                                                                                                                                          ]\r[###############################                                                                                                                                          ]\r[###############################                                                                                                                                          ]\r[################################                                                                                                                                         ]\r[################################                                                                                                                                         ]\r[################################                                                                                                                                         ]\r[################################                                                                                                                                         ]\r[################################                                                                                                                                         ]\r[################################                                                                                                                                         ]\r[################################                                                                                                                                         ]\r[################################                                                                                                                                         ]\r[################################                                                                                                                                         ]\r[#################################                                                                                                                                        ]\r[#################################                                                                                                                                        ]\r[#################################                                                                                                                                        ]\r[#################################                                                                                                                                        ]\r[#################################                                                                                                                                        ]\r[#################################                                                                                                                                        ]\r[#################################                                                                                                                                        ]\r[#################################                                                                                                                                        ]\r[##################################                                                                                                                                       ]\r[##################################                                                                                                                                       ]\r[##################################                                                                                                                                       ]\r[##################################                                                                                                                                       ]\r[##################################                                                                                                                                       ]\r[##################################                                                                                                                                       ]\r[##################################                                                                                                                                       ]\r[##################################                                                                                                                                       ]\r[##################################                                                                                                                                       ]\r[###################################                                                                                                                                      ]\r[###################################                                                                                                                                      ]\r[###################################                                                                                                                                      ]\r[###################ERROR: internal buffer is full.
UNRESOLVED: gdb.base/attach.exp: starting with --pid
killing 13952
Executing on build: kill -9 13952    (timeout = 300)
spawn -ignore SIGHUP kill -9 13952
closing exp9
waiting for exp9
spawn /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach
spawn /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/../../gdb/gdb -nw -nx -data-directory /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/../data-directory -iex set height 0 -iex set width 0 --pid=13985 -ex start
GNU gdb (GDB) 7.12.50.20170413-git
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
Attaching to process 13985
Reading symbols from /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach
\r[]\r[]\r[]\r\rReading symbols from /usr/lib/debug/usr/lib64/libm-2.22.so.debug
\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r\rReading symbols from /lib64/libm.so.6
\r[]\r\rReading symbols from /usr/lib/debug/usr/lib64/libc-2.22.so.debug
\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r\rReading symbols from /lib64/libc.so.6
\r[]\r\rReading symbols from /usr/lib/debug/usr/lib64/ld-2.22.so.debug
\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r[]\r\rReading symbols from /lib64/ld-linux-x86-64.so.2
\r[]\r\rmain () at /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/attach.c:18
18	  while (! should_exit)
The program being debugged has been started already.
Start it from the beginning? (y or n) PASS: gdb.base/attach.exp: cmdline attach run: run to prompt
y
Temporary breakpoint 1 at 0x4005de: file /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/attach.c, line 14.
Starting program: /home/pedro/brno/pedro/gdb/mygit/build/gdb/testsuite/outputs/gdb.base/attach/attach 

Temporary breakpoint 1, main () at /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/attach.c:14
14	  int  local_i = 0;
(gdb) PASS: gdb.base/attach.exp: cmdline attach run: run to main
killing 13985
Executing on build: kill -9 13985    (timeout = 300)
spawn -ignore SIGHUP kill -9 13985
closing exp9
waiting for exp9
testcase /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/attach.exp completed in 24 seconds


		=== gdb Summary ===

# of expected passes		25
# of unresolved testcases	1

runtest completed at Tue Apr 18 18:13:03 2017

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [RFA 2/2] PR cli/19551 - change formatting of "Reading symbols" messages
  2017-04-18 17:43   ` Pedro Alves
@ 2017-04-18 17:44     ` Pedro Alves
  2017-04-20  0:11     ` Tom Tromey
  1 sibling, 0 replies; 12+ messages in thread
From: Pedro Alves @ 2017-04-18 17:44 UTC (permalink / raw)
  To: Tom Tromey, gdb-patches

On 04/18/2017 06:42 PM, Pedro Alves wrote:
>> It modifies the DWARF reader(s) to update the progress.  
> What does GDB show with the reader?  Is their output now broken, same,
> etc?
> 

Sorry, I meant, what does GDB show with the other readers.

Thanks,
Pedro Alves

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [RFA 1/2] Use a distinguishing name for minidebug objfile
  2017-04-18 17:42   ` Pedro Alves
@ 2017-04-19  3:11     ` Tom Tromey
  0 siblings, 0 replies; 12+ messages in thread
From: Tom Tromey @ 2017-04-19  3:11 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Tom Tromey, gdb-patches

>>>>> "Pedro" == Pedro Alves <palves@redhat.com> writes:

Pedro> Could you update the commit log to also show how things look
Pedro> after the patch?  I could guess it after staring at the patch for
Pedro> a bit, but it'd be nice to be explicit.

Thanks for suggesting this, as it pointed out that during one of the
rebases I'd apparently regressed the patch, and it no longer printed the
desired thing.

I'll see if I can write a test case.

Tom

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [RFA 2/2] PR cli/19551 - change formatting of "Reading symbols" messages
  2017-04-18 17:43   ` Pedro Alves
  2017-04-18 17:44     ` Pedro Alves
@ 2017-04-20  0:11     ` Tom Tromey
  1 sibling, 0 replies; 12+ messages in thread
From: Tom Tromey @ 2017-04-20  0:11 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Tom Tromey, gdb-patches

>>>>> "Pedro" == Pedro Alves <palves@redhat.com> writes:

>> It modifies the DWARF reader(s) to update the progress.  

Pedro> What does GDB show with the reader?  Is their output now broken, same,
Pedro> etc?
Pedro> Sorry, I meant, what does GDB show with the other readers.

I didn't update these, so it just prints, e.g.:

Reading symbols from outputs/gdb.stabs/weird/weirdx.o

I could take a look at the others I suppose.

>> Any printing is deferred until the first progress report, so the
>> messages no longer clash.

Pedro> Can you clarify what printing you're referring to?

This bit meant that the "Reading ..." message isn't emitted until the
first progress update.  This is what makes it so these messages don't
clash.

Pedro> What happens if gdb emits e.g., complaints while a progress bar
Pedro> is half full?

You get terrible-looking stuff like:

(gdb) file ../gdb
Reading symbols from ../gdb
[###################################                                          ]unsupported stack op: 'DW_OP_stack_value'...unsupported stack op: 'DW_OP_stack_va[####################################                                         ]u[####################################                                         ]u[######################################                                       ]u[##############################################                               ]unsupported stack op: 'DW_OP_stack_value'...unsupported stack op: 'DW_OP_stack_value'...unsupported stack op: 'DW_OP_stack_value'...unsupported stack op: 'DW_OP_[##############################################################               ]unsupported stack op: 'DW_OP_stack_value'...unsupported stack op: 'DW_OP_stack_va                                                                               


Maybe there's no easy way to improve this :( The issue is that the
complaint system just writes to the ui-file, bypassing ui-out entirely.
Complaints could be fixed, but this same problem would apply to any
possible output during symbol reading.

Though FWIW I don't think anybody other than gdb developers enables
complaints.

Pedro> I noticed that if you clear the screen such that the prompt is not at
Pedro> the bottom when gdb reads symbols (e.g., start gdb on itself,
Pedro> run to main, do ctrl-l to clear the screen, and do
Pedro> "nosharedlibrary / sharedlibrary"), and if symbol reading is quick, then
Pedro> the meter appears/disappears very quickly in what looks like an
Pedro> odd flash.  It looks a tiny bit annoying to me.  Though not a deal breaker
Pedro> and I'll get used to it for sure.  One way around it would be to
Pedro> not print the meter unless the operation is taking longer than some
Pedro> minimum time, like 1s or some such.

I'm wondering if you are seeing the case where the first notification is
at howmuch=1.0, causing printing of the progress bar followed by
immediately erasing it.

I can't see the effect myself, but that's an idea... I changed it to
avoid this case specifically.

>> +  /* Stack of progress meters.  */
>> +  std::vector<cli_progress_info> m_meters;

Pedro> I think it'd be good to have this comment expanded a bit to
Pedro> explain why we need a stack, and what happens when we're
Pedro> already printing a meter and a new stack level appears.

This case also doesn't really work.  If a meter is already printing, a
new meter will just confuse the output.  The current system relies on
the way that gdb does symbol reading, where it discovers separate
debuginfo before doing any work on the original objfile.

Pedro> If implementations can do nothing, shouldn't "nothing" be the
Pedro> default implementation?

I made the change; but I did it this way originally since the base class
looked purely abstract to me.

I made all the other changes.  I still didn't write the test for the
first patch, though, and I'm also experiencing a possible intermittent
with the buildbot (not sure, maybe it's my other patch series), so it
may be a little while before v2.

Tom

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [RFA 2/2] PR cli/19551 - change formatting of "Reading symbols"  messages
  2017-04-13  4:17 ` [RFA 2/2] PR cli/19551 - change formatting of "Reading symbols" messages Tom Tromey
  2017-04-18 17:43   ` Pedro Alves
@ 2017-04-27 21:40   ` Simon Marchi
  2017-04-27 23:16     ` Tom Tromey
  2017-05-29 17:24     ` Tom Tromey
  1 sibling, 2 replies; 12+ messages in thread
From: Simon Marchi @ 2017-04-27 21:40 UTC (permalink / raw)
  To: Tom Tromey; +Cc: gdb-patches, Tom Tromey

On 2017-04-13 00:15, Tom Tromey wrote:
> From: Tom Tromey <tromey@redhat.com>
> 
> PR cli/19551 notes that the "Reading symbols" messages can be messy, 
> for
> example:
> 
> (gdb) file /bin/gdb
> Reading symbols from /bin/gdb...Reading symbols from /bin/gdb...(no
> debugging symbols found)...done.
> (no debugging symbols found)...done.
> 
> In this case the first message is being interrupted by the message for
> the minidebug info; then the subsequent output is emitted strangely.
> 
> This patch changes gdb to use a progress bar when reading debug info.
> It modifies the DWARF reader(s) to update the progress.  Any printing
> is deferred until the first progress report, so the messages no longer
> clash.
> 
> While printing the status message it looks like:
> 
> Reading symbols from ./gdb
> [##############                                                  ]
> 
> The "#"s show the progress; these are only printed on a terminal.
> 
> When it is finished it looks like:
> 
> Reading symbols from .gnu_debugdata for /usr/bin/gdb
> Reading symbols from /bin/gdb
> 
> I made the MI implementation do nothing.  MI has a
> "status-async-output" production in the grammar:
> 
> 'STATUS-ASYNC-OUTPUT ==>'
>      '[ TOKEN ] "+" ASYNC-OUTPUT NL'
> 
> ... which maybe could be used for this sort of thing.  Currently I 
> think
> it's only used for "load" progress (see mi_load_progress); so it wasn't
> clear to me whether this would be a good idea.

Hi Tom,

I think that having a progress bar would be really awesome (right after 
making GDB load debug info faster so fast that we don't need one).  
However, I think that feature would deserve a patch of its own with a 
more expressive title.  I am sure many people will be interested, but 
like this it's hidden under some obscure bug fix.

Would it be possible to make this patch a simple bug fix and put the 
progress bar in a patch of its own?

Thanks,

Simon

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [RFA 2/2] PR cli/19551 - change formatting of "Reading symbols"  messages
  2017-04-27 21:40   ` Simon Marchi
@ 2017-04-27 23:16     ` Tom Tromey
  2017-04-27 23:53       ` Simon Marchi
  2017-05-29 17:24     ` Tom Tromey
  1 sibling, 1 reply; 12+ messages in thread
From: Tom Tromey @ 2017-04-27 23:16 UTC (permalink / raw)
  To: Simon Marchi; +Cc: Tom Tromey, gdb-patches

>>>>> "Simon" == Simon Marchi <simon.marchi@polymtl.ca> writes:

Simon> However, I think that feature would deserve a patch of its own
Simon> with a more expressive title.  I am sure many people will be
Simon> interested, but like this it's hidden under some obscure bug fix.

I imagine most users don't read the history but rather would notice when
gdb's behavior changes.

Simon> Would it be possible to make this patch a simple bug fix and put the
Simon> progress bar in a patch of its own?

I guess it would require some delayed output machinery, like what is in
this patch.  I don't really see the benefit of doing this transform --
it seems like a good amount of work for the same result in the end.
However, I don't mind if you, or someone else, wants to take this over.

thanks,
Tom

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [RFA 2/2] PR cli/19551 - change formatting of "Reading symbols"   messages
  2017-04-27 23:16     ` Tom Tromey
@ 2017-04-27 23:53       ` Simon Marchi
  0 siblings, 0 replies; 12+ messages in thread
From: Simon Marchi @ 2017-04-27 23:53 UTC (permalink / raw)
  To: Tom Tromey; +Cc: gdb-patches

On 2017-04-27 19:16, Tom Tromey wrote:
>>>>>> "Simon" == Simon Marchi <simon.marchi@polymtl.ca> writes:
> 
> Simon> However, I think that feature would deserve a patch of its own
> Simon> with a more expressive title.  I am sure many people will be
> Simon> interested, but like this it's hidden under some obscure bug 
> fix.
> 
> I imagine most users don't read the history but rather would notice 
> when
> gdb's behavior changes.

I was mostly thinking about people subscribed to this list.  Given the 
rather high volume, I assume that most people just read the titles and 
dig further if they are interested.  A feature such as this one would be 
of interest to many, I'm sure.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [RFA 2/2] PR cli/19551 - change formatting of "Reading symbols"  messages
  2017-04-27 21:40   ` Simon Marchi
  2017-04-27 23:16     ` Tom Tromey
@ 2017-05-29 17:24     ` Tom Tromey
  1 sibling, 0 replies; 12+ messages in thread
From: Tom Tromey @ 2017-05-29 17:24 UTC (permalink / raw)
  To: Simon Marchi; +Cc: Tom Tromey, gdb-patches, Tom Tromey

Simon> Would it be possible to make this patch a simple bug fix and put the
Simon> progress bar in a patch of its own?

I'm finally admitting that I won't ever work up the motivation for this,
so I'm dropping this patch.

Tom

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-05-29 17:24 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-13  4:17 [RFA 0/2] Fix PR cli/19551 Tom Tromey
2017-04-13  4:17 ` [RFA 2/2] PR cli/19551 - change formatting of "Reading symbols" messages Tom Tromey
2017-04-18 17:43   ` Pedro Alves
2017-04-18 17:44     ` Pedro Alves
2017-04-20  0:11     ` Tom Tromey
2017-04-27 21:40   ` Simon Marchi
2017-04-27 23:16     ` Tom Tromey
2017-04-27 23:53       ` Simon Marchi
2017-05-29 17:24     ` Tom Tromey
2017-04-13  4:44 ` [RFA 1/2] Use a distinguishing name for minidebug objfile Tom Tromey
2017-04-18 17:42   ` Pedro Alves
2017-04-19  3:11     ` Tom Tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).