public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  archer-jankratochvil-watchpoint3: Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3
@ 2011-12-17 19:51 jkratoch
  0 siblings, 0 replies; 11+ messages in thread
From: jkratoch @ 2011-12-17 19:51 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-watchpoint3 has been updated
       via  d7790484278160f08c48f5f60e576edc2e2d8fd9 (commit)
       via  663685aa4ffeb099aed639e131cc6bc9103ba871 (commit)
       via  813f324db07a6ea3f13b6464cd73ee3f1e56d785 (commit)
       via  454ac66259a2a88c85523bb5a0abd5bbe9640c81 (commit)
       via  2e5e114aaaaf480e9da1d1bf18ad9224b6e52293 (commit)
       via  a6e0480f898acda86bca0e8b6ead812c9109bf82 (commit)
       via  0ed19feba882fc5860fa18081aca49851dff3ef4 (commit)
       via  951e14bdbc376bef83cb45bad302e319a78cedd9 (commit)
       via  a58ecad67cc1e85d4fa38e5d1abbdae23f740373 (commit)
       via  b86b60d045c3872f7a7ae6685b4a10875d324c13 (commit)
       via  5ac9e9c92053c09fed3055c2c98d254b7f1d33cb (commit)
      from  c7161f22ab55cc769de4caba5744774ba2e7b32f (commit)

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

- Log -----------------------------------------------------------------
commit d7790484278160f08c48f5f60e576edc2e2d8fd9
Merge: c7161f2 663685a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 20:51:34 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3

commit 663685aa4ffeb099aed639e131cc6bc9103ba871
Merge: 09ade72 813f324
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 20:51:33 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix' into d-forkfix-cleanup-fork-multifix-kernel

commit 813f324db07a6ea3f13b6464cd73ee3f1e56d785
Merge: 2345715 454ac66
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 20:51:33 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork' into d-forkfix-cleanup-fork-multifix

commit 454ac66259a2a88c85523bb5a0abd5bbe9640c81
Merge: abe53e1 2e5e114
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 20:51:32 2011 +0100

    Merge branch 'd-forkfix-cleanup' into d-forkfix-cleanup-fork

commit 2e5e114aaaaf480e9da1d1bf18ad9224b6e52293
Merge: 3ecccb4 a6e0480
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 20:51:32 2011 +0100

    Merge branch 'd-forkfix' into d-forkfix-cleanup

commit a6e0480f898acda86bca0e8b6ead812c9109bf82
Merge: 5aa40cc 0ed19fe
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 20:51:32 2011 +0100

    Merge branch 'd' into d-forkfix

commit 0ed19feba882fc5860fa18081aca49851dff3ef4
Merge: c37ce91 951e14b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 20:51:32 2011 +0100

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

commit 951e14bdbc376bef83cb45bad302e319a78cedd9
Author: Mark Kettenis <kettenis@gnu.org>
Date:   Sat Dec 17 15:45:55 2011 +0000

    * amd64obsd-tdep.c (amd64obsd_init_abi): Don't set
    regset_from_core_section.
    (amd64obsd_core_init_abi): New function that sets
    regset_from_core_section.
    (_initialize_amd64obsd_tdep): Use amd64obsd_core_init_abi for
    traditional core dumps.

commit a58ecad67cc1e85d4fa38e5d1abbdae23f740373
Author: Mark Kettenis <kettenis@gnu.org>
Date:   Sat Dec 17 13:54:50 2011 +0000

    * gdb.arch/amd64-i386-address.exp: Skip on *-*-openbsd*.

commit b86b60d045c3872f7a7ae6685b4a10875d324c13
Author: Mark Kettenis <kettenis@gnu.org>
Date:   Sat Dec 17 12:22:04 2011 +0000

    * amd64obsd-tdep.c (amd64obsd_sigtramp_p): Detect new signal
    trampoline to be introduced in OpenBSD 5.0.

commit 5ac9e9c92053c09fed3055c2c98d254b7f1d33cb
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 09:43:53 2011 +0000

    gdb/
    	Fix build regression from the PR threads/10729 fix.
    	* s390-nat.c (s390_insert_watchpoint, s390_remove_watchpoint): Use LP,
    	not LP->PTID.

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

Summary of changes:
 gdb/ChangeLog                                 |   20 ++++++++++++++++
 gdb/amd64obsd-tdep.c                          |   31 +++++++++++++++++++-----
 gdb/s390-nat.c                                |    4 +-
 gdb/testsuite/ChangeLog                       |    4 +++
 gdb/testsuite/gdb.arch/amd64-i386-address.exp |    3 +-
 5 files changed, 52 insertions(+), 10 deletions(-)

First 500 lines of diff:
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 02c5d3b..f73ed04 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,23 @@
+2011-12-17  Mark Kettenis  <kettenis@gnu.org>
+
+	* amd64obsd-tdep.c (amd64obsd_init_abi): Don't set
+	regset_from_core_section.
+	(amd64obsd_core_init_abi): New function that sets
+	regset_from_core_section.
+	(_initialize_amd64obsd_tdep): Use amd64obsd_core_init_abi for
+	traditional core dumps.
+
+2011-12-17  Mark Kettenis  <kettenis@gnu.org>
+
+	* amd64obsd-tdep.c (amd64obsd_sigtramp_p): Detect new signal
+	trampoline to be introduced in OpenBSD 5.0.
+
+2011-12-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	Fix build regression from the PR threads/10729 fix.
+	* s390-nat.c (s390_insert_watchpoint, s390_remove_watchpoint): Use LP,
+	not LP->PTID.
+
 2011-12-16  Andrey Smirnov  <andrew.smirnov@gmail.com>
 
 	* mi/mi-main.c (mi_cmd_list_thread_groups): Rename `optind' and
diff --git a/gdb/amd64obsd-tdep.c b/gdb/amd64obsd-tdep.c
index 2ff5c8f..4d592e2 100644
--- a/gdb/amd64obsd-tdep.c
+++ b/gdb/amd64obsd-tdep.c
@@ -88,12 +88,18 @@ amd64obsd_sigtramp_p (struct frame_info *this_frame)
 {
   CORE_ADDR pc = get_frame_pc (this_frame);
   CORE_ADDR start_pc = (pc & ~(amd64obsd_page_size - 1));
-  const gdb_byte sigreturn[] =
+  const gdb_byte osigreturn[] =
   {
     0x48, 0xc7, 0xc0,
     0x67, 0x00, 0x00, 0x00,	/* movq $SYS_sigreturn, %rax */
     0xcd, 0x80			/* int $0x80 */
   };
+  const gdb_byte sigreturn[] =
+  {
+    0x48, 0xc7, 0xc0,
+    0x67, 0x00, 0x00, 0x00,	/* movq $SYS_sigreturn, %rax */
+    0x0f, 0x05			/* syscall */
+  };
   size_t buflen = (sizeof sigreturn) + 1;
   gdb_byte *buf;
   char *name;
@@ -116,9 +122,12 @@ amd64obsd_sigtramp_p (struct frame_info *this_frame)
 
   /* Check for sigreturn(2).  Depending on how the assembler encoded
      the `movq %rsp, %rdi' instruction, the code starts at offset 6 or
-     7.  */
+     7.  OpenBSD 5.0 and later use the `syscall' instruction.  Older
+     versions use `int $0x80'.  Check for both.  */
   if (memcmp (buf, sigreturn, sizeof sigreturn)
-      && memcpy (buf + 1, sigreturn, sizeof sigreturn))
+      && memcmp (buf + 1, sigreturn, sizeof sigreturn)
+      && memcmp (buf, osigreturn, sizeof osigreturn)
+      && memcmp (buf + 1, osigreturn, sizeof osigreturn))
     return 0;
 
   return 1;
@@ -457,9 +466,6 @@ amd64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   tdep->gregset_num_regs = ARRAY_SIZE (amd64obsd_r_reg_offset);
   tdep->sizeof_gregset = 24 * 8;
 
-  set_gdbarch_regset_from_core_section (gdbarch,
-					amd64obsd_regset_from_core_section);
-
   tdep->jb_pc_offset = 7 * 8;
 
   tdep->sigtramp_p = amd64obsd_sigtramp_p;
@@ -478,6 +484,17 @@ amd64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   /* Unwind kernel trap frames correctly.  */
   frame_unwind_prepend_unwinder (gdbarch, &amd64obsd_trapframe_unwind);
 }
+
+/* Traditional (a.out) NetBSD-style core dumps.  */
+
+static void
+amd64obsd_core_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+  amd64obsd_init_abi (info, gdbarch);
+
+  set_gdbarch_regset_from_core_section
+    (gdbarch, amd64obsd_regset_from_core_section);
+}
 \f
 
 /* Provide a prototype to silence -Wmissing-prototypes.  */
@@ -494,5 +511,5 @@ _initialize_amd64obsd_tdep (void)
 
   /* OpenBSD uses traditional (a.out) NetBSD-style core dumps.  */
   gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x86_64,
-			  GDB_OSABI_NETBSD_AOUT, amd64obsd_init_abi);
+			  GDB_OSABI_NETBSD_AOUT, amd64obsd_core_init_abi);
 }
diff --git a/gdb/s390-nat.c b/gdb/s390-nat.c
index f682013..ea2f8f2 100644
--- a/gdb/s390-nat.c
+++ b/gdb/s390-nat.c
@@ -532,7 +532,7 @@ s390_insert_watchpoint (CORE_ADDR addr, int len, int type,
   watch_base = area;
 
   ALL_LWPS (lp)
-    s390_fix_watch_points (lp->ptid);
+    s390_fix_watch_points (lp);
   return 0;
 }
 
@@ -560,7 +560,7 @@ s390_remove_watchpoint (CORE_ADDR addr, int len, int type,
   xfree (area);
 
   ALL_LWPS (lp)
-    s390_fix_watch_points (lp->ptid);
+    s390_fix_watch_points (lp);
   return 0;
 }
 
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 4756327..b8fcccd 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2011-12-17  Mark Kettenis  <kettenis@gnu.org>
+
+	* gdb.arch/amd64-i386-address.exp: Skip on *-*-openbsd*.
+
 2011-12-16  Doug Evans  <dje@google.com>
 
 	* boards/native-stdio-gdbserver.exp: New file.
diff --git a/gdb/testsuite/gdb.arch/amd64-i386-address.exp b/gdb/testsuite/gdb.arch/amd64-i386-address.exp
index 5d70648..f6c662e 100644
--- a/gdb/testsuite/gdb.arch/amd64-i386-address.exp
+++ b/gdb/testsuite/gdb.arch/amd64-i386-address.exp
@@ -18,7 +18,8 @@
 # Test UNsigned extension of the 32-bit inferior address on a 64-bit host.
 # On native 32-bit host the test always PASSed.
 
-if {(![istarget "x86_64-*-*"] && ![istarget "i?86-*-*"]) || ![is_lp64_target] } then {
+if { (![istarget "x86_64-*-*"] && ![istarget "i?86-*-*"]) || ![is_lp64_target]
+     || [istarget "*-*-openbsd*"] } then {
     verbose "Skipping amd64->i386 adress test."
     return
 }


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


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

* [SCM]  archer-jankratochvil-watchpoint3: Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3
@ 2011-12-24 22:35 jkratoch
  0 siblings, 0 replies; 11+ messages in thread
From: jkratoch @ 2011-12-24 22:35 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-watchpoint3 has been updated
       via  78cd204526cf7fd4cba9e328cb56c8ed0c017caf (commit)
       via  5c56d0ab10d0518076e7b7250d0a63480b75b6db (commit)
       via  ed1dd9e59f60214f368c0d7b5bdd2945fd2810d3 (commit)
       via  b0637e9ac006594255cc5ff8cb2a086ad3b6a2fb (commit)
       via  cbe6ba297c36e0ac90e344a331e17b741775f190 (commit)
       via  83775f76b01b167b0bd888d04b2a53b594001745 (commit)
       via  b8a3b64c11f871f80e7c3b6eb0209cc5c818351a (commit)
       via  a91cf495a623c39b518a1f8910a50a11eed5c358 (commit)
       via  aaa2b8761fd96a0695ba1e2415317fa105de5a73 (commit)
       via  ac6e2683fdf34cfea298ca1538b4322e3d6b3369 (commit)
       via  2dde84ff788985abfeac628eb98a595f8a05bc07 (commit)
       via  cf0434a0ed7d5f0f793b0e60ad36cc829d455235 (commit)
       via  7c56fb07bde331d79eb73ece26b8fc960aa13eb2 (commit)
       via  2b86ff17b1b9b2f9a412419b4e3130c70c5b8970 (commit)
       via  de25529dff00ff10dd33da64ea585e3000c20d45 (commit)
       via  ac21184be7873c61803fe7581536c6e207caa133 (commit)
       via  846d69aa9953c9a385c9f12e64d1168f19bbb7bb (commit)
       via  08881a035c809afdf95cdaa401b16bd6e393c617 (commit)
       via  dbe5eff289dde3ca4b8e603e753004477fd712e7 (commit)
       via  93f66bbd89f354e4e91b54e0c840656d818b5a45 (commit)
       via  60f42b3a9ad673413e4021fa0260ef042b1f7373 (commit)
       via  3142def980696e09df117456488b11b8b8ff3ffe (commit)
       via  9d9aa83a0d5cb1cb3faef80de71ac7db46c420a5 (commit)
       via  0608745373b4f9f7f3cf98b79dd1941e05335b8f (commit)
       via  4edcc31f4dde0d0b3a913e18bf28b6cd71363f16 (commit)
       via  abe175fadc5e679d5559a45b6b8fce1611546ad7 (commit)
       via  50217fe66d7ea05318548debcbbccf8dd1c24485 (commit)
       via  5461fec85018011f4f1d770f2fee8a3b61f17b7f (commit)
       via  ae1fa9af14e4be7e85be7dae4c33f6f270c5bb02 (commit)
       via  848fbc6004fce2c496387149da7ce59e76ad9ba2 (commit)
       via  63af57135ddf1d96c37be8054be887872e563faf (commit)
       via  c4112dfdbae0412065a98f55d1923d88b0788363 (commit)
       via  4894a42b3b1c0be69c9eb53b94c39b1d93497455 (commit)
       via  8b446adc7f6d96c000ecb3833caa9a3ef2dde81b (commit)
       via  3ea5f7adf032f0340193b4632fcdefca3fcc0c04 (commit)
       via  a6d4f2d4a8828e688f1aba6ff6d35e4a9496fe71 (commit)
       via  9406bc6d52be2ec22ce920104605709e7c0deabe (commit)
       via  bcd9870b9f946ae6bc852c71caef61b42a6601bd (commit)
       via  23bef9c11849e876883ac5c543c20dbd32b17d14 (commit)
       via  ce49cc988a406151d9c8d7c61e6a1b410c4dee28 (commit)
       via  4bcfd2b7a4720de58b86ca390b7d0744eeb361dd (commit)
       via  ae2a8212b7f7eb6d9a7ea432cdd2bcb3b76b7f79 (commit)
       via  3d583e568fcd09ef8f64383877c9840f7da29d10 (commit)
       via  fea778453b931067df16ffcaab24858a2063366b (commit)
       via  585613d0df43531e15c3ea8295067e3ab77e831b (commit)
       via  76bbd697df30c3d19127eb46668aa7492397facc (commit)
       via  217b49ae0087a87f53fc1c4e5aade6fb6ea6d81c (commit)
       via  3d356a97b7a592feb2aa37eb3f48416c45f7fce7 (commit)
       via  dfd7327f648f7d4a2a12155a319fe06ff73d6d3d (commit)
       via  7bb829642e3054d78291527f0fd8fda3b409c0a2 (commit)
       via  321d6d622563015d57558c025f48e1747703acfd (commit)
       via  dc8a0875bb4a7079afa16d88d34e5b2a6bd3430c (commit)
       via  efb82700e6079a181006d710c56faab88d9ab7b1 (commit)
       via  383608774e46639738c9efdf3d075a6b827ca3d2 (commit)
       via  4e4f439257baf487dc479c3a25d62434531ed94f (commit)
       via  1664c9c9294c7a2d80b7e77eebb28f678b4cbc59 (commit)
       via  0c6af30d49d27e5a52be80cb0022b0546cfc7199 (commit)
       via  bc3cbcefe8a48249dbd700bd22cdf8851884b2e4 (commit)
       via  0bc6abb351c27583396a0e5d2fecd0141aa894c7 (commit)
       via  5d1d1cf42b079f79751e4b4300e2b33edf02f3d4 (commit)
       via  24dba32713620949a76a5b3301ef09fafbaebe67 (commit)
       via  b03a20ed642740d56afa2113890cf0b46648b03e (commit)
       via  4cd9f210713bd759e69ef6f7a1f2199c2934c8ea (commit)
       via  6f2f42b8a139ab7d88a4dd4dbe82bddcea737ea8 (commit)
       via  12d5fca175219f6eaf19d2d4a70795a8cc7407c1 (commit)
       via  f80241eeca80e9fa48a59b5027634ea6de8d8c4e (commit)
       via  2823cda32f101589c4888177875bb8c72ae94132 (commit)
      from  8feac2071c41939b7292c2d818c0a6ad16b05ecb (commit)

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

- Log -----------------------------------------------------------------
commit 78cd204526cf7fd4cba9e328cb56c8ed0c017caf
Merge: 8feac20 5c56d0a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 24 23:35:08 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3

commit 5c56d0ab10d0518076e7b7250d0a63480b75b6db
Merge: 0608745 ed1dd9e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 24 19:08:41 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix' into d-forkfix-cleanup-fork-multifix-kernel

commit ed1dd9e59f60214f368c0d7b5bdd2945fd2810d3
Merge: 4edcc31 b0637e9
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 24 19:08:41 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork' into d-forkfix-cleanup-fork-multifix

commit b0637e9ac006594255cc5ff8cb2a086ad3b6a2fb
Merge: abe175f cbe6ba2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 24 19:08:41 2011 +0100

    Merge branch 'd-forkfix-cleanup' into d-forkfix-cleanup-fork

commit cbe6ba297c36e0ac90e344a331e17b741775f190
Merge: 50217fe 83775f7
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 24 19:08:40 2011 +0100

    Merge branch 'd-forkfix' into d-forkfix-cleanup

commit 83775f76b01b167b0bd888d04b2a53b594001745
Merge: 5461fec b8a3b64
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 24 19:08:40 2011 +0100

    Merge branch 'd' into d-forkfix

commit b8a3b64c11f871f80e7c3b6eb0209cc5c818351a
Merge: ae1fa9a a91cf49
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 24 19:08:39 2011 +0100

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

commit a91cf495a623c39b518a1f8910a50a11eed5c358
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 24 16:31:37 2011 +0000

    bfd/
    	* elf32-rl78.c (rl78_elf_relocate_section, rl78_dump_symtab)
    	(rl78_elf_relax_section): Remove debug prints.

commit aaa2b8761fd96a0695ba1e2415317fa105de5a73
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Sat Dec 24 00:00:02 2011 +0000

    *** empty log message ***

commit ac6e2683fdf34cfea298ca1538b4322e3d6b3369
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Dec 23 21:24:25 2011 +0000

    bfd/
    	* elf32-rl78.c (rl78_elf_relocate_section, rl78_elf_relax_section): Use
    	BFD_VMA_FMT.

commit 2dde84ff788985abfeac628eb98a595f8a05bc07
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Dec 23 20:17:58 2011 +0000

    bfd/
    	* elf32-rl78.c (prev_alignment, sec_start): Remove unused variables.

commit cf0434a0ed7d5f0f793b0e60ad36cc829d455235
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Dec 23 18:01:25 2011 +0000

    gdb/testsuite/
    	* gdb.cp/templates.exp (test_template_typedef): Import gdb_prompt.
    	(print destructor of template typedef): Extend it for gcc/51668 XFAIL.
    	(verify GCC PR debug/51668): New test.

commit 7c56fb07bde331d79eb73ece26b8fc960aa13eb2
Author: kpouget <kpouget>
Date:   Fri Dec 23 17:06:05 2011 +0000

    	Introduce gdb.FinishBreakpoint in Python
    
    	* Makefile.in (SUBDIR_PYTHON_OBS): Add py-finishbreakpoint.o.
    	(SUBDIR_PYTHON_SRCS): Add python/py-finishbreakpoint.c.
    	Add build rule for this file.
    	* infcmd.c (print_return_value): Split to create get_return_value.
    	(get_return_value): New function based on print_return_value. Handle
    	case where stop_registers are not set.
    	* inferior.h (get_return_value): New prototype.
    	* python/py-breakpoint.c (bppy_pending_object): Make non-static.
    	(gdbpy_breakpoint_created): Set is_py_finish_bp is necessary.
    	(struct breakpoint_object): Move to python-internal.h
    	(BPPY_REQUIRE_VALID): Likewise.
    	(BPPY_SET_REQUIRE_VALID): Likewise.
    	(gdbpy_breakpoint_created): Initialize is_finish_bp.
    	(gdbpy_should_stop): Add  pre/post hooks before/after calling stop
    	method.
    	* python/python-internal.h (breakpoint_object_type): Add as extern.
    	(bppy_pending_object): Likewise.
    	(typedef struct breakpoint_object) Removed.
    	(struct breakpoint_object): Moved from py-breakpoint.c.
    	Add field is_finish_bp.
    	(BPPY_REQUIRE_VALID): Moved from py-breakpoint.c.
    	(BPPY_SET_REQUIRE_VALID): Likewise.
    	(frame_object_to_frame_info): New prototype.
    	(gdbpy_initialize_finishbreakpoints): New prototype.
    	(bpfinishpy_is_finish_bp): Likewise.
    	(bpfinishpy_pre_stop_hook): Likewise.
    	(bpfinishpy_post_stop_hook): Likewise.
    	* python/py-finishbreakpoint.c: New file.
    	* python/py-frame.c(frame_object_to_frame_info): Make non-static and
    	accept PyObject instead of frame_object.
    	(frapy_is_valid): Don't cast to frame_object.
    	(frapy_name): Likewise.
    	(frapy_type): Likewise.
    	(frapy_unwind_stop_reason): Likewise.
    	(frapy_pc): Likewise.
    	(frapy_block): Likewise.
    	(frapy_function): Likewise.
    	(frapy_older): Likewise.
    	(frapy_newer): Likewise.
    	(frapy_find_sal): Likewise.
    	(frapy_read_var): Likewise.
    	(frapy_select): Likewise.
    	* python/python.c (gdbpy_is_stopped_at_finish_bp): New noop function.
    	(_initialize_python): Add gdbpy_initialize_finishbreakpoints.
    	* python/python.h: Include breakpoint.h
    	(gdbpy_is_stopped_at_finish_bp): New prototype.
    
    doc/
    	* gdb.texinfo (Finish Breakpoints in Python): New subsection.
    	(Python API): Add menu entry for Finish Breakpoints.
    
    testsuite/
    	* Makefile.in (EXECUTABLES): Add py-finish-breakpoint and
    	py-finish-breakpoint2
    	(MISCALLANEOUS): Add py-events-shlib.so and py-events-shlib-nodebug.so
    	* gdb.python/py-breakpoint.exp (mult_line): Define and use variable
    	instead of line number.
    	* gdb.python/py-finish-breakpoint.c: New file.
    	* gdb.python/py-finish-breakpoint.exp: New file.
    	* gdb.python/py-finish-breakpoint.py: New file.
    	* gdb.python/py-finish-breakpoint2.cc: New file.
    	* gdb.python/py-finish-breakpoint2.exp: New file.
    	* gdb.python/py-finish-breakpoint2.py: New file.

commit 2b86ff17b1b9b2f9a412419b4e3130c70c5b8970
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Dec 23 14:57:39 2011 +0000

    gdb/testsuite/
    	Fix compatibility with gcc-4.7.
    	* gdb.python/py-frame-inline.c (f): Use inline for __always_inline__.

commit de25529dff00ff10dd33da64ea585e3000c20d45
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Dec 23 14:49:53 2011 +0000

    gdb/testsuite/
    	Partial fix of compatibility with gcc-4.7.
    	* gdb.cp/templates.exp (ptype T5<int>, ptype t5i): Turn all PASS cases
    	into XFAIL "new without size_t".  Permit size_t for the KFAIL case.
    	Add comment to add a PASS case in the future.

commit ac21184be7873c61803fe7581536c6e207caa133
Author: Tristan Gingold <gingold@adacore.com>
Date:   Fri Dec 23 09:23:29 2011 +0000

    2011-12-23  Tristan Gingold  <gingold@adacore.com>
    
    	* vms-lib.c (vms_traverse_index): Move pointer update code.

commit 846d69aa9953c9a385c9f12e64d1168f19bbb7bb
Author: DJ Delorie <dj@delorie.com>
Date:   Fri Dec 23 01:49:34 2011 +0000

    [bfd]
    	* elf32-rl78.c (rl78_elf_howto_table): Add R_RL78_RH_RELAX.
    	(rl78_reloc_map): Add BFD_RELOC_RL78_RELAX.
    	(rl78_elf_relocate_section): Add R_RL78_RH_RELAX, R_RL78_RH_SFR,
    	and R_RL78_RH_SADDR.
    	(rl78_elf_finish_dynamic_sections): Only validate PLT section if
    	we didn't relax anything, as relaxing might remove a PLT reference
    	after we've set up the table.
    	(elf32_rl78_relax_delete_bytes): New.
    	(reloc_bubblesort): New.
    	(rl78_offset_for_reloc): New.
    	(relax_addr16): New.
    	(rl78_elf_relax_section): Add support for relaxing long
    	instructions into short ones.
    
    [gas]
    	* config/rl78-defs.h (rl78_linkrelax_addr16): Add.
    	(rl78_linkrelax_dsp, rl78_linkrelax_imm): Remove.
    	* config/rl78-parse.y: Tag all addr16 and branch patterns with
    	relaxation markers.
    	* config/tc-rl78.c (rl78_linkrelax_addr16): New.
    	(rl78_linkrelax_branch): New.
    	(OPTION_RELAX): New.
    	(md_longopts): Add relax option.
    	(md_parse_option): Add OPTION_RELAX.
    	(rl78_frag_init): Support relaxation.
    	(rl78_handle_align): New.
    	(md_assemble): Support relaxation.
    	(md_apply_fix): Likewise.
    	(md_convert_frag): Likewise.
    	* config/tc-rl78.h (MAX_MEM_FOR_RS_ALIGN_CODE): New.
    	(HANDLE_ALIGN): New.
    	(rl78_handle_align): Declare.
    
    	* config/rl78-parse.y (rl78_bit_insn): New.  Set it for all bit
    	insn patterns.
    	(find_bit_index): New.  Strip .BIT suffix off relevent
    	expressions for bit insns.
    	(rl78_lex): Exclude bit suffixes from expression parsing.
    
    [include/elf]
    	* rl78.h (R_RL78_RH_RELAX, R_RL78_RH_SFR, R_RL78_RH_SADDR): New.
    	(RL78_RELAXA_BRA, RL78_RELAXA_ADDR16: New.

commit 08881a035c809afdf95cdaa401b16bd6e393c617
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Fri Dec 23 00:00:03 2011 +0000

    *** empty log message ***

commit dbe5eff289dde3ca4b8e603e753004477fd712e7
Author: Tom Tromey <tromey@redhat.com>
Date:   Thu Dec 22 19:51:09 2011 +0000

    	PR python/12533:
    	* value.h (release_value_or_incref): Declare.
    	* value.c (struct value) <released>: New field.
    	(free_all_values, release_value, value_release_to_mark): Update
    	'released'.
    	(release_value_or_incref): New function.
    	* python/py-value.c (valpy_new): Use release_value_or_incref.
    	(value_to_value_object): Likewise.
    	* varobj.c (install_new_value): Move value_incref earlier.

commit 93f66bbd89f354e4e91b54e0c840656d818b5a45
Author: Tom Tromey <tromey@redhat.com>
Date:   Thu Dec 22 19:41:56 2011 +0000

    	* value.c (struct value) <modifiable, lazy, optimized_out,
    	initialized, stack>: Now bitfields.  Move to top.
    	<reference_count>: Move earlier.

commit 60f42b3a9ad673413e4021fa0260ef042b1f7373
Author: Martin Schwidefsky <schwidefsky@de.ibm.com>
Date:   Thu Dec 22 15:00:40 2011 +0000

    2011-12-22  Martin Schwidefsky  <schwidefsky@de.ibm.com>
    
    	* elf32-s390.c (elf_s390_relocate_section): Add check for debugging
    	section in LD to LE linker relaxation for R_390_TLS_LDO32.
    	* elf64-s390.c (elf_s390_relocate_section): Likewise for
    	R_390_TLS_LDO64.

commit 3142def980696e09df117456488b11b8b8ff3ffe
Author: Tom Tromey <tromey@redhat.com>
Date:   Thu Dec 22 02:34:31 2011 +0000

    	* minsyms.h: Rearrange.  Document header and all functions.
    	* minsyms.c: Move some comments to minsyms.h.

commit 9d9aa83a0d5cb1cb3faef80de71ac7db46c420a5
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Thu Dec 22 00:00:33 2011 +0000

    *** empty log message ***

commit 0608745373b4f9f7f3cf98b79dd1941e05335b8f
Merge: 585613d 4edcc31
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Dec 21 23:47:53 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix' into d-forkfix-cleanup-fork-multifix-kernel

commit 4edcc31f4dde0d0b3a913e18bf28b6cd71363f16
Merge: 76bbd69 abe175f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Dec 21 23:47:53 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork' into d-forkfix-cleanup-fork-multifix

commit abe175fadc5e679d5559a45b6b8fce1611546ad7
Merge: 217b49a 50217fe
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Dec 21 23:47:52 2011 +0100

    Merge branch 'd-forkfix-cleanup' into d-forkfix-cleanup-fork

commit 50217fe66d7ea05318548debcbbccf8dd1c24485
Merge: 3d356a9 5461fec
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Dec 21 23:47:52 2011 +0100

    Merge branch 'd-forkfix' into d-forkfix-cleanup

commit 5461fec85018011f4f1d770f2fee8a3b61f17b7f
Merge: dfd7327 ae1fa9a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Dec 21 23:47:52 2011 +0100

    Merge branch 'd' into d-forkfix

commit ae1fa9af14e4be7e85be7dae4c33f6f270c5bb02
Merge: 7bb8296 848fbc6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Dec 21 23:47:51 2011 +0100

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

commit 848fbc6004fce2c496387149da7ce59e76ad9ba2
Author: Tom Tromey <tromey@redhat.com>
Date:   Wed Dec 21 21:51:55 2011 +0000

    	* symtab.h: Include minsyms.h.
    	(prim_record_minimal_symbol, prim_record_minimal_symbol_full)
    	(prim_record_minimal_symbol_and_info, msymbol_hash_iw)
    	(msymbol_hash, SYMBOL_HASH_NEXT, msymbol_objfile)
    	(lookup_minimal_symbol, lookup_minimal_symbol_text)
    	(lookup_minimal_symbol_solib_trampoline)
    	(lookup_minimal_symbol_by_pc_name, lookup_minimal_symbol_by_pc)
    	(iterate_over_minimal_symbols, lookup_minimal_symbol_and_objfile)
    	(lookup_minimal_symbol_by_pc_section)
    	(lookup_solib_trampoline_symbol_by_pc)
    	(init_minimal_symbol_collection)
    	(make_cleanup_discard_minimal_symbols, install_minimal_symbols)
    	(msymbols_sort): Move to minsyms.h.
    	* objfiles.c (terminate_minimal_symbol_table): Move to minsyms.c.
    	* minsyms.c (terminate_minimal_symbol_table): Move from
    	objfiles.c.
    	* minsyms.h: New file.

commit 63af57135ddf1d96c37be8054be887872e563faf
Author: Tom Tromey <tromey@redhat.com>
Date:   Wed Dec 21 21:34:24 2011 +0000

    	* hppa-hpux-tdep.c (hppa64_hpux_search_dummy_call_sequence): Use
    	ALL_OBJFILE_MSYMBOLS.
    	(hppa_hpux_find_dummy_bpaddr): Likewise.
    	* jit.c (jit_object_close_impl): Use
    	terminate_minimal_symbol_table.

commit c4112dfdbae0412065a98f55d1923d88b0788363
Author: Tom Tromey <tromey@redhat.com>
Date:   Wed Dec 21 21:30:28 2011 +0000

    	* elfread.c (elf_symtab_read): Put the filename in the filename
    	bcache.

commit 4894a42b3b1c0be69c9eb53b94c39b1d93497455
Author: Tom Tromey <tromey@redhat.com>
Date:   Wed Dec 21 21:24:58 2011 +0000

    	* symtab.h (struct minimal_symbol) <filename>: Now const.

commit 8b446adc7f6d96c000ecb3833caa9a3ef2dde81b
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Wed Dec 21 21:21:15 2011 +0000

    	* elf32-arm.c (elf32_arm_nabi_grok_psinfo): Fill in core_pid.

commit 3ea5f7adf032f0340193b4632fcdefca3fcc0c04
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Wed Dec 21 21:13:14 2011 +0000

    gdb/
    	PR tdep/12797
    	* arm-tdep.c (arm_return_value): Handle complex types.
    
    gdb/testsuite/
    	PR tdep/12797
    	* gdb.base/callfuncs.exp: Remove KFAIL.

commit a6d4f2d4a8828e688f1aba6ff6d35e4a9496fe71
Author: Andreas Schwab <schwab@suse.de>
Date:   Wed Dec 21 15:27:27 2011 +0000

    * ppc-linux-nat.c (create_watchpoint_request): Only use ranged
    watchpoints when supported.

commit 9406bc6d52be2ec22ce920104605709e7c0deabe
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Dec 21 14:25:45 2011 +0000

    gdb/
    	* symfile.c (objfilep): New typedef and new DEF_VEC_P.
    	(reread_symbols): Remove variable reread_one, new variables
    	new_objfiles, all_cleanups and ix.  Use new_objfiles instead of
    	reread_one.  Push changed objfiles to new_objfiles, call
    	observer_notify_new_objfile for them later.

commit bcd9870b9f946ae6bc852c71caef61b42a6601bd
Author: Joel Brobecker <brobecker@gnat.com>
Date:   Wed Dec 21 07:34:05 2011 +0000

    Use symbol search name in expand_symtabs_matching_via_partial...
    
    We are iterating over all symbols in a partial symtab that would
    match a given name, so we should match the partial symbols
    search name against the given name rather than using the natural
    name.  In C++, that does not make a difference, but it does in
    Ada, because Ada searches using the symbol encoded name...
    
    We also update the generation of the .gdb_index file to match this
    change in the search. Although technically an incompatible change,
    we do not increment the gdb_index version number, because Ada is
    the only language where it would make a difference - except that
    this feature is not supported for Ada.
    
    gdb/ChangeLog:
    
            * psymtab.c (expand_symtabs_matching_via_partial): Match
            the partial symbols using their SYMBOL_SEARCH_NAME.
            * symfile.h (struct quick_symbol_functions): Udate the
            documentation of expand_symtabs_matching.
            * dwarf2read.c (write_psymbols): Use SYMBOL_SEARCH_NAME instead
            of SYMBOL_NATURAL_NAME in index entry.

commit 23bef9c11849e876883ac5c543c20dbd32b17d14
Author: Joel Brobecker <brobecker@gnat.com>
Date:   Wed Dec 21 07:24:38 2011 +0000

    Add handling for unqualified Ada operators in linespecs
    
    This patch enhances the linespec parser to recognize unqualified
    operator names in linespecs. This allows the user to insert a breakpoint
    on operator "+" as follow, for instance:
    
            (gdb) break "+"
    
    Previously, it was possible to insert such a breakpoint, but one
    had to fully qualify the function name. For instance:
    
            (gdb) break ops."+"
    
    gdb/ChangeLog:
    
            * linespec.c (locate_first_half): Add handling of Ada operators
            when the current language is Ada.

commit ce49cc988a406151d9c8d7c61e6a1b410c4dee28
Author: Joel Brobecker <brobecker@gnat.com>
Date:   Wed Dec 21 07:11:52 2011 +0000

    missing check against overlay_debugging in objfiles.c
    
    This fixes a problem where the debugger is trying to locate a minimal
    symbol from its address, when the symbol is inside a section whose
    VMA is different from its LMA.
    
    We have a program that was built on ppc-elf using a linker script
    such that data sections are placed in ROM, and then loaded onto RAM
    at execution.  So their VMA addresses are indeed different from
    their LMA address.
    
    Unfortunately, there is one place where GDB gets slightly confused
    into thinking that these data sections are overlayed, while it's
    not the case here.  This show up when trying to print the list of
    Ada tasks, where GDB is unable to determine their names, and thus
    prints a generic `Ravenscar task' instead:
    
        (gdb) info tasks
           ID       TID P-ID Pri State                  Name
            1     1d580      127 Delay Sleep            Ravenscar task
            2     183f8      127 Delay Sleep            Ravenscar task
        *   3     13268      127 Runnable               Ravenscar task
    
    We expected:
    
        (gdb) info tasks
           ID       TID P-ID Pri State                  Name
            1     1d580      127 Delay Sleep            environment_task
            2     183f8      127 Delay Sleep            raven2
        *   3     13268      127 Runnable               raven1
    
    The name of the task is determined by looking up the symbol table
    using the task ID, which is the address where the symbol is defined.
    So, ada-tasks calls...
    
        msym = lookup_minimal_symbol_by_pc (task_id);
    
    ... which in turn first tries to determine the section associated
    to this address (find_pc_section), which itself uses a map of sections
    to find it. The map itself is recomputed every time objfiles are
    loaded/changed by `update_section_map'. And `update_section_map'
    relies on `insert_section_p' to determine whether the section should
    be inserted in the map or not.
    
    This is where things get interesting for us, because `insert_section_p'
    simply rejects overlay sections:
    
      if (lma != 0 && lma != bfd_section_vma (abfd, section)
          && (bfd_get_file_flags (abfd) & BFD_IN_MEMORY) == 0)
        /* This is an overlay section.  IN_MEMORY check is needed to avoid
           discarding sections from the "system supplied DSO" (aka vdso)
           on some Linux systems (e.g. Fedora 11).  */
        return 0;
    
    However, it shouldn't reject our section in this case, since overlay
    debugging is off.  The fix is to add a check that overlay debugging
    is active before rejecting the section.  This is similar to what is
    done in `section_is_overlay' (which takes obj_section objects), for
    instance.
    
    gdb/Changelog:
    
            * objfiles.c (insert_section_p): Do not detect overlay sections
            if overlay debugging is off.

commit 4bcfd2b7a4720de58b86ca390b7d0744eeb361dd
Author: Joel Brobecker <brobecker@gnat.com>
Date:   Wed Dec 21 07:10:53 2011 +0000

    [Ada] Breakpoints on task bodies
    
    Consider the following declaration:
    
        package Pck is
           task Dummy_Task is
              entry Start;
           end Dummy_Task;
        end Pck;
    
    Inserting a breakpoint on the body of that task does not currently
    work:
    
        (gdb) b pck.dummy_task
        "pck.dummy_task" is not a function
        Make breakpoint pending on future shared library load? (y or [n]) n
    
    What happens here is that the compiler generates two symbols:
    
      (a) Symbol `pck__dummy_task' which is a *variable* referencing
          the task;
    
      (b) Symbol `pck__dummy_taskTKB' which is the subprogram implementing
          the body of the task.
    
    The symbol lookup only finds the variable before of the TKB suffix in
    the subprogram name. This patch fixes the problem by adjusting the
    ada-lang.c:is_name_suffix routine to recognize "TKB" suffixes.  But
    that's not enough, because the search in the symtab is performed via
    the block dictionary, using a hashing algorithm. So, for the search
    to find `pck__dummy_taskTKB', I had to modify the hashing function
    to ignore TKB suffixes as well.
    
    gdb/ChangeLog:
    
            * ada-lang.c (is_name_suffix): Add handling of "TKB" suffixes.
            Update function documentation.
            * dictionary.c (dict_hash): Ignore "TKB" suffixes in hash
            computation.
    
    gdb/testsuite/ChangeLog:
    
            * gdb.ada/task_bp: New testcase.

commit ae2a8212b7f7eb6d9a7ea432cdd2bcb3b76b7f79
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Wed Dec 21 00:00:33 2011 +0000

    *** empty log message ***

commit 3d583e568fcd09ef8f64383877c9840f7da29d10
Author: DJ Delorie <dj@delorie.com>
Date:   Tue Dec 20 19:02:08 2011 +0000

    merge from gcc

commit fea778453b931067df16ffcaab24858a2063366b
Author: Andreas Schwab <schwab@suse.de>
Date:   Tue Dec 20 17:01:29 2011 +0000

    config/:
    	* warnings.m4 (ACX_PROG_CC_WARNING_OPTS): Avoid leading dash in
    	expr call.
    libdecnumber/:
    	* configure: Regenerate.
    libiberty/:
    	* configure: Regenerate.

commit 585613d0df43531e15c3ea8295067e3ab77e831b
Merge: 87670d2 76bbd69
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Dec 20 16:27:28 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix' into d-forkfix-cleanup-fork-multifix-kernel

commit 76bbd697df30c3d19127eb46668aa7492397facc
Merge: ff91e18 217b49a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Dec 20 16:27:27 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork' into d-forkfix-cleanup-fork-multifix

commit 217b49ae0087a87f53fc1c4e5aade6fb6ea6d81c
Merge: 1d31565 3d356a9
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Dec 20 16:27:27 2011 +0100

    Merge branch 'd-forkfix-cleanup' into d-forkfix-cleanup-fork

commit 3d356a97b7a592feb2aa37eb3f48416c45f7fce7
Merge: 5a11701 dfd7327
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Dec 20 16:27:27 2011 +0100

    Merge branch 'd-forkfix' into d-forkfix-cleanup

commit dfd7327f648f7d4a2a12155a319fe06ff73d6d3d
Merge: 6044448 7bb8296
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Dec 20 16:27:26 2011 +0100

    Merge branch 'd' into d-forkfix

commit 7bb829642e3054d78291527f0fd8fda3b409c0a2
Merge: 321d6d6 dc8a087
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Dec 20 16:27:26 2011 +0100

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

commit 321d6d622563015d57558c025f48e1747703acfd
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Dec 20 16:26:45 2011 +0100

    Revert "Pedro's x86-affecting patch."
    
    This reverts commit 47bd7bc0eed3527dd87eba6e188d8ec05676e5a8.

commit dc8a0875bb4a7079afa16d88d34e5b2a6bd3430c
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Tue Dec 20 10:40:10 2011 +0000

    2011-12-20  Pedro Alves  <alves.ped@gmail.com>
    	    Jan Kratochvil  <jan.kratochvil@redhat.com>
    
            * linux-nat.c (add_lwp): Don't call linux_nat_new_thread on the
    	first LWP.
    	* amd64-linux-nat.c (update_debug_registers_callback): Instantiate
    	`lwp->arch_private' if NULL.
    	(amd64_linux_prepare_to_resume): Do nothing if `lwp->arch_private'
    	is NULL.
    	* i386-linux-nat.c (update_debug_registers_callback): Instantiate
    	`lwp->arch_private' if NULL.
    	(i386_linux_prepare_to_resume): Do nothing if `lwp->arch_private'
    	is NULL.

commit efb82700e6079a181006d710c56faab88d9ab7b1
Author: Doug Evans <dje@google.com>
Date:   Tue Dec 20 04:29:33 2011 +0000

    	* python/py-auto-load.c (info_auto_load_scripts): Pass address of
    	scripts vector to collect_matching_scripts.
    	(collect_matching_scripts): Update.

commit 383608774e46639738c9efdf3d075a6b827ca3d2
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Tue Dec 20 00:00:03 2011 +0000

    *** empty log message ***

commit 4e4f439257baf487dc479c3a25d62434531ed94f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Dec 19 22:20:05 2011 +0000

    gdb/
    	* symfile.c (reread_symbols): Move free_objfile_separate_debug,
    	preserve_values, sym_finish and clear_objfile_data calls before BFD
    	close.  Move free_objfile_separate_debug as the very first call.  New
    	comment on the ordering.
    
    gdb/testsuite/
    	* gdb.base/reread.exp: If srcfile2 fails to build retry it with
    	-DNO_SECTIONS.
    	* gdb.base/reread2.c <!NO_SECTIONS>: New sections block.

commit 1664c9c9294c7a2d80b7e77eebb28f678b4cbc59
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Mon Dec 19 21:44:57 2011 +0000

    	* s390-tdep.c (s390_push_dummy_call): Set addressing mode bit
    	in return PSWA.

commit 0c6af30d49d27e5a52be80cb0022b0546cfc7199
Author: Tom Tromey <tromey@redhat.com>
Date:   Mon Dec 19 16:11:07 2011 +0000

    	* symtab.h (add_minsym_to_hash_table): Don't declare.
    	* minsyms.c (add_minsym_to_hash_table): Now static.

commit bc3cbcefe8a48249dbd700bd22cdf8851884b2e4
Author: iains <iains>
Date:   Mon Dec 19 15:42:34 2011 +0000

    bfd:
    
    	* mach-o-i386.c (bfd_mach_o_section_type_valid_for_tgt): Define NULL.
    	* mach-o-target.c (bfd_mach_o_backend_data): Initialize bfd_mach_o_section_type_valid_for_tgt
    	* mach-o-x86-64.c (bfd_mach_o_section_type_valid_for_x86_64): New.
    	(bfd_mach_o_section_type_valid_for_tgt): Set to bfd_mach_o_section_type_valid_for_x86_64.
    	* mach-o.c (bfd_mach_o_section_type_name): Reorder and eliminate dup.
    	(bfd_mach_o_section_attribute_name): Reorder.
    	(bfd_mach_o_get_section_type_from_name): If the target has defined a validator for section
    	types, then use it.
    	* mach-o.h (bfd_mach_o_get_section_type_from_name): Alter declaration to include the bfd.
    
    gas:
    
    	* config/obj-macho.c (obj_mach_o_section): Account for target-dependent section
    	types.  Improve error handling when wrong section types/attributes are specified.
    
    gas/testsuite:
    
    	* gas/mach-o/err-sections-1.s: New.
    	* gas/mach-o/err-sections-2.s: New.
    	* gas/mach-o/sections-3.d: New.
    	* gas/mach-o/sections-3.s: New.

commit 0bc6abb351c27583396a0e5d2fecd0141aa894c7
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Dec 19 13:42:49 2011 +0000

    gdb/testsuite/
    	* gdb.cp/ptype-cv-cp.exp (ptype v_volatile_const_my_int): Make
    	PR gcc/45997 XFAIL conditional for gcc <= 4.5.
    	* gdb.python/py-type.exp (python print ttype.template_argument(2)):
    	Change PR gcc/41736 to the more specific PR gcc/46955.  Make it
    	conditional for gcc <= 4.5.

commit 5d1d1cf42b079f79751e4b4300e2b33edf02f3d4
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Dec 19 13:37:32 2011 +0000

    gdb/doc/
    	* gdbint.texinfo (Testsuite): Describe KFAIL and XFAIL in Writing
    	tests.
    
    gdb/testsuite/
    	* gdb.cp/ptype-cv-cp.exp (ptype v_volatile_const_my_int): Replace KFAIL
    	by XFAIL.
    	* gdb.cp/static-method.exp (info addr A::func())
    	(list static-method.cc:xxx::(anonymous namespace)::A::func)
    	(list 'static-method.cc:xxx::(anonymous namespace)::A::func')
    	(list 'static-method.cc':'xxx::(anonymous namespace)::A::func')
    	(list static-method.cc:'xxx::(anonymous namespace)::A::func'): Likewise.
    	* gdb.cp/temargs.exp (test value of F in k2_m, test type of F in k3_m)
    	(test value of F in k3_m): Likewise.
    	* gdb.python/py-type.exp (python print ttype.template_argument(2)):
    	Likewise.

commit 24dba32713620949a76a5b3301ef09fafbaebe67
Author: Andreas Schwab <schwab@suse.de>
Date:   Mon Dec 19 13:20:23 2011 +0000

    Check for warning flags without no- prefix
    
    config/:
    	* warnings.m4 (ACX_PROG_CC_WARNING_OPTS)
    	(ACX_PROG_CC_WARNING_ALMOST_PEDANTIC): Run the test without the
    	no- prefix.
    libdecnumber/:
    	* configure: Regenerate.
    libiberty/:
    	* configure: Regenerate.

commit b03a20ed642740d56afa2113890cf0b46648b03e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Dec 19 10:31:42 2011 +0000

    gdb/testsuite/
    	* gdb.threads/attach-stopped.exp (continue (*: attach2 continue))
    	(*: attach2 stop interrupt, *: attach2, exit leaves process sleeping):
    	Remove.
    	* gdb.threads/attachstop-mt.c: Remove.
    	* gdb.threads/attachstop-mt.exp: Remove.

commit 4cd9f210713bd759e69ef6f7a1f2199c2934c8ea
Author: cltang <cltang>
Date:   Mon Dec 19 07:57:59 2011 +0000

    2011-12-19  Chung-Lin Tang  <cltang@codesourcery.com>
    
    	gas/
    	* config/tc-mips.c (mips_pseudo_table): Add tprelword/tpreldword
    	entries.
    	(mips16_percent_op): Add MIPS16 TLS relocation ops.
    	(md_apply_fix): Add BFD_RELOC_MIPS16_TLS_* switch cases.
    	(s_tls_rel_directive): Rename from s_dtprel_internal(). Abstract out
    	directive string and reloc type as function parameters. Update
    	comments.
    	(s_dtprelword,s_dtpreldword): Change to use s_tls_rel_directive().
    	(s_tprelword,s_tpreldword): New functions.
    
    	include/
    	* elf/mips.h (elf_mips_reloc_type): Add R_MIPS16_TLS_* entries.
    
    	bfd/
    	* reloc.c (BFD_RELOC_MIPS16_TLS_GD,BFD_RELOC_MIPS16_TLS_LDM,
    	BFD_RELOC_MIPS16_TLS_DTPREL_HI16,BFD_RELOC_MIPS16_TLS_DTPREL_LO16,
    	BFD_RELOC_MIPS16_TLS_GOTTPREL,BFD_RELOC_MIPS16_TLS_TPREL_HI16,
    	BFD_RELOC_MIPS16_TLS_TPREL_LO16): New relocations for MIPS16 TLS.
    	* bfd-in2.h (bfd_reloc_code_real): Regenerate.
    	* libbfd.h (bfd_reloc_code_real_names): Regenerate.
    	* elf32-mips.c (elf_mips16_howto_table_rel): Add R_MIPS16_TLS_*
    	entries.
    	(mips16_reloc_map): Add BFD_RELOC_MIPS16_TLS_* to R_MIPS16_TLS_*
    	mappings.
    	* elfn32-mips.c (elf_mips16_howto_table_rel,
    	elf_mips16_howto_table_rela): Add R_MIPS16_TLS_* entries.
    	(mips16_reloc_map): Add BFD_RELOC_MIPS16_TLS_* to R_MIPS16_TLS_*
    	mappings.
    	* elf64-mips.c (mips16_elf64_howto_table_rel,
    	mips16_elf64_howto_table_rela): Add R_MIPS16_TLS_* entries.
    	(mips16_reloc_map): Add BFD_RELOC_MIPS16_TLS_* to R_MIPS16_TLS_*
    	mappings.
    	* elfxx-mips.c (TLS_RELOC_P,mips16_reloc_p,
    	_bfd_mips_elf_check_relocs): Add cases for R_MIPS16_TLS_* relocations.
    	(tls_gd_reloc_p): Add R_MIPS16_TLS_GD case.
    	(tls_ldm_reloc_p): Add R_MIPS16_TLS_LDM case.
    	(tls_gottprel_reloc_p): Add R_MIPS16_TLS_GOTTPREL case.
    	(mips_elf_calculate_relocation): Add cases for R_MIPS16_TLS_*,
    	R_MIPS_TLS_DTPREL32/64, and R_MIPS_TLS_TPREL32/64 relocations.

commit 6f2f42b8a139ab7d88a4dd4dbe82bddcea737ea8
Author: cltang <cltang>
Date:   Mon Dec 19 07:31:05 2011 +0000

    2011-12-19  Chung-Lin Tang  <cltang@codesourcery.com>
    	    Catherine Moore  <clm@codesourcery.com>
    	    Sandra Loosemore  <sandra@codesourcery.com>
    	    Richard Sandiford  <rdsandiford@googlemail.com>
    
    	* elfxx-mips.c (mips_elf_local_pic_function_p): Return true when
    	H is a MIPS16 function with a kept 32-bit stub. Update comments.
    	(mips_elf_get_la25_target): New function.
    	(mips_elf_add_la25_intro): Change to use mips_elf_get_la25_target().
    	(mips_elf_add_la25_stub): Move compute of use_trampoline_p down,
    	change to use mips_elf_get_la25_target().
    	(mips_elf_relocation_needs_la25_stub): Add target_is_16_bit_code_p
    	parameter, add switch case for R_MIPS16_26.
    	(mips_elf_calculate_relocation): Redirect relocation to point to the
    	LA25 stub if it exists, instead of the MIPS16 stub. Update arguments
    	of call to mips_elf_relocation_needs_la25_stub(), don't use la25 stub
    	for mips16->mips16 calls.
    	(_bfd_mips_elf_check_relocs): Update arguments of call to
    	mips_elf_relocation_needs_la25_stub().
    	(mips_elf_create_la25_stub): Change to use mips_elf_get_la25_target().

commit 12d5fca175219f6eaf19d2d4a70795a8cc7407c1
Author: Joel Brobecker <brobecker@gnat.com>
Date:   Mon Dec 19 04:36:20 2011 +0000

    try ignoring bad PLT entries in ELF symbol tables
    
    Comment says it all:
    
             /* On ia64-hpux, we have discovered that the system linker
                adds undefined symbols with nonzero addresses that cannot
                be right (their address points inside the code of another
                function in the .text section).  This creates problems
                when trying to determine which symbol corresponds to
                a given address.
    
                We try to detect those buggy symbols by checking which
                section we think they correspond to.  Normally, PLT symbols
                are stored inside their own section, and the typical name
                for that section is ".plt".  So, if there is a ".plt"
                section, and yet the section name of our symbol does not
                start with ".plt", we ignore that symbol.  */
    
    gdb/ChangeLog:
    
            * elfread.c (elf_symtab_read): Ignore undefined symbols with
            nonzero addresses if they do not correspond to a .plt section
            when one is available in the objfile.

commit f80241eeca80e9fa48a59b5027634ea6de8d8c4e
Author: Joel Brobecker <brobecker@gnat.com>
Date:   Mon Dec 19 04:33:38 2011 +0000

    Work around Solaris bourne shell limitation when building the sim
    
    Building the sim on a sparc-solaris 2.8 machine fails when configured
    with no extra sim hardware:
    
    > for hw in  ; do \
    >         echo "extern const struct hw_descriptor
    >         dv_${hw}_descriptor[];" ; \
    >       done >> tmp-hw.h
    > echo 'const char version[] = "'"`sed q
    > /[...]/../../gdb/version.in`"'";'
    > >> version.c-tmp
    > /bin/sh: -c: line 1: syntax error near unexpected token `;'
    > /bin/sh: -c: line 1: `for hw in  ; do \'
    > make[3]: *** [hw-config.h] Error 2
    
    The same thing happens with the version of bash that we got from
    Sun as well (which is very old: 2.03.0(1)-release).
    
    The problems comes from the fact that both shells are buggy, and
    reject the following script:
    
        for hw in ; do
          [...]
        done
    
    The above is what sim/common/Makefile.in tries to execute when
    generating hw-config.h.
    
    In order to allow users to build out of the box on these machines,
    this patch works around this bug.  It does rely on the fact that
    none of the tokens in SIM_HW contain whitespaces.
    
    sim/common/ChangeLog:
    
            * Make-common.in (hw-config.h): Work around bug in Solaris 2.8
            system bourne shell.

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

Summary of changes:
 bfd/ChangeLog                                      |  109 +++
 bfd/bfd-in2.h                                      |    9 +
 bfd/elf32-arm.c                                    |    2 +
 bfd/elf32-mips.c                                   |  114 +++
 bfd/elf32-rl78.c                                   |  998 +++++++++++++++++++-
 bfd/elf32-s390.c                                   |    2 +-
 bfd/elf64-mips.c                                   |  219 +++++
 bfd/elf64-s390.c                                   |    2 +-
 bfd/elfn32-mips.c                                  |  219 +++++
 bfd/elfxx-mips.c                                   |  131 ++-
 bfd/libbfd.h                                       |    7 +
 bfd/mach-o-i386.c                                  |    1 +
 bfd/mach-o-target.c                                |    3 +-
 bfd/mach-o-x86-64.c                                |   11 +
 bfd/mach-o.c                                       |   31 +-
 bfd/mach-o.h                                       |    3 +-
 bfd/reloc.c                                        |   17 +
 bfd/vms-lib.c                                      |    6 +-
 config/ChangeLog                                   |   11 +
 config/warnings.m4                                 |   24 +-
 gdb/ChangeLog                                      |  198 ++++
 gdb/Makefile.in                                    |    6 +
 gdb/NEWS                                           |    4 +
 gdb/ada-lang.c                                     |    6 +
 gdb/amd64-linux-nat.c                              |    5 +-
 gdb/arm-tdep.c                                     |    6 +
 gdb/breakpoint.c                                   |    3 +-
 gdb/breakpoint.h                                   |    2 +-
 gdb/dictionary.c                                   |   11 +
 gdb/doc/ChangeLog                                  |   11 +
 gdb/doc/gdb.texinfo                                |   53 +
 gdb/doc/gdbint.texinfo                             |   39 +
 gdb/dwarf2read.c                                   |    2 +-
 gdb/elfread.c                                      |   27 +-
 gdb/hppa-hpux-tdep.c                               |    8 +-
 gdb/i386-linux-nat.c                               |    5 +-
 gdb/infcmd.c                                       |   39 +-
 gdb/inferior.h                                     |    3 +
 gdb/jit.c                                          |    4 +-
 gdb/linespec.c                                     |   18 +
 gdb/linux-nat.c                                    |    8 +
 gdb/minsyms.c                                      |   86 +-
 gdb/minsyms.h                                      |  251 +++++
 gdb/objfiles.c                                     |   25 +-
 gdb/ppc-linux-nat.c                                |    3 +-
 gdb/psymtab.c                                      |    2 +-
 gdb/python/py-auto-load.c                          |    7 +-
 gdb/python/py-breakpoint.c                         |   48 +-
 gdb/python/py-finishbreakpoint.c                   |  462 +++++++++
 gdb/python/py-frame.c                              |   32 +-
 gdb/python/py-value.c                              |    4 +-
 gdb/python/python-internal.h                       |   50 +-
 gdb/python/python.c                                |    1 +
 gdb/s390-tdep.c                                    |   10 +-
 gdb/symfile.c                                      |   69 +-
 gdb/symfile.h                                      |    7 +-
 gdb/symtab.h                                       |   80 +--
 gdb/testsuite/ChangeLog                            |   76 ++
 gdb/testsuite/gdb.ada/task_bp.exp                  |   68 ++
 gdb/testsuite/gdb.ada/task_bp/foo.adb              |   20 +
 gdb/testsuite/gdb.ada/task_bp/pck.adb              |   21 +
 gdb/testsuite/gdb.ada/task_bp/pck.ads              |   20 +
 gdb/testsuite/gdb.base/callfuncs.exp               |    3 -
 gdb/testsuite/gdb.base/reread.exp                  |    3 +-
 gdb/testsuite/gdb.base/reread2.c                   |   11 +
 gdb/testsuite/gdb.cp/ptype-cv-cp.exp               |    5 +-
 gdb/testsuite/gdb.cp/static-method.exp             |   11 +-
 gdb/testsuite/gdb.cp/temargs.exp                   |    6 +-
 gdb/testsuite/gdb.cp/templates.exp                 |   54 +-
 gdb/testsuite/gdb.python/Makefile.in               |    5 +-
 gdb/testsuite/gdb.python/py-breakpoint.exp         |    7 +-
 gdb/testsuite/gdb.python/py-finish-breakpoint.c    |  100 ++
 gdb/testsuite/gdb.python/py-finish-breakpoint.exp  |  265 ++++++
 gdb/testsuite/gdb.python/py-finish-breakpoint.py   |   89 ++
 ...{py-frame-inline.c => py-finish-breakpoint2.cc} |   50 +-
 gdb/testsuite/gdb.python/py-finish-breakpoint2.exp |   65 ++
 gdb/testsuite/gdb.python/py-finish-breakpoint2.py  |   33 +
 gdb/testsuite/gdb.python/py-frame-inline.c         |    2 +-
 gdb/testsuite/gdb.python/py-type.exp               |    5 +-
 gdb/testsuite/gdb.threads/attach-stopped.exp       |   51 +-
 gdb/testsuite/gdb.threads/attachstop-mt.c          |   56 --
 gdb/testsuite/gdb.threads/attachstop-mt.exp        |  266 ------
 gdb/value.c                                        |  109 ++-
 gdb/value.h                                        |    2 +
 gdb/varobj.c                                       |    6 +-
 gdb/version.in                                     |    2 +-
 include/ChangeLog                                  |    4 +
 include/elf/ChangeLog                              |    5 +
 include/elf/mips.h                                 |    9 +-
 include/elf/rl78.h                                 |   13 +-
 libdecnumber/ChangeLog                             |    8 +
 libdecnumber/configure                             |   30 +-
 libiberty/ChangeLog                                |   13 +
 libiberty/aclocal.m4                               |    2 +-
 libiberty/configure                                |   14 +-
 sim/common/ChangeLog                               |    5 +
 sim/common/Make-common.in                          |    6 +-
 97 files changed, 4192 insertions(+), 842 deletions(-)
 create mode 100644 gdb/minsyms.h
 create mode 100644 gdb/python/py-finishbreakpoint.c
 create mode 100644 gdb/testsuite/gdb.ada/task_bp.exp
 create mode 100644 gdb/testsuite/gdb.ada/task_bp/foo.adb
 create mode 100644 gdb/testsuite/gdb.ada/task_bp/pck.adb
 create mode 100644 gdb/testsuite/gdb.ada/task_bp/pck.ads
 create mode 100644 gdb/testsuite/gdb.python/py-finish-breakpoint.c
 create mode 100644 gdb/testsuite/gdb.python/py-finish-breakpoint.exp
 create mode 100644 gdb/testsuite/gdb.python/py-finish-breakpoint.py
 copy gdb/testsuite/gdb.python/{py-frame-inline.c => py-finish-breakpoint2.cc} (50%)
 create mode 100644 gdb/testsuite/gdb.python/py-finish-breakpoint2.exp
 create mode 100644 gdb/testsuite/gdb.python/py-finish-breakpoint2.py
 delete mode 100644 gdb/testsuite/gdb.threads/attachstop-mt.c
 delete mode 100644 gdb/testsuite/gdb.threads/attachstop-mt.exp

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index f017209..9af9565 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,112 @@
+2011-12-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* elf32-rl78.c (rl78_elf_relocate_section, rl78_dump_symtab)
+	(rl78_elf_relax_section): Remove debug prints.
+
+2011-12-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* elf32-rl78.c (rl78_elf_relocate_section, rl78_elf_relax_section): Use
+	BFD_VMA_FMT.
+
+2011-12-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* elf32-rl78.c (prev_alignment, sec_start): Remove unused variables.
+
+2011-12-23  Tristan Gingold  <gingold@adacore.com>
+
+	* vms-lib.c (vms_traverse_index): Move pointer update code.
+
+2011-12-22  DJ Delorie  <dj@redhat.com>
+
+	* elf32-rl78.c (rl78_elf_howto_table): Add R_RL78_RH_RELAX.
+	(rl78_reloc_map): Add BFD_RELOC_RL78_RELAX.
+	(rl78_elf_relocate_section): Add R_RL78_RH_RELAX, R_RL78_RH_SFR,
+	and R_RL78_RH_SADDR.
+	(rl78_elf_finish_dynamic_sections): Only validate PLT section if
+	we didn't relax anything, as relaxing might remove a PLT reference
+	after we've set up the table.
+	(elf32_rl78_relax_delete_bytes): New.
+	(reloc_bubblesort): New.
+	(rl78_offset_for_reloc): New.
+	(relax_addr16): New.
+	(rl78_elf_relax_section): Add support for relaxing long
+	instructions into short ones.
+
+2011-12-22  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* elf32-s390.c (elf_s390_relocate_section): Add check for debugging
+	section in LD to LE linker relaxation for R_390_TLS_LDO32.
+	* elf64-s390.c (elf_s390_relocate_section): Likewise for
+	R_390_TLS_LDO64.
+
+2011-12-21  Ulrich Weigand  <ulrich.weigand@linaro.org>
+
+	* elf32-arm.c (elf32_arm_nabi_grok_psinfo): Fill in core_pid.
+
+2011-12-19  Iain Sandoe  <idsandoe@googlemail.com>
+
+	* mach-o-i386.c (bfd_mach_o_section_type_valid_for_tgt): Define NULL.
+	* mach-o-target.c (bfd_mach_o_backend_data): Initialize
+	bfd_mach_o_section_type_valid_for_tgt
+	* mach-o-x86-64.c (bfd_mach_o_section_type_valid_for_x86_64): New.
+	(bfd_mach_o_section_type_valid_for_tgt): Set to
+	bfd_mach_o_section_type_valid_for_x86_64.
+	* mach-o.c (bfd_mach_o_section_type_name): Reorder and eliminate dup.
+	(bfd_mach_o_section_attribute_name): Reorder.
+	(bfd_mach_o_get_section_type_from_name): If the target has defined a
+	validator for section types, then use it.
+	* mach-o.h (bfd_mach_o_get_section_type_from_name): Alter declaration
+	to include the bfd.
+
+2011-12-19  Chung-Lin Tang  <cltang@codesourcery.com>
+
+	* reloc.c (BFD_RELOC_MIPS16_TLS_GD,BFD_RELOC_MIPS16_TLS_LDM,
+	BFD_RELOC_MIPS16_TLS_DTPREL_HI16,BFD_RELOC_MIPS16_TLS_DTPREL_LO16,
+	BFD_RELOC_MIPS16_TLS_GOTTPREL,BFD_RELOC_MIPS16_TLS_TPREL_HI16,
+	BFD_RELOC_MIPS16_TLS_TPREL_LO16): New relocations for MIPS16 TLS.
+	* bfd-in2.h (bfd_reloc_code_real): Regenerate.
+	* libbfd.h (bfd_reloc_code_real_names): Regenerate.
+	* elf32-mips.c (elf_mips16_howto_table_rel): Add R_MIPS16_TLS_*
+	entries.
+	(mips16_reloc_map): Add BFD_RELOC_MIPS16_TLS_* to R_MIPS16_TLS_*
+	mappings.
+	* elfn32-mips.c (elf_mips16_howto_table_rel,
+	elf_mips16_howto_table_rela): Add R_MIPS16_TLS_* entries.
+	(mips16_reloc_map): Add BFD_RELOC_MIPS16_TLS_* to R_MIPS16_TLS_*
+	mappings.
+	* elf64-mips.c (mips16_elf64_howto_table_rel,
+	mips16_elf64_howto_table_rela): Add R_MIPS16_TLS_* entries.
+	(mips16_reloc_map): Add BFD_RELOC_MIPS16_TLS_* to R_MIPS16_TLS_*
+	mappings.
+	* elfxx-mips.c (TLS_RELOC_P,mips16_reloc_p,
+	_bfd_mips_elf_check_relocs): Add cases for R_MIPS16_TLS_* relocations.
+	(tls_gd_reloc_p): Add R_MIPS16_TLS_GD case.
+	(tls_ldm_reloc_p): Add R_MIPS16_TLS_LDM case.
+	(tls_gottprel_reloc_p): Add R_MIPS16_TLS_GOTTPREL case.
+	(mips_elf_calculate_relocation): Add cases for R_MIPS16_TLS_*,
+	R_MIPS_TLS_DTPREL32/64, and R_MIPS_TLS_TPREL32/64 relocations.
+
+2011-12-19  Chung-Lin Tang  <cltang@codesourcery.com>
+	    Catherine Moore  <clm@codesourcery.com>
+	    Sandra Loosemore  <sandra@codesourcery.com>
+	    Richard Sandiford  <rdsandiford@googlemail.com>
+
+	* elfxx-mips.c (mips_elf_local_pic_function_p): Return true when
+	H is a MIPS16 function with a kept 32-bit stub. Update comments.
+	(mips_elf_get_la25_target): New function.
+	(mips_elf_add_la25_intro): Change to use mips_elf_get_la25_target().
+	(mips_elf_add_la25_stub): Move compute of use_trampoline_p down,
+	change to use mips_elf_get_la25_target().
+	(mips_elf_relocation_needs_la25_stub): Add target_is_16_bit_code_p
+	parameter, add switch case for R_MIPS16_26.
+	(mips_elf_calculate_relocation): Redirect relocation to point to the
+	LA25 stub if it exists, instead of the MIPS16 stub. Update arguments
+	of call to mips_elf_relocation_needs_la25_stub(), don't use la25 stub
+	for mips16->mips16 calls.
+	(_bfd_mips_elf_check_relocs): Update arguments of call to
+	mips_elf_relocation_needs_la25_stub().
+	(mips_elf_create_la25_stub): Change to use mips_elf_get_la25_target().
+
 2011-12-16  Shinichiro Hamaji  <shinichiro.hamaji@gmail.com>
 
 	* mach-o-i386.c (TARGET_PRIORITY): Define as 0 (top priority)
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 2bb0ec7..1523660 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -2786,6 +2786,15 @@ to compensate for the borrow when the low bits are added.  */
 /* MIPS16 low 16 bits.  */
   BFD_RELOC_MIPS16_LO16,
 
+/* MIPS16 TLS relocations  */
+  BFD_RELOC_MIPS16_TLS_GD,
+  BFD_RELOC_MIPS16_TLS_LDM,
+  BFD_RELOC_MIPS16_TLS_DTPREL_HI16,
+  BFD_RELOC_MIPS16_TLS_DTPREL_LO16,
+  BFD_RELOC_MIPS16_TLS_GOTTPREL,
+  BFD_RELOC_MIPS16_TLS_TPREL_HI16,
+  BFD_RELOC_MIPS16_TLS_TPREL_LO16,
+
 /* Relocation against a MIPS literal section.  */
   BFD_RELOC_MIPS_LITERAL,
   BFD_RELOC_MICROMIPS_LITERAL,
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index f42b2bf..31ea861 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -1966,6 +1966,8 @@ elf32_arm_nabi_grok_psinfo (bfd *abfd, Elf_Internal_Note *note)
 	return FALSE;
 
       case 124:		/* Linux/ARM elf_prpsinfo.  */
+	elf_tdata (abfd)->core_pid
+	 = bfd_get_32 (abfd, note->descdata + 12);
 	elf_tdata (abfd)->core_program
 	 = _bfd_elfcore_strndup (abfd, note->descdata + 28, 16);
 	elf_tdata (abfd)->core_command
diff --git a/bfd/elf32-mips.c b/bfd/elf32-mips.c
index fd3d4ba..61e8b45 100644
--- a/bfd/elf32-mips.c
+++ b/bfd/elf32-mips.c
@@ -830,6 +830,111 @@ static reloc_howto_type elf_mips16_howto_table_rel[] =
 	 0x0000ffff,		/* src_mask */
 	 0x0000ffff,	        /* dst_mask */
 	 FALSE),		/* pcrel_offset */
+
+  /* MIPS16 TLS general dynamic variable reference.  */
+  HOWTO (R_MIPS16_TLS_GD,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MIPS16_TLS_GD",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* MIPS16 TLS local dynamic variable reference.  */
+  HOWTO (R_MIPS16_TLS_LDM,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MIPS16_TLS_LDM",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* MIPS16 TLS local dynamic offset.  */
+  HOWTO (R_MIPS16_TLS_DTPREL_HI16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MIPS16_TLS_DTPREL_HI16",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* MIPS16 TLS local dynamic offset.  */
+  HOWTO (R_MIPS16_TLS_DTPREL_LO16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MIPS16_TLS_DTPREL_LO16",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* MIPS16 TLS thread pointer offset.  */
+  HOWTO (R_MIPS16_TLS_GOTTPREL,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MIPS16_TLS_GOTTPREL",	/* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* MIPS16 TLS thread pointer offset.  */
+  HOWTO (R_MIPS16_TLS_TPREL_HI16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MIPS16_TLS_TPREL_HI16", /* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
+
+  /* MIPS16 TLS thread pointer offset.  */
+  HOWTO (R_MIPS16_TLS_TPREL_LO16,	/* type */
+	 0,			/* rightshift */
+	 2,			/* size (0 = byte, 1 = short, 2 = long) */
+	 16,			/* bitsize */
+	 FALSE,			/* pc_relative */
+	 0,			/* bitpos */
+	 complain_overflow_signed, /* complain_on_overflow */
+	 _bfd_mips_elf_generic_reloc, /* special_function */
+	 "R_MIPS16_TLS_TPREL_LO16", /* name */
+	 TRUE,			/* partial_inplace */
+	 0x0000ffff,		/* src_mask */
+	 0x0000ffff,		/* dst_mask */
+	 FALSE),		/* pcrel_offset */
 };
 
 static reloc_howto_type elf_micromips_howto_table_rel[] =
@@ -1796,6 +1901,15 @@ static const struct elf_reloc_map mips16_reloc_map[] =
   { BFD_RELOC_MIPS16_CALL16, R_MIPS16_CALL16 - R_MIPS16_min },
   { BFD_RELOC_MIPS16_HI16_S, R_MIPS16_HI16 - R_MIPS16_min },
   { BFD_RELOC_MIPS16_LO16, R_MIPS16_LO16 - R_MIPS16_min },
+  { BFD_RELOC_MIPS16_TLS_GD, R_MIPS16_TLS_GD - R_MIPS16_min },
+  { BFD_RELOC_MIPS16_TLS_LDM, R_MIPS16_TLS_LDM - R_MIPS16_min },
+  { BFD_RELOC_MIPS16_TLS_DTPREL_HI16,
+    R_MIPS16_TLS_DTPREL_HI16 - R_MIPS16_min },
+  { BFD_RELOC_MIPS16_TLS_DTPREL_LO16,
+    R_MIPS16_TLS_DTPREL_LO16 - R_MIPS16_min },
+  { BFD_RELOC_MIPS16_TLS_GOTTPREL, R_MIPS16_TLS_GOTTPREL - R_MIPS16_min },
+  { BFD_RELOC_MIPS16_TLS_TPREL_HI16, R_MIPS16_TLS_TPREL_HI16 - R_MIPS16_min },
+  { BFD_RELOC_MIPS16_TLS_TPREL_LO16, R_MIPS16_TLS_TPREL_LO16 - R_MIPS16_min }
 };
 
 static const struct elf_reloc_map micromips_reloc_map[] =
diff --git a/bfd/elf32-rl78.c b/bfd/elf32-rl78.c
index 92c01b0..9cc3697 100644
--- a/bfd/elf32-rl78.c
+++ b/bfd/elf32-rl78.c
@@ -85,7 +85,7 @@ static reloc_howto_type rl78_elf_howto_table [] =
   EMPTY_HOWTO (0x2a),
   EMPTY_HOWTO (0x2b),
   EMPTY_HOWTO (0x2c),
-  EMPTY_HOWTO (0x2d),
+  RL78REL (RH_RELAX, 0,  0, 0, dont,     FALSE),
 
   EMPTY_HOWTO (0x2e),
   EMPTY_HOWTO (0x2f),
@@ -234,7 +234,8 @@ static const struct rl78_reloc_map rl78_reloc_map [] =
   { BFD_RELOC_RL78_ABS32_REV,	R_RL78_ABS32_REV },
   { BFD_RELOC_RL78_ABS16UL,	R_RL78_ABS16UL },
   { BFD_RELOC_RL78_ABS16UW,	R_RL78_ABS16UW },
-  { BFD_RELOC_RL78_ABS16U,	R_RL78_ABS16U }
+  { BFD_RELOC_RL78_ABS16U,	R_RL78_ABS16U },
+  { BFD_RELOC_RL78_RELAX,	R_RL78_RH_RELAX }
 };
 
 static reloc_howto_type *
@@ -496,20 +497,8 @@ rl78_elf_relocate_section
 	    else
 	      plt_offset = elf_local_got_offsets (input_bfd) + r_symndx;
 
-	    /*	    printf("%s: rel %x plt %d\n", h ? h->root.root.string : "(none)",
-		    relocation, *plt_offset);*/
-	    if (valid_16bit_address (relocation))
+	    if (! valid_16bit_address (relocation))
 	      {
-	        /* If the symbol is in range for a 16-bit address, we should
-		   have deallocated the plt entry in relax_section.  */
-	        BFD_ASSERT (*plt_offset == (bfd_vma) -1);
-	      }
-	    else
-	      {
-		/* If the symbol is out of range for a 16-bit address,
-		   we must have allocated a plt entry.  */
-		BFD_ASSERT (*plt_offset != (bfd_vma) -1);
-
 		/* If this is the first time we've processed this symbol,
 		   fill in the plt entry with the correct symbol address.  */
 		if ((*plt_offset & 1) == 0)
@@ -575,6 +564,9 @@ rl78_elf_relocate_section
 	case R_RL78_NONE:
 	  break;
 
+	case R_RL78_RH_RELAX:
+	  break;
+
 	case R_RL78_DIR8S_PCREL:
 	  RANGE (-128, 127);
 	  OP (0) = relocation;
@@ -656,6 +648,16 @@ rl78_elf_relocate_section
 	  OP (0) = relocation >> 24;
 	  break;
 
+	case R_RL78_RH_SFR:
+	  RANGE (0xfff00, 0xfffff);
+	  OP (0) = relocation & 0xff;
+	  break;
+
+	case R_RL78_RH_SADDR:
+	  RANGE (0xffe20, 0xfff1f);
+	  OP (0) = relocation & 0xff;
+	  break;
+
 	  /* Complex reloc handling:  */
 
 	case R_RL78_ABS32:
@@ -1132,18 +1134,6 @@ rl78_dump_symtab (bfd * abfd, void * internal_syms, void * external_syms)
 	case SHN_UNDEF: st_shndx_str = "SHN_UNDEF";
 	default: st_shndx_str = "";
 	}
-
-      printf ("isym = %p st_value = %lx st_size = %lx st_name = (%lu) %s "
-	      "st_info = (%d) %s %s st_other = (%d) %s st_shndx = (%d) %s\n",
-	      isym,
-	      (unsigned long) isym->st_value,
-	      (unsigned long) isym->st_size,
-	      isym->st_name,
-	      bfd_elf_string_from_elf_section (abfd, symtab_hdr->sh_link,
-					       isym->st_name),
-	      isym->st_info, st_info_str, st_info_stb_str,
-	      isym->st_other, st_other_str,
-	      isym->st_shndx, st_shndx_str);
     }
   if (free_internal)
     free (internal_syms);
@@ -1273,18 +1263,24 @@ rl78_elf_finish_dynamic_sections (bfd *abfd ATTRIBUTE_UNUSED,
   bfd *dynobj;
   asection *splt;
 
-  /* As an extra sanity check, verify that all plt entries have
-     been filled in.  */
+  /* As an extra sanity check, verify that all plt entries have been
+     filled in.  However, relaxing might have changed the relocs so
+     that some plt entries don't get filled in, so we have to skip
+     this check if we're relaxing.  Unfortunately, check_relocs is
+     called before relaxation.  */
 
-  if ((dynobj = elf_hash_table (info)->dynobj) != NULL
-      && (splt = bfd_get_section_by_name (dynobj, ".plt")) != NULL)
+  if (info->relax_trip > 0)
     {
-      bfd_byte *contents = splt->contents;
-      unsigned int i, size = splt->size;
-      for (i = 0; i < size; i += 4)
+      if ((dynobj = elf_hash_table (info)->dynobj) != NULL
+	  && (splt = bfd_get_section_by_name (dynobj, ".plt")) != NULL)
 	{
-	  unsigned int x = bfd_get_32 (dynobj, contents + i);
-	  BFD_ASSERT (x != 0);
+	  bfd_byte *contents = splt->contents;
+	  unsigned int i, size = splt->size;
+	  for (i = 0; i < size; i += 4)
+	    {
+	      unsigned int x = bfd_get_32 (dynobj, contents + i);
+	      BFD_ASSERT (x != 0);
+	    }
 	}
     }
 
@@ -1503,6 +1499,485 @@ rl78_elf_relax_plt_section (bfd *dynobj,
   return TRUE;
 }
 
+/* Delete some bytes from a section while relaxing.  */
+
+static bfd_boolean
+elf32_rl78_relax_delete_bytes (bfd *abfd, asection *sec, bfd_vma addr, int count,
+			     Elf_Internal_Rela *alignment_rel, int force_snip)
+{
+  Elf_Internal_Shdr * symtab_hdr;
+  unsigned int        sec_shndx;
+  bfd_byte *          contents;
+  Elf_Internal_Rela * irel;
+  Elf_Internal_Rela * irelend;
+  Elf_Internal_Sym *  isym;
+  Elf_Internal_Sym *  isymend;
+  bfd_vma             toaddr;
+  unsigned int        symcount;
+  struct elf_link_hash_entry ** sym_hashes;
+  struct elf_link_hash_entry ** end_hashes;
+
+  if (!alignment_rel)
+    force_snip = 1;
+
+  sec_shndx = _bfd_elf_section_from_bfd_section (abfd, sec);
+
+  contents = elf_section_data (sec)->this_hdr.contents;
+
+  /* The deletion must stop at the next alignment boundary, if
+     ALIGNMENT_REL is non-NULL.  */
+  toaddr = sec->size;
+  if (alignment_rel)
+    toaddr = alignment_rel->r_offset;
+
+  irel = elf_section_data (sec)->relocs;
+  irelend = irel + sec->reloc_count;
+
+  /* Actually delete the bytes.  */
+  memmove (contents + addr, contents + addr + count,
+	   (size_t) (toaddr - addr - count));
+
+  /* If we don't have an alignment marker to worry about, we can just
+     shrink the section.  Otherwise, we have to fill in the newly
+     created gap with NOP insns (0x03).  */
+  if (force_snip)
+    sec->size -= count;
+  else
+    memset (contents + toaddr - count, 0x03, count);
+
+  /* Adjust all the relocs.  */
+  for (irel = elf_section_data (sec)->relocs; irel < irelend; irel++)
+    {
+      /* Get the new reloc address.  */
+      if (irel->r_offset > addr
+	  && (irel->r_offset < toaddr
+	      || (force_snip && irel->r_offset == toaddr)))
+	irel->r_offset -= count;
+
+      /* If we see an ALIGN marker at the end of the gap, we move it
+	 to the beginning of the gap, since marking these gaps is what
+	 they're for.  */
+      if (irel->r_offset == toaddr
+	  && ELF32_R_TYPE (irel->r_info) == R_RL78_RH_RELAX
+	  && irel->r_addend & RL78_RELAXA_ALIGN)
+	irel->r_offset -= count;
+    }
+
+  /* Adjust the local symbols defined in this section.  */
+  symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
+  isym = (Elf_Internal_Sym *) symtab_hdr->contents;
+  isymend = isym + symtab_hdr->sh_info;
+
+  for (; isym < isymend; isym++)
+    {
+      /* If the symbol is in the range of memory we just moved, we
+	 have to adjust its value.  */
+      if (isym->st_shndx == sec_shndx
+	  && isym->st_value > addr
+	  && isym->st_value < toaddr)
+	isym->st_value -= count;
+
+      /* If the symbol *spans* the bytes we just deleted (i.e. it's
+	 *end* is in the moved bytes but it's *start* isn't), then we
+	 must adjust its size.  */
+      if (isym->st_shndx == sec_shndx
+	  && isym->st_value < addr
+	  && isym->st_value + isym->st_size > addr
+	  && isym->st_value + isym->st_size < toaddr)
+	isym->st_size -= count;
+    }
+
+  /* Now adjust the global symbols defined in this section.  */


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


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

* [SCM]  archer-jankratochvil-watchpoint3: Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3
@ 2011-12-18 21:29 jkratoch
  0 siblings, 0 replies; 11+ messages in thread
From: jkratoch @ 2011-12-18 21:29 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-watchpoint3 has been updated
       via  8feac2071c41939b7292c2d818c0a6ad16b05ecb (commit)
       via  87670d287964be77b8da32bbd875ebbd85ebb4fb (commit)
       via  ff91e186318c78312651c357237276274d2bf212 (commit)
       via  1d31565eb2532f1ab2a08909c600c5858e820746 (commit)
       via  5a117014afc07ebb364185143f53b5bced51b7f0 (commit)
       via  6044448a5cf9f8a817062d7a4c0a344a24be43cc (commit)
       via  f0b183a1ee854da519744f69061545c9d631bcf3 (commit)
       via  554bc23ada8eed89ea7ee3be8696161c11352257 (commit)
       via  ce93acb903d800d84dd4238ba585920a34f6ed8a (commit)
       via  33259dcf89fefbc30a691bfb2dec91cd60ef14a2 (commit)
       via  fc450a9042cc50b2a92914da0ac859c89c2987c8 (commit)
       via  3ad308d676ab37242f036c626e238117d5e38f3d (commit)
       via  843e3d1f22d518445d82d423d40948a165447cda (commit)
      from  fca0f1bae7516ea7b75cb63c3684d812adb001f7 (commit)

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

- Log -----------------------------------------------------------------
commit 8feac2071c41939b7292c2d818c0a6ad16b05ecb
Merge: fca0f1b 87670d2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Dec 18 22:28:57 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3

commit 87670d287964be77b8da32bbd875ebbd85ebb4fb
Merge: a97b861 ff91e18
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Dec 18 22:28:38 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix' into d-forkfix-cleanup-fork-multifix-kernel

commit ff91e186318c78312651c357237276274d2bf212
Merge: 0412b3c 1d31565
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Dec 18 22:28:38 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork' into d-forkfix-cleanup-fork-multifix

commit 1d31565eb2532f1ab2a08909c600c5858e820746
Merge: 3ad308d 5a11701
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Dec 18 22:28:37 2011 +0100

    Merge branch 'd-forkfix-cleanup' into d-forkfix-cleanup-fork

commit 5a117014afc07ebb364185143f53b5bced51b7f0
Merge: 79f6a50 6044448
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Dec 18 22:28:37 2011 +0100

    Merge branch 'd-forkfix' into d-forkfix-cleanup

commit 6044448a5cf9f8a817062d7a4c0a344a24be43cc
Merge: 3f74cb8 f0b183a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Dec 18 22:28:37 2011 +0100

    Merge branch 'd' into d-forkfix

commit f0b183a1ee854da519744f69061545c9d631bcf3
Merge: 47bd7bc 554bc23
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Dec 18 22:28:37 2011 +0100

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

commit 3ad308d676ab37242f036c626e238117d5e38f3d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Dec 18 00:13:53 2011 +0100

    .

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

Summary of changes:
 ChangeLog                 |    4 +++
 config/ChangeLog          |    4 +++
 config/acx.m4             |    8 +++---
 configure                 |    2 +-
 gdb/ChangeLog             |    5 ++++
 gdb/cp-name-parser.y      |    3 --
 gdb/gdbserver/ChangeLog   |   12 ++++++++++
 gdb/gdbserver/linux-low.c |    5 ++-
 gdb/s390-nat.c            |   53 ++++++++++++++++++++++++++++++++++++++++----
 gdb/version.in            |    2 +-
 10 files changed, 82 insertions(+), 16 deletions(-)

First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index 06cae4e..265f828 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2011-12-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* configure: Regenerate.
+
 2011-12-15  Jeff Johnston  <jjohnstn@redhat.com>
 
 	* COPYING.LIBGLOSS: Add GPL with exception license.
diff --git a/config/ChangeLog b/config/ChangeLog
index ea203bc..da5fe51 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,7 @@
+2011-12-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* acx.m4 (Test for GNAT): Update comment and add quotes in final test.
+
 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
 	* mh-interix (LIBGCC2_DEBUG_CFLAGS): Remove.
diff --git a/config/acx.m4 b/config/acx.m4
index b559c03..9ff31eb 100644
--- a/config/acx.m4
+++ b/config/acx.m4
@@ -356,9 +356,9 @@ m4_define([AC_CHECK_HEADER],m4_defn([_AC_CHECK_HEADER_OLD]))
 ac_c_preproc_warn_flag=yes])# AC_PROG_CPP_WERROR
 
 # Test for GNAT.
-# We require the gnatbind program, and a compiler driver that
-# understands Ada.  We use the user's CC setting, already found,
-# and possibly add $1 to the command-line parameters.
+# We require the gnatbind & gnatmake programs, as well as a compiler driver
+# that understands Ada.  We use the user's CC setting, already found, and
+# possibly add $1 to the command-line parameters.
 #
 # Sets the shell variable have_gnat to yes or no as appropriate, and
 # substitutes GNATBIND and GNATMAKE.
@@ -387,7 +387,7 @@ if test x"$errors" = x && test -f conftest.$ac_objext; then
 fi
 rm -f conftest.*])
 
-if test x$GNATBIND != xno && test x$GNATMAKE != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
+if test "x$GNATBIND" != xno && test "x$GNATMAKE" != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
   have_gnat=yes
 else
   have_gnat=no
diff --git a/configure b/configure
index 9a0086c..2579c9f 100755
--- a/configure
+++ b/configure
@@ -4977,7 +4977,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_cc_gcc_supports_ada" >&5
 $as_echo "$acx_cv_cc_gcc_supports_ada" >&6; }
 
-if test x$GNATBIND != xno && test x$GNATMAKE != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
+if test "x$GNATBIND" != xno && test "x$GNATMAKE" != xno && test x$acx_cv_cc_gcc_supports_ada != xno; then
   have_gnat=yes
 else
   have_gnat=no
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f73ed04..5a8eb1c 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2011-12-17  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* cp-name-parser.y (cp_merge_demangle_parse_infos): Don't use
+	obstack_empty_p.
+
 2011-12-17  Mark Kettenis  <kettenis@gnu.org>
 
 	* amd64obsd-tdep.c (amd64obsd_init_abi): Don't set
diff --git a/gdb/cp-name-parser.y b/gdb/cp-name-parser.y
index f257370..b0262f2 100644
--- a/gdb/cp-name-parser.y
+++ b/gdb/cp-name-parser.y
@@ -2029,9 +2029,6 @@ cp_merge_demangle_parse_infos (struct demangle_parse_info *dest,
      cp_demangled_parse_info_free is called.  */
   src->info = NULL;
 
-  /* Assert if the SRC obstack is not empty.  */
-  gdb_assert (obstack_empty_p (&src->obstack));
-
   /* Free SRC.  */
   cp_demangled_name_parse_free (src);
 }
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 173cf0f..7675733 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,15 @@
+2011-12-18  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* linux-low.c (linux_create_inferior): Put empty if clause for write.
+
+	Revert:
+	2011-12-18  Hui Zhu  <teawater@gmail.com>
+	* linux-low.c (linux_create_inferior): Save return value to ret.
+
+2011-12-18  Hui Zhu  <teawater@gmail.com>
+
+	* linux-low.c (linux_create_inferior): Save return value to ret.
+
 2011-12-16  Doug Evans  <dje@google.com>
 
 	* linux-low.c (linux_create_inferior): If stdio connection,
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
index a712b1f..c99e0a3 100644
--- a/gdb/gdbserver/linux-low.c
+++ b/gdb/gdbserver/linux-low.c
@@ -577,8 +577,9 @@ linux_create_inferior (char *program, char **allargs)
 	  close (0);
 	  open ("/dev/null", O_RDONLY);
 	  dup2 (2, 1);
-	  write (2, "stdin/stdout redirected\n",
-		 sizeof ("stdin/stdout redirected\n") - 1);
+	  if (write (2, "stdin/stdout redirected\n",
+		     sizeof ("stdin/stdout redirected\n") - 1) < 0)
+	    /* Errors ignored.  */;
 	}
 
       execv (program, allargs);
diff --git a/gdb/s390-nat.c b/gdb/s390-nat.c
index ca80d0e..bacbfd2 100644
--- a/gdb/s390-nat.c
+++ b/gdb/s390-nat.c
@@ -438,11 +438,36 @@ struct watch_area
   CORE_ADDR hi_addr;
 };
 
-static struct watch_area *watch_base = NULL;
+/* Per-inferior data key.  */
+
+struct s390_inferior_data
+  {
+    struct watch_area *watch_base;
+  };
+
+static struct s390_inferior_data *
+s390_inferior_data_get (void)
+{
+  /* Intermediate patch stub.  */
+  static struct i386_inferior_data inf_data_local;
+  struct inferior *inf = current_inferior ();
+  struct i386_inferior_data *inf_data = &inf_data_local;
+
+  return inf->pid == ptid_get_pid (inferior_ptid) ? inf_data : NULL;
+}
+
+static struct watch_area *
+s390_watch_base_get (void)
+{
+  struct s390_inferior_data *inferior_data = s390_inferior_data_get ();
+
+  return inferior_data ? inferior_data->watch_base : NULL;
+}
 
 static int
 s390_stopped_by_watchpoint (void)
 {
+  struct watch_area *watch_base = s390_watch_base_get ();
   per_lowcore_bits per_lowcore;
   ptrace_area parea;
   int result;
@@ -471,9 +496,13 @@ s390_stopped_by_watchpoint (void)
   return result;
 }
 
+/* Update hardware registers of this specific LP.  LP must belong to
+   CURRENT_INFERIOR.  */
+
 static void
 s390_fix_watch_points (struct lwp_info *lp)
 {
+  struct watch_area *watch_base;
   int tid;
 
   per_struct per_info;
@@ -482,9 +511,20 @@ s390_fix_watch_points (struct lwp_info *lp)
   CORE_ADDR watch_lo_addr = (CORE_ADDR)-1, watch_hi_addr = 0;
   struct watch_area *area;
 
-  tid = TIDGET (lp->ptid);
-  if (tid == 0)
-    tid = PIDGET (lp->ptid);
+  gdb_assert (lp == NULL || current_inferior ()->pid == PIDGET (lp->ptid));
+
+  if (lp == NULL)
+    {
+      tid = PIDGET (inferior_ptid);
+      watch_base = NULL;
+    }
+  else
+    {
+      tid = TIDGET (lp->ptid);
+      if (tid == 0)
+	tid = PIDGET (lp->ptid);
+      watch_base = s390_watch_base_get ();
+    }
 
   for (area = watch_base; area; area = area->next)
     {
@@ -518,10 +558,13 @@ s390_fix_watch_points (struct lwp_info *lp)
 /* Callback for linux_nat_iterate_watchpoint_lwps,
    to call s390_fix_watch_points.  */
 
-static void
+static int
 s390_fix_watch_points_iterate (struct lwp_info *lp, void *arg)
 {
   s390_fix_watch_points (lp);
+
+  /* Continue the traversal.  */
+  return 0;
 }
 
 static int
diff --git a/gdb/version.in b/gdb/version.in
index 32e25e9..3ecccbc 100644
--- a/gdb/version.in
+++ b/gdb/version.in
@@ -1 +1 @@
-7.4.50.20111217-cvs
+7.4.50.20111218-cvs


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


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

* [SCM]  archer-jankratochvil-watchpoint3: Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3
@ 2011-12-17 21:42 jkratoch
  0 siblings, 0 replies; 11+ messages in thread
From: jkratoch @ 2011-12-17 21:42 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-watchpoint3 has been updated
       via  fca0f1bae7516ea7b75cb63c3684d812adb001f7 (commit)
       via  a97b8613a4c646927f482c4e36e3e69c625a9d1d (commit)
       via  0412b3c08d1d5b17b1c2fec31dd858795c0a2bd7 (commit)
       via  bc8c318bea6713c221fe3c8cdc11fe1f661a5522 (commit)
      from  cf1854507965254f7bf2871edf0a2dad10169041 (commit)

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

- Log -----------------------------------------------------------------
commit fca0f1bae7516ea7b75cb63c3684d812adb001f7
Merge: cf18545 a97b861
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 22:42:02 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3

commit a97b8613a4c646927f482c4e36e3e69c625a9d1d
Merge: e89c671 0412b3c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 22:41:57 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix' into d-forkfix-cleanup-fork-multifix-kernel

commit 0412b3c08d1d5b17b1c2fec31dd858795c0a2bd7
Merge: 15b9b4b bc8c318
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 22:41:57 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork' into d-forkfix-cleanup-fork-multifix

commit bc8c318bea6713c221fe3c8cdc11fe1f661a5522
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 22:41:55 2011 +0100

    .

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

Summary of changes:

First 500 lines of diff:


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


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

* [SCM]  archer-jankratochvil-watchpoint3: Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3
@ 2011-12-17 21:22 jkratoch
  0 siblings, 0 replies; 11+ messages in thread
From: jkratoch @ 2011-12-17 21:22 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-watchpoint3 has been updated
       via  cf1854507965254f7bf2871edf0a2dad10169041 (commit)
       via  e89c6712be741484e08960f175eb893a04995803 (commit)
       via  4f74152f400b90efe1bb7990e4417834d000a50c (commit)
       via  15b9b4b45e438a6784f2d2b5b6204f77fa98f75f (commit)
       via  af23f219bb47f698e34487066acfa684279918eb (commit)
       via  79f6a509d5a6409d0bea75f0cfd3649094a229c9 (commit)
      from  7459e06e9685842569426a390e9b7ee2f5efa6d6 (commit)

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

- Log -----------------------------------------------------------------
commit cf1854507965254f7bf2871edf0a2dad10169041
Merge: 7459e06 e89c671
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 22:22:43 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3

commit e89c6712be741484e08960f175eb893a04995803
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 22:22:39 2011 +0100

    .

commit 4f74152f400b90efe1bb7990e4417834d000a50c
Merge: e638e21 15b9b4b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 22:21:45 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix' into d-forkfix-cleanup-fork-multifix-kernel

commit 15b9b4b45e438a6784f2d2b5b6204f77fa98f75f
Merge: d94247d af23f21
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 22:21:44 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork' into d-forkfix-cleanup-fork-multifix

commit af23f219bb47f698e34487066acfa684279918eb
Merge: ffffd91 79f6a50
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 22:21:44 2011 +0100

    Merge branch 'd-forkfix-cleanup' into d-forkfix-cleanup-fork

commit 79f6a509d5a6409d0bea75f0cfd3649094a229c9
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 22:21:39 2011 +0100

    .

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

Summary of changes:
 gdb/s390-nat.c |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

First 500 lines of diff:
diff --git a/gdb/s390-nat.c b/gdb/s390-nat.c
index d975015..ca80d0e 100644
--- a/gdb/s390-nat.c
+++ b/gdb/s390-nat.c
@@ -515,6 +515,15 @@ s390_fix_watch_points (struct lwp_info *lp)
     perror_with_name (_("Couldn't modify watchpoint status"));
 }
 
+/* Callback for linux_nat_iterate_watchpoint_lwps,
+   to call s390_fix_watch_points.  */
+
+static void
+s390_fix_watch_points_iterate (struct lwp_info *lp, void *arg)
+{
+  s390_fix_watch_points (lp);
+}
+
 static int
 s390_insert_watchpoint (CORE_ADDR addr, int len, int type,
 			struct expression *cond)
@@ -531,8 +540,8 @@ s390_insert_watchpoint (CORE_ADDR addr, int len, int type,
   area->next = watch_base;
   watch_base = area;
 
-  ALL_LWPS (lp)
-    s390_fix_watch_points (lp);
+  linux_nat_iterate_watchpoint_lwps (s390_fix_watch_points_iterate, NULL);
+
   return 0;
 }
 
@@ -559,8 +568,8 @@ s390_remove_watchpoint (CORE_ADDR addr, int len, int type,
   *parea = area->next;
   xfree (area);
 
-  ALL_LWPS (lp)
-    s390_fix_watch_points (lp);
+  linux_nat_iterate_watchpoint_lwps (s390_fix_watch_points_iterate, NULL);
+
   return 0;
 }
 


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


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

* [SCM]  archer-jankratochvil-watchpoint3: Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3
@ 2011-12-17 20:40 jkratoch
  0 siblings, 0 replies; 11+ messages in thread
From: jkratoch @ 2011-12-17 20:40 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-watchpoint3 has been updated
       via  7459e06e9685842569426a390e9b7ee2f5efa6d6 (commit)
       via  e638e2133b7eeaa9061b37efa7652ea300b23e14 (commit)
       via  d94247d36e128cdfb1ca51a05b1af9252d262465 (commit)
       via  ffffd916ad0f730ab86848fc832069adaf1b9b73 (commit)
       via  b9fc9bae26e3c61a0af5e3b06bafc1273e143a2d (commit)
       via  3f74cb8d9ebf9551e1fe15e951b3ddb8f93f469c (commit)
       via  47bd7bc0eed3527dd87eba6e188d8ec05676e5a8 (commit)
       via  7665041ba77c965941a25210a069a521e27a1040 (commit)
      from  d7790484278160f08c48f5f60e576edc2e2d8fd9 (commit)

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

- Log -----------------------------------------------------------------
commit 7459e06e9685842569426a390e9b7ee2f5efa6d6
Merge: d779048 e638e21
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 21:39:54 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3

commit e638e2133b7eeaa9061b37efa7652ea300b23e14
Merge: 663685a d94247d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 21:39:45 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix' into d-forkfix-cleanup-fork-multifix-kernel

commit d94247d36e128cdfb1ca51a05b1af9252d262465
Merge: 813f324 ffffd91
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 21:39:45 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork' into d-forkfix-cleanup-fork-multifix

commit ffffd916ad0f730ab86848fc832069adaf1b9b73
Merge: 454ac66 b9fc9ba
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 21:39:43 2011 +0100

    .

commit b9fc9bae26e3c61a0af5e3b06bafc1273e143a2d
Merge: 2e5e114 3f74cb8
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 21:37:38 2011 +0100

    Merge branch 'd-forkfix' into d-forkfix-cleanup

commit 3f74cb8d9ebf9551e1fe15e951b3ddb8f93f469c
Merge: a6e0480 47bd7bc
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 21:37:37 2011 +0100

    Merge branch 'd' into d-forkfix

commit 47bd7bc0eed3527dd87eba6e188d8ec05676e5a8
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 21:37:20 2011 +0100

    Pedro's x86-affecting patch.

commit 7665041ba77c965941a25210a069a521e27a1040
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 21:37:02 2011 +0100

    Revert "The s390x pending fix."
    
    This reverts commit c37ce9167a8966d4724695ef5bcc24a39fbd4e8b.

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

Summary of changes:
 gdb/amd64-linux-nat.c |   30 +++++++++++++++++++++---------
 gdb/i386-linux-nat.c  |   30 +++++++++++++++++++++---------
 gdb/linux-nat.c       |    2 +-
 gdb/s390-nat.c        |   34 +---------------------------------
 4 files changed, 44 insertions(+), 52 deletions(-)

First 500 lines of diff:
diff --git a/gdb/amd64-linux-nat.c b/gdb/amd64-linux-nat.c
index a3f847c..edc1ac5 100644
--- a/gdb/amd64-linux-nat.c
+++ b/gdb/amd64-linux-nat.c
@@ -343,18 +343,25 @@ amd64_linux_dr_get_status (void)
 static int
 update_debug_registers_callback (struct lwp_info *lwp, void *arg)
 {
-  if (lwp)
+  if (lwp == NULL)
     {
-      /* The actual update is done later just before resuming the lwp, we
-	 just mark that the registers need updating.  */
-      lwp->arch_private->debug_registers_changed = 1;
-
-      /* If the lwp isn't stopped, force it to momentarily pause, so we
-	 can update its debug registers.  */
-      if (!lwp->stopped)
-	linux_stop_lwp (lwp);
+      /* A forked-off process.  0 means continue the traversal but there won't
+	 be any other LWP.  */
+      return 0;
     }
 
+  if (lwp->arch_private == NULL)
+    lwp->arch_private = XCNEW (struct arch_lwp_info);
+
+  /* The actual update is done later just before resuming the lwp, we
+     just mark that the registers need updating.  */
+  lwp->arch_private->debug_registers_changed = 1;
+
+  /* If the lwp isn't stopped, force it to momentarily pause, so we
+     can update its debug registers.  */
+  if (!lwp->stopped)
+    linux_stop_lwp (lwp);
+
   /* Continue the traversal.  */
   return 0;
 }
@@ -388,6 +395,11 @@ amd64_linux_prepare_to_resume (struct lwp_info *lwp)
 {
   int clear_status = 0;
 
+  /* This is the main thread still going through the shell, or, no
+     watchpoint has been set yet.  */
+  if (lwp->arch_private == NULL)
+    return;
+
   if (lwp->arch_private->debug_registers_changed)
     {
       struct i386_debug_reg_state *state = i386_debug_reg_state ();
diff --git a/gdb/i386-linux-nat.c b/gdb/i386-linux-nat.c
index 6d26436..f365002 100644
--- a/gdb/i386-linux-nat.c
+++ b/gdb/i386-linux-nat.c
@@ -715,18 +715,25 @@ i386_linux_dr_get_status (void)
 static int
 update_debug_registers_callback (struct lwp_info *lwp, void *arg)
 {
-  if (lwp)
+  if (lwp == NULL)
     {
-      /* The actual update is done later just before resuming the lwp, we
-	 just mark that the registers need updating.  */
-      lwp->arch_private->debug_registers_changed = 1;
-
-      /* If the lwp isn't stopped, force it to momentarily pause, so we
-	 can update its debug registers.  */
-      if (!lwp->stopped)
-	linux_stop_lwp (lwp);
+      /* A forked-off process.  0 means continue the traversal but there won't
+	 be any other LWP.  */
+      return 0;
     }
 
+  if (lwp->arch_private == NULL)
+    lwp->arch_private = XCNEW (struct arch_lwp_info);
+
+  /* The actual update is done later just before resuming the lwp, we
+     just mark that the registers need updating.  */
+  lwp->arch_private->debug_registers_changed = 1;
+
+  /* If the lwp isn't stopped, force it to momentarily pause, so we
+     can update its debug registers.  */
+  if (!lwp->stopped)
+    linux_stop_lwp (lwp);
+
   /* Continue the traversal.  */
   return 0;
 }
@@ -760,6 +767,11 @@ i386_linux_prepare_to_resume (struct lwp_info *lwp)
 {
   int clear_status = 0;
 
+  /* This is the main thread still going through the shell, or, no
+     watchpoint has been set yet.  */
+  if (lwp->arch_private == NULL)
+    return;
+
   if (lwp->arch_private->debug_registers_changed)
     {
       struct i386_debug_reg_state *state = i386_debug_reg_state ();
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index 1b007f1..26e1c13 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
@@ -1154,7 +1154,7 @@ add_lwp (ptid_t ptid)
   lp->next = lwp_list;
   lwp_list = lp;
 
-  if (linux_nat_new_thread != NULL)
+  if (num_lwps (GET_PID (ptid)) > 1 && linux_nat_new_thread != NULL)
     linux_nat_new_thread (lp);
 
   return lp;
diff --git a/gdb/s390-nat.c b/gdb/s390-nat.c
index ea2f8f2..d975015 100644
--- a/gdb/s390-nat.c
+++ b/gdb/s390-nat.c
@@ -667,38 +667,6 @@ s390_read_description (struct target_ops *ops)
 	  tdesc_s390_linux32);
 }
 
-/* Helper for s390_new_thread.  */
-
-static int
-s390_new_thread_lwp (struct lwp_info *lp, void *new_lp_voidp)
-{
-  struct lwp_info *new_lp = new_lp_voidp;
-
-  if (lp == new_lp)
-    {
-      /* Continue traversal.  */
-      return 0;
-    }
-
-  s390_fix_watch_points (new_lp);
-
-  /* Stop traversal.  */
-  return 1;
-}
-
-/* Execute s390_fix_watch_points only when there is at least one other LWP
-   besides the new one.  This excludes the initial shell wrapper process which
-   works around a problem of s390x failing to PTRACE_POKEUSR_AREA when the
-   initial shell wrapper runs.  s390_fix_watch_points is fortunately not needed
-   for the initial creation of a single threaded process - watchpoints are not
-   yet inserted into inferior in such case.  */
-
-static void
-s390_new_thread (struct lwp_info *lp)
-{
-  iterate_over_lwps (pid_to_ptid (GET_PID (lp->ptid)), s390_new_thread_lwp, lp);
-}
-
 void _initialize_s390_nat (void);
 
 void
@@ -727,5 +695,5 @@ _initialize_s390_nat (void)
 
   /* Register the target.  */
   linux_nat_add_target (t);
-  linux_nat_set_new_thread (t, s390_new_thread);
+  linux_nat_set_new_thread (t, s390_fix_watch_points);
 }


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


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

* [SCM]  archer-jankratochvil-watchpoint3: Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3
@ 2011-12-17 19:30 jkratoch
  0 siblings, 0 replies; 11+ messages in thread
From: jkratoch @ 2011-12-17 19:30 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-watchpoint3 has been updated
       via  c7161f22ab55cc769de4caba5744774ba2e7b32f (commit)
       via  09ade723bf6f7e4a71c53ae554081fe7dfb0714f (commit)
       via  234571569fda8436dca76f795977b7a2574501ed (commit)
       via  abe53e11693f25a710f61c3c3a156b1cb13c85e9 (commit)
       via  3ecccb4a97741faefca1f6fd904a7cb8772962b5 (commit)
       via  5aa40cc36a2a3d95722949a4b1aa06b2d9afa6a3 (commit)
       via  c37ce9167a8966d4724695ef5bcc24a39fbd4e8b (commit)
      from  66cec91a27d8e45c7a4fca84f04ff5b7b55d2038 (commit)

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

- Log -----------------------------------------------------------------
commit c7161f22ab55cc769de4caba5744774ba2e7b32f
Merge: 66cec91 09ade72
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 20:30:23 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3

commit 09ade723bf6f7e4a71c53ae554081fe7dfb0714f
Merge: b675125 2345715
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 20:30:19 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix' into d-forkfix-cleanup-fork-multifix-kernel

commit 234571569fda8436dca76f795977b7a2574501ed
Merge: 1eeab0a abe53e1
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 20:30:19 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork' into d-forkfix-cleanup-fork-multifix

commit abe53e11693f25a710f61c3c3a156b1cb13c85e9
Merge: 91c0443 3ecccb4
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 20:30:19 2011 +0100

    Merge branch 'd-forkfix-cleanup' into d-forkfix-cleanup-fork

commit 3ecccb4a97741faefca1f6fd904a7cb8772962b5
Merge: 1d791ff 5aa40cc
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 20:30:19 2011 +0100

    Merge branch 'd-forkfix' into d-forkfix-cleanup

commit 5aa40cc36a2a3d95722949a4b1aa06b2d9afa6a3
Merge: ee16648 c37ce91
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 20:30:19 2011 +0100

    Merge branch 'd' into d-forkfix

commit c37ce9167a8966d4724695ef5bcc24a39fbd4e8b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 20:30:08 2011 +0100

    The s390x pending fix.

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

Summary of changes:
 gdb/s390-nat.c |   34 +++++++++++++++++++++++++++++++++-
 1 files changed, 33 insertions(+), 1 deletions(-)

First 500 lines of diff:
diff --git a/gdb/s390-nat.c b/gdb/s390-nat.c
index b1c3f11..f682013 100644
--- a/gdb/s390-nat.c
+++ b/gdb/s390-nat.c
@@ -667,6 +667,38 @@ s390_read_description (struct target_ops *ops)
 	  tdesc_s390_linux32);
 }
 
+/* Helper for s390_new_thread.  */
+
+static int
+s390_new_thread_lwp (struct lwp_info *lp, void *new_lp_voidp)
+{
+  struct lwp_info *new_lp = new_lp_voidp;
+
+  if (lp == new_lp)
+    {
+      /* Continue traversal.  */
+      return 0;
+    }
+
+  s390_fix_watch_points (new_lp);
+
+  /* Stop traversal.  */
+  return 1;
+}
+
+/* Execute s390_fix_watch_points only when there is at least one other LWP
+   besides the new one.  This excludes the initial shell wrapper process which
+   works around a problem of s390x failing to PTRACE_POKEUSR_AREA when the
+   initial shell wrapper runs.  s390_fix_watch_points is fortunately not needed
+   for the initial creation of a single threaded process - watchpoints are not
+   yet inserted into inferior in such case.  */
+
+static void
+s390_new_thread (struct lwp_info *lp)
+{
+  iterate_over_lwps (pid_to_ptid (GET_PID (lp->ptid)), s390_new_thread_lwp, lp);
+}
+
 void _initialize_s390_nat (void);
 
 void
@@ -695,5 +727,5 @@ _initialize_s390_nat (void)
 
   /* Register the target.  */
   linux_nat_add_target (t);
-  linux_nat_set_new_thread (t, s390_fix_watch_points);
+  linux_nat_set_new_thread (t, s390_new_thread);
 }


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


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

* [SCM]  archer-jankratochvil-watchpoint3: Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3
@ 2011-12-17 16:34 jkratoch
  0 siblings, 0 replies; 11+ messages in thread
From: jkratoch @ 2011-12-17 16:34 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-watchpoint3 has been updated
       via  66cec91a27d8e45c7a4fca84f04ff5b7b55d2038 (commit)
       via  b675125a334bd2ae51ac8fbb949a65e7640d2a6b (commit)
       via  1eeab0ab680f9e6965999962c6484a0925959fec (commit)
      from  12d99e149c76b4805da1c0af343c868bf1bb65e4 (commit)

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

- Log -----------------------------------------------------------------
commit 66cec91a27d8e45c7a4fca84f04ff5b7b55d2038
Merge: 12d99e1 b675125
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 17:34:09 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3

commit b675125a334bd2ae51ac8fbb949a65e7640d2a6b
Merge: 02f064e 1eeab0a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 17:34:05 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix' into d-forkfix-cleanup-fork-multifix-kernel

commit 1eeab0ab680f9e6965999962c6484a0925959fec
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 17:33:52 2011 +0100

    .

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

Summary of changes:
 gdb/testsuite/gdb.multi/watchpoint-multi.c   |   12 ++----------
 gdb/testsuite/gdb.multi/watchpoint-multi.exp |   22 ++++------------------
 2 files changed, 6 insertions(+), 28 deletions(-)

First 500 lines of diff:
diff --git a/gdb/testsuite/gdb.multi/watchpoint-multi.c b/gdb/testsuite/gdb.multi/watchpoint-multi.c
index 153c18b..4ae8e3f 100644
--- a/gdb/testsuite/gdb.multi/watchpoint-multi.c
+++ b/gdb/testsuite/gdb.multi/watchpoint-multi.c
@@ -21,14 +21,7 @@
 static volatile int a, b, c;
 
 static void
-marker_exit1 (void)
-{
-  a = 1;
-}
-
-/* Workaround PR breakpoints/12272 by two different breakpoint locations.  */
-static void
-marker_exit2 (void)
+marker_exit (void)
 {
   a = 1;
 }
@@ -53,7 +46,6 @@ main (void)
   i = pthread_join (thread, NULL);
   assert (i == 0);
 
-  marker_exit1 ();
-  marker_exit2 ();
+  marker_exit ();
   return 0;
 }
diff --git a/gdb/testsuite/gdb.multi/watchpoint-multi.exp b/gdb/testsuite/gdb.multi/watchpoint-multi.exp
index 516c5a9..8322c16 100644
--- a/gdb/testsuite/gdb.multi/watchpoint-multi.exp
+++ b/gdb/testsuite/gdb.multi/watchpoint-multi.exp
@@ -58,24 +58,12 @@ gdb_test_no_output "set displaced-stepping on"
 # Do not use simple hardware watchpoint ("watch") as its false hit may be
 # unnoticed by GDB if it reads it still has the same value.
 gdb_test "awatch c" "Hardware access \\(read/write\\) watchpoint \[0-9\]+: c"
-# Never keep/use any non-hw breakpoints to workaround a multi-inferior bug.
-# Use `*' to workaround a multi-inferior bug.
-set test "hbreak *marker_exit2"
-gdb_test_multiple $test $test {
-    -re "Hardware assisted breakpoint \[0-9\]+ at .*\r\n$gdb_prompt $" {
-	pass $test
-    }
-    -re "(No hardware breakpoint support in the target\\.|Hardware breakpoints used exceeds limit\\.)\r\n$gdb_prompt $" {
-	pass $test
-	untested ${testfile}.exp
-	return
-    }
-}
+
+gdb_breakpoint "marker_exit"
 
 gdb_test "inferior 1" "witching to inferior 1 .*"
 
 gdb_test "awatch b" "Hardware access \\(read/write\\) watchpoint \[0-9\]+: b"
-gdb_test "hbreak *marker_exit1" {Hardware assisted breakpoint [0-9]+ at .*}
 
 gdb_test "inferior 2" "witching to inferior 2 .*"
 
@@ -83,12 +71,10 @@ gdb_test "inferior 2" "witching to inferior 2 .*"
 # inferior.
 gdb_test "continue" "Hardware access \\(read/write\\) watchpoint \[0-9\]+: c\r\n\r\nOld value = 0\r\nNew value = 3\r\n.*" "catch c"
 
-set test "catch marker_exit2"
-gdb_test "continue" "Breakpoint \[0-9\]+, marker_exit2 .*" "catch marker_exit2"
+gdb_test "continue" "Breakpoint \[0-9\]+, marker_exit .*" "catch marker_exit in inferior 2"
 
 gdb_test "inferior 1" "witching to inferior 1 .*"
 
 gdb_test "continue" "Hardware access \\(read/write\\) watchpoint \[0-9\]+: b\r\n\r\nOld value = 0\r\nNew value = 2\r\n.*" "catch b"
 
-set test "catch marker_exit1"
-gdb_test "continue" "Breakpoint \[0-9\]+, marker_exit1 .*" "catch marker_exit1"
+gdb_test "continue" "Breakpoint \[0-9\]+, marker_exit .*" "catch marker_exit in inferior 1"


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


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

* [SCM]  archer-jankratochvil-watchpoint3: Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3
@ 2011-12-17  9:51 jkratoch
  0 siblings, 0 replies; 11+ messages in thread
From: jkratoch @ 2011-12-17  9:51 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-watchpoint3 has been updated
       via  12d99e149c76b4805da1c0af343c868bf1bb65e4 (commit)
       via  02f064ec34dc03f6e5bd59c61e809bd20737ffbc (commit)
       via  330afa70dd09005200cbbdd41034fc08056e507a (commit)
       via  91c0443e2f1b24e49c0e8160c17f9c4b46bfd253 (commit)
       via  1d791ffab7efe4c96b3e8b385de4778495f4b9ad (commit)
       via  ee16648797a0582c71efef5d56ad10ee077fd4e5 (commit)
       via  5b7ae4c20ebd15fbd9be27be4d8a1c3bd192b9a0 (commit)
       via  d7b2534d6609316138b83fe7216195782a1eff04 (commit)
       via  f9b0d033fbfe3490b06127ee57458cef320ac639 (commit)
       via  9efcbd39bdde28ef3b864d26e22c8d53f463c081 (commit)
       via  05de052f4159d967bea66bdab6f288b0a2a72b71 (commit)
       via  8fa0e1b43645e7d7eaabe4ba50a4eb6c077c2f3a (commit)
       via  bc42ab8699a77a5d6c877f227c5d13f9982a81b5 (commit)
       via  e9350f265541348f3991d35cb68a1dd98afca13d (commit)
       via  a56c1c31c37c28cb01d39cb681ec29f06b4146e0 (commit)
       via  53c2c46738d79b84707ccc881495626c01ac2bc0 (commit)
       via  f543d4dfd82d78cf5f2f638f53b2a28d4b383d4b (commit)
       via  3f57d03b13d7a4a546e43a146fe4ec57e57220b4 (commit)
       via  baf45d7b1a9b18276d816aa2e88ee488dd8a07c3 (commit)
      from  7bd98ff6b00a3c31c7504cb468893aca4b6b7431 (commit)

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

- Log -----------------------------------------------------------------
commit 12d99e149c76b4805da1c0af343c868bf1bb65e4
Merge: 7bd98ff 02f064e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 10:50:58 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3

commit 02f064ec34dc03f6e5bd59c61e809bd20737ffbc
Merge: 00e22a2 330afa7
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 10:50:40 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix' into d-forkfix-cleanup-fork-multifix-kernel

commit 330afa70dd09005200cbbdd41034fc08056e507a
Merge: fc445fd 91c0443
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 10:50:40 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork' into d-forkfix-cleanup-fork-multifix

commit 91c0443e2f1b24e49c0e8160c17f9c4b46bfd253
Merge: c97a1fc 1d791ff
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 10:50:40 2011 +0100

    Merge branch 'd-forkfix-cleanup' into d-forkfix-cleanup-fork

commit 1d791ffab7efe4c96b3e8b385de4778495f4b9ad
Merge: 65d0aff ee16648
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 10:50:39 2011 +0100

    Merge branch 'd-forkfix' into d-forkfix-cleanup

commit ee16648797a0582c71efef5d56ad10ee077fd4e5
Merge: bc20d41 5b7ae4c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 10:50:39 2011 +0100

    Merge branch 'd' into d-forkfix

commit 5b7ae4c20ebd15fbd9be27be4d8a1c3bd192b9a0
Merge: 901b2f6 d7b2534
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 10:50:39 2011 +0100

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

commit d7b2534d6609316138b83fe7216195782a1eff04
Author: ndreys <ndreys>
Date:   Sat Dec 17 06:14:44 2011 +0000

    * mi/mi-main.c (mi_cmd_list_thread_groups): Rename `optind' and
    `optarg' to `oind' and `oarg', respectively(-Wshadow).
    (mi_cmd_data_read_memory): Ditto.
    (mi_cmd_data_read_memory_bytes): Ditto.

commit f9b0d033fbfe3490b06127ee57458cef320ac639
Author: ndreys <ndreys>
Date:   Sat Dec 17 06:09:54 2011 +0000

    * mi/mi-getopt.c (mi_getopt): Rename `optind' and `optarg' to
    `oind' and `oarg', respectively(-Wshadow).
    (mi_valid_noargs): Ditto.

commit 9efcbd39bdde28ef3b864d26e22c8d53f463c081
Author: ndreys <ndreys>
Date:   Sat Dec 17 06:06:48 2011 +0000

    * mi/mi-cmd-var.c (print_varobj): Rename `optind' and `optarg' to
    `oind' and `oarg', respectively(-Wshadow).

commit 05de052f4159d967bea66bdab6f288b0a2a72b71
Author: ndreys <ndreys>
Date:   Sat Dec 17 06:03:20 2011 +0000

    * mi/mi-cmd-target.c (mi_cmd_target_file_get): Rename `optind' and
    `optarg' to `oind' and `oarg', respectively(-Wshadow).
    (mi_cmd_target_file_put): Ditto.
    (mi_cmd_target_file_delete): Ditto.

commit 8fa0e1b43645e7d7eaabe4ba50a4eb6c077c2f3a
Author: ndreys <ndreys>
Date:   Sat Dec 17 05:58:26 2011 +0000

    * mi/mi-cmd-env.c (mi_cmd_env_path): Rename `optind' and
    `optarg' to `oind' and `oarg', respectively(-Wshadow).
    (mi_cmd_env_dir): Ditto.

commit bc42ab8699a77a5d6c877f227c5d13f9982a81b5
Author: ndreys <ndreys>
Date:   Sat Dec 17 05:53:58 2011 +0000

    * mi/mi-cmd-disas.c (mi_cmd_disassemble):  Rename `optind' and `optarg'
    to `oind' and `oarg', respectively(-Wshadow).

commit e9350f265541348f3991d35cb68a1dd98afca13d
Author: ndreys <ndreys>
Date:   Sat Dec 17 05:49:29 2011 +0000

    * mi/mi-cmd-break.c (mi_cmd_break_insert): Rename `optind' and
    `optparg' to `oind' and `oparg', respectively(-Wshadow).
    (mi_cmd_break_watch): Ditto.

commit a56c1c31c37c28cb01d39cb681ec29f06b4146e0
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Sat Dec 17 00:00:03 2011 +0000

    *** empty log message ***

commit 53c2c46738d79b84707ccc881495626c01ac2bc0
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Fri Dec 16 23:00:05 2011 +0000

    daily update

commit f543d4dfd82d78cf5f2f638f53b2a28d4b383d4b
Author: Tom Tromey <tromey@redhat.com>
Date:   Fri Dec 16 21:39:16 2011 +0000

    	* linespec.c (collect_symbols): Call maybe_add_address after
    	calling symbol_to_sal.
    	(minsym_found): Call maybe_add_address here.
    	(search_minsyms_for_name): Don't call maybe_add_address.

commit 3f57d03b13d7a4a546e43a146fe4ec57e57220b4
Author: Tom Tromey <tromey@redhat.com>
Date:   Fri Dec 16 21:35:56 2011 +0000

    	* linespec.c (struct collect_info) <objfile>: Remove field.
    	(decode_objc): Update.
    	(find_method): Update.
    	(decode_variable): Update.
    	(struct minsym_and_objfile): New.
    	(struct collect_minsyms): New.
    	(classify_mtype): New function.
    	(compare_msyms): Likewise.
    	(add_minsym): Likewise.
    	(check_minsym): Remove.
    	(search_minsyms_for_name): Sort minsyms and apply only those with
    	top priority.

commit baf45d7b1a9b18276d816aa2e88ee488dd8a07c3
Author: Tom Tromey <tromey@redhat.com>
Date:   Fri Dec 16 21:17:41 2011 +0000

    	* cli/cli-cmds.c (filter_sals): Filter out sals with NULL symtab.

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

Summary of changes:
 bfd/version.h          |    2 +-
 gdb/ChangeLog          |   69 +++++++++++++++++++++
 gdb/cli/cli-cmds.c     |    2 +-
 gdb/linespec.c         |  159 +++++++++++++++++++++++++++++++++++------------
 gdb/mi/mi-cmd-break.c  |   30 +++++-----
 gdb/mi/mi-cmd-disas.c  |   20 +++---
 gdb/mi/mi-cmd-env.c    |   20 +++---
 gdb/mi/mi-cmd-target.c |   34 +++++-----
 gdb/mi/mi-cmd-var.c    |   16 +++---
 gdb/mi/mi-getopt.c     |   34 +++++-----
 gdb/mi/mi-main.c       |   56 +++++++++---------
 gdb/version.in         |    2 +-
 12 files changed, 295 insertions(+), 149 deletions(-)

First 500 lines of diff:
diff --git a/bfd/version.h b/bfd/version.h
index 8621bda..0af8588 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20111216
+#define BFD_VERSION_DATE 20111217
 #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 2898cde..02c5d3b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,72 @@
+2011-12-16  Andrey Smirnov  <andrew.smirnov@gmail.com>
+
+	* mi/mi-main.c (mi_cmd_list_thread_groups): Rename `optind' and
+	`optarg' to `oind' and `oarg', respectively(-Wshadow).
+	(mi_cmd_data_read_memory): Ditto.
+	(mi_cmd_data_read_memory_bytes): Ditto.
+	(mi_cmd_data_write_memory): Ditto.
+
+2011-12-16  Andrey Smirnov  <andrew.smirnov@gmail.com>
+
+	* mi/mi-getopt.c (mi_getopt): Rename `optind' and `optarg' to
+	`oind' and `oarg', respectively(-Wshadow).
+	(mi_valid_noargs): Ditto.
+
+2011-12-16  Andrey Smirnov  <andrew.smirnov@gmail.com>
+
+	* mi/mi-cmd-var.c (print_varobj): Rename `optind' and `optarg' to
+	`oind' and `oarg', respectively(-Wshadow).
+
+2011-12-16  Andrey Smirnov  <andrew.smirnov@gmail.com>
+
+	* mi/mi-cmd-target.c (mi_cmd_target_file_get): Rename `optind' and
+	`optarg' to `oind' and `oarg', respectively(-Wshadow).
+	(mi_cmd_target_file_put): Ditto.
+	(mi_cmd_target_file_delete): Ditto.
+
+2011-12-16  Andrey Smirnov  <andrew.smirnov@gmail.com>
+
+	* mi/mi-cmd-env.c (mi_cmd_env_path): Rename `optind' and
+	`optarg' to `oind' and `oarg', respectively(-Wshadow).
+	(mi_cmd_env_dir): Ditto.
+
+2011-12-16  Andrey Smirnov  <andrew.smirnov@gmail.com>
+
+	* mi/mi-cmd-disas.c (mi_cmd_disassemble): Rename `optind' and
+	`optarg' to `oind' and `oarg', respectively(-Wshadow).
+
+2011-12-16  Andrey Smirnov  <andrew.smirnov@gmail.com>
+
+	* mi/mi-cmd-break.c (mi_cmd_break_insert): Rename `optind' and
+	`optparg' to `oind' and `oarg', respectively(-Wshadow).
+	(mi_cmd_break_watch): Ditto.
+
+2011-12-16  Tom Tromey  <tromey@redhat.com>
+
+	* linespec.c (collect_symbols): Call maybe_add_address after
+	calling symbol_to_sal.
+	(minsym_found): Call maybe_add_address here.
+	(search_minsyms_for_name): Don't call maybe_add_address.
+
+2011-12-16  Tom Tromey  <tromey@redhat.com>
+
+	* linespec.c (struct collect_info) <objfile>: Remove field.
+	(decode_objc): Update.
+	(find_method): Update.
+	(decode_variable): Update.
+	(struct minsym_and_objfile): New.
+	(struct collect_minsyms): New.
+	(classify_mtype): New function.
+	(compare_msyms): Likewise.
+	(add_minsym): Likewise.
+	(check_minsym): Remove.
+	(search_minsyms_for_name): Sort minsyms and apply only those with
+	top priority.
+
+2011-12-16  Tom Tromey  <tromey@redhat.com>
+
+	* cli/cli-cmds.c (filter_sals): Filter out sals with NULL symtab.
+
 2011-12-16  Pedro Alves  <pedro@codesourcery.com>
 
 	* inf-loop.c: Include top.h.
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index 8832e0c..af06443 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -1516,7 +1516,7 @@ filter_sals (struct symtabs_and_lines *sals)
   for (i = 0; i < sals->nelts; ++i)
     {
       if (sals->sals[i].pspace == current_program_space
-	  || sals->sals[i].symtab == NULL)
+	  && sals->sals[i].symtab != NULL)
 	{
 	  sals->sals[out] = sals->sals[i];
 	  ++out;
diff --git a/gdb/linespec.c b/gdb/linespec.c
index cdfb59c..4d44478 100644
--- a/gdb/linespec.c
+++ b/gdb/linespec.c
@@ -121,9 +121,6 @@ struct collect_info
 
   /* The result being accumulated.  */
   struct symtabs_and_lines result;
-
-  /* The current objfile; used only by the minimal symbol code.  */
-  struct objfile *objfile;
 };
 
 /* Prototypes for local functions.  */
@@ -1462,7 +1459,6 @@ decode_objc (struct linespec_state *self, char **argptr)
   info.state = self;
   info.result.sals = NULL;
   info.result.nelts = 0;
-  info.objfile = NULL;
 
   new_argptr = find_imps (*argptr, &symbol_names); 
   if (VEC_empty (const_char_ptr, symbol_names))
@@ -1966,7 +1962,6 @@ find_method (struct linespec_state *self, char *saved_arg,
   info.state = self;
   info.result.sals = NULL;
   info.result.nelts = 0;
-  info.objfile = NULL;
 
   /* Iterate over all the types, looking for the names of existing
      methods matching COPY.  If we cannot find a direct method in a
@@ -2664,19 +2659,10 @@ collect_symbols (struct symbol *sym, void *data)
   struct collect_info *info = data;
   struct symtab_and_line sal;
 
-  if ((SYMBOL_CLASS (sym) == LOC_STATIC
-       && !info->state->funfirstline
-       && !maybe_add_address (info->state->addr_set,
-			      SYMTAB_PSPACE (SYMBOL_SYMTAB (sym)),
-			      SYMBOL_VALUE_ADDRESS (sym)))
-      || (SYMBOL_CLASS (sym) == LOC_BLOCK
-	  && !maybe_add_address (info->state->addr_set,
-				 SYMTAB_PSPACE (SYMBOL_SYMTAB (sym)),
-				 BLOCK_START (SYMBOL_BLOCK_VALUE (sym)))))
-    {
-      /* Nothing.  */
-    }
-  else if (symbol_to_sal (&sal, info->state->funfirstline, sym))
+  if (symbol_to_sal (&sal, info->state->funfirstline, sym)
+      && maybe_add_address (info->state->addr_set,
+			    SYMTAB_PSPACE (SYMBOL_SYMTAB (sym)),
+			    sal.pc))
     add_sal_to_sals (info->state, &info->result, &sal,
 		     SYMBOL_NATURAL_NAME (sym));
 
@@ -2708,33 +2694,85 @@ minsym_found (struct linespec_state *self, struct objfile *objfile,
   if (self->funfirstline)
     skip_prologue_sal (&sal);
 
-  add_sal_to_sals (self, result, &sal, SYMBOL_NATURAL_NAME (msymbol));
+  if (maybe_add_address (self->addr_set, objfile->pspace, sal.pc))
+    add_sal_to_sals (self, result, &sal, SYMBOL_NATURAL_NAME (msymbol));
 }
 
-/* Callback for iterate_over_minimal_symbols that may add the symbol
-   to the result.  */
+/* A helper struct which just holds a minimal symbol and the object
+   file from which it came.  */
 
-static void
-check_minsym (struct minimal_symbol *minsym, void *d)
+typedef struct minsym_and_objfile
 {
-  struct collect_info *info = d;
+  struct minimal_symbol *minsym;
+  struct objfile *objfile;
+} minsym_and_objfile_d;
 
-  if (MSYMBOL_TYPE (minsym) == mst_unknown
-      || MSYMBOL_TYPE (minsym) == mst_slot_got_plt
-      || MSYMBOL_TYPE (minsym) == mst_solib_trampoline)
-    {
-      /* Reject some odd ones.  */
-    }
-  else if (info->state->funfirstline
-	   && MSYMBOL_TYPE (minsym) != mst_text
-	   && MSYMBOL_TYPE (minsym) != mst_text_gnu_ifunc
-	   && MSYMBOL_TYPE (minsym) != mst_file_text)
+DEF_VEC_O (minsym_and_objfile_d);
+
+/* A helper struct to pass some data through
+   iterate_over_minimal_symbols.  */
+
+struct collect_minsyms
+{
+  /* The objfile we're examining.  */
+  struct objfile *objfile;
+
+  /* The funfirstline setting from the initial call.  */
+  int funfirstline;
+
+  /* The resulting symbols.  */
+  VEC (minsym_and_objfile_d) *msyms;
+};
+
+/* A helper function to classify a minimal_symbol_type according to
+   priority.  */
+
+static int
+classify_mtype (enum minimal_symbol_type t)
+{
+  switch (t)
     {
-      /* When FUNFIRSTLINE, only allow text symbols.  */
+    case mst_file_text:
+    case mst_file_data:
+    case mst_file_bss:
+      /* Intermediate priority.  */
+      return 1;
+
+    case mst_solib_trampoline:
+      /* Lowest priority.  */
+      return 2;
+
+    default:
+      /* Highest priority.  */
+      return 0;
     }
-  else if (maybe_add_address (info->state->addr_set, info->objfile->pspace,
-			      SYMBOL_VALUE_ADDRESS (minsym)))
-    minsym_found (info->state, info->objfile, minsym, &info->result);
+}
+
+/* Callback for qsort that sorts symbols by priority.  */
+
+static int
+compare_msyms (const void *a, const void *b)
+{
+  const minsym_and_objfile_d *moa = a;
+  const minsym_and_objfile_d *mob = b;
+  enum minimal_symbol_type ta = MSYMBOL_TYPE (moa->minsym);
+  enum minimal_symbol_type tb = MSYMBOL_TYPE (mob->minsym);
+
+  return classify_mtype (ta) - classify_mtype (tb);
+}
+
+/* Callback for iterate_over_minimal_symbols that adds the symbol to
+   the result.  */
+
+static void
+add_minsym (struct minimal_symbol *minsym, void *d)
+{
+  struct collect_minsyms *info = d;
+  minsym_and_objfile_d mo;
+
+  mo.minsym = minsym;
+  mo.objfile = info->objfile;
+  VEC_safe_push (minsym_and_objfile_d, info->msyms, &mo);
 }
 
 /* Search minimal symbols in all objfiles for NAME.  If SEARCH_PSPACE
@@ -2750,6 +2788,9 @@ search_minsyms_for_name (struct collect_info *info, const char *name,
 
   ALL_PSPACES (pspace)
   {
+    struct collect_minsyms local;
+    struct cleanup *cleanup;
+
     if (search_pspace != NULL && search_pspace != pspace)
       continue;
     if (pspace->executing_startup)
@@ -2757,11 +2798,48 @@ search_minsyms_for_name (struct collect_info *info, const char *name,
 
     set_current_program_space (pspace);
 
+    memset (&local, 0, sizeof (local));
+    local.funfirstline = info->state->funfirstline;
+
+    cleanup = make_cleanup (VEC_cleanup (minsym_and_objfile_d),
+			    &local.msyms);
+
     ALL_OBJFILES (objfile)
     {
-      info->objfile = objfile;
-      iterate_over_minimal_symbols (objfile, name, check_minsym, info);
+      local.objfile = objfile;
+      iterate_over_minimal_symbols (objfile, name, add_minsym, &local);
     }
+
+    if (!VEC_empty (minsym_and_objfile_d, local.msyms))
+      {
+	int classification;
+	int ix;
+	minsym_and_objfile_d *item;
+
+	qsort (VEC_address (minsym_and_objfile_d, local.msyms),
+	       VEC_length (minsym_and_objfile_d, local.msyms),
+	       sizeof (minsym_and_objfile_d),
+	       compare_msyms);
+
+	/* Now the minsyms are in classification order.  So, we walk
+	   over them and process just the minsyms with the same
+	   classification as the very first minsym in the list.  */
+	item = VEC_index (minsym_and_objfile_d, local.msyms, 0);
+	classification = classify_mtype (MSYMBOL_TYPE (item->minsym));
+
+	for (ix = 0;
+	     VEC_iterate (minsym_and_objfile_d, local.msyms, ix, item);
+	     ++ix)
+	  {
+	    if (classify_mtype (MSYMBOL_TYPE (item->minsym)) != classification)
+	      break;
+
+	    minsym_found (info->state, item->objfile, item->minsym,
+			  &info->result);
+	  }
+      }
+
+    do_cleanups (cleanup);
   }
 }
 
