Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [patch] Improve symbol lookup performance noted in PR 15519
@ 2013-05-30 23:27 Doug Evans
  2013-05-31  3:42 ` Joel Brobecker
  2013-05-31  9:40 ` Pedro Alves
  0 siblings, 2 replies; 10+ messages in thread
From: Doug Evans @ 2013-05-30 23:27 UTC (permalink / raw)
  To: Keith Seitz, brobecker, psmith; +Cc: gdb-patches

Hi.
Here's the patch I intend to check in to "fix"
http://sourceware.org/bugzilla/show_bug.cgi?id=15519
[It's not a complete "fix", there's still some performance gains
to be had, but I'm leaving that for a separate pass.  This gets
us >95% of the way there, at least in the benchmarks I've been using,
including the one in the PR.  Thanks Paul!]

No regressions on amd64-linux, with/without Fission.

I'll let it sit for a few days in case there are any more comments.
I'd also like to commit this to the 7.6 branch.  Ok Joel?
[I need to rerun the testsuite in that tree before committing there.]

2013-05-30  Doug Evans  <dje@google.com>
	    Keith Seitz  <keiths@redhat.com>

	PR 15519
	* cp-namespace.c (find_symbol_in_baseclass): Call
	cp_lookup_symbol_in_namespace instead of cp_lookup_symbol_namespace.
	Remove call to lookup_symbol_static.  Call lookup_static_symbol_aux
	unconditionally.  Call check_typedef on base types before accessing
	them.
	(cp_lookup_nested_symbol): Fix comment.

	testsuite/
	* gdb.cp/derivation2.cc: New file.
	* gdb.cp/derivation.cc (main): Call foo2.
	* gdb.cp/derivation.exp: Add tests for typedefs in another
	file, and when there's an active block.

Index: cp-namespace.c
===================================================================
RCS file: /cvs/src/src/gdb/cp-namespace.c,v
retrieving revision 1.66
diff -u -p -r1.66 cp-namespace.c
--- ./cp-namespace.c	14 Mar 2013 11:13:34 -0000	1.66
+++ ./cp-namespace.c	30 May 2013 22:47:02 -0000
@@ -717,36 +717,34 @@ find_symbol_in_baseclass (struct type *p
   for (i = 0; i < TYPE_N_BASECLASSES (parent_type); ++i)
     {
       size_t len;
+      struct type *base_type = TYPE_BASECLASS (parent_type, i);
       const char *base_name = TYPE_BASECLASS_NAME (parent_type, i);
 
       if (base_name == NULL)
 	continue;
 
       /* Search this particular base class.  */
-      sym = cp_lookup_symbol_namespace (base_name, name, block, VAR_DOMAIN);
+      sym = cp_lookup_symbol_in_namespace (base_name, name, block,
+					   VAR_DOMAIN, 0);
       if (sym != NULL)
 	break;
 
+      /* Now search all static file-level symbols.  We have to do this
+	 for things like typedefs in the class.  And we have to search
+	 all static blocks, even if block != NULL, because there's no
+	 guarantees as to which block it's in.  */
       len = strlen (base_name) + 2 + strlen (name) + 1;
       concatenated_name = xrealloc (concatenated_name, len);
       xsnprintf (concatenated_name, len, "%s::%s", base_name, name);
-      sym = lookup_symbol_static (concatenated_name, block, VAR_DOMAIN);
-
-      /* If there is currently no BLOCK, e.g., the inferior hasn't yet
-	 been started, then try searching all STATIC_BLOCK symbols in
-	 all objfiles.  */
-      if (block == NULL)
-	{
-	  sym = lookup_static_symbol_aux (concatenated_name, VAR_DOMAIN);
-	  if (sym != NULL)
-	    break;
-	}
+      sym = lookup_static_symbol_aux (concatenated_name, VAR_DOMAIN);
+      if (sym != NULL)
+	break;
 
       /* If this class has base classes, search them next.  */
-      if (TYPE_N_BASECLASSES (TYPE_BASECLASS (parent_type, i)) > 0)
+      CHECK_TYPEDEF (base_type);
+      if (TYPE_N_BASECLASSES (base_type) > 0)
 	{
-	  sym = find_symbol_in_baseclass (TYPE_BASECLASS (parent_type, i),
-					  name, block);
+	  sym = find_symbol_in_baseclass (base_type, name, block);
 	  if (sym != NULL)
 	    break;
 	}
@@ -794,8 +792,8 @@ cp_lookup_nested_symbol (struct type *pa
 	if (sym != NULL)
 	  return sym;
 
-	/* Now search all static file-level symbols.  Not strictly
-	   correct, but more useful than an error.  We do not try to
+	/* Now search all static file-level symbols.  We have to do this
+	   for things like typedefs in the class.  We do not try to
 	   guess any imported namespace as even the fully specified
 	   namespace search is already not C++ compliant and more
 	   assumptions could make it too magic.  */
Index: testsuite/gdb.cp/derivation.cc
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.cp/derivation.cc,v
retrieving revision 1.5
diff -u -p -r1.5 derivation.cc
--- ./testsuite/gdb.cp/derivation.cc	1 Jan 2013 06:33:27 -0000	1.5
+++ ./testsuite/gdb.cp/derivation.cc	30 May 2013 22:47:02 -0000
@@ -16,6 +16,8 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
    */
 
+extern void foo2 (); /* from derivation2.cc */
+
 namespace N {
   typedef double value_type;
   struct Base { typedef int value_type; };
@@ -306,9 +308,7 @@ int main(void)
     N::Derived::value_type d = 1;
     N::value_type n = 3.0;
     dobj.doit ();
+    foo2 ();
     return 0;
     
 }
-
-    
-    
Index: testsuite/gdb.cp/derivation.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.cp/derivation.exp,v
retrieving revision 1.24
diff -u -p -r1.24 derivation.exp
--- ./testsuite/gdb.cp/derivation.exp	1 Jan 2013 06:33:27 -0000	1.24
+++ ./testsuite/gdb.cp/derivation.exp	30 May 2013 22:47:02 -0000
@@ -32,14 +32,15 @@ if { [skip_cplus_tests] } { continue }
 
 load_lib "cp-support.exp"
 
-standard_testfile .cc
+standard_testfile derivation.cc derivation2.cc
 
-if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+if {[prepare_for_testing $testfile.exp $testfile \
+	[list $srcfile $srcfile2] {debug c++}]} {
     return -1
 }
 
 # Check inheritance of typedefs.
-foreach klass {"A" "D" "E" "F"} {
+foreach klass {"A" "D" "E" "F" "A2" "D2"} {
     gdb_test "ptype ${klass}::value_type" "type = int"
     gdb_test "whatis ${klass}::value_type" "type = int"
     gdb_test "p (${klass}::value_type) 0" " = 0"
@@ -57,6 +58,13 @@ if ![runto 'marker1'] then {
     continue
 }
 
+# Check inheritance of typedefs again, but this time with an active block.
+foreach klass {"A" "D" "A2" "D2"} {
+    gdb_test "ptype ${klass}::value_type" "type = int"
+    gdb_test "whatis ${klass}::value_type" "type = int"
+    gdb_test "p (${klass}::value_type) 0" " = 0"
+}
+
 gdb_test "up" ".*main.*" "up from marker1"
 
 # Print class types and values.
Index: testsuite/gdb.cp/derivation2.cc
===================================================================
RCS file: testsuite/gdb.cp/derivation2.cc
diff -N testsuite/gdb.cp/derivation2.cc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ./testsuite/gdb.cp/derivation2.cc	30 May 2013 22:47:02 -0000
@@ -0,0 +1,49 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2013 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/>.
+   */
+
+/* A copy of some classes in derivation.cc so that we can test symbol lookup
+   in other CUs.  */
+
+class A2 {
+public:
+    typedef int value_type;
+    value_type a;
+
+    A2()
+    {
+        a=1;
+    }
+};
+
+class D2 : public A2 {
+public:
+    value_type d;
+
+    D2()
+    {
+        d=7;
+    }
+};
+
+void
+foo2 ()
+{
+  D2 d2_instance;
+  d2_instance.a = 42;
+  d2_instance.d = 43;
+}


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

* Re: [patch] Improve symbol lookup performance noted in PR 15519
  2013-05-30 23:27 [patch] Improve symbol lookup performance noted in PR 15519 Doug Evans
@ 2013-05-31  3:42 ` Joel Brobecker
  2013-05-31  9:40 ` Pedro Alves
  1 sibling, 0 replies; 10+ messages in thread
From: Joel Brobecker @ 2013-05-31  3:42 UTC (permalink / raw)
  To: Doug Evans; +Cc: Keith Seitz, psmith, gdb-patches

> I'll let it sit for a few days in case there are any more comments.
> I'd also like to commit this to the 7.6 branch.  Ok Joel?
> [I need to rerun the testsuite in that tree before committing there.]

No problem regarding putting this fix in the 7.6 branch. Just a quick
reminder, JIC, to add a entry in the 7.6 release wiki page (thank you!).

> 
> 2013-05-30  Doug Evans  <dje@google.com>
> 	    Keith Seitz  <keiths@redhat.com>
> 
> 	PR 15519
> 	* cp-namespace.c (find_symbol_in_baseclass): Call
> 	cp_lookup_symbol_in_namespace instead of cp_lookup_symbol_namespace.
> 	Remove call to lookup_symbol_static.  Call lookup_static_symbol_aux
> 	unconditionally.  Call check_typedef on base types before accessing
> 	them.
> 	(cp_lookup_nested_symbol): Fix comment.
> 
> 	testsuite/
> 	* gdb.cp/derivation2.cc: New file.
> 	* gdb.cp/derivation.cc (main): Call foo2.
> 	* gdb.cp/derivation.exp: Add tests for typedefs in another
> 	file, and when there's an active block.
-- 
Joel


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

* Re: [patch] Improve symbol lookup performance noted in PR 15519
  2013-05-30 23:27 [patch] Improve symbol lookup performance noted in PR 15519 Doug Evans
  2013-05-31  3:42 ` Joel Brobecker
@ 2013-05-31  9:40 ` Pedro Alves
  2013-05-31 22:33   ` Doug Evans
  1 sibling, 1 reply; 10+ messages in thread
From: Pedro Alves @ 2013-05-31  9:40 UTC (permalink / raw)
  To: Doug Evans; +Cc: Keith Seitz, brobecker, psmith, gdb-patches

On 05/31/2013 12:27 AM, Doug Evans wrote:
> Hi.
> Here's the patch I intend to check in to "fix"
> http://sourceware.org/bugzilla/show_bug.cgi?id=15519
> [It's not a complete "fix", there's still some performance gains
> to be had, but I'm leaving that for a separate pass.  This gets
> us >95% of the way there, at least in the benchmarks I've been using,
> including the one in the PR.  Thanks Paul!]
> 
> No regressions on amd64-linux, with/without Fission.
> 
> I'll let it sit for a few days in case there are any more comments.
> I'd also like to commit this to the 7.6 branch.  Ok Joel?
> [I need to rerun the testsuite in that tree before committing there.]

Thanks!

Absolutely no objections, but for my own education, and for the archives,
could you describe the gist of it?  E.g., what is it that is slow, and what
is it that is being avoided to get the speedup?  (where's the win?)
It isn't super obvious to me from reading the patch.

-- 
Pedro Alves


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

* Re: [patch] Improve symbol lookup performance noted in PR 15519
  2013-05-31  9:40 ` Pedro Alves
@ 2013-05-31 22:33   ` Doug Evans
  2013-06-03  6:01     ` Joel Brobecker
  2013-06-03 17:27     ` Pedro Alves
  0 siblings, 2 replies; 10+ messages in thread
From: Doug Evans @ 2013-05-31 22:33 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Keith Seitz, brobecker, psmith, gdb-patches

Pedro Alves writes:
 > On 05/31/2013 12:27 AM, Doug Evans wrote:
 > > Hi.
 > > Here's the patch I intend to check in to "fix"
 > > http://sourceware.org/bugzilla/show_bug.cgi?id=15519
 > > [It's not a complete "fix", there's still some performance gains
 > > to be had, but I'm leaving that for a separate pass.  This gets
 > > us >95% of the way there, at least in the benchmarks I've been using,
 > > including the one in the PR.  Thanks Paul!]
 > > 
 > > No regressions on amd64-linux, with/without Fission.
 > > 
 > > I'll let it sit for a few days in case there are any more comments.
 > > I'd also like to commit this to the 7.6 branch.  Ok Joel?
 > > [I need to rerun the testsuite in that tree before committing there.]
 > 
 > Thanks!
 > 
 > Absolutely no objections, but for my own education, and for the archives,
 > could you describe the gist of it?  E.g., what is it that is slow, and what
 > is it that is being avoided to get the speedup?  (where's the win?)
 > It isn't super obvious to me from reading the patch.

I think the speedup can be illustrated nicely with this example.

Apply this patch to the before/after gdbs.

--- cp-namespace.c~	2013-05-31 12:23:44.000000000 -0700
+++ cp-namespace.c	2013-05-31 12:28:26.000000000 -0700
@@ -250,6 +250,7 @@ cp_lookup_symbol_in_namespace (const cha
                                const struct block *block,
                                const domain_enum domain, int search)
 {
+  printf_filtered ("cp_lookup_symbol_in_namespace (\"%s\", \"%s\", block=%p, search=%d)\n", namespace, name, block, search);
   if (namespace[0] == '\0')
     {
       return lookup_symbol_file (name, block, domain, 0, search);

Running gdb on one example I see this in the "before" case (cvs head):

(gdb) p masterCatalog->traceLog->slots
cp_lookup_symbol_in_namespace ("", "PlatformRecords", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("", "PlatformRecords", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("", "PlatformRecords", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d190, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2b9d200, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2ab0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=1)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2be2d60, search=0)
cp_lookup_symbol_in_namespace ("", "PlatformRecords", block=(nil), search=1)
cp_lookup_symbol_in_namespace ("", "PlatformRecords", block=(nil), search=1)
cp_lookup_symbol_in_namespace ("", "PlatformRecords", block=(nil), search=1)
cp_lookup_symbol_in_namespace ("", "MasterCatalog", block=(nil), search=1)
cp_lookup_symbol_in_namespace ("", "MasterCatalog", block=(nil), search=1)
cp_lookup_symbol_in_namespace ("", "MasterCatalog", block=(nil), search=1)
cp_lookup_symbol_in_namespace ("", "MasterCatalog", block=(nil), search=1)
$1 = 200
(gdb) 

Running gdb on the same example in the "after" case:

(gdb) p masterCatalog->traceLog->slots
cp_lookup_symbol_in_namespace ("", "PlatformRecords", block=0x2d56920, search=1)
cp_lookup_symbol_in_namespace ("", "PlatformRecords", block=0x2d56920, search=1)
cp_lookup_symbol_in_namespace ("", "PlatformRecords", block=0x2d56920, search=1)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2d11000, search=1)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2d11000, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2d11000, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2d11000, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2d11000, search=0)
cp_lookup_symbol_in_namespace ("", "slots", block=0x2d11000, search=1)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2d11000, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2d11000, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2d11000, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2d11000, search=0)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2d11000, search=1)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2d11000, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2d11000, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2d11000, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2d11000, search=0)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2d11000, search=1)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2d11000, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2d11000, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2d11000, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2d11000, search=0)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2d11070, search=1)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2d11070, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2d11070, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2d11070, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2d11070, search=0)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2d56920, search=1)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2d56920, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2d56920, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2d56920, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2d56920, search=0)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2d56bd0, search=1)
cp_lookup_symbol_in_namespace ("PlatformRecords", "slots", block=0x2d56bd0, search=0)
cp_lookup_symbol_in_namespace ("PlatformObject", "slots", block=0x2d56bd0, search=0)
cp_lookup_symbol_in_namespace ("RefObject", "slots", block=0x2d56bd0, search=0)
cp_lookup_symbol_in_namespace ("Referenced", "slots", block=0x2d56bd0, search=0)
cp_lookup_symbol_in_namespace ("", "PlatformRecords", block=(nil), search=1)
cp_lookup_symbol_in_namespace ("", "PlatformRecords", block=(nil), search=1)
cp_lookup_symbol_in_namespace ("", "PlatformRecords", block=(nil), search=1)
cp_lookup_symbol_in_namespace ("", "MasterCatalog", block=(nil), search=1)
cp_lookup_symbol_in_namespace ("", "MasterCatalog", block=(nil), search=1)
cp_lookup_symbol_in_namespace ("", "MasterCatalog", block=(nil), search=1)
cp_lookup_symbol_in_namespace ("", "MasterCatalog", block=(nil), search=1)
$1 = 200
(gdb) 

Now imagine scaling up the excessive duplicate searches due to
- a larger binary (bigger/more complex classes, namespaces, imports, etc.)
- or a deeper call stack (some places iterate over the block chain),
- or because it's being done in some loop in a macro.
The latter is Paul's case.
In another example (Chrome) a 5 second lookup becomes 10s of minutes!

So the speedup comes from calling a more specific lookup routine for the task at hand.

Also note that even in the "after" case we are still doing
a lot of duplicate lookups.
cp-namespace.c is a bit clumsy in some of the lookups it does.
Although it's hampered by having to work with the data structures
gdb provides it.  My plan is to work on both this summer.


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

* Re: [patch] Improve symbol lookup performance noted in PR 15519
  2013-05-31 22:33   ` Doug Evans
@ 2013-06-03  6:01     ` Joel Brobecker
  2013-06-03 17:27     ` Pedro Alves
  1 sibling, 0 replies; 10+ messages in thread
From: Joel Brobecker @ 2013-06-03  6:01 UTC (permalink / raw)
  To: Doug Evans; +Cc: Pedro Alves, Keith Seitz, psmith, gdb-patches

> So the speedup comes from calling a more specific lookup routine for
> the task at hand.
> 
> Also note that even in the "after" case we are still doing a lot of
> duplicate lookups.  cp-namespace.c is a bit clumsy in some of the
> lookups it does.  Although it's hampered by having to work with the
> data structures gdb provides it.  My plan is to work on both this
> summer.

This is a bit of a digression, but this reminds me that we have similar
types of issues with Ada (multiple identical lookups), and it's not
easy to prevent them. The way we've dealt with the issue is to implement
a cache, and it yielded good results. I have been meaning to contribute
that code, but it needs to be cleaned up, because the cache invalidation
is performed manually by sprinkling calls to ada-lang here and there,
wherever necessary. This should be done using observers instead, adding
new ones if necessary. Perhaps the same could benefit C++ as well,
and one could even imagine a common cache or at least caching
infrastructure.

-- 
Joel


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

* Re: [patch] Improve symbol lookup performance noted in PR 15519
  2013-05-31 22:33   ` Doug Evans
  2013-06-03  6:01     ` Joel Brobecker
@ 2013-06-03 17:27     ` Pedro Alves
  2013-06-05 22:31       ` Doug Evans
  1 sibling, 1 reply; 10+ messages in thread
From: Pedro Alves @ 2013-06-03 17:27 UTC (permalink / raw)
  To: Doug Evans; +Cc: Keith Seitz, brobecker, psmith, gdb-patches

On 05/31/2013 11:33 PM, Doug Evans wrote:
> Pedro Alves writes:
>  > On 05/31/2013 12:27 AM, Doug Evans wrote:
>  > > Hi.
>  > > Here's the patch I intend to check in to "fix"
>  > > http://sourceware.org/bugzilla/show_bug.cgi?id=15519
>  > > [It's not a complete "fix", there's still some performance gains
>  > > to be had, but I'm leaving that for a separate pass.  This gets
>  > > us >95% of the way there, at least in the benchmarks I've been using,
>  > > including the one in the PR.  Thanks Paul!]
>  > > 
>  > > No regressions on amd64-linux, with/without Fission.
>  > > 
>  > > I'll let it sit for a few days in case there are any more comments.
>  > > I'd also like to commit this to the 7.6 branch.  Ok Joel?
>  > > [I need to rerun the testsuite in that tree before committing there.]
>  > 
>  > Thanks!
>  > 
>  > Absolutely no objections, but for my own education, and for the archives,
>  > could you describe the gist of it?  E.g., what is it that is slow, and what
>  > is it that is being avoided to get the speedup?  (where's the win?)
>  > It isn't super obvious to me from reading the patch.
> 
> I think the speedup can be illustrated nicely with this example.
> 
> Apply this patch to the before/after gdbs.
> 
> --- cp-namespace.c~	2013-05-31 12:23:44.000000000 -0700
> +++ cp-namespace.c	2013-05-31 12:28:26.000000000 -0700
> @@ -250,6 +250,7 @@ cp_lookup_symbol_in_namespace (const cha
>                                 const struct block *block,
>                                 const domain_enum domain, int search)
>  {
> +  printf_filtered ("cp_lookup_symbol_in_namespace (\"%s\", \"%s\", block=%p, search=%d)\n", namespace, name, block, search);
>    if (namespace[0] == '\0')
>      {
>        return lookup_symbol_file (name, block, domain, 0, search);
> 
> Running gdb on one example I see this in the "before" case (cvs head):
> 
> (gdb) p masterCatalog->traceLog->slots
> cp_lookup_symbol_in_namespace ("", "PlatformRecords", block=0x2be2ab0, search=1)
...
> $1 = 200
> (gdb) 
> 
> Running gdb on the same example in the "after" case:
> 
> (gdb) p masterCatalog->traceLog->slots
> cp_lookup_symbol_in_namespace ("", "PlatformRecords", block=0x2d56920, search=1)
...
> $1 = 200
> (gdb) 
> 
> Now imagine scaling up the excessive duplicate searches due to
> - a larger binary (bigger/more complex classes, namespaces, imports, etc.)
> - or a deeper call stack (some places iterate over the block chain),
> - or because it's being done in some loop in a macro.
> The latter is Paul's case.
> In another example (Chrome) a 5 second lookup becomes 10s of minutes!
> 
> So the speedup comes from calling a more specific lookup routine for the task at hand.

Thanks.

What I guess I'm still missing to understand it,
is a short blurb describing what is being skipped and why is
it safe to be skipped.  :-)

Just to make sure I understand the change -- I see
cp_lookup_symbol_namespace does:

...
  /* Search for name in namespaces imported to this and parent
     blocks.  */
  while (block != NULL)
    {
      sym = cp_lookup_symbol_imports (scope, name, block,
				      domain, 0, 1);

      if (sym)
	return sym;

      block = BLOCK_SUPERBLOCK (block);
    }

and a chunk of the speedup comes from skipping that, correct?
That is, it is supposedly unnecessary to look symbol imports
when looking up a symbol in a baseclass, right?

The patch then also replaces a lookup_symbol_static with a specific
block call followed by a fallback lookup_static_symbol_aux search over all
objfiles, by always doing the lookup_static_symbol_aux search over
all objfiles.  It makes me wonder if it was there for a reason things were
done that way before, like for something like the same named class/methods
being implemented/hidden/private in different sos/dlls (therefore not
really subject to ODR), therefore making it desirable to lookup in the
same context first.  I have no idea, probably not.  :-)  I guess I'm just
after getting the analysis/conclusion that led to the change
recorded for posterity.  :-)

> Also note that even in the "after" case we are still doing
> a lot of duplicate lookups.
> cp-namespace.c is a bit clumsy in some of the lookups it does.
> Although it's hampered by having to work with the data structures
> gdb provides it.  My plan is to work on both this summer.

Thanks.

-- 
Pedro Alves


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

* Re: [patch] Improve symbol lookup performance noted in PR 15519
  2013-06-03 17:27     ` Pedro Alves
@ 2013-06-05 22:31       ` Doug Evans
  2013-06-06 10:18         ` Pedro Alves
  0 siblings, 1 reply; 10+ messages in thread
From: Doug Evans @ 2013-06-05 22:31 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Keith Seitz, Joel Brobecker, psmith, gdb-patches

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

On Mon, Jun 3, 2013 at 10:27 AM, Pedro Alves <palves@redhat.com> wrote:
> What I guess I'm still missing to understand it,
> is a short blurb describing what is being skipped and why is
> it safe to be skipped.  :-)
>
> Just to make sure I understand the change -- I see
> cp_lookup_symbol_namespace does:
>
> ...
>   /* Search for name in namespaces imported to this and parent
>      blocks.  */
>   while (block != NULL)
>     {
>       sym = cp_lookup_symbol_imports (scope, name, block,
>                                       domain, 0, 1);
>
>       if (sym)
>         return sym;
>
>       block = BLOCK_SUPERBLOCK (block);
>     }
>
> and a chunk of the speedup comes from skipping that, correct?
> That is, it is supposedly unnecessary to look symbol imports
> when looking up a symbol in a baseclass, right?

Right.
There are two kinds of "using"s: directives and declarations.
"using directives" cannot appear in class scope, and that is what
cp_lookup_symbol_namespace handles.
And, AFAICT, gdb doesn't support "using declarations" yet,
which does affect base class lookup here.

> The patch then also replaces a lookup_symbol_static with a specific
> block call followed by a fallback lookup_static_symbol_aux search over all
> objfiles, by always doing the lookup_static_symbol_aux search over
> all objfiles.  It makes me wonder if it was there for a reason things were
> done that way before, like for something like the same named class/methods
> being implemented/hidden/private in different sos/dlls (therefore not
> really subject to ODR), therefore making it desirable to lookup in the
> same context first.  I have no idea, probably not.  :-)  I guess I'm just
> after getting the analysis/conclusion that led to the change
> recorded for posterity.  :-)

It's kind of a toss up.
Even if someone played games with visibility the previous lookup only
checks the current symtab; there's no guarantee the needed debug info
isn't in another symtab in that objfile (e.g., due to gcc's aggressive
debug info pruning).
Ultimately, I think what we want is to search the current objfile, and
then search the remaining objfiles, but I left that for another day.
Still, searching the current symtab isn't expensive enough that
re-searching it is a problem and it sometimes will win.
So I've modified the patch to keep that behaviour.
Still have to search the world if block != NULL though.  Improving
that's also left for another day.

[-- Attachment #2: gdb-130605-cp-namespace-3.patch.txt --]
[-- Type: text/plain, Size: 7104 bytes --]

2013-06-05  Doug Evans  <dje@google.com>
	    Keith Seitz  <keiths@redhat.com>

	PR 15519
	* cp-namespace.c (find_symbol_in_baseclass): Call
	cp_lookup_symbol_in_namespace instead of cp_lookup_symbol_namespace.
	Check result of call to lookup_symbol_static.
	Call lookup_static_symbol_aux unconditionally.
	Call check_typedef on base types before accessing them.
	(cp_lookup_nested_symbol): Fix comment.

	testsuite/
	* gdb.cp/derivation2.cc: New file.
	* gdb.cp/derivation.cc (main): Call foo2.
	* gdb.cp/derivation.exp: Add tests for typedefs in another
	file, and when there's an active block.

Index: cp-namespace.c
===================================================================
RCS file: /cvs/src/src/gdb/cp-namespace.c,v
retrieving revision 1.67
diff -u -p -r1.67 cp-namespace.c
--- cp-namespace.c	30 May 2013 17:29:06 -0000	1.67
+++ cp-namespace.c	5 Jun 2013 22:21:17 -0000
@@ -720,36 +720,40 @@ find_symbol_in_baseclass (struct type *p
   for (i = 0; i < TYPE_N_BASECLASSES (parent_type); ++i)
     {
       size_t len;
+      struct type *base_type = TYPE_BASECLASS (parent_type, i);
       const char *base_name = TYPE_BASECLASS_NAME (parent_type, i);
 
       if (base_name == NULL)
 	continue;
 
       /* Search this particular base class.  */
-      sym = cp_lookup_symbol_namespace (base_name, name, block, VAR_DOMAIN);
+      sym = cp_lookup_symbol_in_namespace (base_name, name, block,
+					   VAR_DOMAIN, 0);
       if (sym != NULL)
 	break;
 
+      /* Now search all static file-level symbols.  We have to do this for
+	 things like typedefs in the class.  First search in this symtab,
+	 what we want is possibly there.  */
       len = strlen (base_name) + 2 + strlen (name) + 1;
       concatenated_name = xrealloc (concatenated_name, len);
       xsnprintf (concatenated_name, len, "%s::%s", base_name, name);
       sym = lookup_symbol_static (concatenated_name, block, VAR_DOMAIN);
+      if (sym != NULL)
+	break;
 
-      /* If there is currently no BLOCK, e.g., the inferior hasn't yet
-	 been started, then try searching all STATIC_BLOCK symbols in
-	 all objfiles.  */
-      if (block == NULL)
-	{
-	  sym = lookup_static_symbol_aux (concatenated_name, VAR_DOMAIN);
-	  if (sym != NULL)
-	    break;
-	}
+      /* Nope.  We now have to search all static blocks in all objfiles,
+	 even if block != NULL, because there's no guarantees as to which
+	 symtab the symbol we want is in.  */
+      sym = lookup_static_symbol_aux (concatenated_name, VAR_DOMAIN);
+      if (sym != NULL)
+	break;
 
       /* If this class has base classes, search them next.  */
-      if (TYPE_N_BASECLASSES (TYPE_BASECLASS (parent_type, i)) > 0)
+      CHECK_TYPEDEF (base_type);
+      if (TYPE_N_BASECLASSES (base_type) > 0)
 	{
-	  sym = find_symbol_in_baseclass (TYPE_BASECLASS (parent_type, i),
-					  name, block);
+	  sym = find_symbol_in_baseclass (base_type, name, block);
 	  if (sym != NULL)
 	    break;
 	}
@@ -797,8 +801,8 @@ cp_lookup_nested_symbol (struct type *pa
 	if (sym != NULL)
 	  return sym;
 
-	/* Now search all static file-level symbols.  Not strictly
-	   correct, but more useful than an error.  We do not try to
+	/* Now search all static file-level symbols.  We have to do this
+	   for things like typedefs in the class.  We do not try to
 	   guess any imported namespace as even the fully specified
 	   namespace search is already not C++ compliant and more
 	   assumptions could make it too magic.  */
Index: testsuite/gdb.cp/derivation.cc
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.cp/derivation.cc,v
retrieving revision 1.5
diff -u -p -r1.5 derivation.cc
--- testsuite/gdb.cp/derivation.cc	1 Jan 2013 06:33:27 -0000	1.5
+++ testsuite/gdb.cp/derivation.cc	5 Jun 2013 22:21:18 -0000
@@ -16,6 +16,8 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
    */
 
+extern void foo2 (); /* from derivation2.cc */
+
 namespace N {
   typedef double value_type;
   struct Base { typedef int value_type; };
@@ -306,9 +308,7 @@ int main(void)
     N::Derived::value_type d = 1;
     N::value_type n = 3.0;
     dobj.doit ();
+    foo2 ();
     return 0;
     
 }
-
-    
-    
Index: testsuite/gdb.cp/derivation.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.cp/derivation.exp,v
retrieving revision 1.24
diff -u -p -r1.24 derivation.exp
--- testsuite/gdb.cp/derivation.exp	1 Jan 2013 06:33:27 -0000	1.24
+++ testsuite/gdb.cp/derivation.exp	5 Jun 2013 22:21:18 -0000
@@ -32,14 +32,15 @@ if { [skip_cplus_tests] } { continue }
 
 load_lib "cp-support.exp"
 
-standard_testfile .cc
+standard_testfile derivation.cc derivation2.cc
 
-if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+if {[prepare_for_testing $testfile.exp $testfile \
+	[list $srcfile $srcfile2] {debug c++}]} {
     return -1
 }
 
 # Check inheritance of typedefs.
-foreach klass {"A" "D" "E" "F"} {
+foreach klass {"A" "D" "E" "F" "A2" "D2"} {
     gdb_test "ptype ${klass}::value_type" "type = int"
     gdb_test "whatis ${klass}::value_type" "type = int"
     gdb_test "p (${klass}::value_type) 0" " = 0"
@@ -57,6 +58,13 @@ if ![runto 'marker1'] then {
     continue
 }
 
+# Check inheritance of typedefs again, but this time with an active block.
+foreach klass {"A" "D" "A2" "D2"} {
+    gdb_test "ptype ${klass}::value_type" "type = int"
+    gdb_test "whatis ${klass}::value_type" "type = int"
+    gdb_test "p (${klass}::value_type) 0" " = 0"
+}
+
 gdb_test "up" ".*main.*" "up from marker1"
 
 # Print class types and values.
Index: testsuite/gdb.cp/derivation2.cc
===================================================================
RCS file: testsuite/gdb.cp/derivation2.cc
diff -N testsuite/gdb.cp/derivation2.cc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ testsuite/gdb.cp/derivation2.cc	5 Jun 2013 22:21:18 -0000
@@ -0,0 +1,49 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2013 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/>.
+   */
+
+/* A copy of some classes in derivation.cc so that we can test symbol lookup
+   in other CUs.  */
+
+class A2 {
+public:
+    typedef int value_type;
+    value_type a;
+
+    A2()
+    {
+        a=1;
+    }
+};
+
+class D2 : public A2 {
+public:
+    value_type d;
+
+    D2()
+    {
+        d=7;
+    }
+};
+
+void
+foo2 ()
+{
+  D2 d2_instance;
+  d2_instance.a = 42;
+  d2_instance.d = 43;
+}

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

* Re: [patch] Improve symbol lookup performance noted in PR 15519
  2013-06-05 22:31       ` Doug Evans
@ 2013-06-06 10:18         ` Pedro Alves
  2013-06-06 19:03           ` Doug Evans
  0 siblings, 1 reply; 10+ messages in thread
From: Pedro Alves @ 2013-06-06 10:18 UTC (permalink / raw)
  To: Doug Evans; +Cc: Keith Seitz, Joel Brobecker, psmith, gdb-patches

On 06/05/2013 11:31 PM, Doug Evans wrote:
> On Mon, Jun 3, 2013 at 10:27 AM, Pedro Alves <palves@redhat.com> wrote:
>> > Just to make sure I understand the change -- I see
>> > cp_lookup_symbol_namespace does:
...
>> > and a chunk of the speedup comes from skipping that, correct?
>> > That is, it is supposedly unnecessary to look symbol imports
>> > when looking up a symbol in a baseclass, right?
> Right.
> There are two kinds of "using"s: directives and declarations.
> "using directives" cannot appear in class scope, and that is what
> cp_lookup_symbol_namespace handles.
> And, AFAICT, gdb doesn't support "using declarations" yet,
> which does affect base class lookup here.
> 
>> > The patch then also replaces a lookup_symbol_static with a specific
>> > block call followed by a fallback lookup_static_symbol_aux search over all
>> > objfiles, by always doing the lookup_static_symbol_aux search over
>> > all objfiles.  It makes me wonder if it was there for a reason things were
>> > done that way before, like for something like the same named class/methods
>> > being implemented/hidden/private in different sos/dlls (therefore not
>> > really subject to ODR), therefore making it desirable to lookup in the
>> > same context first.  I have no idea, probably not.  :-)  I guess I'm just
>> > after getting the analysis/conclusion that led to the change
>> > recorded for posterity.  :-)
> It's kind of a toss up.
> Even if someone played games with visibility the previous lookup only
> checks the current symtab; there's no guarantee the needed debug info
> isn't in another symtab in that objfile (e.g., due to gcc's aggressive
> debug info pruning).
> Ultimately, I think what we want is to search the current objfile, and
> then search the remaining objfiles, but I left that for another day.
> Still, searching the current symtab isn't expensive enough that
> re-searching it is a problem and it sometimes will win.
> So I've modified the patch to keep that behaviour.
> Still have to search the world if block != NULL though.  Improving
> that's also left for another day.

Thanks.  While at it, a couple comments:

>  # Check inheritance of typedefs.
> -foreach klass {"A" "D" "E" "F"} {
> +foreach klass {"A" "D" "E" "F" "A2" "D2"} {
>      gdb_test "ptype ${klass}::value_type" "type = int"
>      gdb_test "whatis ${klass}::value_type" "type = int"
>      gdb_test "p (${klass}::value_type) 0" " = 0"
> @@ -57,6 +58,13 @@ if ![runto 'marker1'] then {
>      continue
>  }
>  
> +# Check inheritance of typedefs again, but this time with an active block.
> +foreach klass {"A" "D" "A2" "D2"} {
> +    gdb_test "ptype ${klass}::value_type" "type = int"
> +    gdb_test "whatis ${klass}::value_type" "type = int"
> +    gdb_test "p (${klass}::value_type) 0" " = 0"
> +}
> +

Looks like this will create duplicate messages in gdb.sum.
Could you use with_test_prefix to make them unique please?

>  gdb_test "up" ".*main.*" "up from marker1"
>  
>  # Print class types and values.
> Index: testsuite/gdb.cp/derivation2.cc
> ===================================================================
> RCS file: testsuite/gdb.cp/derivation2.cc
> diff -N testsuite/gdb.cp/derivation2.cc
> --- /dev/null	1 Jan 1970 00:00:00 -0000
> +++ testsuite/gdb.cp/derivation2.cc	5 Jun 2013 22:21:18 -0000
> @@ -0,0 +1,49 @@
...
> +   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 placement for */ looks a little odd.)

-- 
Pedro Alves


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

* Re: [patch] Improve symbol lookup performance noted in PR 15519
  2013-06-06 10:18         ` Pedro Alves
@ 2013-06-06 19:03           ` Doug Evans
  2013-06-07 14:50             ` Fix formating in copyright headers. (was: Re: [patch] Improve symbol lookup performance noted in PR 15519) Pedro Alves
  0 siblings, 1 reply; 10+ messages in thread
From: Doug Evans @ 2013-06-06 19:03 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Keith Seitz, Joel Brobecker, psmith, gdb-patches

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

On Thu, Jun 6, 2013 at 3:18 AM, Pedro Alves <palves@redhat.com> wrote:
>>  # Check inheritance of typedefs.
>> -foreach klass {"A" "D" "E" "F"} {
>> +foreach klass {"A" "D" "E" "F" "A2" "D2"} {
>>      gdb_test "ptype ${klass}::value_type" "type = int"
>>      gdb_test "whatis ${klass}::value_type" "type = int"
>>      gdb_test "p (${klass}::value_type) 0" " = 0"
>> @@ -57,6 +58,13 @@ if ![runto 'marker1'] then {
>>      continue
>>  }
>>
>> +# Check inheritance of typedefs again, but this time with an active block.
>> +foreach klass {"A" "D" "A2" "D2"} {
>> +    gdb_test "ptype ${klass}::value_type" "type = int"
>> +    gdb_test "whatis ${klass}::value_type" "type = int"
>> +    gdb_test "p (${klass}::value_type) 0" " = 0"
>> +}
>> +
>
> Looks like this will create duplicate messages in gdb.sum.
> Could you use with_test_prefix to make them unique please?

Fixed.

>>  # Print class types and values.
>> Index: testsuite/gdb.cp/derivation2.cc
>> ===================================================================
>> RCS file: testsuite/gdb.cp/derivation2.cc
>> diff -N testsuite/gdb.cp/derivation2.cc
>> --- /dev/null 1 Jan 1970 00:00:00 -0000
>> +++ testsuite/gdb.cp/derivation2.cc   5 Jun 2013 22:21:18 -0000
>> @@ -0,0 +1,49 @@
> ...
>> +   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 placement for */ looks a little odd.)

Cut-n-paste from derivation.cc.

bash$ grep "^ *[*]/$" testsuite/*/*.* | wc
    277     482    7364

I'm not going to worry about it.

[-- Attachment #2: gdb-130606-derivation-test-names-1.patch.txt --]
[-- Type: text/plain, Size: 2059 bytes --]

2013-06-06  Doug Evans  <dje@google.com>

	* gdb.cp/derivation.exp: Make tests have unique names.

Index: gdb.cp/derivation.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.cp/derivation.exp,v
retrieving revision 1.25
diff -u -p -r1.25 derivation.exp
--- gdb.cp/derivation.exp	5 Jun 2013 22:28:51 -0000	1.25
+++ gdb.cp/derivation.exp	6 Jun 2013 18:59:35 -0000
@@ -40,15 +40,17 @@ if {[prepare_for_testing $testfile.exp $
 }
 
 # Check inheritance of typedefs.
-foreach klass {"A" "D" "E" "F" "A2" "D2"} {
-    gdb_test "ptype ${klass}::value_type" "type = int"
-    gdb_test "whatis ${klass}::value_type" "type = int"
-    gdb_test "p (${klass}::value_type) 0" " = 0"
-}
-foreach klass {"Z" "ZZ"} {
-    gdb_test "ptype ${klass}::value_type" "type = float"
-    gdb_test "whatis ${klass}::value_type" "type = float"
-    gdb_test "p (${klass}::value_type) 0" " = 0"
+with_test_prefix "before run" {
+    foreach klass {"A" "D" "E" "F" "A2" "D2"} {
+	gdb_test "ptype ${klass}::value_type" "type = int"
+	gdb_test "whatis ${klass}::value_type" "type = int"
+	gdb_test "p (${klass}::value_type) 0" " = 0"
+    }
+    foreach klass {"Z" "ZZ"} {
+	gdb_test "ptype ${klass}::value_type" "type = float"
+	gdb_test "whatis ${klass}::value_type" "type = float"
+	gdb_test "p (${klass}::value_type) 0" " = 0"
+    }
 }
 
 # Set it up at a breakpoint so we can play with the variable values.
@@ -59,10 +61,12 @@ if ![runto 'marker1'] then {
 }
 
 # Check inheritance of typedefs again, but this time with an active block.
-foreach klass {"A" "D" "A2" "D2"} {
-    gdb_test "ptype ${klass}::value_type" "type = int"
-    gdb_test "whatis ${klass}::value_type" "type = int"
-    gdb_test "p (${klass}::value_type) 0" " = 0"
+with_test_prefix "at marker1" {
+    foreach klass {"A" "D" "A2" "D2"} {
+	gdb_test "ptype ${klass}::value_type" "type = int"
+	gdb_test "whatis ${klass}::value_type" "type = int"
+	gdb_test "p (${klass}::value_type) 0" " = 0"
+    }
 }
 
 gdb_test "up" ".*main.*" "up from marker1"

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

* Fix formating in copyright headers. (was: Re: [patch] Improve symbol lookup performance noted in PR 15519)
  2013-06-06 19:03           ` Doug Evans
@ 2013-06-07 14:50             ` Pedro Alves
  0 siblings, 0 replies; 10+ messages in thread
From: Pedro Alves @ 2013-06-07 14:50 UTC (permalink / raw)
  To: Doug Evans; +Cc: Keith Seitz, Joel Brobecker, psmith, gdb-patches

On 06/06/2013 08:03 PM, Doug Evans wrote:
> On Thu, Jun 6, 2013 at 3:18 AM, Pedro Alves <palves@redhat.com> wrote:
>> Looks like this will create duplicate messages in gdb.sum.
>> Could you use with_test_prefix to make them unique please?
> 
> Fixed.

Thanks.

>>> +   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 placement for */ looks a little odd.)
> 
> Cut-n-paste from derivation.cc.
> 
> bash$ grep "^ *[*]/$" testsuite/*/*.* | wc
>     277     482    7364
> 
> I'm not going to worry about it.

That finds many hits outside the copyright header, which are
less likely to be blindly copied around in new tests:

/*
 *      This simple classical example of recursion is useful for
 *      testing stack backtraces and such.
 */

#ifdef PROTOTYPES
int factorial(int);

(Though it's nice that tests follow the GNU standards in code,
it can't really be a requirement, since GDB is supposed to debug
non-GNU code too.)

I've applied the patch below as obvious.

$ grep "along with this program" * -A 1 -rn \
   | grep "*/" \
   | grep -v "along with this program" \
   | sed 's,-[0-9]\+-.*,,g' \
   | wc -l
95

-----
Subject: Fix formating in copyright headers.

File list found with:
$ grep "along with this program" * -A 1 -rn \
	| grep "*/" \
	| grep -v "along with this program" \
	| sed 's,-[0-9]\+-.*,,g'

Tested on x86_64 Fedora 17.

gdb/
2013-06-07  Pedro Alves  <palves@redhat.com>

	* darwin-nat.c: Fix formating in copyright header.
	* darwin-nat.h: Likewise.
	* gnu-nat.c: Likewise.
	* machoread.c: Likewise.

gdb/testsuite/
2013-06-07  Pedro Alves  <palves@redhat.com>

	* gdb.ada/info_types.c: Fix formating in copyright header.
	* gdb.base/break-on-linker-gcd-function.cc: Likewise.
	* gdb.base/float.c: Likewise.
	* gdb.base/inferior-died.c: Likewise.
	* gdb.base/interp.c: Likewise.
	* gdb.base/jit-main.c: Likewise.
	* gdb.base/jit-solib.c: Likewise.
	* gdb.base/long_long.c: Likewise.
	* gdb.base/longjmp.c: Likewise.
	* gdb.base/nextoverexit.c: Likewise.
	* gdb.base/pr11022.c: Likewise.
	* gdb.base/prelink-lib.c: Likewise.
	* gdb.base/prelink.c: Likewise.
	* gdb.base/prologue.c: Likewise.
	* gdb.base/restore.c: Likewise.
	* gdb.base/sigchld.c: Likewise.
	* gdb.base/solib-search-lib1.c: Likewise.
	* gdb.base/solib-search-lib2.c: Likewise.
	* gdb.base/solib-search.c: Likewise.
	* gdb.base/solib-search.h: Likewise.
	* gdb.base/whatis.c: Likewise.
	* gdb.cp/abstract-origin.cc: Likewise.
	* gdb.cp/anon-struct.cc: Likewise.
	* gdb.cp/baseenum.cc: Likewise.
	* gdb.cp/bs15503.cc: Likewise.
	* gdb.cp/call-c-1.c: Likewise.
	* gdb.cp/call-c.cc: Likewise.
	* gdb.cp/class2.cc: Likewise.
	* gdb.cp/classes.cc: Likewise.
	* gdb.cp/cttiadd.cc: Likewise.
	* gdb.cp/cttiadd1.cc: Likewise.
	* gdb.cp/cttiadd2.cc: Likewise.
	* gdb.cp/cttiadd3.cc: Likewise.
	* gdb.cp/derivation.cc: Likewise.
	* gdb.cp/derivation2.cc: Likewise.
	* gdb.cp/dispcxx.cc: Likewise.
	* gdb.cp/exception.cc: Likewise.
	* gdb.cp/gdb2384-base.cc: Likewise.
	* gdb.cp/gdb2384-base.h: Likewise.
	* gdb.cp/gdb2384.cc: Likewise.
	* gdb.cp/gdb2495.cc: Likewise.
	* gdb.cp/mb-inline.h: Likewise.
	* gdb.cp/mb-inline1.cc: Likewise.
	* gdb.cp/mb-inline2.cc: Likewise.
	* gdb.cp/member-name.cc: Likewise.
	* gdb.cp/member-ptr.cc: Likewise.
	* gdb.cp/misc.cc: Likewise.
	* gdb.cp/namespace1.cc: Likewise.
	* gdb.cp/nextoverthrow.cc: Likewise.
	* gdb.cp/pr-574.cc: Likewise.
	* gdb.cp/pr9631.cc: Likewise.
	* gdb.cp/printmethod.cc: Likewise.
	* gdb.cp/psmang1.cc: Likewise.
	* gdb.cp/psmang2.cc: Likewise.
	* gdb.cp/psymtab-parameter.cc: Likewise.
	* gdb.cp/ptype-flags.cc: Likewise.
	* gdb.cp/ref-params.cc: Likewise.
	* gdb.cp/ref-types.cc: Likewise.
	* gdb.cp/smartp.cc: Likewise.
	* gdb.cp/try_catch.cc: Likewise.
	* gdb.cp/userdef.cc: Likewise.
	* gdb.cp/using-crash.cc: Likewise.
	* gdb.cp/virtfunc.cc: Likewise.
	* gdb.cp/virtfunc2.cc: Likewise.
	* gdb.dwarf2/callframecfa.S: Likewise.
	* gdb.dwarf2/dw2-ranges.c: Likewise.
	* gdb.dwarf2/dw2-ranges2.c: Likewise.
	* gdb.dwarf2/dw2-ranges3.c: Likewise.
	* gdb.dwarf2/dw2-restore.S: Likewise.
	* gdb.dwarf2/pieces.S: Likewise.
	* gdb.dwarf2/valop.S: Likewise.
	* gdb.java/jnpe.java: Likewise.
	* gdb.mi/mi-stepn.c: Likewise.
	* gdb.mi/mi-var-cp.cc: Likewise.
	* gdb.mi/mi-var-rtti.cc: Likewise.
	* gdb.mi/ns-stale-regcache.c: Likewise.
	* gdb.mi/pr11022.c: Likewise.
	* gdb.mi/solib-lib.c: Likewise.
	* gdb.mi/solib-main.c: Likewise.
	* gdb.python/py-arch.c: Likewise.
	* gdb.python/py-block.c: Likewise.
	* gdb.python/py-breakpoint.c: Likewise.
	* gdb.python/py-events.c: Likewise.
	* gdb.python/py-evthreads.c: Likewise.
	* gdb.python/py-explore.c: Likewise.
	* gdb.python/py-explore.cc: Likewise.
	* gdb.python/py-finish-breakpoint.c: Likewise.
	* gdb.python/py-finish-breakpoint2.cc: Likewise.
	* gdb.python/py-symbol.c: Likewise.
	* gdb.threads/execl.c: Likewise.
	* gdb.threads/execl1.c: Likewise.
---
 gdb/darwin-nat.c                                   |    3 +--
 gdb/darwin-nat.h                                   |    3 +--
 gdb/gnu-nat.c                                      |    3 +--
 gdb/machoread.c                                    |    3 +--
 gdb/testsuite/gdb.ada/info_types.c                 |    3 +--
 .../gdb.base/break-on-linker-gcd-function.cc       |    3 +--
 gdb/testsuite/gdb.base/float.c                     |    3 +--
 gdb/testsuite/gdb.base/inferior-died.c             |    3 +--
 gdb/testsuite/gdb.base/interp.c                    |    3 +--
 gdb/testsuite/gdb.base/jit-main.c                  |    3 +--
 gdb/testsuite/gdb.base/jit-solib.c                 |    3 +--
 gdb/testsuite/gdb.base/long_long.c                 |    3 +--
 gdb/testsuite/gdb.base/longjmp.c                   |    3 +--
 gdb/testsuite/gdb.base/nextoverexit.c              |    3 +--
 gdb/testsuite/gdb.base/pr11022.c                   |    3 +--
 gdb/testsuite/gdb.base/prelink-lib.c               |    3 +--
 gdb/testsuite/gdb.base/prelink.c                   |    3 +--
 gdb/testsuite/gdb.base/prologue.c                  |    3 +--
 gdb/testsuite/gdb.base/restore.c                   |    3 +--
 gdb/testsuite/gdb.base/sigchld.c                   |    3 +--
 gdb/testsuite/gdb.base/solib-search-lib1.c         |    3 +--
 gdb/testsuite/gdb.base/solib-search-lib2.c         |    3 +--
 gdb/testsuite/gdb.base/solib-search.c              |    3 +--
 gdb/testsuite/gdb.base/solib-search.h              |    3 +--
 gdb/testsuite/gdb.base/whatis.c                    |    3 +--
 gdb/testsuite/gdb.cp/abstract-origin.cc            |    3 +--
 gdb/testsuite/gdb.cp/anon-struct.cc                |    3 +--
 gdb/testsuite/gdb.cp/baseenum.cc                   |    3 +--
 gdb/testsuite/gdb.cp/bs15503.cc                    |    3 +--
 gdb/testsuite/gdb.cp/call-c-1.c                    |    3 +--
 gdb/testsuite/gdb.cp/call-c.cc                     |    3 +--
 gdb/testsuite/gdb.cp/class2.cc                     |    3 +--
 gdb/testsuite/gdb.cp/classes.cc                    |    3 +--
 gdb/testsuite/gdb.cp/cttiadd.cc                    |    3 +--
 gdb/testsuite/gdb.cp/cttiadd1.cc                   |    3 +--
 gdb/testsuite/gdb.cp/cttiadd2.cc                   |    3 +--
 gdb/testsuite/gdb.cp/cttiadd3.cc                   |    3 +--
 gdb/testsuite/gdb.cp/derivation.cc                 |    3 +--
 gdb/testsuite/gdb.cp/derivation2.cc                |    3 +--
 gdb/testsuite/gdb.cp/dispcxx.cc                    |    3 +--
 gdb/testsuite/gdb.cp/exception.cc                  |    5 +----
 gdb/testsuite/gdb.cp/gdb2384-base.cc               |    3 +--
 gdb/testsuite/gdb.cp/gdb2384-base.h                |    3 +--
 gdb/testsuite/gdb.cp/gdb2384.cc                    |    3 +--
 gdb/testsuite/gdb.cp/gdb2495.cc                    |    3 +--
 gdb/testsuite/gdb.cp/mb-inline.h                   |    3 +--
 gdb/testsuite/gdb.cp/mb-inline1.cc                 |    3 +--
 gdb/testsuite/gdb.cp/mb-inline2.cc                 |    3 +--
 gdb/testsuite/gdb.cp/member-name.cc                |    3 +--
 gdb/testsuite/gdb.cp/member-ptr.cc                 |    5 +----
 gdb/testsuite/gdb.cp/misc.cc                       |    3 +--
 gdb/testsuite/gdb.cp/namespace1.cc                 |    5 +----
 gdb/testsuite/gdb.cp/nextoverthrow.cc              |    4 ++--
 gdb/testsuite/gdb.cp/pr-574.cc                     |    3 +--
 gdb/testsuite/gdb.cp/pr9631.cc                     |    3 +--
 gdb/testsuite/gdb.cp/printmethod.cc                |    3 +--
 gdb/testsuite/gdb.cp/psmang1.cc                    |    3 +--
 gdb/testsuite/gdb.cp/psmang2.cc                    |    3 +--
 gdb/testsuite/gdb.cp/psymtab-parameter.cc          |    3 +--
 gdb/testsuite/gdb.cp/ptype-flags.cc                |    3 +--
 gdb/testsuite/gdb.cp/ref-params.cc                 |    3 +--
 gdb/testsuite/gdb.cp/ref-types.cc                  |    3 +--
 gdb/testsuite/gdb.cp/smartp.cc                     |    3 +--
 gdb/testsuite/gdb.cp/try_catch.cc                  |    3 +--
 gdb/testsuite/gdb.cp/userdef.cc                    |    3 +--
 gdb/testsuite/gdb.cp/using-crash.cc                |    3 +--
 gdb/testsuite/gdb.cp/virtfunc.cc                   |    3 +--
 gdb/testsuite/gdb.cp/virtfunc2.cc                  |    3 +--
 gdb/testsuite/gdb.dwarf2/callframecfa.S            |    3 +--
 gdb/testsuite/gdb.dwarf2/dw2-ranges.c              |    3 +--
 gdb/testsuite/gdb.dwarf2/dw2-ranges2.c             |    3 +--
 gdb/testsuite/gdb.dwarf2/dw2-ranges3.c             |    3 +--
 gdb/testsuite/gdb.dwarf2/dw2-restore.S             |    3 +--
 gdb/testsuite/gdb.dwarf2/pieces.S                  |    3 +--
 gdb/testsuite/gdb.dwarf2/valop.S                   |    3 +--
 gdb/testsuite/gdb.java/jnpe.java                   |    3 +--
 gdb/testsuite/gdb.mi/mi-stepn.c                    |    3 +--
 gdb/testsuite/gdb.mi/mi-var-cp.cc                  |    3 +--
 gdb/testsuite/gdb.mi/mi-var-rtti.cc                |    3 +--
 gdb/testsuite/gdb.mi/ns-stale-regcache.c           |    3 +--
 gdb/testsuite/gdb.mi/pr11022.c                     |    3 +--
 gdb/testsuite/gdb.mi/solib-lib.c                   |    3 +--
 gdb/testsuite/gdb.mi/solib-main.c                  |    3 +--
 gdb/testsuite/gdb.python/py-arch.c                 |    3 +--
 gdb/testsuite/gdb.python/py-block.c                |    5 +----
 gdb/testsuite/gdb.python/py-breakpoint.c           |    4 +---
 gdb/testsuite/gdb.python/py-events.c               |    3 +--
 gdb/testsuite/gdb.python/py-evthreads.c            |    3 +--
 gdb/testsuite/gdb.python/py-explore.c              |    3 +--
 gdb/testsuite/gdb.python/py-explore.cc             |    3 +--
 gdb/testsuite/gdb.python/py-finish-breakpoint.c    |    3 +--
 gdb/testsuite/gdb.python/py-finish-breakpoint2.cc  |    4 +---
 gdb/testsuite/gdb.python/py-symbol.c               |    3 +--
 gdb/testsuite/gdb.threads/execl.c                  |    3 +--
 gdb/testsuite/gdb.threads/execl1.c                 |    3 +--
 95 files changed, 96 insertions(+), 200 deletions(-)

diff --git a/gdb/darwin-nat.c b/gdb/darwin-nat.c
index a2da924..cbf1f78 100644
--- a/gdb/darwin-nat.c
+++ b/gdb/darwin-nat.c
@@ -16,8 +16,7 @@
    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/>.
-*/
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
 #include "top.h"
diff --git a/gdb/darwin-nat.h b/gdb/darwin-nat.h
index 307f616..f89fc51 100644
--- a/gdb/darwin-nat.h
+++ b/gdb/darwin-nat.h
@@ -12,8 +12,7 @@
    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/>.
-*/
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef __DARWIN_NAT_H__
 #define __DARWIN_NAT_H__
diff --git a/gdb/gnu-nat.c b/gdb/gnu-nat.c
index ee2a3cf..59d2f23 100644
--- a/gdb/gnu-nat.c
+++ b/gdb/gnu-nat.c
@@ -18,8 +18,7 @@
    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/>.
- */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
 
diff --git a/gdb/machoread.c b/gdb/machoread.c
index 9877f07..7a4f0c3 100644
--- a/gdb/machoread.c
+++ b/gdb/machoread.c
@@ -16,8 +16,7 @@
    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/>.
- */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
 #include "symtab.h"
diff --git a/gdb/testsuite/gdb.ada/info_types.c b/gdb/testsuite/gdb.ada/info_types.c
index b51ad97..fedd1d4 100644
--- a/gdb/testsuite/gdb.ada/info_types.c
+++ b/gdb/testsuite/gdb.ada/info_types.c
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 typedef int new_integer_type;
 
diff --git a/gdb/testsuite/gdb.base/break-on-linker-gcd-function.cc b/gdb/testsuite/gdb.base/break-on-linker-gcd-function.cc
index 4dee6f9..b052928 100644
--- a/gdb/testsuite/gdb.base/break-on-linker-gcd-function.cc
+++ b/gdb/testsuite/gdb.base/break-on-linker-gcd-function.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 // Test case for PR gdb/12528
 
diff --git a/gdb/testsuite/gdb.base/float.c b/gdb/testsuite/gdb.base/float.c
index 743ecbd..532aeaf 100644
--- a/gdb/testsuite/gdb.base/float.c
+++ b/gdb/testsuite/gdb.base/float.c
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 float
 foo ()
diff --git a/gdb/testsuite/gdb.base/inferior-died.c b/gdb/testsuite/gdb.base/inferior-died.c
index d457fec..7797b71 100644
--- a/gdb/testsuite/gdb.base/inferior-died.c
+++ b/gdb/testsuite/gdb.base/inferior-died.c
@@ -13,8 +13,7 @@
    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/>.
-*/
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <stdlib.h>
 #include <sys/types.h>
diff --git a/gdb/testsuite/gdb.base/interp.c b/gdb/testsuite/gdb.base/interp.c
index dd7208f..23dc540 100644
--- a/gdb/testsuite/gdb.base/interp.c
+++ b/gdb/testsuite/gdb.base/interp.c
@@ -13,8 +13,7 @@
    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/>.
-*/
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 int
 main (int argc, const char **argv)
diff --git a/gdb/testsuite/gdb.base/jit-main.c b/gdb/testsuite/gdb.base/jit-main.c
index 5e45b4a..f024814 100644
--- a/gdb/testsuite/gdb.base/jit-main.c
+++ b/gdb/testsuite/gdb.base/jit-main.c
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Simulate loading of JIT code.  */
 
diff --git a/gdb/testsuite/gdb.base/jit-solib.c b/gdb/testsuite/gdb.base/jit-solib.c
index d01a264..b7c890d 100644
--- a/gdb/testsuite/gdb.base/jit-solib.c
+++ b/gdb/testsuite/gdb.base/jit-solib.c
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* This simulates a JIT library.  The function is "renamed" after being
    loaded into memory.  */
diff --git a/gdb/testsuite/gdb.base/long_long.c b/gdb/testsuite/gdb.base/long_long.c
index 6b8180a..83d0c63 100644
--- a/gdb/testsuite/gdb.base/long_long.c
+++ b/gdb/testsuite/gdb.base/long_long.c
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Test long long expression; test printing in general.
  *
diff --git a/gdb/testsuite/gdb.base/longjmp.c b/gdb/testsuite/gdb.base/longjmp.c
index 5ff6557..327d26a 100644
--- a/gdb/testsuite/gdb.base/longjmp.c
+++ b/gdb/testsuite/gdb.base/longjmp.c
@@ -13,8 +13,7 @@
    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/>.
-*/
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <setjmp.h>
 
diff --git a/gdb/testsuite/gdb.base/nextoverexit.c b/gdb/testsuite/gdb.base/nextoverexit.c
index eecd542..4b46cd9 100644
--- a/gdb/testsuite/gdb.base/nextoverexit.c
+++ b/gdb/testsuite/gdb.base/nextoverexit.c
@@ -11,8 +11,7 @@
  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/>.
-*/
+ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <stdlib.h> 
 
diff --git a/gdb/testsuite/gdb.base/pr11022.c b/gdb/testsuite/gdb.base/pr11022.c
index c5741cf..690e0c4 100644
--- a/gdb/testsuite/gdb.base/pr11022.c
+++ b/gdb/testsuite/gdb.base/pr11022.c
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 int x;
 
diff --git a/gdb/testsuite/gdb.base/prelink-lib.c b/gdb/testsuite/gdb.base/prelink-lib.c
index ce85fa0..0265fdc 100644
--- a/gdb/testsuite/gdb.base/prelink-lib.c
+++ b/gdb/testsuite/gdb.base/prelink-lib.c
@@ -13,8 +13,7 @@
    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/>.
-*/
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 int copyreloc = 1;
 
diff --git a/gdb/testsuite/gdb.base/prelink.c b/gdb/testsuite/gdb.base/prelink.c
index 67d5de4..7205555 100644
--- a/gdb/testsuite/gdb.base/prelink.c
+++ b/gdb/testsuite/gdb.base/prelink.c
@@ -13,8 +13,7 @@
    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/>.
-*/
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <stdio.h>
 
diff --git a/gdb/testsuite/gdb.base/prologue.c b/gdb/testsuite/gdb.base/prologue.c
index 13f28d0..f109ac0 100644
--- a/gdb/testsuite/gdb.base/prologue.c
+++ b/gdb/testsuite/gdb.base/prologue.c
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 int leaf (void)
 {
diff --git a/gdb/testsuite/gdb.base/restore.c b/gdb/testsuite/gdb.base/restore.c
index 526be5f..4773e02 100644
--- a/gdb/testsuite/gdb.base/restore.c
+++ b/gdb/testsuite/gdb.base/restore.c
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Test GDB's ability to restore saved registers from stack frames
    when using the `return' command.
diff --git a/gdb/testsuite/gdb.base/sigchld.c b/gdb/testsuite/gdb.base/sigchld.c
index 6fcea73..731ab75 100644
--- a/gdb/testsuite/gdb.base/sigchld.c
+++ b/gdb/testsuite/gdb.base/sigchld.c
@@ -13,8 +13,7 @@
    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/>.
-*/
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Check that GDB isn't messing the SIGCHLD mask while creating an
    inferior.  */
diff --git a/gdb/testsuite/gdb.base/solib-search-lib1.c b/gdb/testsuite/gdb.base/solib-search-lib1.c
index 38c748e..2cf021f 100644
--- a/gdb/testsuite/gdb.base/solib-search-lib1.c
+++ b/gdb/testsuite/gdb.base/solib-search-lib1.c
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "solib-search.h"
 
diff --git a/gdb/testsuite/gdb.base/solib-search-lib2.c b/gdb/testsuite/gdb.base/solib-search-lib2.c
index 6fc08ab..615c6f8 100644
--- a/gdb/testsuite/gdb.base/solib-search-lib2.c
+++ b/gdb/testsuite/gdb.base/solib-search-lib2.c
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "solib-search.h"
 
diff --git a/gdb/testsuite/gdb.base/solib-search.c b/gdb/testsuite/gdb.base/solib-search.c
index 106c6ea..f0a38b3 100644
--- a/gdb/testsuite/gdb.base/solib-search.c
+++ b/gdb/testsuite/gdb.base/solib-search.c
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "solib-search.h"
 
diff --git a/gdb/testsuite/gdb.base/solib-search.h b/gdb/testsuite/gdb.base/solib-search.h
index b75d4ff..80408ed 100644
--- a/gdb/testsuite/gdb.base/solib-search.h
+++ b/gdb/testsuite/gdb.base/solib-search.h
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef GDB_BASE_SOLIB_SEARCH_H
 #define GDB_BASE_SOLIB_SEARCH_H
diff --git a/gdb/testsuite/gdb.base/whatis.c b/gdb/testsuite/gdb.base/whatis.c
index a29cf11e..4636aaf 100644
--- a/gdb/testsuite/gdb.base/whatis.c
+++ b/gdb/testsuite/gdb.base/whatis.c
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /*
  *	Test file with lots of different types, for testing the
diff --git a/gdb/testsuite/gdb.cp/abstract-origin.cc b/gdb/testsuite/gdb.cp/abstract-origin.cc
index 72c8572..cf42c02 100644
--- a/gdb/testsuite/gdb.cp/abstract-origin.cc
+++ b/gdb/testsuite/gdb.cp/abstract-origin.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 extern void f (int *);
 
diff --git a/gdb/testsuite/gdb.cp/anon-struct.cc b/gdb/testsuite/gdb.cp/anon-struct.cc
index 079e58a..6b9d6f9 100644
--- a/gdb/testsuite/gdb.cp/anon-struct.cc
+++ b/gdb/testsuite/gdb.cp/anon-struct.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 class C {
 public:
diff --git a/gdb/testsuite/gdb.cp/baseenum.cc b/gdb/testsuite/gdb.cp/baseenum.cc
index f8be2ab..66e30db 100644
--- a/gdb/testsuite/gdb.cp/baseenum.cc
+++ b/gdb/testsuite/gdb.cp/baseenum.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 class A
 {
diff --git a/gdb/testsuite/gdb.cp/bs15503.cc b/gdb/testsuite/gdb.cp/bs15503.cc
index 779461d..cb08910 100644
--- a/gdb/testsuite/gdb.cp/bs15503.cc
+++ b/gdb/testsuite/gdb.cp/bs15503.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <string>
 #include <iostream>
diff --git a/gdb/testsuite/gdb.cp/call-c-1.c b/gdb/testsuite/gdb.cp/call-c-1.c
index ff825db..f551e80 100644
--- a/gdb/testsuite/gdb.cp/call-c-1.c
+++ b/gdb/testsuite/gdb.cp/call-c-1.c
@@ -13,7 +13,6 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 int foo(int x) { return x; }
diff --git a/gdb/testsuite/gdb.cp/call-c.cc b/gdb/testsuite/gdb.cp/call-c.cc
index 4f559f2..f4da900 100644
--- a/gdb/testsuite/gdb.cp/call-c.cc
+++ b/gdb/testsuite/gdb.cp/call-c.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 int func(int x)
 {
diff --git a/gdb/testsuite/gdb.cp/class2.cc b/gdb/testsuite/gdb.cp/class2.cc
index 97c44de..5b20984 100644
--- a/gdb/testsuite/gdb.cp/class2.cc
+++ b/gdb/testsuite/gdb.cp/class2.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 struct A
 {
diff --git a/gdb/testsuite/gdb.cp/classes.cc b/gdb/testsuite/gdb.cp/classes.cc
index c508f93..56efc70 100644
--- a/gdb/testsuite/gdb.cp/classes.cc
+++ b/gdb/testsuite/gdb.cp/classes.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 // Test various -*- C++ -*- things.
 
diff --git a/gdb/testsuite/gdb.cp/cttiadd.cc b/gdb/testsuite/gdb.cp/cttiadd.cc
index 90f13b5..543212b 100644
--- a/gdb/testsuite/gdb.cp/cttiadd.cc
+++ b/gdb/testsuite/gdb.cp/cttiadd.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 template<class T> T add(T v1, T v2)
 {
diff --git a/gdb/testsuite/gdb.cp/cttiadd1.cc b/gdb/testsuite/gdb.cp/cttiadd1.cc
index 3a1b938..47de679 100644
--- a/gdb/testsuite/gdb.cp/cttiadd1.cc
+++ b/gdb/testsuite/gdb.cp/cttiadd1.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 template<class T> T add(T v1, T v2);
 
diff --git a/gdb/testsuite/gdb.cp/cttiadd2.cc b/gdb/testsuite/gdb.cp/cttiadd2.cc
index f8c6ae9..ded4c78 100644
--- a/gdb/testsuite/gdb.cp/cttiadd2.cc
+++ b/gdb/testsuite/gdb.cp/cttiadd2.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 template<class T> T add2(T v1, T v2)
 {
diff --git a/gdb/testsuite/gdb.cp/cttiadd3.cc b/gdb/testsuite/gdb.cp/cttiadd3.cc
index c50d2b0..4b19a3c 100644
--- a/gdb/testsuite/gdb.cp/cttiadd3.cc
+++ b/gdb/testsuite/gdb.cp/cttiadd3.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 template<class T> T add3(T v1, T v2)
 {
diff --git a/gdb/testsuite/gdb.cp/derivation.cc b/gdb/testsuite/gdb.cp/derivation.cc
index 2fefe79..fbd75cc 100644
--- a/gdb/testsuite/gdb.cp/derivation.cc
+++ b/gdb/testsuite/gdb.cp/derivation.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 extern void foo2 (); /* from derivation2.cc */
 
diff --git a/gdb/testsuite/gdb.cp/derivation2.cc b/gdb/testsuite/gdb.cp/derivation2.cc
index b26cb63..51df87a 100644
--- a/gdb/testsuite/gdb.cp/derivation2.cc
+++ b/gdb/testsuite/gdb.cp/derivation2.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* A copy of some classes in derivation.cc so that we can test symbol lookup
    in other CUs.  */
diff --git a/gdb/testsuite/gdb.cp/dispcxx.cc b/gdb/testsuite/gdb.cp/dispcxx.cc
index fe5a7a6..06e58e2 100644
--- a/gdb/testsuite/gdb.cp/dispcxx.cc
+++ b/gdb/testsuite/gdb.cp/dispcxx.cc
@@ -13,8 +13,7 @@
    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/>.
-*/
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 struct K {
   void method () { }
diff --git a/gdb/testsuite/gdb.cp/exception.cc b/gdb/testsuite/gdb.cp/exception.cc
index 4d5661e..db348cc 100644
--- a/gdb/testsuite/gdb.cp/exception.cc
+++ b/gdb/testsuite/gdb.cp/exception.cc
@@ -13,10 +13,7 @@
    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/>.
-   */
-
-
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 // Test file for exception handling support.
 
diff --git a/gdb/testsuite/gdb.cp/gdb2384-base.cc b/gdb/testsuite/gdb.cp/gdb2384-base.cc
index 58edc8b..d0d1377 100644
--- a/gdb/testsuite/gdb.cp/gdb2384-base.cc
+++ b/gdb/testsuite/gdb.cp/gdb2384-base.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "gdb2384-base.h"
 
diff --git a/gdb/testsuite/gdb.cp/gdb2384-base.h b/gdb/testsuite/gdb.cp/gdb2384-base.h
index 8cb0d36..c771335 100644
--- a/gdb/testsuite/gdb.cp/gdb2384-base.h
+++ b/gdb/testsuite/gdb.cp/gdb2384-base.h
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 namespace B{
   int x;
diff --git a/gdb/testsuite/gdb.cp/gdb2384.cc b/gdb/testsuite/gdb.cp/gdb2384.cc
index e3007c4..ad330e1 100644
--- a/gdb/testsuite/gdb.cp/gdb2384.cc
+++ b/gdb/testsuite/gdb.cp/gdb2384.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "gdb2384-base.h"
 
diff --git a/gdb/testsuite/gdb.cp/gdb2495.cc b/gdb/testsuite/gdb.cp/gdb2495.cc
index 0b3b794..2e487bb 100644
--- a/gdb/testsuite/gdb.cp/gdb2495.cc
+++ b/gdb/testsuite/gdb.cp/gdb2495.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <iostream>
 #include <signal.h>
diff --git a/gdb/testsuite/gdb.cp/mb-inline.h b/gdb/testsuite/gdb.cp/mb-inline.h
index 1438726..aa07a68 100644
--- a/gdb/testsuite/gdb.cp/mb-inline.h
+++ b/gdb/testsuite/gdb.cp/mb-inline.h
@@ -17,8 +17,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 static int
 foo (int i)
diff --git a/gdb/testsuite/gdb.cp/mb-inline1.cc b/gdb/testsuite/gdb.cp/mb-inline1.cc
index 2290354..186d857 100644
--- a/gdb/testsuite/gdb.cp/mb-inline1.cc
+++ b/gdb/testsuite/gdb.cp/mb-inline1.cc
@@ -15,8 +15,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "mb-inline.h"
 
diff --git a/gdb/testsuite/gdb.cp/mb-inline2.cc b/gdb/testsuite/gdb.cp/mb-inline2.cc
index bdfd9dc..6d3a91b 100644
--- a/gdb/testsuite/gdb.cp/mb-inline2.cc
+++ b/gdb/testsuite/gdb.cp/mb-inline2.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "mb-inline.h"
 
diff --git a/gdb/testsuite/gdb.cp/member-name.cc b/gdb/testsuite/gdb.cp/member-name.cc
index 693dce8..c30895a 100644
--- a/gdb/testsuite/gdb.cp/member-name.cc
+++ b/gdb/testsuite/gdb.cp/member-name.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 struct B
 {
diff --git a/gdb/testsuite/gdb.cp/member-ptr.cc b/gdb/testsuite/gdb.cp/member-ptr.cc
index a9e6308..4a34231 100644
--- a/gdb/testsuite/gdb.cp/member-ptr.cc
+++ b/gdb/testsuite/gdb.cp/member-ptr.cc
@@ -13,10 +13,7 @@
    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/>.
-   */
-
-
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 extern "C" {
 #include <stdio.h>
diff --git a/gdb/testsuite/gdb.cp/misc.cc b/gdb/testsuite/gdb.cp/misc.cc
index 795d123..a94f5b8 100644
--- a/gdb/testsuite/gdb.cp/misc.cc
+++ b/gdb/testsuite/gdb.cp/misc.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 // Test various -*- C++ -*- things.
 
diff --git a/gdb/testsuite/gdb.cp/namespace1.cc b/gdb/testsuite/gdb.cp/namespace1.cc
index e937b8e..2aad60a 100644
--- a/gdb/testsuite/gdb.cp/namespace1.cc
+++ b/gdb/testsuite/gdb.cp/namespace1.cc
@@ -11,10 +11,7 @@
    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/>.
-   */
-
-
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 namespace C
 {
diff --git a/gdb/testsuite/gdb.cp/nextoverthrow.cc b/gdb/testsuite/gdb.cp/nextoverthrow.cc
index bf1e9e5..3041e47 100644
--- a/gdb/testsuite/gdb.cp/nextoverthrow.cc
+++ b/gdb/testsuite/gdb.cp/nextoverthrow.cc
@@ -13,8 +13,8 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
 #include <iostream>
 
 using namespace std;
diff --git a/gdb/testsuite/gdb.cp/pr-574.cc b/gdb/testsuite/gdb.cp/pr-574.cc
index acd26a2..d0301fd 100644
--- a/gdb/testsuite/gdb.cp/pr-574.cc
+++ b/gdb/testsuite/gdb.cp/pr-574.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /*
   An attempt to replicate PR gdb/574 with a shorter program.
diff --git a/gdb/testsuite/gdb.cp/pr9631.cc b/gdb/testsuite/gdb.cp/pr9631.cc
index ac09f5d..2b3cb2d 100644
--- a/gdb/testsuite/gdb.cp/pr9631.cc
+++ b/gdb/testsuite/gdb.cp/pr9631.cc
@@ -13,8 +13,7 @@
    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/>.
-*/
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 namespace foo
 {
diff --git a/gdb/testsuite/gdb.cp/printmethod.cc b/gdb/testsuite/gdb.cp/printmethod.cc
index dbb079c..189ae2b 100644
--- a/gdb/testsuite/gdb.cp/printmethod.cc
+++ b/gdb/testsuite/gdb.cp/printmethod.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Create some objects, and try to print out their methods.  */
 
diff --git a/gdb/testsuite/gdb.cp/psmang1.cc b/gdb/testsuite/gdb.cp/psmang1.cc
index 9b76f64..4b3f8ee 100644
--- a/gdb/testsuite/gdb.cp/psmang1.cc
+++ b/gdb/testsuite/gdb.cp/psmang1.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Do not move this definition into a header file!  See the comments
    in psmang.exp.  */
diff --git a/gdb/testsuite/gdb.cp/psmang2.cc b/gdb/testsuite/gdb.cp/psmang2.cc
index c274d5e..0636583 100644
--- a/gdb/testsuite/gdb.cp/psmang2.cc
+++ b/gdb/testsuite/gdb.cp/psmang2.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <stdio.h>
 
diff --git a/gdb/testsuite/gdb.cp/psymtab-parameter.cc b/gdb/testsuite/gdb.cp/psymtab-parameter.cc
index afb5afa..65d90bd 100644
--- a/gdb/testsuite/gdb.cp/psymtab-parameter.cc
+++ b/gdb/testsuite/gdb.cp/psymtab-parameter.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 template <typename T>
 long
diff --git a/gdb/testsuite/gdb.cp/ptype-flags.cc b/gdb/testsuite/gdb.cp/ptype-flags.cc
index 579dc7d..d8b9f34 100644
--- a/gdb/testsuite/gdb.cp/ptype-flags.cc
+++ b/gdb/testsuite/gdb.cp/ptype-flags.cc
@@ -11,8 +11,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 template<typename S>
 class Simple
diff --git a/gdb/testsuite/gdb.cp/ref-params.cc b/gdb/testsuite/gdb.cp/ref-params.cc
index e0a6868..aceba21 100644
--- a/gdb/testsuite/gdb.cp/ref-params.cc
+++ b/gdb/testsuite/gdb.cp/ref-params.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Author: Paul N. Hilfinger, AdaCore Inc. */
 
diff --git a/gdb/testsuite/gdb.cp/ref-types.cc b/gdb/testsuite/gdb.cp/ref-types.cc
index bae1cd2..485034e 100644
--- a/gdb/testsuite/gdb.cp/ref-types.cc
+++ b/gdb/testsuite/gdb.cp/ref-types.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 int main2(void);
 
diff --git a/gdb/testsuite/gdb.cp/smartp.cc b/gdb/testsuite/gdb.cp/smartp.cc
index 438f167..fb9865c 100644
--- a/gdb/testsuite/gdb.cp/smartp.cc
+++ b/gdb/testsuite/gdb.cp/smartp.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 class Type1{
   public:
diff --git a/gdb/testsuite/gdb.cp/try_catch.cc b/gdb/testsuite/gdb.cp/try_catch.cc
index 24bc669..262d282 100644
--- a/gdb/testsuite/gdb.cp/try_catch.cc
+++ b/gdb/testsuite/gdb.cp/try_catch.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <exception>
 #include <stdexcept>
diff --git a/gdb/testsuite/gdb.cp/userdef.cc b/gdb/testsuite/gdb.cp/userdef.cc
index 84fca59..38dd479 100644
--- a/gdb/testsuite/gdb.cp/userdef.cc
+++ b/gdb/testsuite/gdb.cp/userdef.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <iostream>
 
diff --git a/gdb/testsuite/gdb.cp/using-crash.cc b/gdb/testsuite/gdb.cp/using-crash.cc
index e6eca3b..f53af19 100644
--- a/gdb/testsuite/gdb.cp/using-crash.cc
+++ b/gdb/testsuite/gdb.cp/using-crash.cc
@@ -10,8 +10,7 @@
    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/>.
-*/
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <iostream>
 using namespace std;
diff --git a/gdb/testsuite/gdb.cp/virtfunc.cc b/gdb/testsuite/gdb.cp/virtfunc.cc
index 6dfb25b..d7a7737 100644
--- a/gdb/testsuite/gdb.cp/virtfunc.cc
+++ b/gdb/testsuite/gdb.cp/virtfunc.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 // Pls try the following program on virtual functions and try to do print on
 //  most of the code in main().  Almost none of them works !
diff --git a/gdb/testsuite/gdb.cp/virtfunc2.cc b/gdb/testsuite/gdb.cp/virtfunc2.cc
index 64c6b1a..2eaf5a4 100644
--- a/gdb/testsuite/gdb.cp/virtfunc2.cc
+++ b/gdb/testsuite/gdb.cp/virtfunc2.cc
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 class interface
 {
diff --git a/gdb/testsuite/gdb.dwarf2/callframecfa.S b/gdb/testsuite/gdb.dwarf2/callframecfa.S
index 5d459ec..add4bf0 100644
--- a/gdb/testsuite/gdb.dwarf2/callframecfa.S
+++ b/gdb/testsuite/gdb.dwarf2/callframecfa.S
@@ -12,8 +12,7 @@
    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/>.
- */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* This was compiled from a trivial program just to test the
    DW_OP_call_frame_cfa operator:
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-ranges.c b/gdb/testsuite/gdb.dwarf2/dw2-ranges.c
index f9ebc4b..716d9ff 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-ranges.c
+++ b/gdb/testsuite/gdb.dwarf2/dw2-ranges.c
@@ -12,8 +12,7 @@
    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/>.
- */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Despite the sections below will be adjacent the assembler has to produce
    DW_AT_ranges as the linker could place both sections at arbitrary locations.
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-ranges2.c b/gdb/testsuite/gdb.dwarf2/dw2-ranges2.c
index 0237445..1afd07e 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-ranges2.c
+++ b/gdb/testsuite/gdb.dwarf2/dw2-ranges2.c
@@ -12,8 +12,7 @@
    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/>.
- */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Despite the sections below will be adjacent the assembler has to produce
    DW_AT_ranges as the linker could place both sections at arbitrary locations.
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-ranges3.c b/gdb/testsuite/gdb.dwarf2/dw2-ranges3.c
index 653f31b..8c4727b 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-ranges3.c
+++ b/gdb/testsuite/gdb.dwarf2/dw2-ranges3.c
@@ -12,8 +12,7 @@
    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/>.
- */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 void
 main3 (void)
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-restore.S b/gdb/testsuite/gdb.dwarf2/dw2-restore.S
index d4865ed..6a6d746 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-restore.S
+++ b/gdb/testsuite/gdb.dwarf2/dw2-restore.S
@@ -12,8 +12,7 @@
    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/>.
- */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Compile with "gcc -nostdlib dw2-restore.S" */
 
diff --git a/gdb/testsuite/gdb.dwarf2/pieces.S b/gdb/testsuite/gdb.dwarf2/pieces.S
index 7982c68..b92c26a 100644
--- a/gdb/testsuite/gdb.dwarf2/pieces.S
+++ b/gdb/testsuite/gdb.dwarf2/pieces.S
@@ -12,8 +12,7 @@
    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/>.
- */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* This was compiled with a version of gcc modified to emit better
    debuginfo for SRA'd structures.  See:
diff --git a/gdb/testsuite/gdb.dwarf2/valop.S b/gdb/testsuite/gdb.dwarf2/valop.S
index df8e4c4..f05c0d2 100644
--- a/gdb/testsuite/gdb.dwarf2/valop.S
+++ b/gdb/testsuite/gdb.dwarf2/valop.S
@@ -12,8 +12,7 @@
    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/>.
- */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* This was compiled from a trivial program just to test the
    DW_OP_stack_value and DW_OP_implicit_value operators:
diff --git a/gdb/testsuite/gdb.java/jnpe.java b/gdb/testsuite/gdb.java/jnpe.java
index 22dc32d..abc240e 100644
--- a/gdb/testsuite/gdb.java/jnpe.java
+++ b/gdb/testsuite/gdb.java/jnpe.java
@@ -14,8 +14,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 public class jnpe
 {
diff --git a/gdb/testsuite/gdb.mi/mi-stepn.c b/gdb/testsuite/gdb.mi/mi-stepn.c
index b0e6676..a4f7ec8 100644
--- a/gdb/testsuite/gdb.mi/mi-stepn.c
+++ b/gdb/testsuite/gdb.mi/mi-stepn.c
@@ -13,8 +13,7 @@
    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/>.
-*/
+   along with this program.  If not, see  <http://www.gnu.org/licenses/>.  */
 
 void
 do_nothing (void)
diff --git a/gdb/testsuite/gdb.mi/mi-var-cp.cc b/gdb/testsuite/gdb.mi/mi-var-cp.cc
index 91bbf71..5c74aec 100644
--- a/gdb/testsuite/gdb.mi/mi-var-cp.cc
+++ b/gdb/testsuite/gdb.mi/mi-var-cp.cc
@@ -11,8 +11,7 @@
    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/>.
-*/
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 void reference_update_tests ()
 {
diff --git a/gdb/testsuite/gdb.mi/mi-var-rtti.cc b/gdb/testsuite/gdb.mi/mi-var-rtti.cc
index 040362c..0181a7e 100644
--- a/gdb/testsuite/gdb.mi/mi-var-rtti.cc
+++ b/gdb/testsuite/gdb.mi/mi-var-rtti.cc
@@ -11,8 +11,7 @@
    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/>.
-*/
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 struct Base {
     Base() : A(1) {}
diff --git a/gdb/testsuite/gdb.mi/ns-stale-regcache.c b/gdb/testsuite/gdb.mi/ns-stale-regcache.c
index e723f3d..b5099b7 100644
--- a/gdb/testsuite/gdb.mi/ns-stale-regcache.c
+++ b/gdb/testsuite/gdb.mi/ns-stale-regcache.c
@@ -13,8 +13,7 @@
    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/>.
-*/
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include <unistd.h>
 
diff --git a/gdb/testsuite/gdb.mi/pr11022.c b/gdb/testsuite/gdb.mi/pr11022.c
index c5741cf..690e0c4 100644
--- a/gdb/testsuite/gdb.mi/pr11022.c
+++ b/gdb/testsuite/gdb.mi/pr11022.c
@@ -13,8 +13,7 @@
    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/>.
-   */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 int x;
 
diff --git a/gdb/testsuite/gdb.mi/solib-lib.c b/gdb/testsuite/gdb.mi/solib-lib.c
index 21852d1..fd585bb 100644
--- a/gdb/testsuite/gdb.mi/solib-lib.c
+++ b/gdb/testsuite/gdb.mi/solib-lib.c
@@ -11,8 +11,7 @@
    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/>.
-*/
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 void solibfunction(void)
 {
diff --git a/gdb/testsuite/gdb.mi/solib-main.c b/gdb/testsuite/gdb.mi/solib-main.c
index 765dc7a..1850413 100644
--- a/gdb/testsuite/gdb.mi/solib-main.c
+++ b/gdb/testsuite/gdb.mi/solib-main.c
@@ -11,8 +11,7 @@
    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/>.
-*/
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 extern void solibfunction(void);
 
diff --git a/gdb/testsuite/gdb.python/py-arch.c b/gdb/testsuite/gdb.python/py-arch.c
index e2fe55c..4a2751e 100644
--- a/gdb/testsuite/gdb.python/py-arch.c
+++ b/gdb/testsuite/gdb.python/py-arch.c
@@ -13,8 +13,7 @@
    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/>.
-*/
+   along with this program.  If not, see  <http://www.gnu.org/licenses/>.  */
 
 int
 main (void)
diff --git a/gdb/testsuite/gdb.python/py-block.c b/gdb/testsuite/gdb.python/py-block.c
index 9865685..d5ffa5b 100644
--- a/gdb/testsuite/gdb.python/py-block.c
+++ b/gdb/testsuite/gdb.python/py-block.c
@@ -13,10 +13,7 @@
    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/>.
-*/
-
-
+   along with this program.  If not, see  <http://www.gnu.org/licenses/>.  */
 
 int block_func (void)
 {
diff --git a/gdb/testsuite/gdb.python/py-breakpoint.c b/gdb/testsuite/gdb.python/py-breakpoint.c
index 0a78167..ae0a50f 100644
--- a/gdb/testsuite/gdb.python/py-breakpoint.c
+++ b/gdb/testsuite/gdb.python/py-breakpoint.c
@@ -13,9 +13,7 @@
    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/>.
-*/
-
+   along with this program.  If not, see  <http://www.gnu.org/licenses/>.  */
 
 int result = 0;
 
diff --git a/gdb/testsuite/gdb.python/py-events.c b/gdb/testsuite/gdb.python/py-events.c
index cd806c3..886c1a8 100644
--- a/gdb/testsuite/gdb.python/py-events.c
+++ b/gdb/testsuite/gdb.python/py-events.c
@@ -13,8 +13,7 @@
    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/>.
-*/
+   along with this program.  If not, see  <http://www.gnu.org/licenses/>.  */
 
 extern void do_nothing (void);
 
diff --git a/gdb/testsuite/gdb.python/py-evthreads.c b/gdb/testsuite/gdb.python/py-evthreads.c
index 83f0217..63ef43a 100644
--- a/gdb/testsuite/gdb.python/py-evthreads.c
+++ b/gdb/testsuite/gdb.python/py-evthreads.c
@@ -13,8 +13,7 @@
    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/>.
-*/
+   along with this program.  If not, see  <http://www.gnu.org/licenses/>.  */
 
 #include <stdio.h>
 #include <pthread.h>
diff --git a/gdb/testsuite/gdb.python/py-explore.c b/gdb/testsuite/gdb.python/py-explore.c
index 37bccb0..92019ca 100644
--- a/gdb/testsuite/gdb.python/py-explore.c
+++ b/gdb/testsuite/gdb.python/py-explore.c
@@ -13,8 +13,7 @@
    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/>.
-*/
+   along with this program.  If not, see  <http://www.gnu.org/licenses/>.  */
 
 #define ARRAY_SIZE 10
 
diff --git a/gdb/testsuite/gdb.python/py-explore.cc b/gdb/testsuite/gdb.python/py-explore.cc
index 4b01486..8caf51c 100644
--- a/gdb/testsuite/gdb.python/py-explore.cc
+++ b/gdb/testsuite/gdb.python/py-explore.cc
@@ -13,8 +13,7 @@
    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/>.
-*/
+   along with this program.  If not, see  <http://www.gnu.org/licenses/>.  */
 
 class A {
  public:
diff --git a/gdb/testsuite/gdb.python/py-finish-breakpoint.c b/gdb/testsuite/gdb.python/py-finish-breakpoint.c
index d08ba94..6438bc7 100644
--- a/gdb/testsuite/gdb.python/py-finish-breakpoint.c
+++ b/gdb/testsuite/gdb.python/py-finish-breakpoint.c
@@ -13,8 +13,7 @@
    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/>.
-*/
+   along with this program.  If not, see  <http://www.gnu.org/licenses/>.  */
 
 #include <setjmp.h>
 #include <stdlib.h>
diff --git a/gdb/testsuite/gdb.python/py-finish-breakpoint2.cc b/gdb/testsuite/gdb.python/py-finish-breakpoint2.cc
index e291cdf..dbac55e 100644
--- a/gdb/testsuite/gdb.python/py-finish-breakpoint2.cc
+++ b/gdb/testsuite/gdb.python/py-finish-breakpoint2.cc
@@ -13,9 +13,7 @@
    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/>.
-*/
-
+   along with this program.  If not, see  <http://www.gnu.org/licenses/>.  */
 
 #include <iostream>
 
diff --git a/gdb/testsuite/gdb.python/py-symbol.c b/gdb/testsuite/gdb.python/py-symbol.c
index ec29aa8..53b1900 100644
--- a/gdb/testsuite/gdb.python/py-symbol.c
+++ b/gdb/testsuite/gdb.python/py-symbol.c
@@ -13,8 +13,7 @@
    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/>.
-*/
+   along with this program.  If not, see  <http://www.gnu.org/licenses/>.  */
 
 #ifdef __cplusplus
 class SimpleClass
diff --git a/gdb/testsuite/gdb.threads/execl.c b/gdb/testsuite/gdb.threads/execl.c
index 03872f5..2b65d94 100644
--- a/gdb/testsuite/gdb.threads/execl.c
+++ b/gdb/testsuite/gdb.threads/execl.c
@@ -13,8 +13,7 @@
    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/>.
-*/
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Test handling thread control across an execl.  */
 
diff --git a/gdb/testsuite/gdb.threads/execl1.c b/gdb/testsuite/gdb.threads/execl1.c
index 5af9162..0332322 100644
--- a/gdb/testsuite/gdb.threads/execl1.c
+++ b/gdb/testsuite/gdb.threads/execl1.c
@@ -13,8 +13,7 @@
    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/>.
-*/
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* Test handling thread control across an execl.  */
 


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

end of thread, other threads:[~2013-06-07 14:50 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-30 23:27 [patch] Improve symbol lookup performance noted in PR 15519 Doug Evans
2013-05-31  3:42 ` Joel Brobecker
2013-05-31  9:40 ` Pedro Alves
2013-05-31 22:33   ` Doug Evans
2013-06-03  6:01     ` Joel Brobecker
2013-06-03 17:27     ` Pedro Alves
2013-06-05 22:31       ` Doug Evans
2013-06-06 10:18         ` Pedro Alves
2013-06-06 19:03           ` Doug Evans
2013-06-07 14:50             ` Fix formating in copyright headers. (was: Re: [patch] Improve symbol lookup performance noted in PR 15519) Pedro Alves

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox