Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Andrew Cagney <ac131313@redhat.com>
To: Michael Elizabeth Chastain <mec@shout.net>, carlton@math.stanford.edu
Cc: gdb-patches@sources.redhat.com
Subject: Re: stab at a fix for PR java/1039
Date: Sun, 22 Jun 2003 18:35:00 -0000	[thread overview]
Message-ID: <3EF5F6E2.90805@redhat.com> (raw)
In-Reply-To: <200303020737.h227bL602253@duracef.shout.net>

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

Hello,

Where is this one at?

Andrew

[-- Attachment #2: mailbox-message://ac131313@movemail/fsf/gdb/patches#172720 --]
[-- Type: message/rfc822, Size: 6742 bytes --]

From: Michael Elizabeth Chastain <mec@shout.net>
To: carlton@math.stanford.edu
Cc: gdb-patches@sources.redhat.com
Subject: Re: stab at a fix for PR java/1039
Date: Sun, 2 Mar 2003 01:37:21 -0600
Message-ID: <200303020737.h227bL602253@duracef.shout.net>

I gave it the full megilllah, all tests on all 32 platforms that I
currently cover.  There were no changes -- no regressions or
improvements -- anywhere, except for stuff like annota2.exp that
fluctuates even on identical runs.

If it fixes a bug anyways then these result are a green light.  If it
was meant to fix this specific Java bug then it's a question mark.

I am getting a quite a bit scatter-brained, I need to calm down and
focus on one thing at a time.  But this time we are going to go INTO
the branch cut with near release-quality already!  I'm excited!

Michael C

2003-02-28  David Carlton  <carlton@math.stanford.edu>

	* symtab.c (lookup_partial_symbol): Add linkage_name argument.
	(lookup_symbol_aux_psymtabs): Update call to
	lookup_partial_symbol.
	(lookup_transparent_type, find_main_psymtab)
	(make_symbol_overload_list): Ditto.

Index: symtab.c
===================================================================
RCS file: /cvs/src/src/gdb/symtab.c,v
retrieving revision 1.96
diff -u -p -r1.96 symtab.c
--- symtab.c	27 Feb 2003 20:48:03 -0000	1.96
+++ symtab.c	28 Feb 2003 22:58:15 -0000
@@ -76,6 +76,7 @@ static int find_line_common (struct line
 char *operator_chars (char *p, char **end);
 
 static struct partial_symbol *lookup_partial_symbol (struct partial_symtab *,
+						     const char *,
 						     const char *, int,
 						     namespace_enum);
 
@@ -1201,7 +1202,8 @@ lookup_symbol_aux_psymtabs (int block_in
   ALL_PSYMTABS (objfile, ps)
   {
     if (!ps->readin
-	&& lookup_partial_symbol (ps, name, psymtab_index, namespace))
+	&& lookup_partial_symbol (ps, name, mangled_name,
+				  psymtab_index, namespace))
       {
 	s = PSYMTAB_TO_SYMTAB (ps);
 	bv = BLOCKVECTOR (s);
@@ -1371,7 +1373,8 @@ lookup_symbol_aux_minsyms (const char *n
    symbols if GLOBAL, the static symbols if not */
 
 static struct partial_symbol *
-lookup_partial_symbol (struct partial_symtab *pst, const char *name, int global,
+lookup_partial_symbol (struct partial_symtab *pst, const char *name,
+		       const char *linkage_name, int global,
 		       namespace_enum namespace)
 {
   struct partial_symbol *temp;
@@ -1426,7 +1429,10 @@ lookup_partial_symbol (struct partial_sy
       /* djb - 2000-06-03 - Use SYMBOL_MATCHES_NAME, not a strcmp, so
 	 we don't have to force a linear search on C++. Probably holds true
 	 for JAVA as well, no way to check.*/
-      while (top <= real_top && SYMBOL_MATCHES_NAME (*top,name))
+      while (top <= real_top
+	     && (linkage_name
+		 ? (strcmp (SYMBOL_LINKAGE_NAME (*top), linkage_name) == 0)
+		 : SYMBOL_MATCHES_NAME (*top,name)))
 	{
 	  if (SYMBOL_NAMESPACE (*top) == namespace)
 	    {
@@ -1445,7 +1451,9 @@ lookup_partial_symbol (struct partial_sy
 	{
 	  if (namespace == SYMBOL_NAMESPACE (*psym))
 	    {
-	      if (SYMBOL_MATCHES_NAME (*psym, name))
+	      if (linkage_name
+		  ? (strcmp (SYMBOL_LINKAGE_NAME (*psym), linkage_name) == 0)
+		  : SYMBOL_MATCHES_NAME (*psym, name))
 		{
 		  return (*psym);
 		}
@@ -1492,7 +1500,8 @@ lookup_transparent_type (const char *nam
 
   ALL_PSYMTABS (objfile, ps)
   {
-    if (!ps->readin && lookup_partial_symbol (ps, name, 1, STRUCT_NAMESPACE))
+    if (!ps->readin
+	&& lookup_partial_symbol (ps, name, NULL, 1, STRUCT_NAMESPACE))
       {
 	s = PSYMTAB_TO_SYMTAB (ps);
 	bv = BLOCKVECTOR (s);
@@ -1539,7 +1548,8 @@ lookup_transparent_type (const char *nam
 
   ALL_PSYMTABS (objfile, ps)
   {
-    if (!ps->readin && lookup_partial_symbol (ps, name, 0, STRUCT_NAMESPACE))
+    if (!ps->readin
+	&& lookup_partial_symbol (ps, name, NULL, 0, STRUCT_NAMESPACE))
       {
 	s = PSYMTAB_TO_SYMTAB (ps);
 	bv = BLOCKVECTOR (s);
@@ -1580,7 +1590,7 @@ find_main_psymtab (void)
 
   ALL_PSYMTABS (objfile, pst)
   {
-    if (lookup_partial_symbol (pst, main_name (), 1, VAR_NAMESPACE))
+    if (lookup_partial_symbol (pst, main_name (), NULL, 1, VAR_NAMESPACE))
       {
 	return (pst);
       }
@@ -4026,8 +4036,10 @@ make_symbol_overload_list (struct symbol
     if (ps->readin)
       continue;
 
-    if ((lookup_partial_symbol (ps, oload_name, 1, VAR_NAMESPACE) != NULL)
-	|| (lookup_partial_symbol (ps, oload_name, 0, VAR_NAMESPACE) != NULL))
+    if ((lookup_partial_symbol (ps, oload_name, NULL, 1, VAR_NAMESPACE)
+	 != NULL)
+	|| (lookup_partial_symbol (ps, oload_name, NULL, 0, VAR_NAMESPACE)
+	    != NULL))
       PSYMTAB_TO_SYMTAB (ps);
   }
 



  parent reply	other threads:[~2003-06-22 18:35 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-02  7:37 Michael Elizabeth Chastain
2003-03-02 15:58 ` David Carlton
2003-06-22 18:35 ` Andrew Cagney [this message]
2003-06-24 20:45   ` David Carlton
  -- strict thread matches above, loose matches on Subject: below --
2003-06-22 21:10 Michael Elizabeth Chastain
2003-06-22 20:38 Michael Elizabeth Chastain
2003-06-22 20:49 ` Daniel Jacobowitz
2003-02-28 23:00 David Carlton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3EF5F6E2.90805@redhat.com \
    --to=ac131313@redhat.com \
    --cc=carlton@math.stanford.edu \
    --cc=gdb-patches@sources.redhat.com \
    --cc=mec@shout.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox