* Re: stab at a fix for PR java/1039
@ 2003-03-02 7:37 Michael Elizabeth Chastain
2003-03-02 15:58 ` David Carlton
2003-06-22 18:35 ` Andrew Cagney
0 siblings, 2 replies; 8+ messages in thread
From: Michael Elizabeth Chastain @ 2003-03-02 7:37 UTC (permalink / raw)
To: carlton; +Cc: gdb-patches
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);
}
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: stab at a fix for PR java/1039
2003-03-02 7:37 stab at a fix for PR java/1039 Michael Elizabeth Chastain
@ 2003-03-02 15:58 ` David Carlton
2003-06-22 18:35 ` Andrew Cagney
1 sibling, 0 replies; 8+ messages in thread
From: David Carlton @ 2003-03-02 15:58 UTC (permalink / raw)
To: Michael Elizabeth Chastain; +Cc: gdb-patches
On Sun, 2 Mar 2003 01:37:21 -0600, Michael Elizabeth Chastain <mec@shout.net> said:
> 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.
Oh well. Hopefully I'll have access to a more recent gcj soonish.
David Carlton
carlton@math.stanford.edu
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: stab at a fix for PR java/1039
2003-03-02 7:37 stab at a fix for PR java/1039 Michael Elizabeth Chastain
2003-03-02 15:58 ` David Carlton
@ 2003-06-22 18:35 ` Andrew Cagney
2003-06-24 20:45 ` David Carlton
1 sibling, 1 reply; 8+ messages in thread
From: Andrew Cagney @ 2003-06-22 18:35 UTC (permalink / raw)
To: Michael Elizabeth Chastain, carlton; +Cc: gdb-patches
[-- 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);
}
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: stab at a fix for PR java/1039
@ 2003-06-22 21:10 Michael Elizabeth Chastain
0 siblings, 0 replies; 8+ messages in thread
From: Michael Elizabeth Chastain @ 2003-06-22 21:10 UTC (permalink / raw)
To: drow; +Cc: ac131313, carlton, gdb-patches
Argh, I forgot about jmisc.exp.
(gdb) break jmisc.main
the class jmisc does not have any method named main
Hint: try 'jmisc.main<TAB> or 'jmisc.main<ESC-?>
(Note leading single quote.)
(gdb) FAIL: gdb.java/jmisc.exp: setting breakpoint at jmisc.main
I am getting that too. :(
But jmisc1.exp and jmisc2.exp work:
(gdb) break jmisc.main(java.lang.String[])^M
Breakpoint 1 at 0x804adde: file /berman/fsf/_today_/source/gdb/HEAD/src/gdb/testsuite/gdb.java/jmisc.java, line 6.^M
(gdb) break jmisc.main(java.lang.String[])^M
Breakpoint 1 at 0x804adde: file /berman/fsf/_today_/source/gdb/HEAD/src/gdb/testsuite/gdb.java/jmisc.java, line 6.^M
Michael C
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: stab at a fix for PR java/1039
@ 2003-06-22 20:38 Michael Elizabeth Chastain
2003-06-22 20:49 ` Daniel Jacobowitz
0 siblings, 1 reply; 8+ messages in thread
From: Michael Elizabeth Chastain @ 2003-06-22 20:38 UTC (permalink / raw)
To: ac131313, carlton; +Cc: gdb-patches
I don't know where that particular patch is at.
Regarding PR 1039, I have a fresh testbed run here, and it says
that the "break main; run" tests in jmisc1.exp and jmisc2.exp work
in all the configurations I have with java (that is, with all
gcc v3, but no gcc v2). So this will be gone from my next list of
"5.3 versus HEAD" issues.
And back in those long-ago days of February 2003 I wrote:
mec> But this time we are going to go INTO
mec> the branch cut with near release-quality already!
mec> I'm excited!
Ha ha ha, the naivete of youth. :)
Michael C
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: stab at a fix for PR java/1039
2003-06-22 20:38 Michael Elizabeth Chastain
@ 2003-06-22 20:49 ` Daniel Jacobowitz
0 siblings, 0 replies; 8+ messages in thread
From: Daniel Jacobowitz @ 2003-06-22 20:49 UTC (permalink / raw)
To: Michael Elizabeth Chastain; +Cc: ac131313, carlton, gdb-patches
On Sun, Jun 22, 2003 at 04:38:39PM -0400, Michael Elizabeth Chastain wrote:
> I don't know where that particular patch is at.
>
> Regarding PR 1039, I have a fresh testbed run here, and it says
> that the "break main; run" tests in jmisc1.exp and jmisc2.exp work
> in all the configurations I have with java (that is, with all
> gcc v3, but no gcc v2). So this will be gone from my next list of
> "5.3 versus HEAD" issues.
Odd, break main fails here:
(gdb) break jmisc.main
the class jmisc does not have any method named main
Hint: try 'jmisc.main<TAB> or 'jmisc.main<ESC-?>
(Note leading single quote.)
(gdb) FAIL: gdb.java/jmisc.exp: setting breakpoint at jmisc.main
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
^ permalink raw reply [flat|nested] 8+ messages in thread
* stab at a fix for PR java/1039
@ 2003-02-28 23:00 David Carlton
0 siblings, 0 replies; 8+ messages in thread
From: David Carlton @ 2003-02-28 23:00 UTC (permalink / raw)
To: Michael Elizabeth Chastain; +Cc: gdb-patches
Michael, could you give this patch a try on gdb.java/jmisc2.exp in a
situation where that test used to pass before this month? I don't
have the right version of gcj to test it, but it's vaguely possible
that this patch might do the trick. There's certainly a bug in GDB in
this code, which this patch hopefully fixes; I could imagine how that
test might tickle the code in question.
David Carlton
carlton@math.stanford.edu
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);
}
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2003-06-24 20:45 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-02 7:37 stab at a fix for PR java/1039 Michael Elizabeth Chastain
2003-03-02 15:58 ` David Carlton
2003-06-22 18:35 ` Andrew Cagney
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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox