[Bug libgcj/27066] libgcj native socket code does not support IPv6

2006-04-11 Thread mckinlay at redhat dot com


--- Comment #4 from mckinlay at redhat dot com  2006-04-11 18:08 ---
You are correct - I didn't notice that setTcpNoDelay, etc, call getImpl() -
however, this could be fixed if neccessary.

The question is whether this fix is the best one. Is there any disadvantage
(performance or otherwise) to always using PF_INET6 sockets, even for IPv4
addresses?


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-04-11 18:08:20
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27066



[Bug libgcj/27219] bogus-looking code in natPlainSocketImplPosix.cc

2006-04-20 Thread mckinlay at redhat dot com


--- Comment #3 from mckinlay at redhat dot com  2006-04-20 21:45 ---
It does look like these should be made robust in the case of an EINTR which was
caused by a signal other than the interrupt signal.

As for ignoring ENOTCONN and ECONNRESET, I have a vague recollection that there
is a good reason for doing this (compatibility with Sun?) - but this probably
does warrant more testing/investigation, and a better comment.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27219



[Bug libgcj/27170] Deadlock in garbage collector

2006-04-20 Thread mckinlay at redhat dot com


--- Comment #9 from mckinlay at redhat dot com  2006-04-20 23:55 ---
I have checked in the fix to the trunk and gcc-4_1-branch.


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27170



[Bug tree-optimization/27389] [4.2 Regression] bootstrap fails building libjava, verify_flow_info fails

2006-05-02 Thread mckinlay at redhat dot com


--- Comment #2 from mckinlay at redhat dot com  2006-05-02 15:33 ---
I could not reproduce the bootstrap failure on x86-64 as of revision 113466.

The test case does fail, however, when built with -findirect-dispatch.

Looks like a dupe of bug 26447 ?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27389



[Bug tree-optimization/27389] [4.2 Regression] java: verify_flow_info fails

2006-05-02 Thread mckinlay at redhat dot com


--- Comment #3 from mckinlay at redhat dot com  2006-05-02 17:32 ---


*** This bug has been marked as a duplicate of 26447 ***


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE
Summary|[4.2 Regression] bootstrap  |[4.2 Regression] java:
   |fails building libjava, |verify_flow_info fails
   |verify_flow_info fails  |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27389



[Bug tree-optimization/26447] [4.2 Regression] verify_flow_info failed, load PRE with java program

2006-05-02 Thread mckinlay at redhat dot com


--- Comment #13 from mckinlay at redhat dot com  2006-05-02 17:32 ---
*** Bug 27389 has been marked as a duplicate of this bug. ***


-- 
Bug 26447 depends on bug 27389, which changed state.

Bug 27389 Summary: [4.2 Regression] java: verify_flow_info fails
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27389

   What|Old Value   |New Value

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26447



[Bug libgcj/27352] SecurityManager.checkPermission() called unnecessarily

2006-05-15 Thread mckinlay at redhat dot com


--- Comment #6 from mckinlay at redhat dot com  2006-05-16 01:03 ---
I've posted a suggested fix here:

http://gcc.gnu.org/ml/java-patches/2006-q2/msg00168.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27352



[Bug libgcj/27352] SecurityManager.checkPermission() called unnecessarily

2006-05-17 Thread mckinlay at redhat dot com


--- Comment #8 from mckinlay at redhat dot com  2006-05-17 15:18 ---
Fixed


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27352



[Bug java/27643] New: ICE in java_mark_cni_decl_local compiling bytecode->native

2006-05-17 Thread mckinlay at redhat dot com
The following test case crashes:

$ gcj -C PipeImpl.java
$ gcj -c *.class -o t.o
PipeImpl.java:0: internal compiler error: in java_mark_cni_decl_local, at
java/decl.c:2182

class PipeImpl
{
  public PipeImpl ()
  {
VMPipe.init (this);
  }
}

final class VMPipe
{
  static native void init(PipeImpl self);
}


-- 
   Summary: ICE in java_mark_cni_decl_local compiling bytecode-
>native
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mckinlay at redhat dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27643



[Bug java/27812] New: Classpath AWT Demo: anonymous class call miscompilation

2006-05-29 Thread mckinlay at redhat dot com
GCJ miscompiles part of the classpath AWT demo application in:

classpath/examples/gnu/classpath/examples/awt/Demo.java

In an anonoymous inner class ActionListener implementation, an unqualified call
to a superclass of the outer class is called on "this" instead of the outer
class.

This happens with either source->native or source->bytecode compilation.

class Super
{
void dispose()
{
  System.out.println("OK");
}
}

public class PR27812
{
  public static void main(String[] args)
  {
Y y = new Y();
y.y();
  }

  static interface I
  {
abstract void actionPerformed();
  }

  static class Y extends Super
  {
void y()
{
  new I () {
  public void actionPerformed () {
dispose();
  }
}.actionPerformed();
}
  }
}

$ gcj -C PR27812.java
$ gij PR27812
Exception in thread "main" java.lang.NoSuchMethodError: method
PR27812$Y$1.dispose with signature ()V was not found.
   at PR27812$Y$1.actionPerformed (PR27812.java:28)
   at PR27812$Y.y (PR27812.java:30)
   at PR27812.main (PR27812.java:14)


-- 
   Summary: Classpath AWT Demo: anonymous class call miscompilation
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: mckinlay at redhat dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27812



[Bug libgcj/20047] runtime 'protected' access checks

2006-06-01 Thread mckinlay at redhat dot com


--- Comment #2 from mckinlay at redhat dot com  2006-06-01 11:07 ---
This rule is mentioned in the last paragraph of JVMS, S 5.4.4:

http://java.sun.com/docs/books/vmspec/2nd-edition/html/ConstantPool.doc.html#75929

It is explicitly stated that this is checked during verification, unlike other
accessibility checks which are performed at link time.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20047



[Bug java/27925] Trampolines not generated for private inner class methods.

2006-06-07 Thread mckinlay at redhat dot com


--- Comment #2 from mckinlay at redhat dot com  2006-06-07 18:06 ---


*** This bug has been marked as a duplicate of 19870 ***


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27925



[Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries

2006-06-07 Thread mckinlay at redhat dot com


--- Comment #20 from mckinlay at redhat dot com  2006-06-07 18:06 ---
*** Bug 27925 has been marked as a duplicate of this bug. ***


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

 CC||csm at gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870



[Bug libgcj/27938] New: gij should dlopen() libgcj

2006-06-07 Thread mckinlay at redhat dot com
Recently, gij was changed to re-exec itself after resetting its own
LD_LIBRARY_PATH.

This change almost doubles the time needed to execute "Hello World", from 0.13s
to 0.25s on my system (and compared to 0.08s for the Sun VM).

The reason is that since gij is linked against libgcj.so, the linker's work is
being done twice as libgcj is loaded twice.

Instead, we could dlopen() libgcj only on the second invocation of gij. This
may require some cleanups to avoid accessing libgcj methods/symbols during the
first gij invocation, before the dlopen() occurs.


-- 
   Summary: gij should dlopen() libgcj
   Product: gcc
   Version: 2.95
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libgcj
AssignedTo: unassigned at gcc dot gnu dot org
    ReportedBy: mckinlay at redhat dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27938



[Bug libgcj/27938] gij should dlopen() libgcj

2006-06-07 Thread mckinlay at redhat dot com


--- Comment #1 from mckinlay at redhat dot com  2006-06-07 21:58 ---
No longer neccessary, since Tom has changed gij to not re-exec itself:

http://gcc.gnu.org/ml/java-patches/2006-q2/msg00330.html


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27938



[Bug libgcj/28175] libgcj install tree should be relocatable

2006-06-29 Thread mckinlay at redhat dot com


--- Comment #1 from mckinlay at redhat dot com  2006-06-29 18:10 ---
Using /proc/self/exe would only work for "gij" - we'd want a solution that can
work for native binaries as well, so figuring out the prefix based on
libgcj.so's location is probably better.

On Linux, this can be found with dl_iterate_phdr().


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

 CC|        |mckinlay at redhat dot com
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-06-29 18:10:01
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28175



[Bug java/22299] Even length strings (not odd) placed in .section .rodata.jutf8.# at -O1 or above.

2006-06-30 Thread mckinlay at redhat dot com


--- Comment #1 from mckinlay at redhat dot com  2006-06-30 19:01 ---
The sizes of the constant-merging sections must be a multiple of the alignment
of their contents. UtfConsts have 2-byte alignment, so odd-sized strings are
rounded up and go in the next-sized bucket.

So, it is correct for "ODD" and "" to both go in .rodata.jutf8.8, which is
what is happening here. Constant merging is not performed below -O1.


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

 CC|        |mckinlay at redhat dot com
 Status|UNCONFIRMED |RESOLVED
 Resolution||WORKSFORME


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22299



[Bug java/22299] Even length strings (not odd) placed in .section .rodata.jutf8.# at -O1 or above.

2006-06-30 Thread mckinlay at redhat dot com


--- Comment #2 from mckinlay at redhat dot com  2006-06-30 19:04 ---
Correction: Both "XX" and "ODD" go in .rodata.jutf8.8. "" would go in
.rodata.jutf8.10.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22299



[Bug libgcj/1907] symbol demangling by Throwable.printStackTrace

2006-07-06 Thread mckinlay at redhat dot com


--- Comment #8 from mckinlay at redhat dot com  2006-07-06 22:56 ---
Fixed. libgcj no longer needs to do symbol demangling.


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1907



[Bug libgcj/13139] gcj throws exception with faulty stacktrace with freenet

2006-07-06 Thread mckinlay at redhat dot com


--- Comment #7 from mckinlay at redhat dot com  2006-07-06 23:06 ---
Verified that freenet-0.5.2.1 now produces valid stack traces running under
gcj.


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13139



[Bug libgcj/28352] New: Interpreter: Stack trace line numbers sometimes missing or incorrect

2006-07-11 Thread mckinlay at redhat dot com
When the following test case is built with gcj -C, the innermost frame is
missing from the stack trace:

public class Ex {
   void snafu( ) throws Exception {
 throw new Exception();
   }
   void bar( ) throws Exception {
 snafu( );
   }
   void foo( ) throws Exception {
 bar( );
   }
   public static void main( String[] args) throws Exception {
 new Ex( ).foo( );
  }
}


$ gij Ex
Exception in thread "main" java.lang.Exception
   at Ex.snafu(Ex.java)
   at Ex.bar(Ex.java:6)
   at Ex.foo(Ex.java:9)
   at Ex.main(Ex.java:12)

In addition, when built with a different bytecode compiler (ecj), the stack
trace is complete, but has off-by-one line number errors:

$ gij Ex
Exception in thread "main" java.lang.Exception
   at Ex.snafu(Ex.java:3)
   at Ex.bar(Ex.java:7)
   at Ex.foo(Ex.java:10)
   at Ex.main(Ex.java:13)


-- 
   Summary: Interpreter: Stack trace line numbers sometimes missing
or incorrect
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libgcj
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mckinlay at redhat dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28352



[Bug libgcj/28352] Interpreter: Stack trace line numbers sometimes missing or incorrect

2006-07-11 Thread mckinlay at redhat dot com


--- Comment #1 from mckinlay at redhat dot com  2006-07-11 21:32 ---
Correction: the description should read "the line number for the inner-most
frame is missing from the stack trace".


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28352



[Bug java/28352] gcj -C fails to generate line number info for method

2006-07-12 Thread mckinlay at redhat dot com


--- Comment #4 from mckinlay at redhat dot com  2006-07-12 13:59 ---
I've committed a patch which fixes the "off by one" error seen with
ecj-produced bytecode. The missing line number issue is a different bug. It
seems that "gcj -C" simply does not generate any debug info for the "snafu"
method in the example below. 

I'm reassigning this as a front-end bug.


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

  Component|libgcj  |java
Summary|Interpreter: Stack trace|gcj -C fails to generate
   |line numbers sometimes  |line number info for method
   |missing or incorrect|


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28352



[Bug libgcj/9250] runtime should only use non-visible locks

2005-11-17 Thread mckinlay at redhat dot com


--- Comment #4 from mckinlay at redhat dot com  2005-11-17 17:38 ---
I'm curious whether other Java implementations do this - my guess is no, since
some of these locks are mandated by the spec (during class initialization, for
example), so it seems that denial-of-service attacks would always be possible.
Its my understanding that the Java security model is not really designed or
intended to guard against DOS attacks.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9250



[Bug java/24980] GCJ/GIJ segfaults on Workout.java from Click and Hack's "Java Puzzlers"

2005-11-21 Thread mckinlay at redhat dot com


--- Comment #7 from mckinlay at redhat dot com  2005-11-21 22:02 ---
> Except that under Bryce's GCJ, the function terminates successfully
> even if you throw in System.out.println's into it, thus tainting its
> "purity".

No, when I add a System.out.println("hi"), and compile with a trunk gcj, the
example behaves as expected - "hi" is printed many times until a stack overflow
eventually occurs, resulting in a segfault. Removing the try/finally, the
example runs forever thanks to tail-call optimization.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24980



[Bug libgcj/19823] java fails with non-executable memory

2005-02-15 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-02-16 04:22 
---
Michael (or someone else who has seen this bug),

Could you confirm that this patch fixes it?

Thanks


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19823


[Bug java/20338] Program compiled with gcj crashes when accessing private static method from nested class

2005-03-09 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-03-09 18:06 
---
Other Java compilers generate "accessor" methods for calls to private methods in
a nested class, the real bug here is that GCJ doesn't do this - thats why the
javac bytecode works fine on gij but gcj-produced bytecode does not.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20338


[Bug java/19870] gcj -C doesn't generate accessors for private members in inner class

2005-03-09 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-03-09 18:22 
---
gcj is generating code which references private members across class boundaries,
which isn't legal at the class/VM level. To fix this, we need to generate
package-private accessor methods when a private member is referenced from an
enclosed or enclosing class.

eg: jikes generates:

Method name:"main" public static Signature: (java.lang.String[])void
Attribute "Code", length:38, max_stack:2, max_locals:1, code_length:10
  0: getstatic 
  3: invokestatic 
  6: invokevirtual 
  9: return
Attribute "LineNumberTable", length:10, count: 2
  line: 10 at pc: 0
  line: 11 at pc: 9

Method name:"access$0" static Signature: ()int
Attribute "Synthetic", length:0
Attribute "Code", length:28, max_stack:1, max_locals:0, code_length:4
  0: getstatic 
  3: ireturn
Attribute "LineNumberTable", length:6, count: 1
  line: 3 at pc: 0


-- 
   What|Removed |Added

Summary|gcj -C compiled code|gcj -C doesn't generate
   |accessing private fields of |accessors for private
   |inner classes from outer|members in inner class
   |class give  |
   |IllegalAccessError  |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870


[Bug java/13124] Included test case produced verfication error

2005-03-09 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-03-10 00:52 
---
Fixed with the new verifier.

-- 
   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.1.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13124


[Bug java/12734] gcj verifier doesn't merge interface types correctly

2005-03-09 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-03-10 00:53 
---
Fixed with the new verifier.

-- 
   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12734


[Bug java/13378] gcj compiling from jar files - verification error

2005-03-09 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-03-10 01:29 
---
This is failing because the bytecode in this .jar really is broken:

public class Test
{
  public static void main(String[] args) throws Exception
  {
Class f = Class.forName("org.eclipse.jface.util.OpenStrategy$1");
System.out.println (f);
  }
}

$ java Test
Exception in thread "main" java.lang.VerifyError: (class:
org/eclipse/jface/util/OpenStrategy$1, method: handleEvent signature:
(Lorg/eclipse/swt/widgets/Event;)V) Register 2 contains wrong type
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at Test.main(Test.java:7)

However, its questionable whether gcj should actually report this error with
--indirect-dispatch. The verifier is correctly deferring this type check to
runtime via a type assertion but code in expr.c is still doing its own check
(hangover from the old verifier, I guess). Then again its probably a reasonable
assumption to make that java.lang.Object is never assignment-compatible to
anything else.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13378


[Bug java/20338] Program compiled with gcj crashes when accessing private static method from nested class

2005-03-10 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-03-10 11:30 
---
Why not check in the test case and XFAIL it? 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20338


[Bug java/20502] gcj failure if .jar contains same .class twice

2005-03-16 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-03-16 19:01 
---
I think in general, if a .jar is valid for the VM, then we should do our best to
compile it without an error. So - we should just ignore (well, issue a warning
perhaps) duplicately-named class files in a jar.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-03-16 19:01:19
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20502


[Bug java/20502] gcj failure if .jar contains same .class twice

2005-03-16 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-03-16 19:33 
---
I wonder why this check doesn't catch it (jcf-parse.c):

  if (CLASS_PARSED_P (current_class))
{
  /* FIXME - where was first time */
  fatal_error ("reading class %s for the second time from %s",
   IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (current_class))),
   jcf->filename);
}
  CLASS_PARSED_P (current_class) = 1;


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20502


[Bug libgcj/20504] java.util.regex implementation doesn't support quoting constructs

2005-03-16 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-03-16 22:27 
---
The patch looks reasonable to me. Is the quoting feature something that should
be used in Perl style regular expressions as well, or is this a difference
between Perl-style and Java-style? If it is a difference, this feature should
only be enabled when RE_SYNTAX_JAVA_1_4 is enabled. 

Ziga, do you have a copyright assignment for GNU Classpath? This patch will need
a changelog entry, too?



-- 
   What|Removed |Added

 CC||ziga dot mahkovec at klika
   ||dot si
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-03-16 22:27:24
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20504


[Bug libgcj/20504] java.util.regex implementation doesn't support quoting constructs

2005-03-16 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-03-17 01:29 
---
Please make sure the ChangeLog is properly formatted. You're missing the name of
the changed method, and a "*" beside the filename. We're quite picky about this 
;-)

Otherwise, the patch looks great. Please check it in once your assignment
paperwork is complete. Thanks!


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20504


[Bug libgcj/20508] New: gij prints too much information if an incorrect class is given

2005-03-16 Thread mckinlay at redhat dot com
When the name of a non-existant class is given to gij, the error given is far
too verbose:

$ gij Blah
Exception in thread "main" java.lang.NoClassDefFoundError: Blah
   at gnu.java.lang.MainThread.run (MainThread.java:98)
Caused by: java.lang.ClassNotFoundException: Blah not found in
gnu.gcj.runtime.SystemClassLoader{urls=[file:./],
parent=gnu.gcj.runtime.VMClassLoader{urls=[core:/], parent=null}}
   at java.net.URLClassLoader.findClass (URLClassLoader.java:923)
   at java.lang.ClassLoader.loadClass (ClassLoader.java:309)
   at java.lang.Class.forName (natClass.cc:88)
   at gnu.java.lang.MainThread.run (MainThread.java:94)

This is a lot more information than the user needs. Compare this with Sun's VM:

$ java Blah
Exception in thread "main" java.lang.NoClassDefFoundError: Blah

We should not wrap the ClassNotFoundException in MainThread.run, and the stack
trace code should supress stack trace printing when main() has not yet been
called (or, at least, for this special case - when the exception is thrown from
MainThread.run).

-- 
   Summary: gij prints too much information if an incorrect class is
given
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: libgcj
AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: mckinlay at redhat dot com
CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20508


[Bug libgcj/20704] CNI code is called/loaded without any security checks

2005-03-31 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-03-31 19:01 
---
I'm not sure that this should really be considered a bug. loadLibrary() must
obviously be a privileged function because arbritary code could be loaded by
calling it (possibly from an insecure context), but having/calling a CNI method
does not in itself cause anything to be loaded. A CNI method implementation must
already be loaded by being explicitly linked into an application binary.

To put it another way: is there a way that insecure bytecode can actually turn
this into an exploit?

Perhaps some kind of validity check is needed at link time to ensure that native
method declarations in insecure code do not link against an inappropriate native
method (for example, make sure that insecure classes cannot call themselves
gnu.foo.Whatever and get linked to a private CNI method implementation in
another class of the same name).

In any case, checking the loadLibrary permission is the wrong approach because
there is no library actually being loaded. The correct behaviour would be to
simply not link the method if something isn't right, resulting in an
UnsatisfiedLinkError.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20704


[Bug libgcj/20750] libgcj needs a --with-java-home configure option

2005-04-04 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-04-04 20:03 
---
Whats the advantage to setting these at configure time? Couldn't java-gcj-compat
just set them when it invokes gij?

It seems a little awkward to hardcode paths like "java-1.4.2-gcj-1.4.2.0" into
libgcj when this is really a property of java-gcj-compat. 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20750


[Bug libgcj/20750] libgcj needs a --with-java-home configure option

2005-04-04 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-04-04 21:27 
---
Yeah, in the case where java-gcj-compat is merged into libgcj (ie libgcj is set
up to look like a JVM) then this option makes sense.

libgcj would install its .jars and whatever other JVMish files applications
expect to find into this directory, and set java.home accordingly. 

I don't see a reason why we couldn't go ahead and implement this on HEAD now,
even though an external wrapper would still be needed for now to use ecj as 
javac.

I so think it seems a bit non-intuitive to have --with-java-home just set a
property and not actually install things into that directory, relying on an
external package to actually populate it, however. We should at least install
libgcj.jar into the directory given?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20750


[Bug libgcj/20761] fastjar not correctly defined when compiling with cross compilers.

2005-04-04 Thread mckinlay at redhat dot com


-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|java|libgcj
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-04-04 22:17:59
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20761


[Bug libgcj/20761] fastjar not correctly defined when compiling with cross compilers.

2005-04-04 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-04-04 22:31 
---
Thanks, I've checked in your patch for this. Note that in theory, fastjar should
be target-neutral, so I don't think it makes much sense to call it
$(target)-fastjar... oh well.

-- 
   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20761


[Bug java/20768] Bytecode -> native code doesn't handle exception properly

2005-04-05 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-04-05 18:33 
---
Confirmed. There seems to be something unique about the exception table
generated by ecj which confuses gcj. Note that this happens both with or without
optimization.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-04-05 18:33:25
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20768


[Bug libgcj/20775] Crash in libgcj.so on linux alpha

2005-04-05 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-04-05 21:46 
---
Is this is a Multi-processor machine? Does the crash always occur 100% in the
same place or is it intermittent? Thanks.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20775


[Bug libgcj/20975] Remove scripts/TexinfoDoclet.java

2005-04-12 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-04-12 19:56 
---
Yes, this should be removed - it has been superceeded by texidoclet in
classpath-tools, anyway. I will check in this patch.


-- 
   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-04-12 19:56:35
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20975


[Bug libgcj/20975] Remove scripts/TexinfoDoclet.java

2005-04-12 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-04-12 20:09 
---
Fixed.

-- 
   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20975


[Bug java/20977] New: Invalid long to int promotion permitted in array initializer

2005-04-12 Thread mckinlay at redhat dot com
The following code is invalid as implicitly converting a long to int could
result in the value being truncated. However, GCJ accepts this code.

public class Arraybound
{
  public byte[] x(long l)
  {
return new byte[l];
  }
}

-- 
   Summary: Invalid long to int promotion permitted in array
initializer
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Keywords: accepts-invalid
  Severity: normal
  Priority: P2
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mckinlay at redhat dot com
CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20977


[Bug java/20978] New: Failure to detect unhandled exception

2005-04-12 Thread mckinlay at redhat dot com
In some cases GCJ fails to detect unhandled exceptions. In the code below, the
method x() is invalid because FileChannel.close() can throw an IOException. GCJ
should report an error stating that the exception must be caught or declared to
be thrown.

import java.nio.channels.*;

public class FCIO
{
  FileChannel fc;
  
  public void x()
  {
fc.close();
  }
}

-- 
   Summary: Failure to detect unhandled exception
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Keywords: accepts-invalid
  Severity: normal
  Priority: P2
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mckinlay at redhat dot com
CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20978


[Bug libgcj/20958] Compile Errors In two files in gnu.gcj

2005-04-12 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-04-12 23:26 
---
Fixed.

-- 
   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20958


[Bug libgcj/10353] [3.3/3.4/4.0/4.1 regression] Java testsuite failures

2005-04-18 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-04-18 14:55 
---
I don't think a gij test failure is expected. Array_3 is known to fail when
native compiled, however.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10353


[Bug libgcj/23739] JNI: IsAssignableFrom reverses arguments

2005-09-05 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-09-05 22:20 
---
IMO Sun actually got it wrong here ;-) Reading function arguments from
left-to-right, I'd expect the first argument to be the context ("Is") and the
second to be the class refered to in (the "From").

Having said that, it is rather confusing that the order is reversed between JNI
and libgcj's internal function. I agree we should fix it, though there are a lot
of callers to update. It is not an issue for CNI, because IsAssignableFrom is
not exposed as a public CNI function.


-- 
   What|Removed |Added

Summary|IsAssignableFrom reverses   |JNI: IsAssignableFrom
   |arguments   |reverses arguments


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23739


[Bug java/23891] New: Problem folding static fields across packages

2005-09-14 Thread mckinlay at redhat dot com
The following test case, derived from Eclipse/ecj, fails to compile on HEAD and
current 4.0 branch. This is a regression since 4.0.0.

package ast;

import classfmt.*;
public abstract class ASTNode implements ClassFileConstants {
}

---

package ast;

public class EqualExpression extends ASTNode {
public void resolveType() {
long foo = JDK1_5;
}
}

---

package classfmt;

public interface ClassFileConstants {
int MINOR_VERSION_0 = 0;
long JDK1_5 = (long) ClassFileConstants.MINOR_VERSION_0;
}


$ gcj -c ast/EqualExpression.java
./classfmt/ClassFileConstants.java: In class 'ast.EqualExpression':
./classfmt/ClassFileConstants.java: In method 
'ast.EqualExpression.resolveType()':
./classfmt/ClassFileConstants.java:5: error: Undefined variable or class name:
‘ClassFileConstants.MINOR_VERSION_0’.
long JDK1_5 = (long) ClassFileConstants.MINOR_VERSION_0;
^
1 error

-- 
   Summary: Problem folding static fields across packages
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Keywords: rejects-valid
  Severity: normal
  Priority: P2
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mckinlay at redhat dot com
CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23891


[Bug java/23891] Problem folding static fields across packages

2005-09-14 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-09-15 00:08 
---
The problem is that fold_constant_for_init() saves the current_class state when
 resolving other dependent constants, but not the current package
(ctxp->package). If a constant in another package is referenced, then when
resolving/folding the value of that constant, the wrong package context is used.

I'm testing a patch.

-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |mckinlay at redhat dot com
   |dot org |
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-09-15 00:08:33
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23891


[Bug java/23891] Problem folding static fields across packages

2005-09-15 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-09-15 14:19 
---
Fixed checked in to HEAD, but this should also be applied to 4.0 branch because
its a regression from 4.0.0.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23891


[Bug java/23891] Problem folding static fields across packages

2005-09-15 Thread mckinlay at redhat dot com


-- 
   What|Removed |Added

   Target Milestone|--- |4.0.2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23891


[Bug java/24018] New: [meta-bug] Patches that should be applied to 4.0 branch

2005-09-22 Thread mckinlay at redhat dot com
This is a tracker for Java patches that should be appled to 4.0 branch, once it
thaws after the 4.0.2 release.

Please add PR fixes as dependencies, and for other patches link to their URLs in
a comment.

-- 
   Summary: [meta-bug] Patches that should be applied to 4.0 branch
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Keywords: meta-bug
  Severity: normal
  Priority: P2
 Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mckinlay at redhat dot com
CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24018


[Bug java/24018] [meta-bug] Patches that should be applied to 4.0 branch

2005-09-22 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-09-22 17:28 
---
PR 23891 fix. This is required to build ECJ.

-- 
   What|Removed |Added

  BugsThisDependsOn||23891
 Status|UNCONFIRMED |NEW
 Ever Confirmed||1
   Last reconfirmed|-00-00 00:00:00 |2005-09-22 17:28:55
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24018


[Bug java/24018] [meta-bug] Patches that should be applied to 4.0 branch

2005-09-22 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-09-22 17:30 
---
Patch to fix classloader deadlock. Needed for Jonas.
http://gcc.gnu.org/ml/java-patches/2005-q3/msg00412.html

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24018


[Bug java/24018] [meta-bug] Patches that should be applied to 4.0 branch

2005-09-22 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-09-22 17:34 
---
PR 21418. Needed to build classpath reliably.

-- 
   What|Removed |Added

  BugsThisDependsOn||21418


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24018


[Bug java/24018] [meta-bug] Patches that should be applied to 4.0 branch

2005-09-22 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-09-22 17:39 
---
PR 23182. Fixes a miscompilation affecting Eclipse.

-- 
   What|Removed |Added

  BugsThisDependsOn||23182


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24018


[Bug libgcj/23182] instanceof sometimes fails if compiled with -findirect-dispatch

2005-09-22 Thread mckinlay at redhat dot com


-- 
   What|Removed |Added

   Target Milestone|--- |4.0.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23182


[Bug java/23891] [4.0 Regression] Problem folding static fields across packages

2005-09-22 Thread mckinlay at redhat dot com


-- 
   What|Removed |Added

   Target Milestone|4.0.2   |4.0.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23891


[Bug java/21418] Order of source files matters when compiling

2005-09-22 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-09-22 17:45 
---
This patch should go into the 4.0 branch, once that thaws.

-- 
   What|Removed |Added

   Target Milestone|4.1.0   |4.0.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21418


[Bug java/24018] [meta-bug] Patches that should be applied to 4.0 branch

2005-09-23 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-09-23 22:05 
---
PR 19870. Although these patches are largeish, they have been tested in HEAD for
some time and should be pretty safe. They are needed for OO.org.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24018


[Bug libgcj/24051] [4.1 Regression]: libjava failed to configure

2005-09-26 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-09-26 22:36 
---
AC_PROG_CXX is, presumably, needed by classpath in order to build the Qt peers.
Although this is not the default configuration, it means we can't remove
AC_PROG_CXX.

The libjava configure gets around this issue using GCC_NO_EXECUTABLES, which
disables linking of configure tests where possible. One solution is to add
GCC_NO_EXECUTABLES to the classpath configure.

Unfortunatly this introduces a divergance from the upstream configure.ac. We
also need to butcher classpath's AC_CHECK_FUNCs because many of these do not
work with GCC_NO_EXECUTABLES. However, they are probably not needed anyway
because we do not build classpath's JNI code - only the AWT peers. Perhaps the
AC_CHECK_FUNCs can be made conditional so as to reduce divergance from upstream?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24051


[Bug libgcj/24057] [4.1 regression] libgcj installs jawt.h and jni.h in version independent location

2005-09-26 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-09-26 22:41 
---
Please ignore this patch, I attached it to the wrong bug. Sorry.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24057


[Bug java/23891] [4.0 Regression] Problem folding static fields across packages

2005-09-30 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-10-01 06:58 
---
Fixed on both HEAD and 4.0 branch.

-- 
   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23891


[Bug java/24018] [meta-bug] Patches that should be applied to 4.0 branch

2005-09-30 Thread mckinlay at redhat dot com


-- 
Bug 24018 depends on bug 23891, which changed state.

Bug 23891 Summary: [4.0 Regression] Problem folding static fields across 
packages
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23891

   What|Old Value   |New Value

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24018


[Bug java/24018] [meta-bug] Patches that should be applied to 4.0 branch

2005-10-05 Thread mckinlay at redhat dot com


--- Comment #14 from mckinlay at redhat dot com  2005-10-05 19:39 ---
All patches from this bug have now been ported to the 4.0 branch, so I'm
closing it. Future fixes for 4.0 should be considered on a case-by-case basis,
or a new meta-bug opened if it freezes again.


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

 CC||mckinlay at redhat dot com
 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24018



[Bug java/21540] switch stmt problem

2005-10-12 Thread mckinlay at redhat dot com


--- Comment #10 from mckinlay at redhat dot com  2005-10-13 01:12 ---
Fixed checked in to 4.0 branch.


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

  Known to fail|3.0.4 3.2.3 3.2.2 3.3.3 |3.0.4 3.2.3 3.2.2 3.3.3
   |3.4.0 4.0.0 4.1.0   |3.4.0 4.0.0
   Target Milestone|--- |4.0.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21540



[Bug java/13788] Zero propogate right shift in static final int initializer causes error

2005-10-12 Thread mckinlay at redhat dot com


--- Comment #9 from mckinlay at redhat dot com  2005-10-13 01:14 ---
Fixed checked in to 4.0 branch.


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

   Target Milestone|4.1.0   |4.0.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13788



[Bug libgcj/17021] libgcj verifier resolves classes too eagerly

2005-10-25 Thread mckinlay at redhat dot com


--- Comment #14 from mckinlay at redhat dot com  2005-10-25 20:36 ---
Robert, thanks very much for working on this. Examining the behaviour of Sun's
verifier a bit more shows that it does attempt to resolve classes where type
compatibility can not be proven by a simple string comparison, so I think that
your approach is correct. 

I have one pedantic concern about the implementation of
_Jv_equalUtf8Const_classnames: 

Say we're comparing a class called "Lfoo" and one called "fool", and fool is
given in the bytecode form while "Lfoo" is in the regular form. So,
_Jv_equalUtf8Const_classnames would end up comparing the strings "Lfoo" and
"Lfool;". Whats to stop it falsely returning true in this case? 

Also, how about a more concise name for this function: _Jv_equalUtf8Classnames? 

It will also need a ChangeLog entry, of course - other than these issues, this
patch looks pretty good.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17021



[Bug java/20697] Invalid Can't find method error on call to super

2005-06-23 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-06-23 15:02 
---
Fix checked in.

-- 
   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20697


[Bug java/18131] [meta-bug] inner class problems in java front-end

2005-06-23 Thread mckinlay at redhat dot com


-- 
Bug 18131 depends on bug 20697, which changed state.

Bug 20697 Summary: Invalid Can't find method error on call to super
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20697

   What|Old Value   |New Value

 Status|NEW |RESOLVED
 Resolution||FIXED

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18131


[Bug java/19674] Empty declaration through semicolon (;) causes compile failure

2005-07-06 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-07-06 19:05 
---
Fixed in HEAD

-- 
   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19674


[Bug java/18131] [meta-bug] inner class problems in java front-end

2005-07-06 Thread mckinlay at redhat dot com


-- 
Bug 18131 depends on bug 19674, which changed state.

Bug 19674 Summary: Empty declaration through semicolon (;) causes compile 
failure
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19674

   What|Old Value   |New Value

 Status|NEW |RESOLVED
 Resolution||FIXED

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18131


[Bug java/21045] Anonymous inner class constructor's exceptions can't be caught or thrown

2005-07-07 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-07-07 14:46 
---
Fixed on HEAD.

