public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  archer-jankratochvil-fedora12: Merge commit 'origin/archer-jankratochvil-vla' into archer-jankratochvil-fedora12
@ 2009-08-19 15:24 jkratoch
  0 siblings, 0 replies; 3+ messages in thread
From: jkratoch @ 2009-08-19 15:24 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-fedora12 has been updated
       via  2ba2bc451eb832182ef84c3934115de7a329da7c (commit)
       via  e37f6d28e5958f6e29fdf84efef97968954d2fb7 (commit)
       via  07663db7b9480b43d5e93c20b69131bcc310fc9d (commit)
       via  928bdc2ddae62d8a7a9d446344f5d008610f8b84 (commit)
       via  22a305763c1ce4e2c55a8c97bfdbbb3082f3d591 (commit)
       via  1d8d138bfb710bb139d29089f56cc618aaf5311c (commit)
       via  e39481508eb264b7cbed515b943263ea94d86393 (commit)
      from  850e3cb38a25cb7fdfa4cef667626ffbde51bcac (commit)

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

- Log -----------------------------------------------------------------
commit 2ba2bc451eb832182ef84c3934115de7a329da7c
Merge: 850e3cb38a25cb7fdfa4cef667626ffbde51bcac e37f6d28e5958f6e29fdf84efef97968954d2fb7
Author: Jan Kratochvil <jkratoch@host1.dyn.jankratochvil.net>
Date:   Wed Aug 19 17:23:49 2009 +0200

    Merge commit 'origin/archer-jankratochvil-vla' into archer-jankratochvil-fedora12

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

Summary of changes:
 ChangeLog                          |    4 ++
 MAINTAINERS                        |   47 +++++++++----------
 bfd/version.h                      |    2 +-
 gdb/ChangeLog                      |   21 ++++++++
 gdb/language.c                     |    5 +-
 gdb/remote.c                       |    3 +
 gdb/testsuite/ChangeLog            |    5 ++
 gdb/testsuite/gdb.base/gdbvars.c   |   16 ++++++
 gdb/testsuite/gdb.base/gdbvars.exp |   19 +++++++
 gdb/utils.c                        |    6 ++
 gdb/value.c                        |   92 ++++++++++++++++++++----------------
 gdb/version.in                     |    2 +-
 12 files changed, 152 insertions(+), 70 deletions(-)
 create mode 100644 gdb/testsuite/gdb.base/gdbvars.c

First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index 4ee1147..c7cad0e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-08-18  Christopher Faylor  <me+cygwin@cgf.cx>
+
+	* MAINTAINERS: Perform some obvious fixups.
+
 2009-08-17  Ben Elliston  <bje@au.ibm.com>
 
 	* config.sub, config.guess: Update from upstream sources.
diff --git a/MAINTAINERS b/MAINTAINERS
index 3c2c6f1..a471c90 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -10,20 +10,20 @@ Makefile.*; configure; configure.ac; src-release
 	be kept in sync with their counterparts in the GCC
 	repository.  Also please notify the following of
 	any committed patches:
-		binutils@sources.redhat.com
-		gdb-patches@sources.redhat.com
+		binutils@sourceware.org
+		gdb-patches@sourceware.org
 
 bfd/; binutils/; elfcpp/; gas/; gold/; gprof/; ld/; opcodes/; cpu/;
 BFD's part of include/
 
-	binutils: http://sources.redhat.com/binutils/
-	Patches to binutils@sources.redhat.com.
+	binutils: http://sourceware.org/binutils/
+	Patches to binutils@sourceware.org.
 	Please notify the following of any interface changes:
-		gdb-patches@sources.redhat.com
+		gdb-patches@sourceware.org
 
 cgen/; cgen parts of opcodes/, sim/ & include/
-	cgen: http://sources.redhat.com/cgen/
-	Patches to cgen@sources.redhat.com
+	cgen: http://sourceware.org/cgen/
+	Patches to cgen@sourceware.org
 	May need separate opcodes/ or sim/ approval for
 		commits of regenerated files there.
 
@@ -35,15 +35,15 @@ config.guess; config.sub; readline/support/config.{sub,guess}
 	in via a merge.  When updating any of these files, please be
 	sure to update all of them.
 	Please notify the following of any committed patches:
-		binutils@sources.redhat.com
-		gdb-patches@sources.redhat.com
+		binutils@sourceware.org
+		gdb-patches@sourceware.org
 
 depcomp
         Send bug reports and patches to bug-automake@gnu.org.
 
 gdb/; readline/; sim/; GDB's part of include/
 	GDB: http://www.gnu.org/software/gdb/
-	Patches to gdb-patches@sources.redhat.com.
+	Patches to gdb-patches@sourceware.org.
 	See also gdb/MAINTAINERS and sim/MAINTAINERS.
 
 include/
@@ -81,12 +81,12 @@ symlink-tree
 	See libiberty.
 
 newlib/; libgloss/
-	http://sources.redhat.com/newlib/
-	Patches to newlib@sources.redhat.com.
+	http://sourceware.org/newlib/
+	Patches to newlib@sourceware.org.
 
 sid/; SID's part of cgen/
-	sid: http://sources.redhat.com/sid/
-	Patches to sid@sources.redhat.com
+	sid: http://sourceware.org/sid/
+	Patches to sid@sourceware.org
 
 texinfo/texinfo.tex
 	texinfo: http://ftp.gnu.org.
@@ -95,14 +95,13 @@ texinfo/texinfo.tex
 	Please not use GCC's texinfo.  Please do not import texinfo.
 
 tcl/; tix/; itcl/; tk/; libgui/
-	insight: http://sources.redhat.com/insight/
-	Contact insight@sources.redhat.com.
+	insight: http://sourceware.org/insight/
+	Contact insight@sourceware.org.
 
 winsup/
-	cygwin: http://sources.redhat.com/cygwin
-	Patches to cygwin-patches@sources.redhat.com.
-	General discussion cygwin@sources.redhat.com.
-	See also winsup/MAINTAINERS.
+	cygwin: http://sourceware.org/cygwin
+	Patches to cygwin-patches@cygwin.com.
+	General discussion cygwin@cygwin.com.
 
 config-ml.in; makefile.vms; mkdep; setup.com;
 etc/; utils/;
@@ -117,11 +116,9 @@ config/
 	counterparts in the GCC repository.
 
 modules file
-	Obviously changes to this file should not go through
-	overseers@sources.redhat.com.  If you understand the file
-	format (or can cut-and-paste existing entries), modify it. If
-	it scares you, get someone who does understand it to help you.
-	Be prepared to fix it if you do break it.
+	If you understand the file format (or can cut-and-paste existing
+	entries), modify it. If it scares you, get someone who does
+	understand it to help you.  Be prepared to fix it if you do break it.
 
 /* Local variables: */
 /* change-log-default-name: "/dev/null" */
diff --git a/bfd/version.h b/bfd/version.h
index e217c6e..9edbf4d 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20090818
+#define BFD_VERSION_DATE 20090819
 #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 cf5b0db..1c4c56d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,24 @@
+2009-08-19  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* value.c (enum internalvar_kind): Replace INTERNALVAR_SCALAR by
+	INTERNALVAR_INTEGER and INTERNALVAR_POINTER.
+	(union internalvar_data): Replace "scalar" member by "integer"
+	and "pointer".
+	(value_of_internalvar): Handle INTERNALVAR_INTEGER and
+	INTERNALVAR_POINTER instead of INTERNALVAR_SCALAR.
+	(get_internalvar_integer): Likewise.
+	(set_internalvar): Likewise.
+	(set_internalvar_integer): Likewise.
+	(preserve_one_internalvar): Likewise.
+	(value_from_pointer): Handle typedef'd pointer types.
+
+2009-08-18  Tom Tromey  <tromey@redhat.com>
+
+	* utils.c (add_internal_problem_command): Free set_doc and
+	show_doc.
+	* remote.c (add_packet_config_cmd): Free set_doc and show_doc.
+	* language.c (add_language): Free language_set_doc.
+
 2009-08-18  Tom Tromey  <tromey@redhat.com>
 
 	* Makefile.in (ALL_TARGET_OBS): Remove prologue-value.o, solib.o.
diff --git a/gdb/language.c b/gdb/language.c
index d975f23..51a49f8 100644
--- a/gdb/language.c
+++ b/gdb/language.c
@@ -884,7 +884,7 @@ add_language (const struct language_defn *lang)
   /* For the "set language" command.  */
   static char **language_names = NULL;
   /* For the "help set language" command.  */
-  static char *language_set_doc = NULL;
+  char *language_set_doc = NULL;
 
   int i;
   struct ui_file *tmp_stream;
@@ -943,7 +943,6 @@ local or auto    Automatic setting based on source file\n"));
 			  languages[i]->la_name + 1);
     }
 
-  xfree (language_set_doc);
   language_set_doc = ui_file_xstrdup (tmp_stream, NULL);
   ui_file_delete (tmp_stream);
 
@@ -955,6 +954,8 @@ Show the current source language."), NULL,
 			set_language_command,
 			show_language_command,
 			&setlist, &showlist);
+
+  xfree (language_set_doc);
 }
 
 /* Iterate through all registered languages looking for and calling
diff --git a/gdb/remote.c b/gdb/remote.c
index 4c58abb..e2672d3 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -865,6 +865,9 @@ add_packet_config_cmd (struct packet_config *config, const char *name,
 				set_remote_protocol_packet_cmd,
 				show_remote_protocol_packet_cmd,
 				&remote_set_cmdlist, &remote_show_cmdlist);
+  /* The command code copies the documentation strings.  */
+  xfree (set_doc);
+  xfree (show_doc);
   /* set/show remote NAME-packet {auto,on,off} -- legacy.  */
   if (legacy)
     {
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index b56dfc4..9765281 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2009-08-19  Doug Evans  <dje@google.com>
+
+	* gdb.base/gdbvars.c: New file.
+	* gdb.base/gdbvars.exp: Test convenience vars with program variables.
+
 2009-08-14  Pedro Alves  <pedro@codesourcery.com>
 
 	* gdb.threads/killed.exp, gdb.threads/manythreads.exp,
diff --git a/gdb/testsuite/gdb.base/gdbvars.c b/gdb/testsuite/gdb.base/gdbvars.c
new file mode 100644
index 0000000..3a3ba24
--- /dev/null
+++ b/gdb/testsuite/gdb.base/gdbvars.c
@@ -0,0 +1,16 @@
+/* Simple program to help exercise gdb's convenience variables.  */
+
+typedef void *ptr;
+
+ptr p = &p;
+
+int
+main ()
+{
+#ifdef usestubs
+    set_debug_traps ();
+    breakpoint ();
+#endif
+
+  return 0;
+}
diff --git a/gdb/testsuite/gdb.base/gdbvars.exp b/gdb/testsuite/gdb.base/gdbvars.exp
index 1c29ea6..8246a14 100644
--- a/gdb/testsuite/gdb.base/gdbvars.exp
+++ b/gdb/testsuite/gdb.base/gdbvars.exp
@@ -22,6 +22,15 @@ if $tracelevel then {
 set prms_id 0
 set bug_id 0
 
+set testfile "gdbvars"
+set srcfile  ${testfile}.c
+set binfile  ${objdir}/${subdir}/${testfile}
+
+if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
+    untested gdbvars.exp
+    return -1
+}
+
 proc test_convenience_variables {} {
     global gdb_prompt
 
@@ -101,13 +110,23 @@ proc test_value_history {} {
 	"Use value-history element in arithmetic expression"
 }
 
+proc test_with_program {} {
+    global hex
+    gdb_test "set \$prog_var = p" "" \
+	"Set a new convenience variable to a program variable"
+    gdb_test "print /x \$prog_var" " = $hex" \
+	"Print contents of new convenience variable of program variable"
+}
+
 # Start with a fresh gdb.
 
 gdb_exit
 gdb_start
 gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
 
 send_gdb "set print sevenbit-strings\n" ; gdb_expect -re ".*$gdb_prompt $"
 
 test_value_history
 test_convenience_variables
+test_with_program
diff --git a/gdb/utils.c b/gdb/utils.c
index f985fa9..3021a43 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -1098,6 +1098,9 @@ Show whether GDB will quit when an %s is detected"),
 			set_cmd_list,
 			show_cmd_list);
 
+  xfree (set_doc);
+  xfree (show_doc);
+
   set_doc = xstrprintf (_("\
 Set whether GDB should create a core file of GDB when %s is detected"),
 			problem->name);
@@ -1114,6 +1117,9 @@ Show whether GDB will create a core file of GDB when %s is detected"),
 			NULL, /* showfunc */
 			set_cmd_list,
 			show_cmd_list);
+
+  xfree (set_doc);
+  xfree (show_doc);
 }
 
 /* Print the system error message for errno, and also mention STRING
diff --git a/gdb/value.c b/gdb/value.c
index 8af6ae1..5c207e3 100644
--- a/gdb/value.c
+++ b/gdb/value.c
@@ -970,8 +970,11 @@ struct internalvar
       /* The internal variable holds a GDB internal convenience function.  */
       INTERNALVAR_FUNCTION,
 
-      /* The variable holds a simple scalar value.  */
-      INTERNALVAR_SCALAR,
+      /* The variable holds an integer value.  */
+      INTERNALVAR_INTEGER,
+
+      /* The variable holds a pointer value.  */
+      INTERNALVAR_POINTER,
 
       /* The variable holds a GDB-provided string.  */
       INTERNALVAR_STRING,
@@ -994,19 +997,22 @@ struct internalvar
 	  int canonical;
 	} fn;
 
-      /* A scalar value used with INTERNALVAR_SCALAR.  */
+      /* An integer value used with INTERNALVAR_INTEGER.  */
       struct
         {
 	  /* If type is non-NULL, it will be used as the type to generate
 	     a value for this internal variable.  If type is NULL, a default
 	     integer type for the architecture is used.  */
 	  struct type *type;
-	  union
-	    {
-	      LONGEST l;    /* Used with TYPE_CODE_INT and NULL types.  */
-	      CORE_ADDR a;  /* Used with TYPE_CODE_PTR types.  */
-	    } val;
-        } scalar;
+	  LONGEST val;
+        } integer;
+
+      /* A pointer value used with INTERNALVAR_POINTER.  */
+      struct
+        {
+	  struct type *type;
+	  CORE_ADDR val;
+        } pointer;
 
       /* A string value used with INTERNALVAR_STRING.  */
       char *string;
@@ -1132,16 +1138,16 @@ value_of_internalvar (struct gdbarch *gdbarch, struct internalvar *var)
       val = allocate_value (builtin_type (gdbarch)->internal_fn);
       break;
 
-    case INTERNALVAR_SCALAR:
-      if (!var->u.scalar.type)
+    case INTERNALVAR_INTEGER:
+      if (!var->u.integer.type)
 	val = value_from_longest (builtin_type (gdbarch)->builtin_int,
-				  var->u.scalar.val.l);
-      else if (TYPE_CODE (var->u.scalar.type) == TYPE_CODE_INT)
-	val = value_from_longest (var->u.scalar.type, var->u.scalar.val.l);
-      else if (TYPE_CODE (var->u.scalar.type) == TYPE_CODE_PTR)
-	val = value_from_pointer (var->u.scalar.type, var->u.scalar.val.a);
+				  var->u.integer.val);
       else
-        internal_error (__FILE__, __LINE__, "bad type");
+	val = value_from_longest (var->u.integer.type, var->u.integer.val);
+      break;
+
+    case INTERNALVAR_POINTER:
+      val = value_from_pointer (var->u.pointer.type, var->u.pointer.val);
       break;
 
     case INTERNALVAR_STRING:
@@ -1195,14 +1201,9 @@ get_internalvar_integer (struct internalvar *var, LONGEST *result)
 {
   switch (var->kind)
     {
-    case INTERNALVAR_SCALAR:
-      if (var->u.scalar.type == NULL
-	  || TYPE_CODE (var->u.scalar.type) == TYPE_CODE_INT)
-	{
-	  *result = var->u.scalar.val.l;
-	  return 1;
-	}
-      /* Fall through.  */
+    case INTERNALVAR_INTEGER:
+      *result = var->u.integer.val;
+      return 1;
 
     default:
       return 0;
@@ -1274,15 +1275,15 @@ set_internalvar (struct internalvar *var, struct value *val)
       break;
 
     case TYPE_CODE_INT:
-      new_kind = INTERNALVAR_SCALAR;
-      new_data.scalar.type = value_type (val);
-      new_data.scalar.val.l = value_as_long (val);
+      new_kind = INTERNALVAR_INTEGER;
+      new_data.integer.type = value_type (val);
+      new_data.integer.val = value_as_long (val);
       break;
 
     case TYPE_CODE_PTR:
-      new_kind = INTERNALVAR_SCALAR;
-      new_data.scalar.type = value_type (val);
-      new_data.scalar.val.a = value_as_address (val);
+      new_kind = INTERNALVAR_POINTER;
+      new_data.pointer.type = value_type (val);
+      new_data.pointer.val = value_as_address (val);
       break;
 
     default:
@@ -1319,9 +1320,9 @@ set_internalvar_integer (struct internalvar *var, LONGEST l)
   /* Clean up old contents.  */
   clear_internalvar (var);
 
-  var->kind = INTERNALVAR_SCALAR;
-  var->u.scalar.type = NULL;
-  var->u.scalar.val.l = l;
+  var->kind = INTERNALVAR_INTEGER;
+  var->u.integer.type = NULL;
+  var->u.integer.val = l;
 }
 
 void
@@ -1428,10 +1429,13 @@ value_types_mark_used (void)
 	type_mark_used (value_type (var->u.value));
 	break;
 
-      case INTERNALVAR_SCALAR:
-	type_mark_used (var->u.scalar.type);
+      case INTERNALVAR_INTEGER:
+	type_mark_used (var->u.integer.type);
 	break;
 
+      case INTERNALVAR_POINTER:
+	type_mark_used (var->u.pointer.type);
+	break;
       }
 
   for (chunk = value_history_chain; chunk != NULL; chunk = chunk->next)
@@ -1506,10 +1510,16 @@ preserve_one_internalvar (struct internalvar *var, struct objfile *objfile,
 {
   switch (var->kind)
     {
-    case INTERNALVAR_SCALAR:
-      if (var->u.scalar.type && TYPE_OBJFILE (var->u.scalar.type) == objfile)
-	var->u.scalar.type
-	  = copy_type_recursive (var->u.scalar.type, copied_types);
+    case INTERNALVAR_INTEGER:
+      if (var->u.integer.type && TYPE_OBJFILE (var->u.integer.type) == objfile)
+	var->u.integer.type
+	  = copy_type_recursive (var->u.integer.type, copied_types);
+      break;
+
+    case INTERNALVAR_POINTER:
+      if (TYPE_OBJFILE (var->u.pointer.type) == objfile)
+	var->u.pointer.type
+	  = copy_type_recursive (var->u.pointer.type, copied_types);
       break;
 
     case INTERNALVAR_VALUE:
@@ -2297,7 +2307,7 @@ struct value *
 value_from_pointer (struct type *type, CORE_ADDR addr)
 {
   struct value *val = allocate_value (type);
-  store_typed_address (value_contents_raw (val), type, addr);
+  store_typed_address (value_contents_raw (val), check_typedef (type), addr);
   return val;
 }
 
diff --git a/gdb/version.in b/gdb/version.in
index f2db57a..efdb7f2 100644
--- a/gdb/version.in
+++ b/gdb/version.in
@@ -1 +1 @@
-6.8.50.20090818-cvs
+6.8.50.20090819-cvs


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


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

* [SCM]  archer-jankratochvil-fedora12: Merge commit 'origin/archer-jankratochvil-vla' into archer-jankratochvil-fedora12
@ 2009-08-18 18:36 jkratoch
  0 siblings, 0 replies; 3+ messages in thread
From: jkratoch @ 2009-08-18 18:36 UTC (permalink / raw)
  To: archer-commits

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 27365 bytes --]

The branch, archer-jankratochvil-fedora12 has been updated
       via  5e0d1cc74f119391a2c3ae25ef5749fc28674f06 (commit)
       via  244286fa8e51bc154bb5e67d9cf273a180571b41 (commit)
       via  eedb832b75f7fef12798817c8658ab0460dbe1ac (commit)
       via  0b40e3e1ac25d11c32c1d303b38e06860018a24d (commit)
       via  d585ec2bf11e406142b9ec6d7147c64c5e8efece (commit)
       via  dd29526f9cda7477ebfba97c4352c541ae33f3c0 (commit)
       via  b20f57ef041cd30a910ca69e23eda602f66bd20b (commit)
       via  ea0a17f64035271bc61e8836bdc58739a3d4ead4 (commit)
       via  dc9ef3ba605b9cd01854192461040a34faab1d69 (commit)
       via  22aefbe80723f8b3083312785c679b0dfb84d9e5 (commit)
       via  6dddc9d76d42560537be8c79b6257afca3edac66 (commit)
       via  a24fc31e0d1d8c1da5f2916003a7f050922401d9 (commit)
       via  9035326f637b5b1fda22af0986c950af3eb78108 (commit)
       via  2160da1bc16af71a3a1ecc80da9f8ca9c2b9c2fb (commit)
       via  faa22f1620b10efbf38f712202ae62e6d011d033 (commit)
       via  19a50d12edce0600e6e784c1edb3ada364e315f6 (commit)
       via  7d85f8dcdcb4b149fc5c8d1264fd143389966d90 (commit)
       via  a9b6f73c7cc899799d442f06ddb25d2cc943f0e2 (commit)
       via  dca6d30a328a3b69a8f8ef58f04aec74e50a2c56 (commit)
       via  2dbb9ab6751fee3d378c55cfdc2bec9850e05126 (commit)
       via  b2bd124143030a72ceffe8164b95eca30c136a71 (commit)
       via  e70ed52add70be4b5eaaa832a03b8432c58dd123 (commit)
       via  2d2cca06c04577fedc2547a9d22213bf2ce5944b (commit)
       via  7b89e85c0e6ec79862388fffa7f37097023ff996 (commit)
       via  9213c4b80953bfb0cd4f413449804cfea7083b8c (commit)
       via  2e49d7624aa051e6fc923ad075c8d5a8b760b03a (commit)
       via  668e15338216bae8b420ac7622e451fbd41f7150 (commit)
       via  61b721bf40f1b08c51e333356223aac25779efce (commit)
       via  0ad8a5906cd65758e6050bdf59b893a0b1c20bc9 (commit)
       via  c6cbb4c87a8a8903e4f7e2d4d037beae680fe5bc (commit)
       via  99a1bce6066d10c5559be4243c64e886a92687aa (commit)
       via  dd87a5db41262aab0329681424c8d8a1edc6b12d (commit)
       via  46a2581eab1077d009a81c38084bee930f7aed4c (commit)
       via  77fa7778a37b0d28a7e4e5235f074a10ecf1815d (commit)
       via  11715aed715d97aed37e850e6aed85c041c547b5 (commit)
       via  1b42f8399e862443ca8d7d5d37ecfd66c18a7aeb (commit)
       via  c727449bc8cdba5f6dfcf740e6c11e4cebc179b8 (commit)
       via  e183d2cfa59f743c78af6709f65fd2c12b151ad6 (commit)
       via  caf5aafaa5dde02dedc24b18bf82be878fda61d6 (commit)
       via  f110b5c19bb171d4893376e6e4b731683f2fc31a (commit)
       via  013c637ee0cd488e79d73206a0347df969d2f33a (commit)
       via  a9e8bba767b606fbc72af7fc3dddf01342b70143 (commit)
       via  1269417bec740667b9112ed1077973236f89ac9f (commit)
       via  309a0bf052482b2dfaf80805361e1c50121f3809 (commit)
       via  d0fe3272b8b3b64a9a72912d334a9adca8c66a99 (commit)
       via  444b5d7ba1da7e5f8e5855e45cd0f97a27ed6660 (commit)
       via  2d0c1b4a85e6ce82b3346bd055009f2f83fbc5a0 (commit)
       via  e2437de2e3cbaba928ff64e9c967fa633de55c00 (commit)
       via  ec6ee3bdbdf3dab75cbb2695cf5daf8672d2b97a (commit)
       via  d7fb0f9994ed73f8b9b09e0324033e4fd1549582 (commit)
       via  82648c0411ee11b4ba5446997e202bcb682fd369 (commit)
       via  8c3a12a4542b48fcc9286fe35958ce994518f9e5 (commit)
       via  59ef00384e7090beba9b50dce1d9de4f7a083105 (commit)
       via  cd7936dd5f6446cddcaced61977d13d36ee3df63 (commit)
       via  e04c6dd6e43c2355c0389fe30f8b11e602920438 (commit)
       via  4632ac375052eaf0f6c638d9fe4f2959d799fbe8 (commit)
       via  54dd223ddbd82c5a846c6cdf8372512f39c5658a (commit)
       via  a34bf48e95e74e62b58e1a959c550ec210796fc7 (commit)
       via  3a4a1cd00493e6df57c6d04dd256c85df36f5e15 (commit)
       via  057cd711e007579f6ec8e33566ec1528da7f71c9 (commit)
      from  ccbbd0d6066c9e00b94b7b69e8ad6f5cb30a0241 (commit)

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

- Log -----------------------------------------------------------------
commit 5e0d1cc74f119391a2c3ae25ef5749fc28674f06
Merge: eedb832b75f7fef12798817c8658ab0460dbe1ac 244286fa8e51bc154bb5e67d9cf273a180571b41
Author: Jan Kratochvil <jkratoch@host1.dyn.jankratochvil.net>
Date:   Tue Aug 18 20:36:32 2009 +0200

    Merge commit 'origin/archer-jankratochvil-vla' into archer-jankratochvil-fedora12

commit eedb832b75f7fef12798817c8658ab0460dbe1ac
Merge: 0b40e3e1ac25d11c32c1d303b38e06860018a24d ea0a17f64035271bc61e8836bdc58739a3d4ead4
Author: Jan Kratochvil <jkratoch@host1.dyn.jankratochvil.net>
Date:   Tue Aug 18 20:34:27 2009 +0200

    Merge commit 'origin/archer-jankratochvil-vla' into archer-jankratochvil-fedora12
    
    Conflicts:
    	gdb/python/python-value.c

commit 0b40e3e1ac25d11c32c1d303b38e06860018a24d
Author: Jan Kratochvil <jkratoch@host1.dyn.jankratochvil.net>
Date:   Tue Aug 18 20:32:10 2009 +0200

    Undo archer-jankratochvil-fedora12 ChangeLog changes.

commit d585ec2bf11e406142b9ec6d7147c64c5e8efece
Merge: 22aefbe80723f8b3083312785c679b0dfb84d9e5 dd29526f9cda7477ebfba97c4352c541ae33f3c0
Author: Jan Kratochvil <jkratoch@host1.dyn.jankratochvil.net>
Date:   Tue Aug 18 20:31:03 2009 +0200

    Merge commit 'origin/archer-tromey-python' into archer-jankratochvil-fedora12
    
    Conflicts:
    	gdb/ChangeLog
    	gdb/dwarf2loc.c

commit 22aefbe80723f8b3083312785c679b0dfb84d9e5
Merge: 6dddc9d76d42560537be8c79b6257afca3edac66 faa22f1620b10efbf38f712202ae62e6d011d033
Author: Jan Kratochvil <jkratoch@host1.dyn.jankratochvil.net>
Date:   Tue Aug 18 18:17:58 2009 +0200

    Merge commit 'origin/archer-tromey-python' into archer-jankratochvil-fedora12

commit 6dddc9d76d42560537be8c79b6257afca3edac66
Merge: a24fc31e0d1d8c1da5f2916003a7f050922401d9 46a2581eab1077d009a81c38084bee930f7aed4c
Author: Jan Kratochvil <jkratoch@host1.dyn.jankratochvil.net>
Date:   Tue Aug 18 18:17:49 2009 +0200

    Merge commit 'origin/archer-tromey-delayed-symfile' into archer-jankratochvil-fedora12

commit a24fc31e0d1d8c1da5f2916003a7f050922401d9
Merge: 9035326f637b5b1fda22af0986c950af3eb78108 dca6d30a328a3b69a8f8ef58f04aec74e50a2c56
Author: Jan Kratochvil <jkratoch@host1.dyn.jankratochvil.net>
Date:   Tue Aug 18 18:17:41 2009 +0200

    Merge commit 'origin/archer-tromey-call-frame-cfa' into archer-jankratochvil-fedora12

commit 9035326f637b5b1fda22af0986c950af3eb78108
Merge: ccbbd0d6066c9e00b94b7b69e8ad6f5cb30a0241 a9b6f73c7cc899799d442f06ddb25d2cc943f0e2
Author: Jan Kratochvil <jkratoch@host1.dyn.jankratochvil.net>
Date:   Tue Aug 18 18:17:28 2009 +0200

    Merge commit 'origin/archer-keiths-expr-cumulative' into archer-jankratochvil-fedora12

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

Summary of changes:
 ChangeLog                                    |    4 +
 bfd/ChangeLog                                |   14 +
 bfd/elf32-m32c.c                             |   31 +-
 bfd/opncls.c                                 |   16 +-
 bfd/po/fi.po                                 | 2025 ++++++++++++++------------
 bfd/version.h                                |    2 +-
 config.guess                                 |   12 +-
 config.sub                                   |   20 +-
 config/ChangeLog                             |   25 +
 config/lead-dot.m4                           |    9 +-
 config/mh-cygwin                             |    3 +
 config/mh-ppc-aix                            |   13 +-
 config/tls.m4                                |   18 +
 config/unwind_ipinfo.m4                      |    8 +-
 config/warnings.m4                           |    9 +-
 gdb/ChangeLog                                |  196 +++
 gdb/Makefile.in                              |    3 +-
 gdb/aix-thread.c                             |    3 +-
 gdb/amd64-linux-tdep.c                       |    3 +
 gdb/amd64-tdep.c                             |   89 ++
 gdb/arm-tdep.c                               |    2 +-
 gdb/cli/cli-decode.c                         |   54 +-
 gdb/cli/cli-setshow.c                        |    3 +-
 gdb/command.h                                |  128 +-
 gdb/cp-namespace.c                           |  106 +-
 gdb/cp-support.h                             |   18 +-
 gdb/dwarf2loc.c                              |    8 +-
 gdb/dwarf2read.c                             |   42 +-
 gdb/frame.c                                  |    2 +
 gdb/gdbarch.c                                |    6 +-
 gdb/gdbarch.sh                               |    6 +-
 gdb/infrun.c                                 |    3 +-
 gdb/language.c                               |  488 +++----
 gdb/language.h                               |    9 -
 gdb/linespec.c                               |    7 +-
 gdb/mi/mi-cmd-var.c                          |   50 +-
 gdb/objfiles.c                               |   16 +-
 gdb/python/python-frame.c                    |    3 +-
 gdb/python/python-type.c                     |    4 +-
 gdb/python/python-value.c                    |   51 +-
 gdb/remote.c                                 |  272 ++--
 gdb/symfile.c                                |    7 +-
 gdb/target.c                                 |   30 +-
 gdb/testsuite/ChangeLog                      |  115 +--
 gdb/testsuite/gdb.arch/altivec-abi.exp       |    1 +
 gdb/testsuite/gdb.arch/altivec-regs.exp      |    2 +
 gdb/testsuite/gdb.base/default.exp           |    2 +-
 gdb/testsuite/gdb.base/help.exp              |    3 +-
 gdb/testsuite/gdb.cp/namespace-recursive.cc  |   15 +-
 gdb/testsuite/gdb.cp/namespace-recursive.exp |    9 +-
 gdb/testsuite/gdb.dwarf2/dw2-aranges.S       |  140 ++
 gdb/testsuite/gdb.dwarf2/dw2-aranges.exp     |   40 +
 gdb/testsuite/gdb.fortran/dynamic.exp        |   13 -
 gdb/testsuite/gdb.fortran/string.exp         |   13 -
 gdb/testsuite/gdb.threads/killed.exp         |    2 +-
 gdb/testsuite/gdb.threads/manythreads.exp    |    2 +-
 gdb/testsuite/gdb.threads/staticthreads.exp  |    2 +-
 gdb/top.c                                    |  107 +-
 gdb/typeprint.c                              |    3 +-
 gdb/ui-file.c                                |    6 +-
 gdb/ui-file.h                                |    4 +-
 gdb/utils.c                                  |    5 +-
 gdb/valops.c                                 |    2 +-
 gdb/value.c                                  |   25 -
 gdb/value.h                                  |    5 -
 gdb/varobj.c                                 |   28 +-
 gdb/varobj.h                                 |    2 +
 gdb/version.in                               |    2 +-
 gdb/xtensa-tdep.c                            |    6 +-
 include/ChangeLog-9103                       |    2 +-
 libdecnumber/ChangeLog                       |    7 +
 libdecnumber/decCommon.c                     |    2 +
 libdecnumber/decContext.c                    |    4 +
 libiberty/ChangeLog                          |    5 +
 libiberty/Makefile.in                        |   10 +
 sim/m32c/ChangeLog                           |   14 +
 sim/m32c/config.in                           |   15 +
 sim/m32c/configure                           |  155 ++
 sim/m32c/configure.in                        |    2 +
 sim/m32c/main.c                              |   29 +-
 sim/m32c/mem.c                               |   16 +
 81 files changed, 2757 insertions(+), 1876 deletions(-)
 create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-aranges.S
 create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-aranges.exp

First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index 64dc5aa..4ee1147 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-08-17  Ben Elliston  <bje@au.ibm.com>
+
+	* config.sub, config.guess: Update from upstream sources.
+
 2009-08-06  Michael Eager <eager@eagercon.com>
 
 	* configure.ac: Add Microblaze target.
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 335731e..f9c4c6d 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,17 @@
+2009-08-16  Doug Evans  <dje@google.com>
+
+	* opncls.c (bfd_close): Until BFD_IN_MEMORY has an iovec,
+	at least don't leak memory.
+
+2009-08-13  DJ Delorie  <dj@redhat.com>
+
+	* elf32-m32c.c (m32c_elf_relax_delete_bytes): Adjust symbol sizes
+	if needed.
+
+2009-08-12  Nick Clifton  <nickc@redhat.com>
+
+	* po/fi.po: Updated Finnish translation.
+
 2009-08-11  Bernd Schmidt  <bernd.schmidt@analog.com>
 
 	Merge some FRV FDPIC changes into the Blackfin code.
diff --git a/bfd/elf32-m32c.c b/bfd/elf32-m32c.c
index 5f45784..8805d61 100644
--- a/bfd/elf32-m32c.c
+++ b/bfd/elf32-m32c.c
@@ -1951,13 +1951,24 @@ m32c_elf_relax_delete_bytes
 
   for (; isym < isymend; isym++, shndx = (shndx ? shndx + 1 : NULL))
     {
-
+      /* If the symbol is in the range of memory we just moved, we
+	 have to adjust its value.  */
       if ((int) 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 ((int) 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.  */
@@ -1972,13 +1983,21 @@ m32c_elf_relax_delete_bytes
       struct elf_link_hash_entry * sym_hash = * sym_hashes;
 
       if (sym_hash &&
-	  (   sym_hash->root.type == bfd_link_hash_defined
+	  (sym_hash->root.type == bfd_link_hash_defined
 	   || sym_hash->root.type == bfd_link_hash_defweak)
-	  && sym_hash->root.u.def.section == sec
-	  && sym_hash->root.u.def.value > addr
-	  && sym_hash->root.u.def.value < toaddr)
+	  && sym_hash->root.u.def.section == sec)
 	{
-	  sym_hash->root.u.def.value -= count;
+	  if (sym_hash->root.u.def.value > addr
+	      && sym_hash->root.u.def.value < toaddr)
+	    {
+	      sym_hash->root.u.def.value -= count;
+	    }
+	  if (sym_hash->root.u.def.value < addr
+	      && sym_hash->root.u.def.value + sym_hash->size > addr
+	      && sym_hash->root.u.def.value + sym_hash->size < toaddr)
+	    {
+	      sym_hash->size -= count;
+	    }
 	}
     }
 
diff --git a/bfd/opncls.c b/bfd/opncls.c
index 6a4f319..7992030 100644
--- a/bfd/opncls.c
+++ b/bfd/opncls.c
@@ -703,12 +703,18 @@ bfd_close (bfd *abfd)
   if (! BFD_SEND (abfd, _close_and_cleanup, (abfd)))
     return FALSE;
 
-  /* FIXME: cagney/2004-02-15: Need to implement a BFD_IN_MEMORY io
-     vector.  */
-  if (!(abfd->flags & BFD_IN_MEMORY))
-    ret = abfd->iovec->bclose (abfd);
+  if ((abfd->flags & BFD_IN_MEMORY) != 0)
+    {
+      /* FIXME: cagney/2004-02-15: Need to implement a BFD_IN_MEMORY io
+	 vector.
+	 Until that's done, at least don't leak memory.  */
+      struct bfd_in_memory *bim = abfd->iostream;
+      free (bim->buffer);
+      free (bim);
+      ret = TRUE;
+    }
   else
-    ret = TRUE;
+    ret = abfd->iovec->bclose (abfd);
 
   if (ret)
     _maybe_make_executable (abfd);
diff --git a/bfd/po/fi.po b/bfd/po/fi.po
index ce54a44..c1b622e 100644
--- a/bfd/po/fi.po
+++ b/bfd/po/fi.po
@@ -1,19 +1,20 @@
-# translation of bfd-2.17.90.po to Finnish
-# Copyright (C) 2007 Free Software Foundation, Inc.
+# translation of bfd-2.19.1.po to Finnish
+# Copyright © 2007, 2009 Free Software Foundation, Inc.
 # This file is distributed under the same license as the binutils package.
+# Jorma Karvonen <karvonen.jorma@gmail.com>, 2007, 2009.
 #
-# Jorma Karvonen <karvjorm@users.sf.net>, 2007.
 msgid ""
 msgstr ""
-"Project-Id-Version: bfd 2.17.90\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-08-06 16:21-0400\n"
-"PO-Revision-Date: 2007-09-11 22:29+0300\n"
-"Last-Translator: Jorma Karvonen <karvjorm@users.sf.net>\n"
+"Project-Id-Version: bfd 2.19.1\n"
+"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
+"POT-Creation-Date: 2008-09-09 15:56+0930\n"
+"PO-Revision-Date: 2009-08-12 19:02+0200\n"
+"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: KBabel 1.11.2\n"
 
 #: aout-adobe.c:127
@@ -33,145 +34,145 @@ msgstr "%B: Virheellinen sijoitustyyppi tuotu: %d"
 msgid "%B: Bad relocation record imported: %d"
 msgstr "%B: Väärä sijoitustietue tuotu: %d"
 
-#: aoutx.h:1268 aoutx.h:1602
+#: aoutx.h:1268 aoutx.h:1604
 #, c-format
 msgid "%s: can not represent section `%s' in a.out object file format"
-msgstr "%s: ei voi edustaa lohkoa ”%s” ”a.out”-objektitiedostomuodossa"
+msgstr "%s: ei voi edustaa lohkoa ’%s’ ”a.out”-objektitiedostomuodossa"
 
-#: aoutx.h:1568
+#: aoutx.h:1570
 #, c-format
 msgid "%s: can not represent section for symbol `%s' in a.out object file format"
-msgstr "%s: ei voi edustaa lohkoa symbolille ”%s” ”a.out”-objektitiedostomuodossa"
+msgstr "%s: ei voi edustaa lohkoa symbolille ’%s’ ”a.out”-objektitiedostomuodossa"
 
-#: aoutx.h:1570
+#: aoutx.h:1572
 msgid "*unknown*"
 msgstr "*tuntematon*"
 
-#: aoutx.h:3987 aoutx.h:4313
+#: aoutx.h:3989 aoutx.h:4315
 msgid "%P: %B: unexpected relocation type\n"
 msgstr "%P: %B: odottamaton sijoitustyyppi\n"
 
-#: aoutx.h:5347
+#: aoutx.h:5349
 #, c-format
 msgid "%s: relocatable link from %s to %s not supported"
 msgstr "%s: sijoitettava linkki kohteesta %s kohteeseen %s ei ole tuettu"
 
-#: archive.c:1766
+#: archive.c:2046
 msgid "Warning: writing archive was slow: rewriting timestamp\n"
 msgstr "Varoitus: arkiston kirjoitus oli hidasta: aikaleiman uudelleenkirjoitus\n"
 
-#: archive.c:2029
+#: archive.c:2309
 msgid "Reading archive file mod timestamp"
 msgstr "Luetaan arkistotiedoston muokkausaikaleima"
 
 #  Intel coff armap
-#: archive.c:2053
+#: archive.c:2333
 msgid "Writing updated armap timestamp"
 msgstr "Kirjoitetaan päivitetty ”armap”-aikaleima"
 
-#: bfd.c:289
+#: bfd.c:368
 msgid "No error"
 msgstr "Ei virhettä"
 
-#: bfd.c:290
+#: bfd.c:369
 msgid "System call error"
 msgstr "Järjestelmäkutsuvirhe"
 
-#: bfd.c:291
+#: bfd.c:370
 msgid "Invalid bfd target"
 msgstr "Virheellinen bfd-kohde"
 
-#: bfd.c:292
+#: bfd.c:371
 msgid "File in wrong format"
 msgstr "Tiedosto väärässä muodossa"
 
-#: bfd.c:293
+#: bfd.c:372
 msgid "Archive object file in wrong format"
 msgstr "Arkisto-objektitiedosto väärässä muodossa"
 
-#: bfd.c:294
+#: bfd.c:373
 msgid "Invalid operation"
 msgstr "Virheellinen toiminta"
 
-#: bfd.c:295
+#: bfd.c:374
 msgid "Memory exhausted"
 msgstr "Muisti loppunut"
 
-#: bfd.c:296
+#: bfd.c:375
 msgid "No symbols"
 msgstr "Ei symboleja"
 
-#: bfd.c:297
+#: bfd.c:376
 msgid "Archive has no index; run ranlib to add one"
-msgstr "Arkistossa ei ole hakemistoa; lisää sellainen ajamalla ranlib"
+msgstr "Arkistossa ei ole hakemistoa; lisää sellainen suorittamalla ranlib"
 
-#: bfd.c:298
+#: bfd.c:377
 msgid "No more archived files"
 msgstr "Ei enää arkistoituja tiedostoja"
 
-#: bfd.c:299
+#: bfd.c:378
 msgid "Malformed archive"
 msgstr "Muodoltaan virheellinen arkisto"
 
-#: bfd.c:300
+#: bfd.c:379
 msgid "File format not recognized"
 msgstr "Tiedostomuotoa ei tunnistettu"
 
-#: bfd.c:301
+#: bfd.c:380
 msgid "File format is ambiguous"
-msgstr "Tiedostomuoto on moniselitteinen"
+msgstr "Tiedostomuoto ei ole yksiselitteinen"
 
-#: bfd.c:302
+#: bfd.c:381
 msgid "Section has no contents"
 msgstr "Lohkossa ei ole sisältöä"
 
-#: bfd.c:303
+#: bfd.c:382
 msgid "Nonrepresentable section on output"
 msgstr "Ei-edustava lohko tulosteessa"
 
-#: bfd.c:304
+#: bfd.c:383
 msgid "Symbol needs debug section which does not exist"
-msgstr "Symboli tarvitsee debuggauslohkon, jota ei ole"
+msgstr "Symboli tarvitsee virheenjäljityslohkon, jota ei ole"
 
-#: bfd.c:305
+#: bfd.c:384
 msgid "Bad value"
 msgstr "Väärä arvo"
 
-#: bfd.c:306
+#: bfd.c:385
 msgid "File truncated"
 msgstr "Tiedosto typistetty"
 
-#: bfd.c:307
+#: bfd.c:386
 msgid "File too big"
 msgstr "Tiedosto on liian iso"
 
-#: bfd.c:308
+#: bfd.c:387
 #, c-format
 msgid "Error reading %s: %s"
 msgstr "Virhe luettaessa %s: %s"
 
-#: bfd.c:309
+#: bfd.c:388
 msgid "#<Invalid error code>"
 msgstr "#<Virheellinen virhekoodi>"
 
-#: bfd.c:830
+#: bfd.c:912
 #, c-format
 msgid "BFD %s assertion fail %s:%d"
 msgstr "BFD %s suoritusehto ei onnistunut %s:%d"
 
-#: bfd.c:842
+#: bfd.c:924
 #, c-format
 msgid "BFD %s internal error, aborting at %s line %d in %s\n"
-msgstr "BFD %s sisäinen virhe, virhelopetetaan tiedostossa %s rivillä %d funktiossa %s\n"
+msgstr "BFD %s sisäinen virhe, lopetetaan tiedostossa %s rivillä %d funktiossa %s\n"
 
-#: bfd.c:846
+#: bfd.c:928
 #, c-format
 msgid "BFD %s internal error, aborting at %s line %d\n"
-msgstr "BFD %s sisäinen virhe, virhelopetetaan tiedostossa %s rivillä %d\n"
+msgstr "BFD %s sisäinen virhe, lopetetaan tiedostossa %s rivillä %d\n"
 
-#: bfd.c:848
+#: bfd.c:930
 msgid "Please report this bug.\n"
-msgstr "Lähetä raportit ohjelmistovioista (englanniksi) osoitteeseen http://sourceware.org/bugzilla/.\n"
+msgstr "Ilmoita tästä virheestä.\n"
 
 #: bfdwin.c:208
 #, c-format
@@ -187,16 +188,12 @@ msgstr "ei kuvausta: ympäristömuuttuja ei ole asetettu\n"
 #: binary.c:284
 #, c-format
 msgid "Warning: Writing section `%s' to huge (ie negative) file offset 0x%lx."
-msgstr "Varoitus: Kirjoitetaan lohko ”%s” valtavaan (ts. negatiiviseen) tiedostosiirrokseen 0x%lx."
+msgstr "Varoitus: Kirjoitetaan lohko ”%s” valtavaan (ts. negatiiviseen) tiedostosiirrososoitteeseen 0x%lx."
 
-#: cache.c:238
+#: cache.c:222
 msgid "reopening %B: %s\n"
 msgstr "avataan uudelleen %B: %s\n"
 
-#: coff64-rs6000.c:2126 coff-rs6000.c:3624
-msgid "%B: symbol `%s' has unrecognized smclas %d"
-msgstr "%B: symbolissa ”%s” on tunnistamaton ”smclas”-arvo %d"
-
 #: coff-alpha.c:490
 msgid ""
 "%B: Cannot handle compressed Alpha binaries.\n"
@@ -209,7 +206,7 @@ msgstr ""
 msgid "%B: unknown/unsupported relocation type %d"
 msgstr "%B: tuntematon/ei-tuettu sijoitustyyppi %d"
 
-#: coff-alpha.c:899 coff-alpha.c:936 coff-alpha.c:2024 coff-mips.c:1002
+#: coff-alpha.c:899 coff-alpha.c:936 coff-alpha.c:2024 coff-mips.c:1003
 msgid "GP relative relocation used when GP not defined"
 msgstr "GP-suhteellista sijoitusta käytetty kun GP:tä ei ole määritelty"
 
@@ -225,22 +222,22 @@ msgstr "%B: ei-tuettu sijoitus: ALPHA_R_GPRELHIGH"
 msgid "%B: unsupported relocation: ALPHA_R_GPRELLOW"
 msgstr "%B: ei-tuettu sijoitus: ALPHA_R_GPRELLOW"
 
-#: coff-alpha.c:1574 elf32-m32r.c:2487 elf64-alpha.c:3953 elf64-alpha.c:4106
-#: elf32-ia64.c:4675 elf64-ia64.c:4675
+#: coff-alpha.c:1574 elf32-m32r.c:2487 elf64-alpha.c:3970 elf64-alpha.c:4125
+#: elf32-ia64.c:4465 elf64-ia64.c:4465
 msgid "%B: unknown relocation type %d"
 msgstr "%B: tuntematon sijoitustyyppi %d"
 
-#: coff-arm.c:1036
+#: coff-arm.c:1039
 #, c-format
 msgid "%B: unable to find THUMB glue '%s' for `%s'"
 msgstr "%B: ei löydetty THUMB-vihjettä ”%s” nimelle ”%s”"
 
-#: coff-arm.c:1065
+#: coff-arm.c:1068
 #, c-format
 msgid "%B: unable to find ARM glue '%s' for `%s'"
 msgstr "%B: ei löydetty ARM-vihjettä ”%s” nimelle ”%s”"
 
-#: coff-arm.c:1367 elf32-arm.c:4167
+#: coff-arm.c:1370 elf32-arm.c:5453
 #, c-format
 msgid ""
 "%B(%s): warning: interworking not enabled.\n"
@@ -249,7 +246,7 @@ msgstr ""
 "%B(%s): varoitus: rinnankäyttö ei ole aktivoitu.\n"
 "  ensimmäinen esiintymä: %B: ”arm”-kutsu thumb-koodiin"
 
-#: coff-arm.c:1457
+#: coff-arm.c:1460
 #, c-format
 msgid ""
 "%B(%s): warning: interworking not enabled.\n"
@@ -260,99 +257,184 @@ msgstr ""
 "  ensimmäinen esiintymä: %B: thumb-kutsu arm-koodiin\n"
 "  harkitse uudelleenlinkitystä --support-old-code aktivoituna"
 
-#: coff-arm.c:1750 cofflink.c:3018 coff-tic80.c:695
+#: coff-arm.c:1755 coff-tic80.c:695 cofflink.c:3018
 msgid "%B: bad reloc address 0x%lx in section `%A'"
 msgstr "%B: virheellinen reloc-tietueosoite 0x%lx lohkossa ”%A”"
 
-#: coff-arm.c:2075
+#: coff-arm.c:2080
 msgid "%B: illegal symbol index in reloc: %d"
 msgstr "%B: virheellinen symboli-indeksi reloc-tietueessa: %d"
 
-#: coff-arm.c:2206
+#: coff-arm.c:2211
 #, c-format
 msgid "ERROR: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"
 msgstr "VIRHE: %B on käännetty APCS-%d:lle, kun taas %B on käännetty APCS-%d:lle"
 
-#: coff-arm.c:2222 elf32-arm.c:7072
+#: coff-arm.c:2227 elf32-arm.c:8563
 #, c-format
 msgid "ERROR: %B passes floats in float registers, whereas %B passes them in integer registers"
 msgstr "VIRHE: %B välittää float-liukuluvut liukulukurekistereissa, kun taas %B välittää ne kokonaislukurekistereissa"
 
-#: coff-arm.c:2225 elf32-arm.c:7076
+#: coff-arm.c:2230 elf32-arm.c:8567
 #, c-format
 msgid "ERROR: %B passes floats in integer registers, whereas %B passes them in float registers"
 msgstr "VIRHE: %B välittää float-liukuluvut kokonaislukurekistereissa, kun taas %B välittää ne float-liukulukurekistereissa"
 
-#: coff-arm.c:2239
+#: coff-arm.c:2244
 #, c-format
 msgid "ERROR: %B is compiled as position independent code, whereas target %B is absolute position"
 msgstr "VIRHE: %B käännetään paikkariippumattomana koodina, kun taas kohde %B on absoluuttipaikkainen"
 
-#: coff-arm.c:2242
+#: coff-arm.c:2247
 #, c-format
 msgid "ERROR: %B is compiled as absolute position code, whereas target %B is position independent"
 msgstr "VIRHE: %B käännetään absoluuttisella paikkakoodilla, kun taas kohde %B on paikkariippumaton"
 
-#: coff-arm.c:2270 elf32-arm.c:7141
+#: coff-arm.c:2275 elf32-arm.c:8632
 #, c-format
 msgid "Warning: %B supports interworking, whereas %B does not"
 msgstr "Varoitus: %B tukee rinnankäyttöä, kun taas %B ei tue"
 
-#: coff-arm.c:2273 elf32-arm.c:7147
+#: coff-arm.c:2278 elf32-arm.c:8638
 #, c-format
 msgid "Warning: %B does not support interworking, whereas %B does"
 msgstr "Varoitus: %B ei tue rinnankäyttöä, kun taas %B tukee"
 
-#: coff-arm.c:2297
+#: coff-arm.c:2302
 #, c-format
 msgid "private flags = %x:"
 msgstr "yksityiset liput = %x:"
 
-#: coff-arm.c:2305 elf32-arm.c:7198
+#: coff-arm.c:2310 elf32-arm.c:8689
 #, c-format
 msgid " [floats passed in float registers]"
 msgstr " [liukuluvut välitetty liukulukurekistereissä]"
 
-#: coff-arm.c:2307
+#: coff-arm.c:2312
 #, c-format
 msgid " [floats passed in integer registers]"
 msgstr " [liukuluvut välitetty kokonaislukurekistereissä]"
 
-#: coff-arm.c:2310 elf32-arm.c:7201
+#: coff-arm.c:2315 elf32-arm.c:8692
 #, c-format
 msgid " [position independent]"
 msgstr " [paikkariippumaton]"
 
-#: coff-arm.c:2312
+#: coff-arm.c:2317
 #, c-format
 msgid " [absolute position]"
 msgstr " [absoluuttinen paikka]"
 
-#: coff-arm.c:2316
+#: coff-arm.c:2321
 #, c-format
 msgid " [interworking flag not initialised]"
 msgstr " [rinnankäyttölippua ei ole alustettu]"
 
-#: coff-arm.c:2318
+#: coff-arm.c:2323
 #, c-format
 msgid " [interworking supported]"


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


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

* [SCM]  archer-jankratochvil-fedora12: Merge commit 'origin/archer-jankratochvil-vla' into archer-jankratochvil-fedora12
@ 2009-08-11 21:09 jkratoch
  0 siblings, 0 replies; 3+ messages in thread
From: jkratoch @ 2009-08-11 21:09 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-fedora12 has been updated
       via  2888fafe63889757c6fd27ccc2f25661d43fd1a4 (commit)
       via  befbd5cc7736180dc67cea9f778f92b7fe64dc3e (commit)
       via  ffced5bebff0155d2ab82890df5b0012b9e59a07 (commit)
      from  93f5e942bdcdcc376ece452c309bedabae71def9 (commit)

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

- Log -----------------------------------------------------------------
commit 2888fafe63889757c6fd27ccc2f25661d43fd1a4
Merge: 93f5e942bdcdcc376ece452c309bedabae71def9 befbd5cc7736180dc67cea9f778f92b7fe64dc3e
Author: Jan Kratochvil <jkratoch@host1.dyn.jankratochvil.net>
Date:   Tue Aug 11 23:08:46 2009 +0200

    Merge commit 'origin/archer-jankratochvil-vla' into archer-jankratochvil-fedora12
    
    Conflicts:
    	gdb/objfiles.c

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

Summary of changes:
 gdb/doc/observer.texi |    9 ---
 gdb/objfiles.c        |    8 ++--
 gdb/printcmd.c        |    8 ++-
 gdb/symfile.c         |   13 ++---
 gdb/value.c           |    3 +-
 gdb/value.h           |    2 +
 gdb/varobj.c          |  144 ++++++++++++-------------------------------------
 gdb/varobj.h          |    2 +
 8 files changed, 56 insertions(+), 133 deletions(-)

First 500 lines of diff:
diff --git a/gdb/doc/observer.texi b/gdb/doc/observer.texi
index 4bbbe4e..fcf1b5d 100644
--- a/gdb/doc/observer.texi
+++ b/gdb/doc/observer.texi
@@ -130,15 +130,6 @@ Called with @var{objfile} equal to @code{NULL} to indicate
 previously loaded symbol table data has now been invalidated.
 @end deftypefun
 
-@deftypefun void objfile_unloading (struct objfile *@var{objfile})
-The file specified by @var{objfile} is going to be removed from @value{GDBN}.
-@end deftypefun
-
-@deftypefun void objfile_unloaded (void)
-Removal of @var{objfile} started by @code{objfile_unloading} finished and
-@var{objfile} is no longer known to @value{GDBN}.
-@end deftypefun
-
 @deftypefun void new_thread (struct thread_info *@var{t})
 The thread specified by @var{t} has been created.
 @end deftypefun
diff --git a/gdb/objfiles.c b/gdb/objfiles.c
index a4bf719..6d0451c 100644
--- a/gdb/objfiles.c
+++ b/gdb/objfiles.c
@@ -50,7 +50,6 @@
 #include "addrmap.h"
 #include "arch-utils.h"
 #include "exec.h"
-#include "observer.h"
 
 /* Prototypes for local functions */
 
@@ -432,9 +431,10 @@ free_objfile (struct objfile *objfile)
 	 doesn't reference it.  */
       objfile->separate_debug_objfile_backlink->separate_debug_objfile = NULL;
     }
-
-  /* Remove any references to this objfile in the global value lists.  */
-  observer_notify_objfile_unloading (objfile);
+  
+  /* Remove any references to this objfile in the global value
+     lists.  */
+  preserve_values (objfile);
 
   /* First do any symbol file specific actions required when we are
      finished with a particular symbol file.  Note that if the objfile
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
index 49c575d..fb0a455 100644
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -1827,10 +1827,14 @@ disable_display_command (char *args, int from_tty)
    an item by re-parsing .exp_string field in the new execution context.  */
 
 static void
-clear_dangling_display_expressions (struct objfile *objfile)
+clear_dangling_display_expressions (struct so_list *solib)
 {
+  struct objfile *objfile = solib->objfile;
   struct display *d;
 
+  if (objfile == NULL)
+    return;
+
   for (d = display_chain; d != NULL; d = d->next)
     if (block_objfile (d->block) == objfile
 	|| (d->exp && exp_uses_objfile (d->exp, objfile)))
@@ -2567,7 +2571,7 @@ _initialize_printcmd (void)
 
   current_display_number = -1;
 
-  observer_attach_objfile_unloading (clear_dangling_display_expressions);
+  observer_attach_solib_unloaded (clear_dangling_display_expressions);
 
   add_info ("address", address_info,
 	    _("Describe where symbol SYM is stored."));
diff --git a/gdb/symfile.c b/gdb/symfile.c
index 8b971fb..550d06a 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -52,6 +52,7 @@
 #include "observer.h"
 #include "exec.h"
 #include "parser-defs.h"
+#include "varobj.h"
 #include "elf-bfd.h"
 #include "solib.h"
 #include "remote.h"
@@ -925,9 +926,6 @@ new_symfile_objfile (struct objfile *objfile, int add_flags)
 
   /* We're done reading the symbol file; finish off complaints.  */
   clear_complaints (&symfile_complaints, 0, add_flags & SYMFILE_VERBOSE);
-
-  /* We have finished unloading of OBJFILE.  */
-  observer_notify_objfile_unloaded ();
 }
 
 /* A helper function which returns true if OBJFILE has any debug
@@ -2372,7 +2370,7 @@ reread_symbols (void)
 
 	      /* Remove any references to this objfile in the global
 		 value lists.  */
-	      observer_notify_objfile_unloading (objfile);
+	      preserve_values (objfile);
 
 	      /* Nuke all the state that we will re-read.  Much of the following
 	         code which sets things to NULL really is necessary to tell
@@ -2477,9 +2475,6 @@ reread_symbols (void)
 
 	      reinit_frame_cache ();
 
-	      /* We have finished reloading of OBJFILE.  */
-	      observer_notify_objfile_unloaded ();
-
 	      /* Discard cleanups as symbol reading was successful.  */
 	      discard_cleanups (old_cleanups);
 
@@ -2860,6 +2855,10 @@ clear_symtab_users (void)
      between expressions and which ought to be reset each time.  */
   expression_context_block = NULL;
   innermost_block = NULL;
+
+  /* Varobj may refer to old symbols, perform a cleanup.  */
+  varobj_invalidate ();
+
 }
 
 static void
diff --git a/gdb/value.c b/gdb/value.c
index c943781..fa39d3d 100644
--- a/gdb/value.c
+++ b/gdb/value.c
@@ -1551,7 +1551,7 @@ preserve_one_internalvar (struct internalvar *var, struct objfile *objfile,
    this objfile's types, and the convenience variables will be adjusted to
    use the new global types.  */
 
-static void
+void
 preserve_values (struct objfile *objfile)
 {
   htab_t copied_types;
@@ -2479,6 +2479,5 @@ Placeholder command for showing help on convenience functions."),
 
   make_final_cleanup (value_history_cleanup, NULL);
 
-  observer_attach_objfile_unloading (preserve_values);
   observer_attach_mark_used (value_types_mark_used);
 }
diff --git a/gdb/value.h b/gdb/value.h
index ee8440b..c357d80 100644
--- a/gdb/value.h
+++ b/gdb/value.h
@@ -664,6 +664,8 @@ extern void typedef_print (struct type *type, struct symbol *news,
 
 extern char *internalvar_name (struct internalvar *var);
 
+extern void preserve_values (struct objfile *);
+
 /* From values.c */
 
 extern struct value *value_copy (struct value *);
diff --git a/gdb/varobj.c b/gdb/varobj.c
index 34333fb..f2654f0 100644
--- a/gdb/varobj.c
+++ b/gdb/varobj.c
@@ -37,7 +37,6 @@
 #include "vec.h"
 #include "gdbthread.h"
 #include "inferior.h"
-#include "observer.h"
 
 #if HAVE_PYTHON
 #include "python/python.h"
@@ -3432,73 +3431,48 @@ varobj_types_mark_used (void)
 
   all_varobjs (varobj_types_mark_used_iter, NULL);
 }
-
-/* Invalidate VAR if it is tied to the specified OBJFILE.  Call this function
-   before you start removing OBJFILE.
-
-   Call varobj_revalidate_iter after the OBJFILE update get finished.
-
-   Invalidated varobjs will be always printed in_scope="invalid".  */
-
-static void
-varobj_invalidate_iter (struct varobj *var, void *objfile_voidp)
+\f
+extern void _initialize_varobj (void);
+void
+_initialize_varobj (void)
 {
-  struct objfile *objfile = objfile_voidp;
-
-  /* Check VAROBJROOTs only once during the varobj_invalidate pass.  */
-
-  if (var->root->rootvar == var)
-    {
-      /* Check even FLOATING VAROBJROOTs as their data will be still checked
-	 during varobj_update by varobj_get_type.  */
-
-      if (var->root->is_valid
-	  && block_objfile (var->root->valid_block) == objfile)
-	var->root->is_valid = 0;
-
-      if (var->root->exp && exp_uses_objfile (var->root->exp, objfile))
-	{
-	  var->root->is_valid = 0;
-
-	  /* No one touches EXP for !IS_VALID varobj.  */
-	  xfree (var->root->exp);
-	  var->root->exp = NULL;
-	}
-    }
-
-  if (var->type && TYPE_OBJFILE (var->type) == objfile)
-    {
-      var->root->is_valid = 0;
-
-      var->type = NULL;
-    }
+  int sizeof_table = sizeof (struct vlist *) * VAROBJ_TABLE_SIZE;
 
-  if (var->value && TYPE_OBJFILE (value_type (var->value)) == objfile)
-    {
-      var->root->is_valid = 0;
+  varobj_table = xmalloc (sizeof_table);
+  memset (varobj_table, 0, sizeof_table);
 
-      value_free (var->value);
-      var->value = NULL;
-    }
+  add_setshow_zinteger_cmd ("debugvarobj", class_maintenance,
+			    &varobjdebug, _("\
+Set varobj debugging."), _("\
+Show varobj debugging."), _("\
+When non-zero, varobj debugging is enabled."),
+			    NULL,
+			    show_varobjdebug,
+			    &setlist, &showlist);
 }
 
-/* Recreate any global varobjs possibly previously invalidated.  If the
-   expressions are no longer evaluatable set/keep the VAR invalid.  */
+/* Invalidate varobj VAR if it is tied to locals and re-create it if it is
+   defined on globals.  It is a helper for varobj_invalidate.  */
 
 static void
-varobj_revalidate_iter (struct varobj *var, void *unused)
+varobj_invalidate_iter (struct varobj *var, void *unused)
 {
-  /* Global VAR must be re-evaluated.  */
+  /* Floating varobjs are reparsed on each stop, so we don't care if the
+     presently parsed expression refers to something that's gone.  */
+  if (var->root->floating)
+    return;
 
+  /* global var must be re-evaluated.  */     
   if (var->root->valid_block == NULL)
     {
       struct varobj *tmp_var;
 
       /* Try to create a varobj with same expression.  If we succeed
 	 replace the old varobj, otherwise invalidate it.  */
-      tmp_var = varobj_create (NULL, var->name, 0, USE_CURRENT_FRAME);
-      if (tmp_var != NULL)
-	{
+      tmp_var = varobj_create (NULL, var->name, (CORE_ADDR) 0,
+			       USE_CURRENT_FRAME);
+      if (tmp_var != NULL) 
+	{ 
 	  tmp_var->obj_name = xstrdup (var->obj_name);
 	  varobj_delete (var, NULL, 0);
 	  install_variable (tmp_var);
@@ -3506,64 +3480,16 @@ varobj_revalidate_iter (struct varobj *var, void *unused)
       else
 	var->root->is_valid = 0;
     }
+  else /* locals must be invalidated.  */
+    var->root->is_valid = 0;
 }
 
-/* Call varobj_invalidate_iter for all the VAROBJs.  */
-
-static void 
-varobj_invalidate (struct objfile *objfile)
-{
-  /* Check all the VAROBJs, even non-root ones.  Child VAROBJs can reference
-     types from other OBJFILEs through TYPE_IS_OPAQUE resolutions by
-     check_typedef.  */
-
-  all_varobjs (varobj_invalidate_iter, objfile);
-}
-
-/* Call varobj_revalidate_iter for all the root VAROBJs.  */
-
-static void 
-varobj_revalidate (void)
-{
-  /* Check only root VAROBJs.  Any successful revalidation will replace the
-     whole VAROBJs tree starting with root VAROBJs and its children get created
-     later on-demand.  So there is no point trying to revalidate the child
-     VAROBJs.  */
-
-  all_root_varobjs (varobj_revalidate_iter, NULL);
-}
-
-/* Call varobj_revalidate just providing a different function prototype.
-   Currently existing VAROBJs may become valid or change with new symbols
-   loaded.  */
+/* Invalidate the varobjs that are tied to locals and re-create the ones that
+   are defined on globals.
+   Invalidated varobjs will be always printed in_scope="invalid".  */
 
-static void
-varobj_revalidate_for_objfile (struct objfile *objfile)
-{
-  varobj_revalidate ();
-}
-\f
-extern void _initialize_varobj (void);
-void
-_initialize_varobj (void)
+void 
+varobj_invalidate (void)
 {
-  int sizeof_table = sizeof (struct vlist *) * VAROBJ_TABLE_SIZE;
-
-  varobj_table = xmalloc (sizeof_table);
-  memset (varobj_table, 0, sizeof_table);
-
-  add_setshow_zinteger_cmd ("debugvarobj", class_maintenance,
-			    &varobjdebug, _("\
-Set varobj debugging."), _("\
-Show varobj debugging."), _("\
-When non-zero, varobj debugging is enabled."),
-			    NULL,
-			    show_varobjdebug,
-			    &setlist, &showlist);
-
-
-  observer_attach_objfile_unloading (varobj_invalidate );
-  observer_attach_objfile_unloaded (varobj_revalidate);
-  observer_attach_new_objfile (varobj_revalidate_for_objfile);
-  observer_attach_mark_used (varobj_types_mark_used);
+  all_root_varobjs (varobj_invalidate_iter, NULL);
 }
diff --git a/gdb/varobj.h b/gdb/varobj.h
index fbe2f2f..0744cc3 100644
--- a/gdb/varobj.h
+++ b/gdb/varobj.h
@@ -160,6 +160,8 @@ extern void all_root_varobjs (void (*func) (struct varobj *var, void *data),
 extern VEC(varobj_update_result) *varobj_update (struct varobj **varp, 
 						 int explicit);
 
+extern void varobj_invalidate (void);
+
 extern int varobj_editable_p (struct varobj *var);
 
 extern int varobj_floating_p (struct varobj *var);


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


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

end of thread, other threads:[~2009-08-19 15:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-19 15:24 [SCM] archer-jankratochvil-fedora12: Merge commit 'origin/archer-jankratochvil-vla' into archer-jankratochvil-fedora12 jkratoch
  -- strict thread matches above, loose matches on Subject: below --
2009-08-18 18:36 jkratoch
2009-08-11 21:09 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).