Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@mvista.com>
To: Michael Elizabeth Chastain <mec@shout.net>,
	fnasser@redhat.com, gdb-patches@sources.redhat.com
Subject: Re: [RFA/testsuite] Tweak gdb.java/jmisc.java to pass on PowerPC
Date: Mon, 01 Apr 2002 23:08:00 -0000	[thread overview]
Message-ID: <20020402020804.A1086@nevyn.them.org> (raw)
In-Reply-To: <20020401234814.A29797@nevyn.them.org>

On Mon, Apr 01, 2002 at 11:48:14PM -0500, Daniel Jacobowitz wrote:
> On Mon, Apr 01, 2002 at 10:01:44PM -0600, Michael Elizabeth Chastain wrote:
> > Okay, I'll volunteer, but I don't have any PPC hardware.  If you
> > send me a binary test program, will I be able to get somewhere with a
> > powerpc-unknown-eabi cross gdb?
> > 
> > I will see if I can at least make gdb throw up instead of going into a
> > silent death spiral.
> 
> I can't think how.  Running Java programs requires a threads package,
> as best I can tell - if it's possible without, I can't see how...
> 
> Actually, though, I figured out where the problem lies.  I'll spare you
> the investigation and try to fix it myself.

Here's a revised testsuite patch.  This one only adds tests, doesn't
remove any.  The patch to fix the others will be in my next message. 
This one better, Michael?

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer

2002-04-01  Daniel Jacobowitz  <drow@mvista.com>

	* gdb.java/jmisc.java: Add ``void foo (String[] args)''.  Call it.
	* gdb.java/jmisc2.java: New test.
	* gdb.java/jmisc.exp (ptype jmisc): Update to match ``foo''.  Add
	test for jmisc2.

Index: testsuite/gdb.java/jmisc2.java
===================================================================
RCS file: N/A
diff -u /dev/null testsuite/gdb.java/jmisc2.java
--- /dev/null	Wed Dec 31 19:00:00 1969
+++ testsuite/gdb.java/jmisc2.java	Tue Apr  2 02:03:47 2002
@@ -0,0 +1,7 @@
+public class jmisc2
+{
+  public static void main (String[] args)
+  {
+    return;
+  }
+}
Index: testsuite/gdb.java/jmisc.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.java/jmisc.exp,v
retrieving revision 1.2
diff -u -p -r1.2 jmisc.exp
--- testsuite/gdb.java/jmisc.exp	2001/03/06 08:21:58	1.2
+++ testsuite/gdb.java/jmisc.exp	2002/04/02 07:04:23
@@ -34,6 +34,14 @@ if  { [compile_java_from_source ${srcfil
     return -1
 }
 
+set testfile2 "jmisc2"
+set srcfile2 ${srcdir}/$subdir/${testfile2}.java
+set binfile2 ${objdir}/${subdir}/${testfile2}
+if  { [compile_java_from_source ${srcfile2} ${binfile2} "-g"] != "" } {
+    untested "Couldn't compile ${srcfile2}"
+    return -1
+}
+
 # Set the current language to java.  This counts as a test.  If it
 # fails, then we skip the other tests.
 
@@ -70,7 +78,7 @@ if ![set_lang_java] then {
 
     send_gdb "ptype jmisc\n"   
     gdb_expect {   
-	-re "type = class jmisc  extends java.lang.Object \{\[\r\n\ \t]+void main\\(java\.lang\.String\\\[]\\);\[\r\n\ \t]+void <init>\\(void\\);\[\r\n\ \t]+\}\[\r\n\ \t]+$gdb_prompt $"               { pass "ptype jmisc" }
+	-re "type = class jmisc  extends java.lang.Object \{\[\r\n\ \t\]+void foo\\(java\.lang\.String\\\[]\\);\[\r\n\ \t\]+void main\\(java\.lang\.String\\\[]\\);\[\r\n\ \t]+jmisc\\(\\);\[\r\n\ \t]+\}\[\r\n\ \t]+$gdb_prompt $"               { pass "ptype jmisc" }
 	-re ".*$gdb_prompt $"             { fail "ptype jmisc" }
 	timeout { fail "ptype jmisc (timeout)" ; return }
     }
@@ -87,5 +95,29 @@ if ![set_lang_java] then {
 	-re "\\\$2 = \{length: 0\}\[\r\n\ \t]+$gdb_prompt $"                                                             { pass "p *args" }
 	-re ".*$gdb_prompt $"             { fail "p *args" }
 	timeout { fail "p *args (timeout)" ; return }
+    }
+}
+
+# Start a clean gdb on jmisc2
+set testfile ${testfile2}
+set srcfile ${srcfile2}
+set binfile ${binfile2}
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+
+if ![set_lang_java] then {
+    runto ${testfile}.main
+
+    # On architectures where arguments are passed in registers (not on the
+    # stack), if the argument to main is dead, GCJ's call to _Jv_Init may
+    # corrupt the argument pointer.  Make sure GDB doesn't crash printing
+    # the (possibly corrupt) pointer.
+    send_gdb "p *args\n"
+    gdb_expect {   
+	-re ".*$gdb_prompt $"
+		{ pass "p *args a second time" }
+	timeout { fail "p *args a second time (timeout)" ; return }
     }
 }
Index: testsuite/gdb.java/jmisc.java
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.java/jmisc.java,v
retrieving revision 1.1
diff -u -p -r1.1 jmisc.java
--- testsuite/gdb.java/jmisc.java	2000/07/24 04:34:52	1.1
+++ testsuite/gdb.java/jmisc.java	2002/04/02 07:04:23
@@ -1,7 +1,12 @@
 public class jmisc
 {
+  public static void foo (String[] args)
+  {
+    return;
+  }
   public static void main (String[] args)
   {
+    foo (args);
     return;
   }
 }


  reply	other threads:[~2002-04-02  7:08 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-04-01 20:01 Michael Elizabeth Chastain
2002-04-01 20:48 ` Daniel Jacobowitz
2002-04-01 23:08   ` Daniel Jacobowitz [this message]
  -- strict thread matches above, loose matches on Subject: below --
2002-04-02  8:24 Michael Elizabeth Chastain
2002-04-01 19:43 Michael Elizabeth Chastain
2002-04-01 19:49 ` Daniel Jacobowitz
2002-04-01 13:55 Daniel Jacobowitz
2002-04-01 15:19 ` Fernando Nasser

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=20020402020804.A1086@nevyn.them.org \
    --to=drow@mvista.com \
    --cc=fnasser@redhat.com \
    --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