From: Daniel Jacobowitz <drow@mvista.com>
To: gdb-patches@sources.redhat.com, fnasser@redhat.com
Subject: [RFA/testsuite] Tweak gdb.java/jmisc.java to pass on PowerPC
Date: Mon, 01 Apr 2002 13:55:00 -0000 [thread overview]
Message-ID: <20020401165524.A11531@nevyn.them.org> (raw)
At the current time, GCJ emits a call to _Jv_InitClass in the prologue of
jmisc.main. That's right, a function call in the prologue. What this means
to us is that if an argument does not have a second home in the function,
and it is passed in a register, we'll never be able to print it inside the
function. It will be clobbered by the time we stop outside of the prologue.
The only reason the test passed on i386 was because the incoming argument
was actually located on the stack (and thus survived the function call).
[this is especially nasty because failing to print a Java array makes GDB
very sad. It loops for hours, walking up the stack (very slowly because of
thread_db). We then kill gdb, which may or may not kill jmisc, so the
testsuite tends to leave zombies lying around.]
This patch adds a use of the argument after the prologue, so that it will
still be available to print. OK to commit?
--
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 (int len)''. Call it.
* gdb.java/jmisc.exp (ptype jmisc): Update to match.
Index: 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
--- jmisc.exp 2001/03/06 08:21:58 1.2
+++ jmisc.exp 2002/04/01 21:45:07
@@ -70,7 +70,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\\(int\\);\[\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 }
}
Index: 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
--- jmisc.java 2000/07/24 04:34:52 1.1
+++ jmisc.java 2002/04/01 21:45:07
@@ -1,7 +1,12 @@
public class jmisc
{
+ public static void foo (int len)
+ {
+ return;
+ }
public static void main (String[] args)
{
+ foo (args.length);
return;
}
}
next reply other threads:[~2002-04-01 21:55 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-04-01 13:55 Daniel Jacobowitz [this message]
2002-04-01 15:19 ` Fernando Nasser
2002-04-01 19:43 Michael Elizabeth Chastain
2002-04-01 19:49 ` Daniel Jacobowitz
2002-04-01 20:01 Michael Elizabeth Chastain
2002-04-01 20:48 ` Daniel Jacobowitz
2002-04-01 23:08 ` Daniel Jacobowitz
2002-04-02 8:24 Michael Elizabeth Chastain
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=20020401165524.A11531@nevyn.them.org \
--to=drow@mvista.com \
--cc=fnasser@redhat.com \
--cc=gdb-patches@sources.redhat.com \
/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