public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  archer-jankratochvil-entryval: Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final-s390
@ 2011-09-05 21:24 jkratoch
  0 siblings, 0 replies; 2+ messages in thread
From: jkratoch @ 2011-09-05 21:24 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-entryval has been updated
       via  c8087d16f579f754a7f235854fa1fc7d3ef1c00f (commit)
       via  e12000060c2ed77e604da159516f2fac56dbcc8b (commit)
       via  51d4b8d99d118b87b01ef96af31dd78afb26f318 (commit)
       via  148fde3774eea0e1c77e67e46607e01e2f86740c (commit)
       via  b5d3b5f2b1bbae3a30a6311dfa059b7a7879beba (commit)
       via  8a5851ca0323381477075ec020d80b4a0f759681 (commit)
       via  091f6338a585f16d5688e2123b04af4050c869b7 (commit)
      from  3d7e1c408d0b21ab39015610263b12825d49f7df (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit c8087d16f579f754a7f235854fa1fc7d3ef1c00f
Merge: 3d7e1c4 e120000
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 23:23:49 2011 +0200

    Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final-s390

commit e12000060c2ed77e604da159516f2fac56dbcc8b
Merge: ed9acb7 51d4b8d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 23:23:48 2011 +0200

    Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final

commit 51d4b8d99d118b87b01ef96af31dd78afb26f318
Merge: b6e512f 148fde3
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 23:23:44 2011 +0200

    Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref

commit 148fde3774eea0e1c77e67e46607e01e2f86740c
Merge: 1678ead b5d3b5f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 23:23:42 2011 +0200

    Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp

commit b5d3b5f2b1bbae3a30a6311dfa059b7a7879beba
Merge: 699662d 8a5851c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 23:23:39 2011 +0200

    Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref

commit 8a5851ca0323381477075ec020d80b4a0f759681
Merge: 8c2ff7b 091f633
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 23:23:37 2011 +0200

    Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull

commit 091f6338a585f16d5688e2123b04af4050c869b7
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 23:23:13 2011 +0200

    .

-----------------------------------------------------------------------

Summary of changes:
 gdb/stack.c |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

First 500 lines of diff:
diff --git a/gdb/stack.c b/gdb/stack.c
index 262e4ce..e01548d 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -299,11 +299,12 @@ read_frame_arg (struct symbol *sym, struct frame_info *frame,
 	  entryval_error = NULL;
 	}
 
-      if (!ui_out_is_mi_like_p (current_uiout)
-	  && (print_entry_values == print_entry_values_compact
-	      || print_entry_values == print_entry_values_default))
+      if (print_entry_values == print_entry_values_compact
+	  || print_entry_values == print_entry_values_default)
 	{
-	  if (val && entryval)
+	  /* For MI do not try to use print_entry_values_compact for ARGP.  */
+
+	  if (val && entryval && !ui_out_is_mi_like_p (current_uiout))
 	    {
 	      unsigned len = TYPE_LENGTH (value_type (val));
 
@@ -360,11 +361,18 @@ read_frame_arg (struct symbol *sym, struct frame_info *frame,
 		    entryval = NULL;
 		}
 	    }
+
+	  /* Try to remove possibly duplicate error message for ENTRYARGP even
+	     in MI mode.  */
+
 	  if (val_error && entryval_error
 	      && strcmp (val_error, entryval_error) == 0)
 	    {
 	      entryval_error = NULL;
-	      val_equal = 1;
+
+	      /* Do not se VAL_EQUAL as the same error message may be shown for
+		 the entry value even if no entry values are present in the
+		 inferior.  */
 	    }
 	}
     }


hooks/post-receive
--
Repository for Project Archer.


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

* [SCM]  archer-jankratochvil-entryval: Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final-s390
@ 2011-09-05 21:00 jkratoch
  0 siblings, 0 replies; 2+ messages in thread
From: jkratoch @ 2011-09-05 21:00 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-entryval has been updated
       via  3d7e1c408d0b21ab39015610263b12825d49f7df (commit)
       via  ed9acb7cea829f27cb0244c28624fefc2d55098d (commit)
       via  b6e512f4fec8f9aa2c6206c1c9a6381d029a1a3c (commit)
       via  1678ead6978eff10e497f9341c8ab88c5679dff9 (commit)
       via  699662deb71c1bbc4314ad1abfd9e0b245479bed (commit)
       via  8c2ff7b3a59a6f8b274cfae41624f17e67969555 (commit)
       via  c7dccea38966710869bc829b5823271a470e4484 (commit)
       via  e509b302c6f6d1eca902a03f21828cb6e333bc2e (commit)
       via  bbf412729a2f6327f910577471aec30c68d5fb4d (commit)
       via  7ae74342a533edd55c2e534fecefae653849dac5 (commit)
       via  304d54c7f26807f1b808fa2a5b435b6468c25f53 (commit)
       via  ee98081c5ee60755363bbbb06bac0bd6d689efd1 (commit)
       via  63013caf5ce49100c1d4e9bbc988a5e80e478c28 (commit)
       via  787df05b845850ada0abdabf3ca388af50ae01a0 (commit)
       via  93c0714bf2a8759cdd916d368488b6352949d811 (commit)
       via  f9b9164d0f132935187c5130caa1378df6675f24 (commit)
       via  462962a5ad66d2d45c54f3ced634074f7cb5d3f8 (commit)
       via  0e9c90dbc769e61035874cee40cf6a87ae576cc3 (commit)
       via  973529616bdbecd60c9a74b1235e93bd98cd35c9 (commit)
       via  ddb99de5e2539a85b005852c119ecb5a2de341d1 (commit)
       via  a909855032cbb0408a2666834f2899fce22b6731 (commit)
       via  8f783e789fc7b8586ceea0aa739aafc53db77a79 (commit)
       via  9126e263107c91d5dd8aad079d78dcb2f2de1eeb (commit)
       via  6d2b337c616b606a8abe20dbdd96b199d1ea9d65 (commit)
       via  13f3861ce8c3d00073cfb10550e58103a5de08d9 (commit)
       via  18226da50927085daf9783c9af3b891347d72ed9 (commit)
       via  fca274d0bfc5590a1bd33f2655fa5cdfd136998c (commit)
       via  16369dbf89c7e65c48f70c35bbacb7dc11488781 (commit)
       via  116949a3172eb5fd7f7e32fef3a6f5ac08788c9e (commit)
      from  d84188a6cafd076077f90027925a9581c3623ec9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 3d7e1c408d0b21ab39015610263b12825d49f7df
Merge: d84188a ed9acb7
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 22:57:47 2011 +0200

    Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final-s390

commit ed9acb7cea829f27cb0244c28624fefc2d55098d
Merge: f5fbe69 b6e512f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 22:57:46 2011 +0200

    Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final

commit b6e512f4fec8f9aa2c6206c1c9a6381d029a1a3c
Merge: 18ec573 1678ead
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 22:57:41 2011 +0200

    Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref

commit 1678ead6978eff10e497f9341c8ab88c5679dff9
Merge: 6b65feb 699662d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 22:57:40 2011 +0200

    Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp

commit 699662deb71c1bbc4314ad1abfd9e0b245479bed
Merge: c3a0092 8c2ff7b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 22:57:36 2011 +0200

    Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref

commit 8c2ff7b3a59a6f8b274cfae41624f17e67969555
Merge: 224d257 c7dccea
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 22:57:34 2011 +0200

    Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull

commit c7dccea38966710869bc829b5823271a470e4484
Merge: 6287028 e509b30
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 22:57:31 2011 +0200

    Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt

commit e509b302c6f6d1eca902a03f21828cb6e333bc2e
Merge: b7a45b5 bbf4127
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 22:57:27 2011 +0200

    Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg

commit bbf412729a2f6327f910577471aec30c68d5fb4d
Merge: 86e97e4 7ae7434
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 22:57:27 2011 +0200

    Merge branch 'pending-funcstuff-basic-tailread-tailframe' into pending-funcstuff-basic-tailread-tailframe-selftail

commit 7ae74342a533edd55c2e534fecefae653849dac5
Merge: 3e61aa2 304d54c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 22:57:24 2011 +0200

    Merge branch 'pending-funcstuff-basic-tailread' into pending-funcstuff-basic-tailread-tailframe

commit 304d54c7f26807f1b808fa2a5b435b6468c25f53
Merge: 0902dd9 ee98081
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 22:57:21 2011 +0200

    Merge branch 'pending-funcstuff-basic' into pending-funcstuff-basic-tailread

commit ee98081c5ee60755363bbbb06bac0bd6d689efd1
Merge: e0b1da0 63013ca
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 22:57:20 2011 +0200

    Merge branch 'pending-funcstuff' into pending-funcstuff-basic

commit 63013caf5ce49100c1d4e9bbc988a5e80e478c28
Merge: f4f73c1 787df05
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 22:57:18 2011 +0200

    Merge branch 'pending' into pending-funcstuff

commit 787df05b845850ada0abdabf3ca388af50ae01a0
Merge: fd21a3e 93c0714
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Sep 5 22:57:05 2011 +0200

    Merge remote-tracking branch 'gdb/master' into pending

commit 93c0714bf2a8759cdd916d368488b6352949d811
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Mon Sep 5 15:46:33 2011 +0000

    2011-09-05  Pedro Alves  <pedro@codesourcery.com>
    
    	PR cli/13110
    
    	* infrun.c (fetch_inferior_event): Check if there's a selected
    	thread before checking if the selected thread is executing.

commit f9b9164d0f132935187c5130caa1378df6675f24
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Mon Sep 5 14:53:11 2011 +0000

    2011-09-05  Pedro Alves  <pedro@codesourcery.com>
    
    	* inf-loop.c (execute_command): Don't check if the current thread
    	if running before synchronously waiting for command completion.
    	* infrun.c (fetch_inferior_event): Handle "set exec-done-display"
    	here.
    	(normal_stop): Call async_enable_stdin here.
    	* inf-loop.c (inferior_event_handler): Don't call
    	async_enable_stdin, nor handle "set exec-done-display" here.

commit 462962a5ad66d2d45c54f3ced634074f7cb5d3f8
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Mon Sep 5 00:00:06 2011 +0000

    daily update

commit 0e9c90dbc769e61035874cee40cf6a87ae576cc3
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Mon Sep 5 00:00:02 2011 +0000

    *** empty log message ***

commit 973529616bdbecd60c9a74b1235e93bd98cd35c9
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Sun Sep 4 19:10:40 2011 +0000

    GDB 7.3.1 released.

commit ddb99de5e2539a85b005852c119ecb5a2de341d1
Author: Joel Brobecker <brobecker@gnat.com>
Date:   Sun Sep 4 17:48:51 2011 +0000

    NEWS: Change `7.3' into `7.3.1' in `Changes since GDB 7.3'.
    
    gdb/ChangeLog:
    
            * NEWS: Change `7.3' into `7.3.1' in `Changes since GDB 7.3'.

commit a909855032cbb0408a2666834f2899fce22b6731
Author: Joel Brobecker <brobecker@gnat.com>
Date:   Sun Sep 4 17:41:39 2011 +0000

    NEWS: Add entry for OpenBSD/NetBSD build failure
    
    gdb/ChangeLog:
    
            * NEWS: Add entry for OpenBSD/NetBSD build failure

commit 8f783e789fc7b8586ceea0aa739aafc53db77a79
Author: Joel Brobecker <brobecker@gnat.com>
Date:   Sun Sep 4 17:08:55 2011 +0000

    GDB Manual edition number and ISBN updates
    
    This is in preparation for a re-print by the FSF of the GDB manual.
    
    gdb/doc/ChangeLog:
    
            * gdb.texinfo: Set EDITION to "Tenth" and change ISBN.

commit 9126e263107c91d5dd8aad079d78dcb2f2de1eeb
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Sun Sep 4 00:01:03 2011 +0000

    *** empty log message ***

commit 6d2b337c616b606a8abe20dbdd96b199d1ea9d65
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Sun Sep 4 00:00:06 2011 +0000

    daily update

commit 13f3861ce8c3d00073cfb10550e58103a5de08d9
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Sat Sep 3 00:00:07 2011 +0000

    daily update

commit 18226da50927085daf9783c9af3b891347d72ed9
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Sat Sep 3 00:00:02 2011 +0000

    *** empty log message ***

commit fca274d0bfc5590a1bd33f2655fa5cdfd136998c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Sep 2 21:40:29 2011 +0000

    gdb/
    	* config/s390/s390.mh (NATDEPFILES): Add linux-procfs.o dependency.

commit 16369dbf89c7e65c48f70c35bbacb7dc11488781
Author: ratmice <ratmice>
Date:   Fri Sep 2 21:16:53 2011 +0000

    PR gdb/10720
    * event-top.c (cli_command_loop): Replace readline setup with
    direct call to display_gdb_prompt.
    (display_gdb_prompt): Do not call observer mechanism during
    synchronous execution.
    
    testsuite:
    * lib/prompt.exp: New file for testing the first prompt.
    * gdb.python/py-prompt.exp: Ditto.
    * gdb.python/py-prompt.c: Ditto (copy of ext-attach.c).

commit 116949a3172eb5fd7f7e32fef3a6f5ac08788c9e
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Fri Sep 2 21:03:04 2011 +0000

    2011-09-02  Pedro Alves  <pedro@codesourcery.com>
    
    	* linux-nat.c (in_pid_list_p): New.
    	(linux_record_stopped_pid): Delete.
    	(lin_lwp_attach_lwp): Check if PTRACE_ATTACH failed because we're
    	already attached to the LWP.  Return an indication if so.
    	(linux_nat_filter_event): Adjust.
    	* linux-thread-db.c (attach_thread): Handle lin_lwp_attach_lwp
    	returning an indication to ignore this thread.

-----------------------------------------------------------------------

Summary of changes:
 bfd/version.h                          |    2 +-
 gdb/ChangeLog                          |   51 ++++++++++++
 gdb/NEWS                               |    6 +-
 gdb/doc/ChangeLog                      |    4 +
 gdb/doc/gdb.texinfo                    |    4 +-
 gdb/event-top.c                        |   33 +++------
 gdb/inf-loop.c                         |   14 ----
 gdb/infrun.c                           |   21 +++++-
 gdb/linux-nat.c                        |   68 ++++++++++++++---
 gdb/linux-thread-db.c                  |   22 +++++-
 gdb/testsuite/ChangeLog                |    6 ++
 gdb/testsuite/gdb.python/py-prompt.c   |   31 ++++++++
 gdb/testsuite/gdb.python/py-prompt.exp |  131 ++++++++++++++++++++++++++++++++
 gdb/testsuite/lib/prompt.exp           |   92 ++++++++++++++++++++++
 gdb/top.c                              |    2 +-
 gdb/version.in                         |    2 +-
 16 files changed, 429 insertions(+), 60 deletions(-)
 create mode 100644 gdb/testsuite/gdb.python/py-prompt.c
 create mode 100644 gdb/testsuite/gdb.python/py-prompt.exp
 create mode 100644 gdb/testsuite/lib/prompt.exp

First 500 lines of diff:
diff --git a/bfd/version.h b/bfd/version.h
index 1413481..6e07590 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20110902
+#define BFD_VERSION_DATE 20110905
 #define BFD_VERSION @bfd_version@
 #define BFD_VERSION_STRING  @bfd_version_package@ @bfd_version_string@
 #define REPORT_BUGS_TO @report_bugs_to@
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1f278cb..80fc406 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,54 @@
+2011-09-05  Pedro Alves  <pedro@codesourcery.com>
+
+	PR cli/13110
+
+	* infrun.c (fetch_inferior_event): Check if there's a selected
+	thread before checking if the selected thread is executing.
+
+2011-09-05  Pedro Alves  <pedro@codesourcery.com>
+
+	* inf-loop.c (execute_command): Don't check if the current thread
+	if running before synchronously waiting for command completion.
+	* infrun.c (fetch_inferior_event): Handle "set exec-done-display"
+	here.
+	(normal_stop): Call async_enable_stdin here.
+	* inf-loop.c (inferior_event_handler): Don't call
+	async_enable_stdin, nor handle "set exec-done-display" here.
+
+2011-09-04  Joel Brobecker  <brobecker@adacore.com>
+
+	GDB 7.3.1 released.
+
+2011-09-04  Joel Brobecker  <brobecker@adacore.com>
+
+	* NEWS: Change `7.3' into `7.3.1' in `Changes since GDB 7.3'.
+
+2011-09-04  Joel Brobecker  <brobecker@adacore.com>
+
+	* NEWS: Add entry for OpenBSD/NetBSD build failure.
+
+2011-09-02  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* config/s390/s390.mh (NATDEPFILES): Add linux-procfs.o dependency.
+
+2011-09-02  Matt Rice  <ratmice@gmail.com>
+
+	PR gdb/10720
+	* event-top.c (cli_command_loop): Replace readline setup with
+	direct call to display_gdb_prompt.
+	(display_gdb_prompt): Do not call observer mechanism during
+	synchronous execution.
+
+2011-09-02  Pedro Alves  <pedro@codesourcery.com>
+
+	* linux-nat.c (in_pid_list_p): New.
+	(linux_record_stopped_pid): Delete.
+	(lin_lwp_attach_lwp): Check if PTRACE_ATTACH failed because we're
+	already attached to the LWP.  Return an indication if so.
+	(linux_nat_filter_event): Adjust.
+	* linux-thread-db.c (attach_thread): Handle lin_lwp_attach_lwp
+	returning an indication to ignore this thread.
+
 2011-09-02  Pedro Alves  <pedro@codesourcery.com>
 
 	* top.c: Include interps.h.
diff --git a/gdb/NEWS b/gdb/NEWS
index 63a4ca8..c90fcf0 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -1,7 +1,7 @@
 		What has changed in GDB?
 	     (Organized release by release)
 
-*** Changes since GDB 7.3
+*** Changes since GDB 7.3.1
 
 * GDB has two new commands: "set remote hardware-watchpoint-length-limit"
   and "show remote hardware-watchpoint-length-limit".  These allows to
@@ -110,6 +110,10 @@ QTDisable
 
 Texas Instruments TMS320C6x		tic6x-*-*
 
+*** Changes in GDB 7.3.1
+
+* The build failure for NetBSD and OpenBSD targets have now been fixed.
+
 *** Changes in GDB 7.3
 
 * GDB has a new command: "thread find [REGEXP]".
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog
index 80038f1..e5d2161 100644
--- a/gdb/doc/ChangeLog
+++ b/gdb/doc/ChangeLog
@@ -1,3 +1,7 @@
+2011-09-04  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.texinfo: Set EDITION to "Tenth" and change ISBN.
+
 2011-08-25  Andrew Oakley  <andrew@ado.is-a-geek.net>
 
 	* gdb.texinfo (Types In Python): Document 'bitpos' for enums.
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 9fd3c51..a7aa042 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -30,7 +30,7 @@
 
 @c !!set GDB manual's edition---not the same as GDB version!
 @c This is updated by GNU Press.
-@set EDITION Ninth
+@set EDITION Tenth
 
 @c !!set GDB edit command default editor
 @set EDITOR /bin/ex
@@ -97,7 +97,7 @@ Version @value{GDBVN}.
 Published by the Free Software Foundation @*
 51 Franklin Street, Fifth Floor,
 Boston, MA 02110-1301, USA@*
-ISBN 1-882114-77-9 @*
+ISBN 978-0-9831592-3-0 @*
 
 @insertcopying
 @end titlepage
diff --git a/gdb/event-top.c b/gdb/event-top.c
index 37882728..09bd89f 100644
--- a/gdb/event-top.c
+++ b/gdb/event-top.c
@@ -185,27 +185,7 @@ rl_callback_read_char_wrapper (gdb_client_data client_data)
 void
 cli_command_loop (void)
 {
-  /* If we are using readline, set things up and display the first
-     prompt, otherwise just print the prompt.  */
-  if (async_command_editing_p)
-    {
-      int length;
-      char *a_prompt;
-      char *gdb_prompt = get_prompt (0);
-
-      /* Tell readline what the prompt to display is and what function
-         it will need to call after a whole line is read.  This also
-         displays the first prompt.  */
-      length = strlen (get_prefix (0))
-	+ strlen (gdb_prompt) + strlen (get_suffix(0)) + 1;
-      a_prompt = (char *) alloca (length);
-      strcpy (a_prompt, get_prefix (0));
-      strcat (a_prompt, gdb_prompt);
-      strcat (a_prompt, get_suffix (0));
-      rl_callback_handler_install (a_prompt, input_handler);
-    }
-  else
-    display_gdb_prompt (0);
+  display_gdb_prompt (0);
 
   /* Now it's time to start the event loop.  */
   start_event_loop ();
@@ -272,8 +252,11 @@ display_gdb_prompt (char *new_prompt)
   /* Get the prompt before the observers are called as observer hook
      functions may change the prompt.  Do not call observers on an
      explicit prompt change as passed to this function, as this forms
-     a temporary prompt, IE, displayed but not set.  */
-  if (! new_prompt)
+     a temporary prompt, IE, displayed but not set.  Do not call
+     observers for a prompt change if sync_execution is set, it will
+     call us again with sync_execution not set when it wants to
+     display an actual prompt.  */
+  if (! sync_execution && ! new_prompt)
     {
       char *post_gdb_prompt = NULL;
       char *pre_gdb_prompt = xstrdup (get_prompt (0));
@@ -288,6 +271,10 @@ display_gdb_prompt (char *new_prompt)
       xfree (pre_gdb_prompt);
     }
 
+  /* In the sync_execution && !is_running case we need to display the prompt
+     even though it may be "" to avoid a double prompt, while installing the
+     callback handlers, in the async_editing_p case for pagination,
+     So fall through.  */
   if (sync_execution && is_running (inferior_ptid))
     {
       /* This is to trick readline into not trying to display the
diff --git a/gdb/inf-loop.c b/gdb/inf-loop.c
index 50a7391..8e49e91 100644
--- a/gdb/inf-loop.c
+++ b/gdb/inf-loop.c
@@ -41,7 +41,6 @@ void
 inferior_event_handler (enum inferior_event_type event_type, 
 			gdb_client_data client_data)
 {
-  int was_sync = 0;
   struct cleanup *cleanup_if_error = make_bpstat_clear_actions_cleanup ();
 
   switch (event_type)
@@ -63,7 +62,6 @@ inferior_event_handler (enum inferior_event_type event_type,
       break;
 
     case INF_EXEC_COMPLETE:
-
       if (!non_stop)
 	{
 	  /* Unregister the inferior from the event loop.  This is done
@@ -73,12 +71,6 @@ inferior_event_handler (enum inferior_event_type event_type,
 	    target_async (NULL, 0);
 	}
 
-      /* The call to async_enable_stdin below resets 'sync_execution'.
-	 However, if sync_execution is 1 now, we also need to show the
-	 prompt below, so save the current value.  */
-      was_sync = sync_execution;
-      async_enable_stdin ();
-
       /* Do all continuations associated with the whole inferior (not
 	 a particular thread).  */
       if (!ptid_equal (inferior_ptid, null_ptid))
@@ -129,12 +121,6 @@ inferior_event_handler (enum inferior_event_type event_type,
 	    }
 	  exception_print (gdb_stderr, e);
 	}
-
-      if (!was_sync
-	  && exec_done_display_p
-	  && (ptid_equal (inferior_ptid, null_ptid)
-	      || !is_running (inferior_ptid)))
-	printf_unfiltered (_("completed.\n"));
       break;
 
     case INF_EXEC_CONTINUE:
diff --git a/gdb/infrun.c b/gdb/infrun.c
index f9b814d..8846cdf 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -2713,6 +2713,7 @@ fetch_inferior_event (void *client_data)
   struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
   struct cleanup *ts_old_chain;
   int was_sync = sync_execution;
+  int cmd_done = 0;
 
   memset (ecs, 0, sizeof (*ecs));
 
@@ -2748,7 +2749,9 @@ fetch_inferior_event (void *client_data)
      switches threads anyway).  If we didn't do this, a spurious
      delayed event in all-stop mode would make the user lose the
      selected frame.  */
-  if (non_stop || is_executing (inferior_ptid))
+  if (non_stop
+      || (!ptid_equal (inferior_ptid, null_ptid)
+	  && is_executing (inferior_ptid)))
     registers_changed ();
 
   make_cleanup_restore_integer (&execution_direction);
@@ -2804,7 +2807,10 @@ fetch_inferior_event (void *client_data)
 	  && ecs->event_thread->control.stop_step)
 	inferior_event_handler (INF_EXEC_CONTINUE, NULL);
       else
-	inferior_event_handler (INF_EXEC_COMPLETE, NULL);
+	{
+	  inferior_event_handler (INF_EXEC_COMPLETE, NULL);
+	  cmd_done = 1;
+	}
     }
 
   /* No error, don't finish the thread states yet.  */
@@ -2814,9 +2820,17 @@ fetch_inferior_event (void *client_data)
   do_cleanups (old_chain);
 
   /* If the inferior was in sync execution mode, and now isn't,
-     restore the prompt.  */
+     restore the prompt (a synchronous execution command has finished,
+     and we're ready for input).  */
   if (interpreter_async && was_sync && !sync_execution)
     display_gdb_prompt (0);
+
+  if (cmd_done
+      && !was_sync
+      && exec_done_display_p
+      && (ptid_equal (inferior_ptid, null_ptid)
+	  || !is_running (inferior_ptid)))
+    printf_unfiltered (_("completed.\n"));
 }
 
 /* Record the frame and location we're currently stepping through.  */
@@ -5814,6 +5828,7 @@ normal_stop (void)
     goto done;
 
   target_terminal_ours ();
+  async_enable_stdin ();
 
   /* Set the current source location.  This will also happen if we
      display the frame below, but the current SAL will be incorrect
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index 45daea7..30d6857 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
@@ -331,6 +331,17 @@ add_to_pid_list (struct simple_pid_list **listp, int pid, int status)
 }
 
 static int
+in_pid_list_p (struct simple_pid_list *list, int pid)
+{
+  struct simple_pid_list *p;
+
+  for (p = list; p != NULL; p = p->next)
+    if (p->pid == pid)
+      return 1;
+  return 0;
+}
+
+static int
 pull_pid_from_list (struct simple_pid_list **listp, int pid, int *statusp)
 {
   struct simple_pid_list **p;
@@ -348,12 +359,6 @@ pull_pid_from_list (struct simple_pid_list **listp, int pid, int *statusp)
   return 0;
 }
 
-static void
-linux_record_stopped_pid (int pid, int status)
-{
-  add_to_pid_list (&stopped_pids, pid, status);
-}
-
 \f
 /* A helper function for linux_test_for_tracefork, called after fork ().  */
 
@@ -1386,20 +1391,25 @@ linux_nat_post_attach_wait (ptid_t ptid, int first, int *cloned,
   return status;
 }
 
