This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA/testsuite] Tweak gdb.java/jmisc.java to pass on PowerPC


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]