@@ -2815,7 +2893,6 @@ decode_variable (struct linespec_state *self, char *copy)
   info.state = self;
   info.result.sals = NULL;
   info.result.nelts = 0;
-  info.objfile = NULL;
 
   cleanup = demangle_for_lookup (copy, current_language->la_language,
 				 &lookup_name);
diff --git a/gdb/mi/mi-cmd-break.c b/gdb/mi/mi-cmd-break.c
index b3bd5da..3897f30 100644
--- a/gdb/mi/mi-cmd-break.c
+++ b/gdb/mi/mi-cmd-break.c
@@ -99,13 +99,13 @@ mi_cmd_break_insert (char *command, char **argv, int argc)
 
   /* Parse arguments. It could be -r or -h or -t, <location> or ``--''
      to denote the end of the option list. */
-  int optind = 0;
-  char *optarg;
+  int oind = 0;
+  char *oarg;
 
   while (1)
     {
       int opt = mi_getopt ("-break-insert", argc, argv,
-			   opts, &optind, &optarg);
+			   opts, &oind, &oarg);
       if (opt < 0)
 	break;
       switch ((enum opt) opt)
@@ -117,13 +117,13 @@ mi_cmd_break_insert (char *command, char **argv, int argc)
 	  hardware = 1;
 	  break;
 	case CONDITION_OPT:
-	  condition = optarg;
+	  condition = oarg;
 	  break;
 	case IGNORE_COUNT_OPT:
-	  ignore_count = atol (optarg);
+	  ignore_count = atol (oarg);
 	  break;
 	case THREAD_OPT:
-	  thread = atol (optarg);
+	  thread = atol (oarg);
 	  break;
 	case PENDING_OPT:
 	  pending = 1;
@@ -137,11 +137,11 @@ mi_cmd_break_insert (char *command, char **argv, int argc)
 	}
     }
 
-  if (optind >= argc)
+  if (oind >= argc)
     error (_("-break-insert: Missing <location>"));
-  if (optind < argc - 1)
+  if (oind < argc - 1)
     error (_("-break-insert: Garbage following <location>"));
-  address = argv[optind];
+  address = argv[oind];
 
   /* Now we have what we need, let's insert the breakpoint! */
   if (! mi_breakpoint_observers_installed)
@@ -229,13 +229,13 @@ mi_cmd_break_watch (char *command, char **argv, int argc)
   };
 
   /* Parse arguments. */
-  int optind = 0;
-  char *optarg;
+  int oind = 0;
+  char *oarg;
 
   while (1)
     {
       int opt = mi_getopt ("-break-watch", argc, argv,
-			   opts, &optind, &optarg);
+			   opts, &oind, &oarg);
 
       if (opt < 0)
 	break;
@@ -249,11 +249,11 @@ mi_cmd_break_watch (char *command, char **argv, int argc)
 	  break;
 	}
     }
-  if (optind >= argc)
+  if (oind >= argc)
     error (_("-break-watch: Missing <expression>"));
-  if (optind < argc - 1)
+  if (oind < argc - 1)
     error (_("-break-watch: Garbage following <expression>"));
-  expr = argv[optind];
+  expr = argv[oind];
 
   /* Now we have what we need, let's insert the watchpoint! */
   switch (type)
diff --git a/gdb/mi/mi-cmd-disas.c b/gdb/mi/mi-cmd-disas.c
index c2e8265..ebf1c88 100644
--- a/gdb/mi/mi-cmd-disas.c
+++ b/gdb/mi/mi-cmd-disas.c
@@ -77,8 +77,8 @@ mi_cmd_disassemble (char *command, char **argv, int argc)
   struct cleanup *cleanups = make_cleanup (null_cleanup, NULL);
 
   /* Options processing stuff. */
-  int optind = 0;
-  char *optarg;
+  int oind = 0;
+  char *oarg;
   enum opt
   {
     FILE_OPT, LINE_OPT, NUM_OPT, START_OPT, END_OPT
@@ -97,36 +97,36 @@ mi_cmd_disassemble (char *command, char **argv, int argc)
   while (1)
     {
       int opt = mi_getopt ("-data-disassemble", argc, argv, opts,
-			   &optind, &optarg);
+			   &oind, &oarg);
       if (opt < 0)
 	break;
       switch ((enum opt) opt)
 	{
 	case FILE_OPT:
-	  file_string = xstrdup (optarg);
+	  file_string = xstrdup (oarg);
 	  file_seen = 1;
 	  make_cleanup (xfree, file_string);
 	  break;
 	case LINE_OPT:
-	  line_num = atoi (optarg);
+	  line_num = atoi (oarg);
 	  line_seen = 1;
 	  break;
 	case NUM_OPT:
-	  how_many = atoi (optarg);
+	  how_many = atoi (oarg);
 	  num_seen = 1;
 	  break;
 	case START_OPT:
-	  low = parse_and_eval_address (optarg);
+	  low = parse_and_eval_address (oarg);
 	  start_seen = 1;
 	  break;
 	case END_OPT:
-	  high = parse_and_eval_address (optarg);
+	  high = parse_and_eval_address (oarg);
 	  end_seen = 1;
 	  break;
 	}
     }
