This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA/testsuite] Tweak gdb.java/jmisc.java to pass on PowerPC
- From: Fernando Nasser <fnasser at redhat dot com>
- To: Daniel Jacobowitz <drow at mvista dot com>
- Cc: gdb-patches at sources dot redhat dot com, Anthony Green <green at cygnus dot com>
- Date: Mon, 01 Apr 2002 18:17:11 -0500
- Subject: Re: [RFA/testsuite] Tweak gdb.java/jmisc.java to pass on PowerPC
- Organization: Red Hat Canada
- References: <20020401165524.A11531@nevyn.them.org>
Anthony,
Do you have any objections?
Regards,
Fernando
Daniel Jacobowitz wrote:
>
> 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;
> }
> }
--
Fernando Nasser
Red Hat Canada Ltd. E-Mail: fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario M4P 2C9