From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14552 invoked by alias); 2 Mar 2002 17:26:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 14533 invoked by uid 71); 2 Mar 2002 17:26:01 -0000 Date: Sat, 02 Mar 2002 09:26:00 -0000 Message-ID: <20020302172601.14529.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Adam Dingle Subject: Re: java/5794: gcj fails to verify .class file generated by Sun JDK 1.4 compiler Reply-To: Adam Dingle X-SW-Source: 2002-03/txt/msg00026.txt.bz2 List-Id: The following reply was made to PR java/5794; it has been noted by GNATS. From: Adam Dingle To: gcc-gnats@gcc.gnu.org Cc: Subject: Re: java/5794: gcj fails to verify .class file generated by Sun JDK 1.4 compiler Date: Sat, 02 Mar 2002 09:20:27 -0800 --Boundary_(ID_SqrWNdAHJp+UIEkskG5ToA) Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: 7BIT Another note. I tried compiling the same source file with Sun's JDK 1.3 compiler. It compiled the method differently, and did not generate any exception table entry with a target address inside the range of addresses which the entry itself protects. Nevertheless, GCJ 3.0.2 still fails to verify the class; it reports Foo.java: In class `Foo': Foo.java: In method `Foo.invoke()': Foo.java:6: verification error at PC=11 Foo.java:6: stack overflow The method's disassembly looks like this: Method int invoke() 0 iconst_1 1 istore_1 2 jsr 13 5 iload_1 6 ireturn 7 astore_2 8 jsr 13 11 aload_2 12 athrow 13 astore_3 14 iconst_3 15 ireturn Exception table: from to target type 0 7 7 any I've included the .class file generated by the JDK 1.3 compiler as an attachment to this message. (I found another test case where the compiler generates code which causes GCJ to seg fault, but I'll file a separate bug report for that one.) adam ------------------------------------------------------- --Boundary_(ID_SqrWNdAHJp+UIEkskG5ToA) Content-type: application/java; charset=iso-8859-1; name=Foo.class Content-transfer-encoding: base64 Content-disposition: attachment; filename=Foo.class yv66vgADAC0ADwoAAwAMBwANBwAOAQAGPGluaXQ+AQADKClWAQAEQ29kZQEAD0xpbmVOdW1iZXJU YWJsZQEABmludm9rZQEAAygpSQEAClNvdXJjZUZpbGUBAAhGb28uamF2YQwABAAFAQADRm9vAQAQ amF2YS9sYW5nL09iamVjdAAhAAIAAwAAAAAAAgABAAQABQABAAYAAAAdAAEAAQAAAAUqtwABsQAA AAEABwAAAAYAAQAAAAEAAQAIAAkAAQAGAAAANAABAAQAAAAQBDyoAAsbrE2oAAUsv04FrAABAAAA BwAHAAAAAQAHAAAACgACAAAABgAHAAgAAQAKAAAAAgAL --Boundary_(ID_SqrWNdAHJp+UIEkskG5ToA)--