From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 58828 invoked by alias); 9 Jul 2015 21:27:25 -0000 Mailing-List: contact java-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: java-owner@gcc.gnu.org Received: (qmail 58816 invoked by uid 89); 9 Jul 2015 21:27:25 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.8 required=5.0 tests=AWL,BAYES_20,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-qk0-f170.google.com Received: from mail-qk0-f170.google.com (HELO mail-qk0-f170.google.com) (209.85.220.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Thu, 09 Jul 2015 21:27:23 +0000 Received: by qkbp125 with SMTP id p125so194805244qkb.2 for ; Thu, 09 Jul 2015 14:27:21 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.140.149.76 with SMTP id 73mr29684818qhv.94.1436477241542; Thu, 09 Jul 2015 14:27:21 -0700 (PDT) Received: by 10.140.102.80 with HTTP; Thu, 9 Jul 2015 14:27:21 -0700 (PDT) In-Reply-To: References: Date: Thu, 09 Jul 2015 21:27:00 -0000 Message-ID: Subject: Fwd: GIJ fails in checking three test classes From: Yuting Chen To: java@gcc.gnu.org Content-Type: text/plain; charset=UTF-8 X-SW-Source: 2015-07/txt/msg00000.txt.bz2 Dear all, Not very sure that I can still get some responses here, or some bugs can be quickly fixed if gij will continue. I recently tested gij (GNU libgcj) version 5.1.0, and it seems that this JVM still conflicts with the other JVMs (e.g., HotSpot/IBM J9) in some cases. Some behaviors are not consistent with the existing JVM specifications. Here we report three simple format errors that gij may miss catching (i.e., HotSpot can throw an error while gij cannot). The classes cannot be attached, and thus I just decompile the classes. (1) Illegal class modifiers in class M1435964238: 0x201 public interface M1435964238 extends java.util.Set minor version: 0 major version: 46 flags: ACC_PUBLIC, ACC_INTERFACE Constant pool: #1 = Class #11 // M1435964238 #2 = Utf8 java/lang/Object #3 = Utf8 SourceFile #4 = Utf8 main #5 = Utf8 java/util/Set #6 = Utf8 Code #7 = Utf8 getFaultRole #8 = Utf8 ([Ljava/lang/String;)V #9 = Utf8 Jasmin #10 = Class #5 // java/util/Set #11 = Utf8 M1435964238 #12 = Utf8 ()Ljava/lang/String; #13 = Class #2 // java/lang/Object { public abstract java.lang.String getFaultRole(); descriptor: ()Ljava/lang/String; flags: ACC_PUBLIC, ACC_ABSTRACT public static void main(java.lang.String[]); descriptor: ([Ljava/lang/String;)V flags: ACC_PUBLIC, ACC_STATIC Code: stack=0, locals=1, args_size=1 0: return } (2) Method in class M1435965065 has illegal modifiers: 0x41 public class M1435965065 minor version: 0 major version: 51 flags: ACC_PUBLIC, ACC_SUPER Constant pool: #1 = Methodref #13.#7 // java/lang/Object."":()V #2 = Utf8 java/lang/Object #3 = Utf8 SourceFile #4 = Utf8 #5 = Utf8 main #6 = Utf8 M1435965065 #7 = NameAndType #4:#11 // "":()V #8 = Utf8 Code #9 = Class #6 // M1435965065 #10 = Utf8 ([Ljava/lang/String;)V #11 = Utf8 ()V #12 = Utf8 Jasmin #13 = Class #2 // java/lang/Object { public M1435965065(); descriptor: ()V flags: ACC_PUBLIC, ACC_BRIDGE Code: stack=1, locals=1, args_size=1 0: aload_0 1: invokespecial #1 // Method java/lang/Object."":()V 4: return } (3) Duplicate field name&signature in class file M1436185437 public final class M1436185437 extends javax.print.attribute.URISyntax implements javax.print.attribute.PrintServiceAttribute minor version: 0 major version: 46 flags: ACC_PUBLIC, ACC_FINAL, ACC_SUPER Constant pool: #1 = NameAndType #29:#33 // out:Ljava/io/PrintStream; #2 = Utf8 ([Ljava/lang/String;)V #3 = Utf8 Lcom/sun/corba/se/spi/activation/Locator; #4 = Class #23 // java/io/PrintStream #5 = Methodref #4.#31 // java/io/PrintStream.println:(I)V #6 = Utf8 _id #7 = Utf8 Lorg/omg/CORBA/TypeCode; #8 = Class #26 // java/lang/System #9 = Utf8 Code #10 = Utf8 M1436185437 #11 = Class #30 // javax/print/attribute/PrintServiceAttribute #12 = Utf8 main #13 = Utf8 serialVersionUID #14 = Fieldref #8.#1 // java/lang/System.out:Ljava/io/PrintStream; #15 = Utf8 javax/print/attribute/URISyntax #16 = Class #10 // M1436185437 #17 = Utf8 J #18 = Utf8 MAX_SKIP_BUFFER_SIZE #19 = Utf8 SourceFile #20 = Utf8 I #21 = Utf8 (I)V #22 = Utf8 __typeCode #23 = Utf8 java/io/PrintStream #24 = Utf8 println #25 = Utf8 Jasmin #26 = Utf8 java/lang/System #27 = Utf8 value #28 = Utf8 Ljava/lang/String; #29 = Utf8 out #30 = Utf8 javax/print/attribute/PrintServiceAttribute #31 = NameAndType #24:#21 // println:(I)V #32 = Class #15 // javax/print/attribute/URISyntax #33 = Utf8 Ljava/io/PrintStream; { public com.sun.corba.se.spi.activation.Locator value; descriptor: Lcom/sun/corba/se/spi/activation/Locator; flags: ACC_PUBLIC public com.sun.corba.se.spi.activation.Locator value; descriptor: Lcom/sun/corba/se/spi/activation/Locator; flags: ACC_PUBLIC } Yuting