public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  gdb_7_1-branch:  * target.c (memory_xfer_partial): Don't use the stack cache if  inspecting trace frames.  * tracepoint.c (finish_tfind_command): Invalidate the target  dcache.
@ 2010-03-12 18:35 jkratoch
  0 siblings, 0 replies; only message in thread
From: jkratoch @ 2010-03-12 18:35 UTC (permalink / raw)
  To: archer-commits

The branch, gdb_7_1-branch has been updated
       via  198dec8b44858c766a8d8ac44e265e3663f452cc (commit)
       via  6c74fa5703eaa6d6dddeee7f1c216e0175b0856a (commit)
       via  e86841909a184847f46b8ca081e46edad5be5dfa (commit)
       via  7865d43041bf38f04f3615440291d9f7492b4710 (commit)
       via  311c15c088a135c903bc8b75b549f7c75f8a0abc (commit)
       via  7392a7367506280420713edcbc2a860c072b3d8c (commit)
       via  e5fa3cbf4f56e9d3e7fbd843d68cbd2cee2ab6b2 (commit)
       via  485d9a53f78083823129a84b16f74b047d26c391 (commit)
       via  ad059ba84f858165f43d646a3973ed8d05f1bc88 (commit)
       via  2890613f5b19665a88ff9b96a7591bd2e1cb1b0b (commit)
       via  c1e2e2919009ad98ad0f332f6a1f21b064f0220b (commit)
       via  0cb3503964def870f1739f485404e5eb191d2dd6 (commit)
       via  b83e07dbad0bb890db9a52d1a96282404eacd7be (commit)
       via  3111faf069d50c5cb37085d54a50ddcb0780a27a (commit)
       via  c6c011eebb4006a89d4344864f560762f0aa45f3 (commit)
       via  3775415e1dfba81fbebe817a5d6728afc735dcee (commit)
      from  d17590e1558fbb76ee7bf3bd69b2c15fb94fb213 (commit)

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

- Log -----------------------------------------------------------------
commit 198dec8b44858c766a8d8ac44e265e3663f452cc
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Fri Mar 12 03:56:30 2010 +0000

    	* target.c (memory_xfer_partial): Don't use the stack cache if
    	inspecting trace frames.
    	* tracepoint.c (finish_tfind_command): Invalidate the target
    	dcache.

commit 6c74fa5703eaa6d6dddeee7f1c216e0175b0856a
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Fri Mar 12 00:00:34 2010 +0000

    *** empty log message ***

commit e86841909a184847f46b8ca081e46edad5be5dfa
Author: Doug Evans <dje@google.com>
Date:   Thu Mar 11 00:17:23 2010 +0000

    	* gdb.base/checkpoint.exp: Fix comment.
    	Lengthen timeout while doing >600 checkpoints test.
    	Rename duplicate "kill all one" test to keep test names unique.

commit 7865d43041bf38f04f3615440291d9f7492b4710
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Thu Mar 11 00:00:33 2010 +0000

    *** empty log message ***

commit 311c15c088a135c903bc8b75b549f7c75f8a0abc
Author: Pierre Muller <muller@ics.u-strasbg.fr>
Date:   Wed Mar 10 22:31:46 2010 +0000

    	* p-lang.c (is_pascal_string_type): Check that TYPE arg is non NULL.

commit 7392a7367506280420713edcbc2a860c072b3d8c
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Wed Mar 10 00:00:34 2010 +0000

    *** empty log message ***

commit e5fa3cbf4f56e9d3e7fbd843d68cbd2cee2ab6b2
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Tue Mar 9 00:00:03 2010 +0000

    *** empty log message ***

commit 485d9a53f78083823129a84b16f74b047d26c391
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Mon Mar 8 00:00:03 2010 +0000

    *** empty log message ***

commit ad059ba84f858165f43d646a3973ed8d05f1bc88
Author: Joel Brobecker <brobecker@gnat.com>
Date:   Sun Mar 7 14:39:53 2010 +0000

    Assertion failure after Ada task switch (target remote).
    
            * remote.c (remote_get_ada_task_ptid): New function.
            (init_remote_ops): Set remote_ops.to_get_ada_task_ptid.

commit 2890613f5b19665a88ff9b96a7591bd2e1cb1b0b
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Sun Mar 7 00:00:33 2010 +0000

    *** empty log message ***

commit c1e2e2919009ad98ad0f332f6a1f21b064f0220b
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Sat Mar 6 00:12:57 2010 +0000

    2010-03-06  Simo Melenius  <simo.melenius@iki.fi>
    
    	* linux-low.c (linux_wait_for_lwp): Fetch the regcache after
    	switching the current inferior, not before.