-  argv += optind;
-  argc -= optind;
+  argv += oind;
+  argc -= oind;
 
   /* Allow only filename + linenum (with how_many which is not
      required) OR start_addr + and_addr */
diff --git a/gdb/mi/mi-cmd-env.c b/gdb/mi/mi-cmd-env.c
index d9e5088..eb9e976 100644
--- a/gdb/mi/mi-cmd-env.c
+++ b/gdb/mi/mi-cmd-env.c
@@ -118,9 +118,9 @@ mi_cmd_env_path (char *command, char **argv, int argc)
   char *exec_path;
   char *env;
   int reset = 0;
-  int optind = 0;
+  int oind = 0;
   int i;
-  char *optarg;
+  char *oarg;
   enum opt
     {
       RESET_OPT
@@ -144,7 +144,7 @@ mi_cmd_env_path (char *command, char **argv, int argc)
   while (1)
     {
       int opt = mi_getopt ("-environment-path", argc, argv, opts,
-                           &optind, &optarg);
+                           &oind, &oarg);
 
       if (opt < 0)
         break;
@@ -155,8 +155,8 @@ mi_cmd_env_path (char *command, char **argv, int argc)


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


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

* [SCM]  archer-jankratochvil-watchpoint3: Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3
@ 2011-12-16 21:29 jkratoch
  0 siblings, 0 replies; 11+ messages in thread
From: jkratoch @ 2011-12-16 21:29 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-watchpoint3 has been updated
       via  7bd98ff6b00a3c31c7504cb468893aca4b6b7431 (commit)
       via  00e22a2886bac72d69e5fc785f1938be32b7ef6e (commit)
       via  fc445fdc3567a0de7a956432e215286c338654ba (commit)
       via  c97a1fc41439fd41f27e8013b3d7ea493d21a6e8 (commit)
       via  65d0aff37c666cd62b5f5d2a33c0bdc98508a2c3 (commit)
       via  bc20d41f3c9953bfabafcbf01873784cf2d602bc (commit)
       via  901b2f613e8e8c2ed51e339c39d6a3fabae92402 (commit)
       via  2e08c2fc1f784e0055cdea89b6b4fba40c3a2342 (commit)
       via  bcbd3165c887883d8034c1cae41dad0d19afbac8 (commit)
       via  6f2ca0cb72b89990f6f8534c4bfc847102e006ab (commit)
       via  236dfeb8f2e9ab529c0e6c2a927f9770bb5ed474 (commit)
       via  f8797417fd46b86bd91bd0297b7d3ce0624e4bfb (commit)
       via  cedcbc23e71a44c44d4effb2771f4d5b025ec332 (commit)
       via  dc13f571984e51e99fef1f49b39c3c3b1a0119f6 (commit)
       via  a5feef218f72efd12d76b32578f9205427617350 (commit)
       via  541faef1a19fb49db5aec91c9afc6beee5f38f2d (commit)
      from  2500ef6935778b42920ddd35c945282cec3c0840 (commit)

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

- Log -----------------------------------------------------------------
commit 7bd98ff6b00a3c31c7504cb468893aca4b6b7431
Merge: 2500ef6 00e22a2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Dec 16 22:29:01 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3

commit 00e22a2886bac72d69e5fc785f1938be32b7ef6e
Merge: 1df7b41 fc445fd
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Dec 16 22:28:59 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix' into d-forkfix-cleanup-fork-multifix-kernel

commit fc445fdc3567a0de7a956432e215286c338654ba
Merge: df2c014 c97a1fc
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Dec 16 22:28:58 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork' into d-forkfix-cleanup-fork-multifix

commit c97a1fc41439fd41f27e8013b3d7ea493d21a6e8
Merge: 77002c0 65d0aff
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Dec 16 22:28:58 2011 +0100

    Merge branch 'd-forkfix-cleanup' into d-forkfix-cleanup-fork

commit 65d0aff37c666cd62b5f5d2a33c0bdc98508a2c3
Merge: 106eb4c bc20d41
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Dec 16 22:28:58 2011 +0100

    Merge branch 'd-forkfix' into d-forkfix-cleanup

commit bc20d41f3c9953bfabafcbf01873784cf2d602bc
Merge: 26493ce 901b2f6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Dec 16 22:28:58 2011 +0100

    Merge branch 'd' into d-forkfix

commit 901b2f613e8e8c2ed51e339c39d6a3fabae92402
Merge: e4fb5b3 2e08c2f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Dec 16 22:28:57 2011 +0100

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

commit 2e08c2fc1f784e0055cdea89b6b4fba40c3a2342
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Fri Dec 16 20:29:28 2011 +0000

    2011-12-16  Pedro Alves  <pedro@codesourcery.com>
    
    	* inf-loop.c: Include top.h.
    	(inferior_event_handler): Call check_frame_language.
    	* top.c (check_frame_language_change): New, factored out from ...
    	(execute_command): ... this.  Use check_frame_language_change.
    	* top.h (check_frame_language_change): Declare.

commit bcbd3165c887883d8034c1cae41dad0d19afbac8
Author: Doug Evans <dje@google.com>
Date:   Fri Dec 16 20:04:35 2011 +0000

    fix typo in previous entry

commit 6f2ca0cb72b89990f6f8534c4bfc847102e006ab
Author: Doug Evans <dje@google.com>
Date:   Fri Dec 16 20:02:04 2011 +0000

    	* boards/native-stdiogdbserver.exp: New file.

commit 236dfeb8f2e9ab529c0e6c2a927f9770bb5ed474
Author: Pierre Muller <muller@ics.u-strasbg.fr>
Date:   Fri Dec 16 19:55:26 2011 +0000

    	* windows-nat.c (cygwin_get_dr, cygwin_get_dr7): Add missing
    	prototypes.

commit f8797417fd46b86bd91bd0297b7d3ce0624e4bfb
Author: Doug Evans <dje@google.com>
Date:   Fri Dec 16 19:37:46 2011 +0000

    	* boards/native-gdbserver.exp: New file.

commit cedcbc23e71a44c44d4effb2771f4d5b025ec332
Author: Doug Evans <dje@google.com>
Date:   Fri Dec 16 19:10:58 2011 +0000

    	* linux-low.c (linux_create_inferior): If stdio connection,
    	redirect stdin from /dev/null, stdout to stderr.
    	* remote-utils.c (remote_is_stdio): New static global.
    	(remote_connection_is_stdio): New function.
    	(remote_prepare): Handle stdio connection.
    	(remote_open): Ditto.
    	(remote_close): Don't close stdin for stdio connections.
    	(read_prim,write_prim): New functions.  Replace all calls to
    	read/write to these.
    	* server.c (main): Watch for "-" argument.  Move call to
    	remote_prepare before start_inferior.
    	* server.h (STDIO_CONNECTION_NAME): New macro.
    	(remote_connection_is_stdio): Declare.

commit dc13f571984e51e99fef1f49b39c3c3b1a0119f6
Author: Doug Evans <dje@google.com>
Date:   Fri Dec 16 19:06:34 2011 +0000

    	* NEWS: Add entry for stdio gdbserver.
    
    	gdbserver/
    	* linux-low.c (linux_create_inferior): If stdio connection,
    	redirect stdin from /dev/null, stdout to stderr.
    	* remote-utils.c (remote_is_stdio): New static global.
    	(remote_connection_is_stdio): New function.
    	(remote_prepare): Handle stdio connection.
    	(remote_open): Ditto.
    	(remote_close): Don't close stdin for stdio connections.
    	(read_prim,write_prim): New functions.  Replace all calls to
    	read/write to these.
    	* server.c (main): Watch for "-" argument.  Move call to
    	remote_prepare before start_inferior.
    	* server.h (STDIO_CONNECTION_NAME): New macro.
    	(remote_connection_is_stdio): Declare.
    
    	doc/
    	* gdb.texinfo (Server): Document -/stdio argument to gdbserver.
    
    	testsuite/
    	* lib/gdbserver-support.exp (gdb_target_cmd): Recognize stdio
    	gdbserver output.
    	(gdbserver_default_get_remote_address): New function.
    	(gdbserver_start): Call gdb,get_remote_address to compute argument
    	to "target remote" command.

commit a5feef218f72efd12d76b32578f9205427617350
Author: Doug Evans <dje@google.com>
Date:   Fri Dec 16 18:45:48 2011 +0000

    	* remote-utils.c (prepare_resume_reply): Remove extraneous \n
    	in debugging output.

commit 541faef1a19fb49db5aec91c9afc6beee5f38f2d
Author: pmuldoon <pmuldoon>
Date:   Fri Dec 16 16:15:46 2011 +0000

    2011-12-16  Phil Muldoon  <pmuldoon@redhat.com>
    
            * ChangeLog: Fix path typo.
    	* doc/ChangeLog: Ditto.

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

Summary of changes:
 gdb/ChangeLog                                   |   17 +++
 gdb/NEWS                                        |    3 +
 gdb/doc/ChangeLog                               |    6 +-
 gdb/doc/gdb.texinfo                             |   23 ++++-
 gdb/gdbserver/ChangeLog                         |   19 +++
 gdb/gdbserver/linux-low.c                       |   12 ++
 gdb/gdbserver/remote-utils.c                    |   87 ++++++++++++--
 gdb/gdbserver/server.c                          |   15 ++-
 gdb/gdbserver/server.h                          |    3 +
 gdb/inf-loop.c                                  |    6 +-
 gdb/testsuite/ChangeLog                         |   13 ++-
 gdb/testsuite/boards/native-gdbserver.exp       |   76 +++++++++++++
 gdb/testsuite/boards/native-stdio-gdbserver.exp |  138 +++++++++++++++++++++++
 gdb/testsuite/lib/gdbserver-support.exp         |   30 ++++-
 gdb/top.c                                       |   74 +++++++-----
 gdb/top.h                                       |    2 +
 gdb/windows-nat.c                               |    2 +
 17 files changed, 465 insertions(+), 61 deletions(-)
 create mode 100644 gdb/testsuite/boards/native-gdbserver.exp
 create mode 100644 gdb/testsuite/boards/native-stdio-gdbserver.exp

First 500 lines of diff:
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0ae93e0..2898cde 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,20 @@
+2011-12-16  Pedro Alves  <pedro@codesourcery.com>
+
+	* inf-loop.c: Include top.h.
+	(inferior_event_handler): Call check_frame_language.
+	* top.c (check_frame_language_change): New, factored out from ...
+	(execute_command): ... this.  Use check_frame_language_change.
+	* top.h (check_frame_language_change): Declare.
+
+2011-12-16  asmwarrior  <asmwarrior@gmail.com>	(obvious fix)
+
+	* windows-nat.c (cygwin_get_dr, cygwin_get_dr7): Add missing
+	prototypes.
+
+2011-12-16  Doug Evans  <dje@google.com>
+
+	* NEWS: Add entry for stdio gdbserver.
+
 2011-12-16  Phil Muldoon  <pmuldoon@redhat.com>
 
 	* python/python.c: Define python_excp_enums.
diff --git a/gdb/NEWS b/gdb/NEWS
index 43345a9..73e283d 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -3,6 +3,9 @@
 
 *** Changes since GDB 7.4
 
+* GDBserver now supports stdio connections.
+  E.g. (gdb) target remote | ssh myhost gdbserver - hello
+
 *** Changes in GDB 7.4
 
 * GDB now handles ambiguous linespecs more consistently; the existing
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog
index ca4730e..8451302 100644
--- a/gdb/doc/ChangeLog
+++ b/gdb/doc/ChangeLog
@@ -1,6 +1,10 @@
+2011-12-16  Doug Evans  <dje@google.com>
+
+	* gdb.texinfo (Server): Document -/stdio argument to gdbserver.
+
 2011-12-16  Phil Muldoon  <pmuldoon@redhat.com>
 
-	* doc/gdb.texinfo (Python Commands): Remove "maint set/show print
+	* gdb.texinfo (Python Commands): Remove "maint set/show print
 	stack".  Add documentation for "set/show python print-stack".
 
 2011-12-14  Pedro Alves  <pedro@codesourcery.com>
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 4787b82..4a7ae6e 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -16766,8 +16766,10 @@ syntax is:
 target> gdbserver @var{comm} @var{program} [ @var{args} @dots{} ]
 @end smallexample
 
-@var{comm} is either a device name (to use a serial line) or a TCP
-hostname and portnumber.  For example, to debug Emacs with the argument
+@var{comm} is either a device name (to use a serial line), or a TCP
+hostname and portnumber, or @code{-} or @code{stdio} to use
+stdin/stdout of @code{gdbserver}.
+For example, to debug Emacs with the argument
 @samp{foo.txt} and communicate with @value{GDBN} over the serial port
 @file{/dev/com1}:
 
@@ -16796,6 +16798,23 @@ conflicts with another service, @code{gdbserver} prints an error message
 and exits.}  You must use the same port number with the host @value{GDBN}
 @code{target remote} command.
 