-- 
   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.1.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21045


[Bug java/18131] [meta-bug] inner class problems in java front-end

2005-07-07 Thread mckinlay at redhat dot com


-- 
Bug 18131 depends on bug 21045, which changed state.

Bug 21045 Summary: Anonymous inner class constructor's exceptions can't be 
caught or thrown
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21045

   What|Old Value   |New Value

 Status|NEW |RESOLVED
 Resolution||FIXED

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18131


[Bug java/18119] Private inner class is visible when it shouldn't be

2005-07-07 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-07-07 14:47 
---
Fixed on HEAD.

-- 
   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.1.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18119


[Bug java/20697] Invalid Can't find method error on call to super

2005-07-07 Thread mckinlay at redhat dot com


-- 
Bug 20697 depends on bug 18119, which changed state.

Bug 18119 Summary: Private inner class is visible when it shouldn't be
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18119

   What|Old Value   |New Value

 Status|NEW |RESOLVED
 Resolution||FIXED

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20697


[Bug java/18131] [meta-bug] inner class problems in java front-end

2005-07-07 Thread mckinlay at redhat dot com


-- 
Bug 18131 depends on bug 18119, which changed state.

Bug 18119 Summary: Private inner class is visible when it shouldn't be
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18119

   What|Old Value   |New Value

 Status|NEW |RESOLVED
 Resolution||FIXED

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18131


[Bug java/20697] Invalid Can't find method error on call to super

2005-07-07 Thread mckinlay at redhat dot com


-- 
   What|Removed |Added

   Target Milestone|--- |4.1.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20697


[Bug java/22377] BC compilation fails to detect abstract instantiation

2005-07-11 Thread mckinlay at redhat dot com

--- Additional Comments From mckinlay at redhat dot com  2005-07-11 15:44 
---
There might be a way to implement this without additional _Jv_AllocObject cost
and without adding new ABI tables. 

If abstract classes and interfaces were given a zero or negative value in their
size field, I think the GC will call GC_oom_fn if an attempt were made to
allocate them. We could then throw InstantiationException instead of
OutOfMemoryError in this case.



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22377


[Bug libgcj/22463] New: libgcj verifier attempts to resolve dependent classes

2005-07-13 Thread mckinlay at redhat dot com
The libgcj verifier attempts to resolve dependent classes using Class.forName().
This causes ClassNotFoundException to be thrown too early - the exception should
occur when an attempt to use the missing class is made, not during verification.

public class Test
{
  Missing a()
  {
return new Missing();
  }

  public static void main(String[] args)
  {
System.out.println ("Missing not needed.");
  }
}

public class Missing {}

$ gcj -C Missing.java Test.java
$ rm Missing.class 
$ java -verify Test
Missing not needed.
$ gij -noverify Test
Missing not needed.
$ gij -verify Test
Exception in thread "main" java.lang.NoClassDefFoundError: Test
   at java.lang.Class.initializeClass (natClass.cc:715)
   at java.lang.Class.forName (Class.h:582)
   at gnu.java.lang.MainThread.run (MainThread.java:95)
Caused by: java.lang.ClassNotFoundException: Missing not found in
gnu.gcj.runtime.SystemClassLoader{urls=[file:./,file:./],
parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
   at java.net.URLClassLoader.findClass (URLClassLoader.java:948)
   at java.lang.ClassLoader.loadClass (ClassLoader.java:317)
   at java.lang.ClassLoader.loadClass (ClassLoader.java:260)
   at java.lang.Class.forName (natClass.cc:88)
   at java.lang.Class.initializeClass (natClass.cc:709)
   ...2 more

-- 
   Summary: libgcj verifier attempts to resolve dependent classes
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: libgcj
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mckinlay at redhat dot com
CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22463


[Bug libgcj/22580] New: "make -j" doesn't effect source->bytecode compilation

2005-07-20 Thread mckinlay at redhat dot com
X-Bugzilla-Reason: CC

Since the classpath merge, I have noticed that the source->bytecode stage of the
libgcj build is not being paralellized.

This warning was also seen:

make[4]: Entering directory
`/home/mckinlay/cvs/gcc/build-x86_64/x86_64-unknown-linux-gnu/libjava/classpath/lib
make[4]: warning: jobserver unavailable: using -j1.  Add `+' to parent make 
rule.

-- 
   Summary: "make -j" doesn't effect source->bytecode compilation
   Product: gcc
   Version: 4.1.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: libgcj
AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: mckinlay at redhat dot com
CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22580


[Bug libgcj/22580] 'make -j' doesn't effect source->bytecode compilation

2005-07-20 Thread mckinlay at redhat dot com


-- 
   What|Removed |Added

Summary|"make -j" doesn't effect|'make -j' doesn't effect
   |source->bytecode compilation|source->bytecode compilation


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22580


[Bug libgcj/16902] GIJ: Garbage collection related failure with interpreter

2006-02-06 Thread mckinlay at redhat dot com


--- Comment #4 from mckinlay at redhat dot com  2006-02-06 18:38 ---
You might need a multiprocessor or hyper-threaded machine to reproduce it. I
was able to reproduce it with HEAD just now:

$ while (true) do gij GCTest; done



[20]:  Success
java.lang.LinkageError: field type mismatch with different loaders
   at GCTest$GCTest_Object. (GCTest.java:18)
   at GCTest.testObjChain (GCTest.java:245)
   at GCTest.run (GCTest.java:126)
   at java.lang.Thread.run (Thread.java:653)
Caused by: java.lang.NoClassDefFoundError: this$0
   at GCTest$GCTest_Object. (GCTest.java:18)
   ...3 more
[41]:  Failure: testObjChain: Caught exception: field type mismatch with
different loaders


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16902



[Bug libgcj/16902] GIJ: Garbage collection related failure with interpreter

2006-02-06 Thread mckinlay at redhat dot com


--- Comment #5 from mckinlay at redhat dot com  2006-02-06 18:41 ---
Another example of failure:

[5]:  Success
java.lang.NullPointerException
   at GCTest.testObjChain (GCTest.java:251)
   at GCTest.testObjArray (GCTest.java:191)
   at GCTest.run (GCTest.java:104)
   at java.lang.Thread.run (Thread.java:653)
[44]:  Failure: testObjArray: Caught exception: null
[44]:  Success
java.lang.NullPointerException
   at GCTest.testObjChain (GCTest.java:251)
   at GCTest.testObjArray (GCTest.java:191)
   at GCTest.run (GCTest.java:104)
   at java.lang.Thread.run (Thread.java:653)
[33]:  Failure: testObjArray: Caught exception: null
java.lang.NullPointerException
   at GCTest.testObjChain (GCTest.java:251)
   at GCTest.testObjArray (GCTest.java:191)
   at GCTest.run (GCTest.java:104)
   at java.lang.Thread.run (Thread.java:653)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16902



[Bug libgcj/25187] dereferencing type-punned pointer warnings while building libgcj

2006-02-08 Thread mckinlay at redhat dot com


--- Comment #4 from mckinlay at redhat dot com  2006-02-09 01:38 ---
Fixed.


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25187



[Bug libgcj/26113] More warnings in libjava

2006-02-08 Thread mckinlay at redhat dot com


--- Comment #4 from mckinlay at redhat dot com  2006-02-09 01:39 ---
Fixed.


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26113



[Bug libgcj/24860] java.util.Calendar needs updating

2006-02-13 Thread mckinlay at redhat dot com


--- Comment #2 from mckinlay at redhat dot com  2006-02-13 22:02 ---
libgcj is not yet using Classpath's locale database, so classes (including
Calendar) that rely on the old locale information are yet to be merged. I'm
working on a patch for the trunk that will switch libgcj to use Classpath's
locale information. Once that it done, the libgcj-local versions of Calendar
and other locale-dependent classes will go away.


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

 CC|        |mckinlay at redhat dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24860