commit 0cb3503964def870f1739f485404e5eb191d2dd6
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Sat Mar 6 00:00:34 2010 +0000

    *** empty log message ***

commit b83e07dbad0bb890db9a52d1a96282404eacd7be
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Fri Mar 5 19:33:09 2010 +0000

    	* symfile.c (build_section_addr_info_from_objfile): Do not mask
    	off high address bits.

commit 3111faf069d50c5cb37085d54a50ddcb0780a27a
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Fri Mar 5 19:31:07 2010 +0000

    	* python/py-lazy-string.c (gdbpy_extract_lazy_string): Extract
    	address as UnsignedLongLong, not LongLong.

commit c6c011eebb4006a89d4344864f560762f0aa45f3
Author: Tom Tromey <tromey@redhat.com>
Date:   Fri Mar 5 15:37:33 2010 +0000

    	* dwarf2read.c (skip_one_die) <DW_FORM_ref_addr>: Use offset size
    	in DWARF 3 and later.
    	(read_attribute_value) <DW_FORM_ref_addr>: Likewise.

commit 3775415e1dfba81fbebe817a5d6728afc735dcee
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Fri Mar 5 00:00:33 2010 +0000

    *** empty log message ***

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

Summary of changes:
 gdb/ChangeLog                         |   32 ++++++++++++++++++++++++++++++++
 gdb/dwarf2read.c                      |   17 +++++++++++++++--
 gdb/gdbserver/ChangeLog               |    5 +++++
 gdb/gdbserver/linux-low.c             |    3 ++-
 gdb/p-lang.c                          |    2 +-
 gdb/python/py-lazy-string.c           |    2 +-
 gdb/remote.c                          |   11 +++++++++++
 gdb/symfile.c                         |    7 +------
 gdb/target.c                          |    5 +++++
 gdb/testsuite/ChangeLog               |    6 ++++++
 gdb/testsuite/gdb.base/checkpoint.exp |   12 ++++++++++--
 gdb/tracepoint.c                      |    1 +
 gdb/version.in                        |    2 +-
 13 files changed, 91 insertions(+), 14 deletions(-)

First 500 lines of diff:
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c180654..3334cec 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,35 @@
+2010-03-12  Pedro Alves  <pedro@codesourcery.com>
+
+	* target.c (memory_xfer_partial): Don't use the stack cache if
+	inspecting trace frames.
+	* tracepoint.c (finish_tfind_command): Invalidate the target
+	dcache.
+
+2010-03-10  Pierre Muller  <muller@ics.u-strasbg.fr>
+
+	* p-lang.c (is_pascal_string_type): Check that TYPE arg is non NULL.
+
+2010-03-07  Joel Brobecker  <brobecker@adacore.com>
+
+	* remote.c (remote_get_ada_task_ptid): New function.
+        (init_remote_ops): Set remote_ops.to_get_ada_task_ptid.
+
+2010-03-05  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* symfile.c (build_section_addr_info_from_objfile): Do not mask
+	off high address bits.
+
+2010-03-05  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* python/py-lazy-string.c (gdbpy_extract_lazy_string): Extract
+	address as UnsignedLongLong, not LongLong.
+
+2010-03-04  Tom Tromey  <tromey@redhat.com>
+
+	* dwarf2read.c (skip_one_die) <DW_FORM_ref_addr>: Use offset size
+	in DWARF 3 and later.
+	(read_attribute_value) <DW_FORM_ref_addr>: Likewise.
+
 2010-03-04  Tom Tromey  <tromey@redhat.com>
 
 	* printcmd.c (printf_command): Pass dummy argument to
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 549d2c0..b144dc1 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -2882,8 +2882,15 @@ skip_one_die (gdb_byte *buffer, gdb_byte *info_ptr,
     skip_attribute:
       switch (form)
 	{
-	case DW_FORM_addr:
 	case DW_FORM_ref_addr:
+	  /* In DWARF 2, DW_FORM_ref_addr is address sized; in DWARF 3
+	     and later it is offset sized.  */
+	  if (cu->header.version == 2)
+	    info_ptr += cu->header.addr_size;
+	  else
+	    info_ptr += cu->header.offset_size;
+	  break;
+	case DW_FORM_addr:
 	  info_ptr += cu->header.addr_size;
 	  break;
 	case DW_FORM_data1:
@@ -7017,8 +7024,14 @@ read_attribute_value (struct attribute *attr, unsigned form,
   attr->form = form;
   switch (form)
     {
-    case DW_FORM_addr:
     case DW_FORM_ref_addr:
+      if (cu->header.version == 2)
+	DW_ADDR (attr) = read_address (abfd, info_ptr, cu, &bytes_read);
+      else
+	DW_ADDR (attr) = read_offset (abfd, info_ptr, &cu->header, &bytes_read);
+      info_ptr += bytes_read;
+      break;
+    case DW_FORM_addr:
       DW_ADDR (attr) = read_address (abfd, info_ptr, cu, &bytes_read);
       info_ptr += bytes_read;
       break;
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index fb968eb..7d4e304 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,8 @@
+2010-03-06  Simo Melenius  <simo.melenius@iki.fi>
+
+	* linux-low.c (linux_wait_for_lwp): Fetch the regcache after
+	switching the current inferior, not before.
+
 2010-02-12  Doug Evans  <dje@google.com>
 
 	* linux-low.c (linux_supports_tracefork_flag): Document.
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
index 262a1df..6499ca7 100644
--- a/gdb/gdbserver/linux-low.c
+++ b/gdb/gdbserver/linux-low.c
@@ -1067,11 +1067,12 @@ retry:
       && the_low_target.get_pc != NULL)
     {
       struct thread_info *saved_inferior = current_inferior;
-      struct regcache *regcache = get_thread_regcache (current_inferior, 1);
+      struct regcache *regcache;
       CORE_ADDR pc;
 
       current_inferior = (struct thread_info *)
 	find_inferior_id (&all_threads, child->head.id);
+      regcache = get_thread_regcache (current_inferior, 1);
       pc = (*the_low_target.get_pc) (regcache);
       fprintf (stderr, "linux_wait_for_lwp: pc is 0x%lx\n", (long) pc);
       current_inferior = saved_inferior;
diff --git a/gdb/p-lang.c b/gdb/p-lang.c
index c768d1b..415cd99 100644
--- a/gdb/p-lang.c
+++ b/gdb/p-lang.c
@@ -101,7 +101,7 @@ is_pascal_string_type (struct type *type,int *length_pos,
 		       struct type **char_type,
 		       char **arrayname)
 {
-  if (TYPE_CODE (type) == TYPE_CODE_STRUCT)
+  if (type != NULL && TYPE_CODE (type) == TYPE_CODE_STRUCT)
     {
       /* Old Borland type pascal strings from Free Pascal Compiler.  */
       /* Two fields: length and st.  */
diff --git a/gdb/python/py-lazy-string.c b/gdb/python/py-lazy-string.c
index c845273..8309527 100644
--- a/gdb/python/py-lazy-string.c
+++ b/gdb/python/py-lazy-string.c
@@ -187,7 +187,7 @@ gdbpy_extract_lazy_string (PyObject *string, struct type **str_type,
     goto error;
 
   *length = PyLong_AsLong (py_len);
-  addr = PyLong_AsLongLong (py_addr);
+  addr = PyLong_AsUnsignedLongLong (py_addr);
 
   /* If the user supplies Py_None an encoding, set encoding to NULL.
      This will trigger the resulting LA_PRINT_CALL to automatically
diff --git a/gdb/remote.c b/gdb/remote.c
index 6b1a27b..280d8af 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -2682,6 +2682,15 @@ remote_threads_extra_info (struct thread_info *tp)
 }
 \f
 
+/* Implement the to_get_ada_task_ptid function for the remote targets.  */
+
+static ptid_t
+remote_get_ada_task_ptid (long lwp, long thread)
+{
+  return ptid_build (ptid_get_pid (inferior_ptid), 0, lwp);
+}
+\f
+
 /* Restart the remote side; this is an extended protocol operation.  */
 
 static void
@@ -9675,6 +9684,7 @@ Specify the serial device it is connected to\n\
   remote_ops.to_find_new_threads = remote_threads_info;
   remote_ops.to_pid_to_str = remote_pid_to_str;
   remote_ops.to_extra_thread_info = remote_threads_extra_info;
+  remote_ops.to_get_ada_task_ptid = remote_get_ada_task_ptid;
   remote_ops.to_stop = remote_stop;
   remote_ops.to_xfer_partial = remote_xfer_partial;
   remote_ops.to_rcmd = remote_rcmd;
@@ -10234,3 +10244,4 @@ Show the remote pathname for \"run\""), NULL, NULL, NULL,
   target_buf_size = 2048;
   target_buf = xmalloc (target_buf_size);
 }
+
diff --git a/gdb/symfile.c b/gdb/symfile.c
index 8705420..3cb40f7 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -364,18 +364,13 @@ build_section_addr_info_from_objfile (const struct objfile *objfile)
   struct section_addr_info *sap;
   int i;
   struct bfd_section *sec;
-  int addr_bit = gdbarch_addr_bit (objfile->gdbarch);
-  CORE_ADDR mask = CORE_ADDR_MAX;
-
-  if (addr_bit < (sizeof (CORE_ADDR) * HOST_CHAR_BIT))
-    mask = ((CORE_ADDR) 1 << addr_bit) - 1;
 
   sap = alloc_section_addr_info (objfile->num_sections);
   for (i = 0, sec = objfile->obfd->sections; sec != NULL; sec = sec->next)
     if (bfd_get_section_flags (objfile->obfd, sec) & (SEC_ALLOC | SEC_LOAD))
       {
 	sap->other[i].addr = (bfd_get_section_vma (objfile->obfd, sec)
-			      + objfile->section_offsets->offsets[i]) & mask;
+			      + objfile->section_offsets->offsets[i]);
 	sap->other[i].name = xstrdup (bfd_get_section_name (objfile->obfd,
 							    sec));
 	sap->other[i].sectindex = sec->index;
diff --git a/gdb/target.c b/gdb/target.c
index e6659c9..8ca4320 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -43,6 +43,7 @@
 #include "solib.h"
 #include "exec.h"
 #include "inline-frame.h"
+#include "tracepoint.h"
 
 static void target_info (char *, int);
 
@@ -1292,6 +1293,10 @@ memory_xfer_partial (struct target_ops *ops, enum target_object object,
     inf = NULL;
 
   if (inf != NULL
+      /* The dcache reads whole cache lines; that doesn't play well
+	 with reading from a trace buffer, because reading outside of
+	 the collected memory range fails.  */
+      && get_traceframe_number () == -1
       && (region->attrib.cache
 	  || (stack_cache_enabled_p && object == TARGET_OBJECT_STACK_MEMORY)))
     {
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index d245bf4..b6b3851 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2010-03-10  Doug Evans  <dje@google.com>
+
+	* gdb.base/checkpoint.exp: Fix comment.
+	Lengthen timeout while doing >600 checkpoints test.
+	Rename duplicate "kill all one" test to keep test names unique.
+
 2010-03-03  Tom Tromey  <tromey@redhat.com>
 
 	PR gdb/11345:
diff --git a/gdb/testsuite/gdb.base/checkpoint.exp b/gdb/testsuite/gdb.base/checkpoint.exp
index dc8ce1e..d987348 100644
--- a/gdb/testsuite/gdb.base/checkpoint.exp
+++ b/gdb/testsuite/gdb.base/checkpoint.exp
@@ -328,7 +328,7 @@ gdb_test "restart 9" "Not found.*" "no more checkpoint 9"
 gdb_test "restart 10" "Not found.*" "no more checkpoint 10"
 
 #
-# Now let's try setting a large number of checkpoints (>1000)
+# Now let's try setting a large number of checkpoints (>600)
 #
 
 gdb_exit
@@ -352,6 +352,10 @@ gdb_expect {
     timeout { fail "(timeout) set checkpoint breakpoint" }
 }
 
+set prev_timeout $timeout
+set timeout [expr $timeout + 120]
+verbose "Timeout now $timeout sec."
+
 gdb_breakpoint $break2_loc
 gdb_test "continue" "breakpoint 2.*" "break2 with many checkpoints"
 
@@ -375,9 +379,13 @@ gdb_test_multiple "info checkpoints" $msg {
 # OK, kill 'em all...
 #
 
-gdb_test "kill" "" "kill all one" \
+gdb_test "kill" "" "kill all one with many checkpoints" \
     "Kill the program being debugged.*y or n. $" "y"
 
+# Restore old timeout
+set timeout $prev_timeout
+verbose "Timeout now $timeout sec."
+
 #
 # Finished: cleanup
 #
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
index 1d2785f..4d85a89 100644
--- a/gdb/tracepoint.c
+++ b/gdb/tracepoint.c
@@ -1746,6 +1746,7 @@ finish_tfind_command (enum trace_find_type type, int num,
 
   reinit_frame_cache ();
   registers_changed ();
+  target_dcache_invalidate ();
   set_traceframe_num (target_frameno);
   set_tracepoint_num (tp ? tp->number : target_tracept);
   if (target_frameno == -1)
diff --git a/gdb/version.in b/gdb/version.in
index 1e3dc45..67de8da 100644
--- a/gdb/version.in
+++ b/gdb/version.in
@@ -1 +1 @@
-7.0.90.20100304-cvs
+7.0.90.20100312-cvs


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


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-03-12 18:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-12 18:35 [SCM] gdb_7_1-branch: * target.c (memory_xfer_partial): Don't use the stack cache if inspecting trace frames. * tracepoint.c (finish_tfind_command): Invalidate the target dcache 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).