-/* Attach to the LWP specified by PID.  Return 0 if successful or -1
-   if the new LWP could not be attached.  */
+/* Attach to the LWP specified by PID.  Return 0 if successful, -1 if
+   the new LWP could not be attached, or 1 if we're already auto
+   attached to this thread, but haven't processed the
+   PTRACE_EVENT_CLONE event of its parent thread, so we just ignore
+   its existance, without considering it an error.  */
 
 int
 lin_lwp_attach_lwp (ptid_t ptid)
 {
   struct lwp_info *lp;
   sigset_t prev_mask;
+  int lwpid;
 
   gdb_assert (is_lwp (ptid));
 
   block_child_signals (&prev_mask);
 
   lp = find_lwp_pid (ptid);
+  lwpid = GET_LWP (ptid);
 
   /* We assume that we're already attached to any LWP that has an id
      equal to the overall process id, and to any LWP that is already
@@ -1407,12 +1417,48 @@ lin_lwp_attach_lwp (ptid_t ptid)
      and we've had PID wraparound since we last tried to stop all threads,
      this assumption might be wrong; fortunately, this is very unlikely
      to happen.  */
-  if (GET_LWP (ptid) != GET_PID (ptid) && lp == NULL)
+  if (lwpid != GET_PID (ptid) && lp == NULL)
     {
       int status, cloned = 0, signalled = 0;
 
-      if (ptrace (PTRACE_ATTACH, GET_LWP (ptid), 0, 0) < 0)
+      if (ptrace (PTRACE_ATTACH, lwpid, 0, 0) < 0)
 	{
+	  if (linux_supports_tracefork_flag)
+	    {
+	      /* If we haven't stopped all threads when we get here,
+		 we may have seen a thread listed in thread_db's list,
+		 but not processed the PTRACE_EVENT_CLONE yet.  If
+		 that's the case, ignore this new thread, and let
+		 normal event handling discover it later.  */
+	      if (in_pid_list_p (stopped_pids, lwpid))
+		{
+		  /* We've already seen this thread stop, but we
+		     haven't seen the PTRACE_EVENT_CLONE extended
+		     event yet.  */
+		  restore_child_signals_mask (&prev_mask);
+		  return 0;
+		}
+	      else
+		{
+		  int new_pid;
+		  int status;
+
+		  /* See if we've got a stop for this new child
+		     pending.  If so, we're already attached.  */
+		  new_pid = my_waitpid (lwpid, &status, WNOHANG);
+		  if (new_pid == -1 && errno == ECHILD)
+		    new_pid = my_waitpid (lwpid, &status, __WCLONE | WNOHANG);
+		  if (new_pid != -1)
+		    {
+		      if (WIFSTOPPED (status))
+			add_to_pid_list (&stopped_pids, lwpid, status);
+
+		      restore_child_signals_mask (&prev_mask);
+		      return 1;
+		    }
+		}
+	    }
+
 	  /* If we fail to attach to the thread, issue a warning,
 	     but continue.  One way this can happen is if thread
 	     creation is interrupted; as of Linux kernel 2.6.19, a
@@ -3084,7 +3130,7 @@ linux_nat_filter_event (int lwpid, int status, int options)
      from waitpid before or after the event is.  */
   if (WIFSTOPPED (status) && !lp)
     {
-      linux_record_stopped_pid (lwpid, status);
+      add_to_pid_list (&stopped_pids, lwpid, status);
       return NULL;
     }
 
diff --git a/gdb/linux-thread-db.c b/gdb/linux-thread-db.c
index dda2bff..8141b20 100644
--- a/gdb/linux-thread-db.c
+++ b/gdb/linux-thread-db.c
@@ -1140,9 +1140,25 @@ attach_thread (ptid_t ptid, const td_thrhandle_t *th_p,
 
   /* Under GNU/Linux, we have to attach to each and every thread.  */
   if (target_has_execution
-      && tp == NULL
-      && lin_lwp_attach_lwp (BUILD_LWP (ti_p->ti_lid, GET_PID (ptid))) < 0)
-    return 0;
+      && tp == NULL)
+    {
+      int res;
+
+      res = lin_lwp_attach_lwp (BUILD_LWP (ti_p->ti_lid, GET_PID (ptid)));
+      if (res < 0)
+	{
+	  /* Error, stop iterating.  */
+	  return 0;
+	}
+      else if (res > 0)
+	{
+	  /* Pretend this thread doesn't exist yet, and keep
+	     iterating.  */
+	  return 1;
+	}
+
+      /* Otherwise, we sucessfully attached to the thread.  */
+    }
 
   /* Construct the thread's private data.  */
   private = xmalloc (sizeof (struct private_thread_info));
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index e539d88..7a8719d 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2011-09-02  Matt Rice  <ratmice@gmail.com>
+
+	* lib/prompt.exp: New file for testing the first prompt.
+	* gdb.python/py-prompt.exp: Ditto.
+	* gdb.python/py-prompt.c: Ditto (copy of ext-attach.c).
+
 2011-09-02  Pedro Alves  <pedro@codesourcery.com>
 
 	* gdb.threads/gcore-thread.exp: Set the global core_supported to
diff --git a/gdb/testsuite/gdb.python/py-prompt.c b/gdb/testsuite/gdb.python/py-prompt.c
new file mode 100644
index 0000000..8d84f09
--- /dev/null
+++ b/gdb/testsuite/gdb.python/py-prompt.c
@@ -0,0 +1,31 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* This program is intended to be started outside of gdb, and then
+   attached to by gdb.  It loops for a while, but not forever.  */
+
+#include <unistd.h>
+
+int main ()
+{
+  int i;
+
+  for (i = 0; i < 120; i++)
+    sleep (1);
+
+  return 0;
+}


hooks/post-receive
--
Repository for Project Archer.


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

end of thread, other threads:[~2011-09-05 21:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-05 21:24 [SCM] archer-jankratochvil-entryval: Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final-s390 jkratoch
  -- strict thread matches above, loose matches on Subject: below --
2011-09-05 21:00 jkratoch

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).