[Bug libgcj/26351] Native Momory Leak in ResourceBundle

2006-02-20 Thread mckinlay at redhat dot com


--- Comment #2 from mckinlay at redhat dot com  2006-02-20 19:47 ---
You must be using a very old GCJ - this was fixed a long time ago.

*** This bug has been marked as a duplicate of 12475 ***


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26351



[Bug libgcj/12475] Stack traces leak memory

2006-02-20 Thread mckinlay at redhat dot com


--- Comment #7 from mckinlay at redhat dot com  2006-02-20 19:47 ---
*** Bug 26351 has been marked as a duplicate of this bug. ***


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

 CC||fexx at fexx dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12475



[Bug libgcj/12740] Stack trace infrastructure improvements

2006-03-08 Thread mckinlay at redhat dot com


--- Comment #3 from mckinlay at redhat dot com  2006-03-08 18:36 ---
Yes. This is fixed in GCC 4.1.


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.1.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12740



[Bug java/26390] Problem dispatching method call when method does not exist in superclass

2006-03-08 Thread mckinlay at redhat dot com


--- Comment #2 from mckinlay at redhat dot com  2006-03-09 03:16 ---
Can anyone make a test case for this? I was unable to reproduce it.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26390



[Bug libgcj/26858] NullPointerException not generated for large classes...

2006-03-27 Thread mckinlay at redhat dot com


--- Comment #3 from mckinlay at redhat dot com  2006-03-27 18:28 ---
GCJ could be made to generate explicit null checks when large offsets are used.
It is probably relatively rare to have a normal object that is larger than a
page, so performance for most apps shouldn't be effected.

Note that array accesses should not need this as the "length" field will be
dereferenced first, triggering NullPointerException, assuming bounds checks are
used. I would also expect Strings should not have a problem.

Do we know who's heap exactly is mapped at such a low address? If its mapped by
Java/Boehm GC, then we can probably just fix the GC to not map things at such
low addresses (or to insert guard pages there instead).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26858



[Bug libgcj/11780] Method.invoke() is slow

2006-03-29 Thread mckinlay at redhat dot com


--- Comment #7 from mckinlay at redhat dot com  2006-03-29 18:59 ---
With a public call, as in the current test case, it is "only" about 2.5X slower
than HotSpot for me:

$ ./a.out
public call: 499 ms
private call: 7344 ms
$ java RefTest3
public call: 182 ms
private call: 808 ms

Private calls show a larger difference due to the requirement for an
accessibility check, which involves stack inspection. 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11780



[Bug libgcj/11780] Method.invoke() is slow

2006-03-29 Thread mckinlay at redhat dot com


--- Comment #8 from mckinlay at redhat dot com  2006-03-29 19:00 ---
Created an attachment (id=11156)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11156&action=view)
Test Case

New version of the test case, which tests both public and private method
invocation.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11780



[Bug libgcj/13212] JNI/CNI AttachCurrentThread does not register thread with garbage collector

2006-03-29 Thread mckinlay at redhat dot com


--- Comment #30 from mckinlay at redhat dot com  2006-03-30 07:00 ---
Created an attachment (id=11161)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11161&action=view)
patch implementing GC_register_my_thread

Here's a patch that fixes this by adding functions to the GC that allow thread
registration directly from JNI_AttachCurrentThread. Aside from being fragile,
solutions that rely on intercepting pthread_create are problematic because the
GC will attempt to suspend other non-Java threads (see rh bug 180637 for an
example)

This patch has been tested sucessfully with openoffice.org.


-- 

mckinlay at redhat dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |mckinlay at redhat dot com
   |dot org |
 Status|NEW |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13212



[Bug libgcj/13212] JNI/CNI AttachCurrentThread does not register thread with garbage collector

2006-03-30 Thread mckinlay at redhat dot com


--- Comment #32 from mckinlay at redhat dot com  2006-03-30 15:51 ---
(In reply to comment #31)

Yes, this patch should fix all the OpenOffice issues.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13212



  1   2   >