+The @code{stdio} connection is useful when starting @code{gdbserver}
+with ssh:
+
+@smallexample
+(gdb) target remote | ssh -T hostname gdbserver - hello
+@end smallexample
+
+The @samp{-T} option to ssh is provided because we don't need a remote pty,
+and we don't want escape-character handling.  Ssh does this by default when
+a command is provided, the flag is provided to make it explicit.
+You could elide it if you want to.
+
+Programs started with stdio-connected gdbserver have @file{/dev/null} for
+@code{stdin}, and @code{stdout},@code{stderr} are sent back to gdb for
+display through a pipe connected to gdbserver.
+Both @code{stdout} and @code{stderr} use the same pipe.
+
 @subsubsection Attaching to a Running Program
 @cindex attach to a program, @code{gdbserver}
 @cindex @option{--attach}, @code{gdbserver} option
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index a5db572..173cf0f 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,22 @@
+2011-12-16  Doug Evans  <dje@google.com>
+
+	* linux-low.c (linux_create_inferior): If stdio connection,
+	redirect stdin from /dev/null, stdout to stderr.
+	* remote-utils.c (remote_is_stdio): New static global.
+	(remote_connection_is_stdio): New function.
+	(remote_prepare): Handle stdio connection.
+	(remote_open): Ditto.
+	(remote_close): Don't close stdin for stdio connections.
+	(read_prim,write_prim): New functions.  Replace all calls to
+	read/write to these.
+	* server.c (main): Watch for "-" argument.  Move call to
+	remote_prepare before start_inferior.
+	* server.h (STDIO_CONNECTION_NAME): New macro.
+	(remote_connection_is_stdio): Declare.
+
+	* remote-utils.c (prepare_resume_reply): Remove extraneous \n
+	in debugging output.
+
 2011-12-15  Yao Qi  <yao@codesourcery.com>
 
 	* tracepoint.c: Include sys/syscall.h.
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
index 43d88fa..a712b1f 100644
--- a/gdb/gdbserver/linux-low.c
+++ b/gdb/gdbserver/linux-low.c
@@ -569,6 +569,18 @@ linux_create_inferior (char *program, char **allargs)
 
       setpgid (0, 0);
 
+      /* If gdbserver is connected to gdb via stdio, redirect the inferior's
+	 stdout to stderr so that inferior i/o doesn't corrupt the connection.
+	 Also, redirect stdin to /dev/null.  */
+      if (remote_connection_is_stdio ())
+	{
+	  close (0);
+	  open ("/dev/null", O_RDONLY);
+	  dup2 (2, 1);
+	  write (2, "stdin/stdout redirected\n",
+		 sizeof ("stdin/stdout redirected\n") - 1);
+	}
+
       execv (program, allargs);
       if (errno == ENOENT)
 	execvp (program, allargs);
diff --git a/gdb/gdbserver/remote-utils.c b/gdb/gdbserver/remote-utils.c
index 4d28658..cdde209 100644
--- a/gdb/gdbserver/remote-utils.c
+++ b/gdb/gdbserver/remote-utils.c
@@ -107,6 +107,8 @@ struct sym_cache
 int remote_debug = 0;
 struct ui_file *gdb_stdlog;
 
+static int remote_is_stdio = 0;
+
 static gdb_fildes_t remote_desc = INVALID_DESCRIPTOR;
 static gdb_fildes_t listen_desc = INVALID_DESCRIPTOR;
 
@@ -130,6 +132,14 @@ gdb_connected (void)
   return remote_desc != INVALID_DESCRIPTOR;
 }
 
+/* Return true if the remote connection is over stdio.  */
+
+int
+remote_connection_is_stdio (void)
+{
+  return remote_is_stdio;
+}
+
 static void
 enable_async_notification (int fd)
 {
@@ -222,6 +232,17 @@ remote_prepare (char *name)
   socklen_t tmp;
   char *port_end;
 
+  remote_is_stdio = 0;
+  if (strcmp (name, STDIO_CONNECTION_NAME) == 0)
+    {
+      /* We need to record fact that we're using stdio sooner than the
+	 call to remote_open so start_inferior knows the connection is
+	 via stdio.  */
+      remote_is_stdio = 1;
+      transport_is_reliable = 1;
+      return;
+    }
+
   port_str = strchr (name, ':');
   if (port_str == NULL)
     {
@@ -272,11 +293,27 @@ remote_open (char *name)
   char *port_str;
 
   port_str = strchr (name, ':');
+#ifdef USE_WIN32API
   if (port_str == NULL)
+    error ("Only <host>:<port> is supported on this platform.");
+#endif
+
+  if (strcmp (name, STDIO_CONNECTION_NAME) == 0)
+    {
+      fprintf (stderr, "Remote debugging using stdio\n");
+
+      /* Use stdin as the handle of the connection.
+	 We only select on reads, for example.  */
+      remote_desc = fileno (stdin);
+
+      enable_async_notification (remote_desc);
+
+      /* Register the event loop handler.  */
+      add_file_handler (remote_desc, handle_serial_event, NULL);
+    }
+#ifndef USE_WIN32API
+  else if (port_str == NULL)
     {
-#ifdef USE_WIN32API
-      error ("Only <host>:<port> is supported on this platform.");
-#else
       struct stat statbuf;
 
       if (stat (name, &statbuf) == 0
@@ -341,8 +378,8 @@ remote_open (char *name)
 
       /* Register the event loop handler.  */
       add_file_handler (remote_desc, handle_serial_event, NULL);
-#endif /* USE_WIN32API */
     }
+#endif /* USE_WIN32API */
   else
     {
       int port;
@@ -372,7 +409,8 @@ remote_close (void)
 #ifdef USE_WIN32API
   closesocket (remote_desc);
 #else
-  close (remote_desc);
+  if (! remote_connection_is_stdio ())
+    close (remote_desc);
 #endif
   remote_desc = INVALID_DESCRIPTOR;
 
@@ -731,6 +769,32 @@ read_ptid (char *buf, char **obuf)
   return ptid_build (pid, tid, 0);
 }
 
+/* Write COUNT bytes in BUF to the client.
+   The result is the number of bytes written or -1 if error.
+   This may return less than COUNT.  */
+
+static int
+write_prim (const void *buf, int count)
+{
+  if (remote_connection_is_stdio ())
+    return write (fileno (stdout), buf, count);
+  else
+    return write (remote_desc, buf, count);
+}
+
+/* Read COUNT bytes from the client and store in BUF.
+   The result is the number of bytes read or -1 if error.
+   This may return less than COUNT.  */
+
+static int
+read_prim (void *buf, int count)
+{
+  if (remote_connection_is_stdio ())
+    return read (fileno (stdin), buf, count);
+  else
+    return read (remote_desc, buf, count);
+}
+
 /* Send a packet to the remote machine, with error checking.
    The data of the packet is in BUF, and the length of the
    packet is in CNT.  Returns >= 0 on success, -1 otherwise.  */
@@ -768,7 +832,7 @@ putpkt_binary_1 (char *buf, int cnt, int is_notif)
 
   do
     {
-      if (write (remote_desc, buf2, p - buf2) != p - buf2)
+      if (write_prim (buf2, p - buf2) != p - buf2)
 	{
 	  perror ("putpkt(write)");
 	  free (buf2);
@@ -863,7 +927,7 @@ input_interrupt (int unused)
       int cc;
       char c = 0;
 
-      cc = read (remote_desc, &c, 1);
+      cc = read_prim (&c, 1);
 
       if (cc != 1 || c != '\003' || current_inferior == NULL)
 	{
@@ -991,8 +1055,7 @@ readchar (void)
 
   if (readchar_bufcnt == 0)
     {
-      readchar_bufcnt = read (remote_desc, readchar_buf,
-			      sizeof (readchar_buf));
+      readchar_bufcnt = read_prim (readchar_buf, sizeof (readchar_buf));
 
       if (readchar_bufcnt <= 0)
 	{
@@ -1114,7 +1177,7 @@ getpkt (char *buf)
 
       fprintf (stderr, "Bad checksum, sentsum=0x%x, csum=0x%x, buf=%s\n",
 	       (c1 << 4) + c2, csum, buf);
-      if (write (remote_desc, "-", 1) != 1)
+      if (write_prim ("-", 1) != 1)
 	return -1;
     }
 
@@ -1126,7 +1189,7 @@ getpkt (char *buf)
 	  fflush (stderr);
 	}
 
-      if (write (remote_desc, "+", 1) != 1)
+      if (write_prim ("+", 1) != 1)
 	return -1;
 
       if (remote_debug)
@@ -1252,7 +1315,7 @@ prepare_resume_reply (char *buf, ptid_t ptid,
 		      struct target_waitstatus *status)
 {
   if (debug_threads)
-    fprintf (stderr, "Writing resume reply for %s:%d\n\n",
+    fprintf (stderr, "Writing resume reply for %s:%d\n",
 	     target_pid_to_str (ptid), status->kind);
 
   switch (status->kind)
diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c
index b90b9ce..74263f1 100644
--- a/gdb/gdbserver/server.c
+++ b/gdb/gdbserver/server.c
@@ -2606,6 +2606,13 @@ main (int argc, char *argv[])
 		}
 	    }
 	}
+      else if (strcmp (*next_arg, "-") == 0)
+	{
+	  /* "-" specifies a stdio connection and is a form of port
+	     specification.  */
+	  *next_arg = STDIO_CONNECTION_NAME;
+	  break;
+	}
       else if (strcmp (*next_arg, "--disable-randomization") == 0)
 	disable_randomization = 1;
       else if (strcmp (*next_arg, "--no-disable-randomization") == 0)
@@ -2636,6 +2643,12 @@ main (int argc, char *argv[])
       exit (1);
     }
 
+  /* We need to know whether the remote connection is stdio before
+     starting the inferior.  Inferiors created in this scenario have
+     stdin,stdout redirected.  So do this here before we call
+     start_inferior.  */
+  remote_prepare (port);
+
   bad_attach = 0;
   pid = 0;
 
@@ -2723,8 +2736,6 @@ main (int argc, char *argv[])
       exit (1);
     }
 
-  remote_prepare (port);
-
   while (1)
     {
       noack_mode = 0;
diff --git a/gdb/gdbserver/server.h b/gdb/gdbserver/server.h
index 207cd74..62bee56 100644
--- a/gdb/gdbserver/server.h
+++ b/gdb/gdbserver/server.h
@@ -342,6 +342,9 @@ extern int transport_is_reliable;
 
 int gdb_connected (void);
 
+#define STDIO_CONNECTION_NAME "stdio"
+int remote_connection_is_stdio (void);
+
 ptid_t read_ptid (char *buf, char **obuf);
 char *write_ptid (char *buf, ptid_t ptid);
 
diff --git a/gdb/inf-loop.c b/gdb/inf-loop.c
index 8e49e91..c768400 100644
--- a/gdb/inf-loop.c
+++ b/gdb/inf-loop.c
@@ -30,6 +30,7 @@
 #include "gdbthread.h"
 #include "continuations.h"
 #include "interps.h"
+#include "top.h"
 
 static int fetch_inferior_event_wrapper (gdb_client_data client_data);
 
@@ -107,10 +108,7 @@ inferior_event_handler (enum inferior_event_type event_type,
 	{
 	  volatile struct gdb_exception e;
 
-	  if (info_verbose
-	      && current_language != expected_language
-	      && language_mode == language_mode_auto)
-	    language_info (1);	/* Print what changed.  */
+	  check_frame_language_change ();
 
 	  /* Don't propagate breakpoint commands errors.  Either we're
 	     stopping or some command resumes the inferior.  The user will
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 4c98de1..4756327 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,6 +1,17 @@
+2011-12-16  Doug Evans  <dje@google.com>
+
+	* boards/native-stdio-gdbserver.exp: New file.
+	* boards/native-gdbserver.exp: New file.
+
+	* lib/gdbserver-support.exp (gdb_target_cmd): Recognize stdio
+	gdbserver output.
+	(gdbserver_default_get_remote_address): New function.
+	(gdbserver_start): Call gdb,get_remote_address to compute argument
+	to "target remote" command.
+
 2011-12-16  Phil Muldoon  <pmuldoon@redhat.com>
 
-	* testsuite/gdb.python/py-function.exp: Change "on" to "full" for
+	* gdb.python/py-function.exp: Change "on" to "full" for
 	python print-stack.  Add set/show python print-stack
 	off|full|message tests.
 
diff --git a/gdb/testsuite/boards/native-gdbserver.exp b/gdb/testsuite/boards/native-gdbserver.exp
new file mode 100644
index 0000000..113d1be
--- /dev/null
+++ b/gdb/testsuite/boards/native-gdbserver.exp
@@ -0,0 +1,76 @@
+# Copyright 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 file is a dejagnu "board file" and is used to run the testsuite
+# natively with gdbserver.
+#
+# To use this file:
+# bash$ touch ${my_dejagnu_dir}/my-dejagnu.exp
+# bash$ export DEJAGNU=${my_dejagnu_dir}/my-dejagnu.exp
+# bash$ mkdir ${my_dejagnu_dir}/boards
+# bash$ cp ${src_dir}/gdb/testsuite/boards/native-gdbserver.exp \
+#   ${my_dejagnu_dir}/boards
+# bash$ cd ${build_dir}/gdb
+# bash$ make check RUNTESTFLAGS="--target_board=native-gdbserver"
+
+load_generic_config "gdbserver"
+process_multilib_options ""
+
+# The default compiler for this target.
+set_board_info compiler "[find_gcc]"
+
+# This gdbserver can only run a process once per session.
+set_board_info gdb,do_reload_on_run 1
+
+# There's no support for argument-passing (yet).
+set_board_info noargs 1
+
+# Can't do input (or output) in the current gdbserver.
+set_board_info gdb,noinferiorio 1
+
+# gdbserver does not intercept target file operations and perform them
+# on the host.
+set_board_info gdb,nofileio 1
+
+set_board_info sockethost "localhost:"
+set_board_info use_gdb_stub 1
+
+# We will be using the standard GDB remote protocol.
+set_board_info gdb_protocol "remote"
+# Test the copy of gdbserver in the build directory.
+set_board_info gdb_server_prog "../gdbserver/gdbserver"
+
+proc ${board}_spawn { board cmd } {
+    global board_info
+
+    set baseboard [lindex [split $board "/"] 0]
+
+    set board_info($baseboard,isremote) 0
+    set result [remote_spawn $board $cmd]
+    set board_info($baseboard,isremote) 1


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


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

* [SCM]  archer-jankratochvil-watchpoint3: Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3
@ 2011-12-16 21:26 jkratoch
  0 siblings, 0 replies; 11+ messages in thread
From: jkratoch @ 2011-12-16 21:26 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-watchpoint3 has been updated
       via  2500ef6935778b42920ddd35c945282cec3c0840 (commit)
       via  1df7b41107b6c7b2eb697e76f0881fcc3b82dcb1 (commit)
       via  df2c014f96f5e49dadd4b198a38686b2340c8c6f (commit)
       via  77002c01cabe5a246cb61323b5468f9befed6c8c (commit)
       via  106eb4c4bde525616cfdbec1f6b699a1ce141a99 (commit)
       via  26493ce2bbba7a23447d3fb43d8ee05980663bf7 (commit)
      from  4adf33710235ff29c378e08bbd2896dc001aa6fd (commit)

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

- Log -----------------------------------------------------------------
commit 2500ef6935778b42920ddd35c945282cec3c0840
Merge: 4adf337 1df7b41
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Dec 16 22:26:06 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3

commit 1df7b41107b6c7b2eb697e76f0881fcc3b82dcb1
Merge: 41fcf55 df2c014
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Dec 16 22:25:46 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork-multifix' into d-forkfix-cleanup-fork-multifix-kernel

commit df2c014f96f5e49dadd4b198a38686b2340c8c6f
Merge: e45b0a2 77002c0
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Dec 16 22:25:46 2011 +0100

    Merge branch 'd-forkfix-cleanup-fork' into d-forkfix-cleanup-fork-multifix

commit 77002c01cabe5a246cb61323b5468f9befed6c8c
Merge: 31181f3 106eb4c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Dec 16 22:25:46 2011 +0100

    Merge branch 'd-forkfix-cleanup' into d-forkfix-cleanup-fork

commit 106eb4c4bde525616cfdbec1f6b699a1ce141a99
Merge: f621857 26493ce
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Dec 16 22:25:46 2011 +0100

    Merge branch 'd-forkfix' into d-forkfix-cleanup

commit 26493ce2bbba7a23447d3fb43d8ee05980663bf7
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Dec 16 22:25:03 2011 +0100

    .

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

Summary of changes:
 gdb/linux-nat.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

First 500 lines of diff:
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index 3c3f72f..1b007f1 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
@@ -862,6 +862,9 @@ holding the child stopped.  Try \"set detach-on-fork\" or \
 	 informing the solib layer about this new process.  */
 
       inferior_ptid = ptid_build (child_pid, child_pid, 0);
+      reinit_frame_cache ();
+      registers_changed ();
+
       add_thread (inferior_ptid);
       child_lp = add_lwp (inferior_ptid);
       child_lp->stopped = 1;


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


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

end of thread, other threads:[~2011-12-24 22:35 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-17 19:51 [SCM] archer-jankratochvil-watchpoint3: Merge branch 'd-forkfix-cleanup-fork-multifix-kernel' into archer-jankratochvil-watchpoint3 jkratoch
  -- strict thread matches above, loose matches on Subject: below --
2011-12-24 22:35 jkratoch
2011-12-18 21:29 jkratoch
2011-12-17 21:42 jkratoch
2011-12-17 21:22 jkratoch
2011-12-17 20:40 jkratoch
2011-12-17 19:30 jkratoch
2011-12-17 16:34 jkratoch
2011-12-17  9:51 jkratoch
2011-12-16 21:29 jkratoch
2011-12-16 21:26 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).