[Bug classpath/27262] org.w3c.dom.Document.getElementById returns null after manual (setIdAttribute) identifying of element in Document instance.
--- Comment #2 from mark at gcc dot gnu dot org 2006-04-23 08:19 --- Can you take a look at this bug report chris? -- mark at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |dog at gnu dot org |dot org | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27262
[Bug libgcj/27658] New: _Jv_CreateJavaVM calling ExtensionClassLoader bootstrap problem
_Jv_CreateJavaVM calls the following code: // Set up the system class loader and the bootstrap class loader. gnu::gcj::runtime::ExtensionClassLoader::initialize(); ExtensionClassLoader extends URLClassLoader and calls addURLs() on it which might trigger loading of lots of jar files, this in turn can trigger loading security providers when the jar files are signed which in turn can trigger initialization of the logging framework which might in turn try to load user classes. At this time not everything has been setup yet. Thread.currentThread() for example will return null if called by any of the above code. This is a real problem with the latest classpath 0.91 import for which we need a LogManager override now: // GCJ LOCAL // Unfortunately this can be called during bootstrap when // Thread.currentThread() will return null. // See bug # Thread t = Thread.currentThread(); ClassLoader loader = (t == null) ? null : t.getContextClassLoader(); -- Summary: _Jv_CreateJavaVM calling ExtensionClassLoader bootstrap problem Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27658
[Bug libgcj/27726] New: LocalSocketImpl not implemented
The LocalSocketImpl only has a JNI implementation in GNU Classpath, the version in libgcj should get a CNI implementation since it currently is just an empty override. -- Summary: LocalSocketImpl not implemented Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27726
[Bug libgcj/27727] New: Class should implement AnnotatedElement
Class implements AnnotatedElement in GNU Classpath but not in the libgcj override Class.java implementation. -- Summary: Class should implement AnnotatedElement Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27727
[Bug libgcj/27728] New: Class.getEnclosingX() methods need implementation
getEnclosingClass(), getEnclosingConstructor() and getEnclosingMethod() currently always return null. They should have a real implementation. -- Summary: Class.getEnclosingX() methods need implementation Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27728
[Bug libgcj/27729] New: Field, Method and Constructor need isSynthetic() implemetation
Field, Method and Constuctor currently have a isSynthetic() implementation that always returns false. They need a real implementation. -- Summary: Field, Method and Constructor need isSynthetic() implemetation Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27729
[Bug libgcj/27730] New: Thread.getId() needs implemented
Thread.getId() has been implementated in GNU Classpath, but the libgcj Thread.java override doesn't have it. All code necessary is already in the classpath version. (It would be nice to get this fully merged.) -- Summary: Thread.getId() needs implemented Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27730
[Bug libgcj/27731] New: Math cbrt(), cosh(), expm1(), hypot(), log1p(), sinh() and tanh() not implemented
GNU Classpath Math has JNI implementations for these functions, but the libgcj Math.java override doesn't implement these. -- Summary: Math cbrt(), cosh(), expm1(), hypot(), log1p(), sinh() and tanh() not implemented Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27731
[Bug libgcj/27741] New: Automate generation of gcj/javaprims.h
gcj/javaprims.h has to be regenerated by hand using the classes.pl script whenever you add a class to java.lang, java.io, or java.util (including sub-packages, like java.lang.ref). The procedure is described in the HACKING file. It would be nice to automate this process since it can only be done after the first source->bytecode compilation step. If it is forgotten the native code generation phase fails. -- Summary: Automate generation of gcj/javaprims.h Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27741
[Bug c/40517] New: strict-aliasing warning contains internal variable name
While compiling elfutils with gcc (GCC) 4.4.0 20090506 (Red Hat 4.4.0-4) I found some const/aliasing issues that gcc pointed out as follows: dwarf_getaranges.c: In function dwarf_getaranges: libdwP.h:540: error: dereferencing pointer readp.44 does break strict-aliasing rules dwarf_getaranges.c:152: note: initialized from here libdwP.h:519: error: dereferencing pointer readp.44 does break strict-aliasing rules dwarf_getaranges.c:174: note: initialized from here Note the .44 added to the variable name. Although it wasn't too hard to fix the issues pointed out (the elfutils code in git has already been fixed up), the warning message was somewhat confusing because of these internal names. Unfortunately I wasn't able to come up with a really small example showing this. So I'll attach the preprocessed -E code. See also this elfutils mailinglist discussion: https://fedorahosted.org/pipermail/elfutils-devel/2009-June/000368.html -- Summary: strict-aliasing warning contains internal variable name Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40517
[Bug c/40517] strict-aliasing warning contains internal variable name
--- Comment #1 from mark at gcc dot gnu dot org 2009-06-22 09:06 --- Created an attachment (id=18045) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18045&action=view) compressed -E preprocessed sources $ gcc -g -Wall -O2 -c dwarf_getaranges.c dwarf_getaranges.c: In function dwarf_getaranges: libdwP.h:540: warning: dereferencing pointer readp.44 does break strict-aliasing rules dwarf_getaranges.c:152: note: initialized from here libdwP.h:519: warning: dereferencing pointer readp.44 does break strict-aliasing rules dwarf_getaranges.c:174: note: initialized from here -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40517
[Bug debug/40659] New: A simple struct member offset doesn't need a full dwarf location expression
dwarf2out.c (add_data_member_location_attribute) always generates a full dwarf location expression even for simple struct member offsets. This results in debug_info for structs that looks like this: <1><77>: Abbrev Number: 7 (DW_TAG_structure_type) <78> DW_AT_name: (indirect string, offset: 0x64): mystruct <7c> DW_AT_byte_size : 40 <7d> DW_AT_decl_file : 1 <7e> DW_AT_decl_line : 5 <7f> DW_AT_sibling : <0xc0> <2><83>: Abbrev Number: 8 (DW_TAG_member) <84> DW_AT_name: n <86> DW_AT_decl_file : 1 <87> DW_AT_decl_line : 6 <88> DW_AT_type: <0xc0> <8c> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) <2><8f>: Abbrev Number: 8 (DW_TAG_member) <90> DW_AT_name: c <92> DW_AT_decl_file : 1 <93> DW_AT_decl_line : 7 <94> DW_AT_type: <0x6a> <98> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) <2><9b>: Abbrev Number: 8 (DW_TAG_member) <9c> DW_AT_name: i <9e> DW_AT_decl_file : 1 <9f> DW_AT_decl_line : 8 DW_AT_type: <0x57> DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) The dwarf spec says: "If a data member is defined in a structure, union or class, the corresponding member entry has a DW_AT_data_member_location attribute whose value describes the location of that member relative to the base address of the structure, union, or class that most closely encloses the member declaration. If that value is a constant, it is the offset in bytes from the beginning of the innermost enclosing structure, union or class to the beginning of the data member. Otherwise, the value must be a location description." So if we only have a simple constant offset it seems more space efficient to output the offset as a constant instead of a location expression using DW_OP_plus_uconst. A suggested patch might be the following (still building/testing against gdb and stap - gdb should work, systemtap will need some adjusting): Index: gcc/dwarf2out.c === --- gcc/dwarf2out.c (revision 149279) +++ gcc/dwarf2out.c (working copy) @@ -11475,8 +11475,6 @@ if (! loc_descr) { - enum dwarf_location_atom op; - /* The DWARF2 standard says that we should assume that the structure address is already on the stack, so we can specify a structure field address by using DW_OP_plus_uconst. */ @@ -11485,12 +11483,16 @@ /* ??? The SGI dwarf reader does not handle the DW_OP_plus_uconst operator correctly. It works only if we leave the offset on the stack. */ + enum dwarf_location_atom op; + op = DW_OP_constu; + loc_descr = new_loc_descr (op, offset, 0); #else - op = DW_OP_plus_uconst; + /* Don't need an whole location expression, just a constant offset. */ + add_AT_int (die, DW_AT_data_member_location, offset); + return; #endif - loc_descr = new_loc_descr (op, offset, 0); } add_AT_loc (die, DW_AT_data_member_location, loc_descr); That will simplify the debug_info for structs so it reads: <1><77>: Abbrev Number: 7 (DW_TAG_structure_type) <78> DW_AT_name: (indirect string, offset: 0x3d): mystruct <7c> DW_AT_byte_size : 40 <7d> DW_AT_decl_file : 1 <7e> DW_AT_decl_line : 4 <7f> DW_AT_sibling : <0xb6> <2><83>: Abbrev Number: 8 (DW_TAG_member) <84> DW_AT_name: n <86> DW_AT_decl_file : 1 <87> DW_AT_decl_line : 6 <88> DW_AT_type: <0xb6> <8c> DW_AT_data_member_location: 0 <2><8d>: Abbrev Number: 8 (DW_TAG_member) <8e> DW_AT_name: c <90> DW_AT_decl_file : 1 <91> DW_AT_decl_line : 7 <92> DW_AT_type: <0x6a> <96> DW_AT_data_member_location: 8 <2><97>: Abbrev Number: 8 (DW_TAG_member) <98> DW_AT_name: i <9a> DW_AT_decl_file : 1 <9b> DW_AT_decl_line : 8 <9c> DW_AT_type: <0x57> DW_AT_data_member_location: 16 -- Summary: A simple struct member offset doesn't need a full dwarf location expression Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40659
[Bug debug/40659] A simple struct member offset doesn't need a full dwarf location expression
--- Comment #1 from mark at gcc dot gnu dot org 2009-07-08 18:08 --- Subject: Bug 40659 Author: mark Date: Wed Jul 8 18:07:47 2009 New Revision: 149377 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=149377 Log: 2009-07-08 Mark Wielaard PR debug/40659 * dwarf2out.c (add_data_member_location_attribute): When we have only a constant offset don't emit a new location description using DW_OP_plus_uconst, but just add the constant with add_AT_int, when dwarf_version > 2. Modified: trunk/gcc/ChangeLog trunk/gcc/dwarf2out.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40659
[Bug debug/40659] A simple struct member offset doesn't need a full dwarf location expression
--- Comment #2 from mark at gcc dot gnu dot org 2009-07-08 18:21 --- Patch pushed. -- mark at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40659
[Bug classpath/23183] SimpleDateFormat fails to render '' as single quotes
--- Comment #8 from mark at gcc dot gnu dot org 2005-11-17 14:03 --- Subject: Bug 23183 Author: mark Date: Thu Nov 17 14:03:22 2005 New Revision: 107121 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=107121 Log: 2005-11-17 Mark Wielaard <[EMAIL PROTECTED]> * java/text/SimpleDateFormat.java: Removed, fully merged now. * sources.am: Regenerated. * Makefile.in: Regenerated. 2005-11-17 Sven de Marothy <[EMAIL PROTECTED]> * java/text/SimpleDateFormat.java (computeOffset): Allow timezone to be first in the parsed String. 2005-11-17 Mark Wielaard <[EMAIL PROTECTED]> * java/text/SimpleDateFormat.java (field, size): Make package private. 2005-11-17 Tom Tromey <[EMAIL PROTECTED]> * java/text/SimpleDateFormat.java (compileFormat): Correctly handle quoted single quotes. PR classspath/23183. 2005-11-17 Tom Tromey <[EMAIL PROTECTED]> * java/text/SimpleDateFormat.java (compileFormat): Reformatted. 2005-11-17 Tom Tromey <[EMAIL PROTECTED]> * java/text/DateFormat.java (serialVersionUID): New field. 2005-11-17 Mark Wielaard <[EMAIL PROTECTED]> * java/text/DateFormat.java (equals): Reimplement. 2005-11-17 David Gilbert <[EMAIL PROTECTED]> * java/text/Collator.java: API doc fixes, * java/text/DateFormat.java: likewise, * java/text/DecimalFormatSymbols.java: likewise, * java/text/DateFormatSymbols.java: likewise, * java/text/SimpleDateFormat.java: likewise. 2005-11-17 Jeroen Frijters <[EMAIL PROTECTED]> * java/text/Collator.java (getInstance(Locale)): Added default collation pattern to handle case when resource is missing and throw InternalError instead of returning null should parsing fail. Removed: trunk/libjava/java/text/SimpleDateFormat.java Modified: trunk/libjava/ChangeLog trunk/libjava/Makefile.in trunk/libjava/java/text/Collator.java trunk/libjava/java/text/DateFormat.java trunk/libjava/java/text/DateFormatSymbols.java trunk/libjava/java/text/DecimalFormatSymbols.java trunk/libjava/sources.am -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23183
[Bug java/24938] New: gcj -C miscompiles gnu/CORBA/DynAn/gnuDynValue.java
There are two pieces of code in gnuDynValue that generate unverifiable (and wrong!) code. The following method in this file: public int component_count() { return isNull ? 0 : super.component_count(); } Generates the following byte code: Method name:"component_count" public Signature: ()int Attribute "Code", length:38, max_stack:2, max_locals:1, code_length:14 0: aload_0 1: getfield 4: ifeq 9 7: iconst_0 8: ireturn 9: aload_0 10: invokespecial 13: ireturn Attribute "LineNumberTable", length:6, count: 1 line: 369 at pc: 0 PC 10 is wrong. And the verifier actually catches that: gnu/CORBA/DynAn/gnuDynValue.java: In class 'gnu.CORBA.DynAn.gnuDynValue': gnu/CORBA/DynAn/gnuDynValue.java: In method 'gnu.CORBA.DynAn.gnuDynValue.component_count()': gnu/CORBA/DynAn/gnuDynValue.java:369: error: verification failed at PC=10: didn't see expected constant Another method in this file that exhibits this is: public boolean equal(DynAny other) { if (other instanceof DynValueOperations) { DynValueCommon o = (DynValueCommon) other; if (isNull) return o.is_null() && o.type().equal(official_type); else return !o.is_null() && super.equal(other); } else return false; } That last super.equal() call generates the same wrong code. This might be an existing bug, but I couldn't quickly find it. I have a workaround for this issue that I want to get in before reducing this. -- Summary: gcj -C miscompiles gnu/CORBA/DynAn/gnuDynValue.java Product: gcc Version: 4.1.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24938
[Bug awt/20630] GTK 2.8 peer Image and Graphics API reorganization
--- Comment #5 from mark at gcc dot gnu dot org 2005-11-21 21:11 --- As requested by Tom I add the following information from the following mailinglist thread: http://thread.gmane.org/gmane.comp.java.classpath.patches/5606 The application that uses this functionality is Caliph & Emir http://caliph-emir.sourceforge.net/ you can run Emir with: jamvm -Xms32m -Xmx96m -cp Caliph.jar at.lux.fotoretrieval.RetrievalFrame -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20630
[Bug java/24938] gcj -C miscompiles gnu/CORBA/DynAn/gnuDynValue.java
--- Comment #3 from mark at gcc dot gnu dot org 2005-11-25 21:16 --- http://gcc.gnu.org/ml/java-patches/2005-q4/msg00218.html contains a workaround for this issue. The override files can be removed when this bug is closed. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24938
[Bug java/24938] gcj -C miscompiles gnu/CORBA/DynAn/gnuDynValue.java
--- Comment #4 from mark at gcc dot gnu dot org 2005-11-25 22:31 --- Subject: Bug 24938 Author: mark Date: Fri Nov 25 22:30:53 2005 New Revision: 107522 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=107522 Log: * standard.omit.in: Remove javax/rmi, org/omg, gnu/CORBA and gnu/javax/rmi. * scripts/makemake.tcl: Set javax/rmi, org/omg, gnu/CORBA and gnu/javax/rmi to bc. * gnu/CORBA/ObjectCreator.java: New override file for missing VMStackWalker issue. * gnu/CORBA/DynAn/gnuDynValue.java: New override file for bug #24938 * gnu/CORBA/DynAn/RecordAny.java: Likewise * sources.am: Regenerated. * Makefile.in: Regenerated Added: trunk/libjava/gnu/CORBA/ trunk/libjava/gnu/CORBA/DynAn/ trunk/libjava/gnu/CORBA/DynAn/RecordAny.java trunk/libjava/gnu/CORBA/DynAn/gnuDynValue.java trunk/libjava/gnu/CORBA/ObjectCreator.java Modified: trunk/libjava/ChangeLog trunk/libjava/Makefile.in trunk/libjava/scripts/makemake.tcl trunk/libjava/sources.am trunk/libjava/standard.omit.in -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24938
[Bug java/24938] gcj -C miscompiles gnu/CORBA/DynAn/gnuDynValue.java
--- Comment #5 from mark at gcc dot gnu dot org 2005-11-26 00:48 --- Subject: Bug 24938 Author: mark Date: Sat Nov 26 00:48:29 2005 New Revision: 107534 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=107534 Log: * standard.omit.in: Remove javax/rmi, org/omg, gnu/CORBA and gnu/javax/rmi. * scripts/makemake.tcl: Set javax/rmi, org/omg, gnu/CORBA and gnu/javax/rmi to bc. * gnu/CORBA/ObjectCreator.java: New override file for missing VMStackWalker issue. * gnu/CORBA/DynAn/gnuDynValue.java: New override file for bug #24938 * gnu/CORBA/DynAn/RecordAny.java: Likewise * sources.am: Regenerated. * Makefile.in: Regenerated Added: branches/gcc-4_1-branch/libjava/gnu/CORBA/ - copied from r107522, trunk/libjava/gnu/CORBA/ Modified: branches/gcc-4_1-branch/libjava/ChangeLog branches/gcc-4_1-branch/libjava/Makefile.in branches/gcc-4_1-branch/libjava/scripts/makemake.tcl branches/gcc-4_1-branch/libjava/sources.am branches/gcc-4_1-branch/libjava/standard.omit.in -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24938
[Bug libgcj/24154] Make requires too much memory building libjava
--- Comment #2 from mark at gcc dot gnu dot org 2005-12-04 18:08 --- Found something strange. We seem to be generated identical .list files for packages that exist under the gnu.java. hierarchy, but not under the java. hierarchy. For example: classpath/lib/lists/gnu-javax-swing-text-html-parser-models.list and classpath/lib/lists/javax-swing-text-html-parser-models.list are identical, but only the package gnu.javax.swing.text.html.parser.models exists. I have not yet grokked the sed magic that makes this happen in split-for-gcj.sh -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24154
[Bug java/25389] File(new URI("file:./")) -> java.lang.NullPointerException
--- Comment #1 from mark at gcc dot gnu dot org 2005-12-13 11:46 --- Confirmed. URI.getPath() may return null and we don't check for that in the File(URI) constructor. A simple fix might be: diff -u -r1.59 File.java --- java/io/File.java 6 Nov 2005 20:28:00 - 1.59 +++ java/io/File.java 13 Dec 2005 11:37:26 - @@ -406,7 +406,11 @@ if (!uri.getScheme().equals("file")) throw new IllegalArgumentException("invalid uri protocol"); -path = normalizePath(uri.getPath()); +String name = uri.getPath(); +if (name == null) + name = ""; + +path = normalizePath(name); } /** Note that java/io/File.java is not fully merged between classpath and libgcj. -- mark at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2005-12-13 11:46:25 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25389
[Bug classpath/25389] File(new URI("file:./")) -> java.lang.NullPointerException
--- Comment #2 from mark at gcc dot gnu dot org 2005-12-13 13:47 --- Added a test to mauve that exposes this bug: gnu/testlet/java/io/File/newFileURI.java -- mark at gcc dot gnu dot org changed: What|Removed |Added Component|java|classpath Product|gcc |classpath Version|4.1.0 |0.20 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25389
[Bug classpath/25389] File(new URI("file:./")) -> java.lang.NullPointerException
--- Comment #4 from mark at gcc dot gnu dot org 2005-12-13 22:01 --- (In reply to comment #3) > Exception in thread "main" java.lang.IllegalArgumentException: URI is not > hierarchical > at java.io.File.(File.java:344) > at myfirstprog.main(myfirstprog.java:16) Interesting. That is a bit lame. But seems legal since the uri scheme isn't followed by a double slash so it is indeed not hierarchical. But since we are constructing such URLs/URIs ourselves (for example in the SystemClassLoader) through new URL("file", "", -1, "./") it seems wise to handle them explicitly in the File(URI) constructor. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25389
[Bug java/19870] gcj -C doesn't generate accessors for private members across nested class boundaries
--- Comment #19 from mark at gcc dot gnu dot org 2005-12-22 16:45 --- The testcase in the following message still seems to fail: http://gcc.gnu.org/ml/java/2005-12/msg00181.html Here is a variant of the original example that also fails: public class A { public static class B { private int i = 42; } public static void main(String[] args) { System.out.println(new B().i); } } The only change is making i an instance field instead of a static class field. -- mark at gcc dot gnu dot org changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|FIXED | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19870
[Bug java/28533] New: [ecj] Default warnings
ecj has a lot of default warnings on that are a bit obnoxious. It would be nice to have a set of default warnings that people would actually use (currently it seems people just disable them all). GNU Classpath for example disables all the following to get more sane warning results: -warn:-deprecation,serial,typeHiding,unchecked,unused,varargsCast Especially the serial and unused (imports) warnings don't add much value since they cannot point out any coding mistake. They would be nice options for a lint like tool though. -- Summary: [ecj] Default warnings Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28533
[Bug libgcj/26910] re-merging java.util.zip
--- Comment #3 from mark at gcc dot gnu dot org 2006-07-29 22:55 --- I don't think this is fixed yet. It seems libgcj and classpath still have different nflaterInputStream implementations. See also the following thread were they were supposed to be merged, but a regression was found and the merge was reverted: http://developer.classpath.org/pipermail/classpath-patches/2006-March/000940.html -- mark at gcc dot gnu dot org changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|FIXED | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26910
[Bug awt/16729] Component.print() and Component.printAll() does not affect graphics parameter
--- Comment #3 from mark at gcc dot gnu dot org 2006-08-06 23:24 --- This seems to be partially fixed by: 2006-08-03 Sven de Marothy <[EMAIL PROTECTED]> * gnu/java/awt/peer/gtk/ComponentGraphics.java (grab, nativeGrab): New methods. * include/gnu_java_awt_peer_gtk_ComponentGraphics.h * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c (nativeGrab): New method. * gnu/java/awt/peer/gtk/GtkComponentPeer.java (print): Implement. * java/awt/Component.java (printAll): Should call peer print method. The part that not always seems to work is when the Component is not (completely) visible. -- mark at gcc dot gnu dot org changed: What|Removed |Added CC||sven at physto dot se http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16729
[Bug java/28801] New: libgcj build broken for gnu/CORBA/CDR/gnuRuntime.java
Current svn trunk gives: /home/mark/src/gcc-obj/gcc/gcj -B/home/mark/src/gcc-obj/i686-pc-linux-gnu/libjava/ -B/home/mark/src/gcc-obj/gcc/ -ffloat-store -fomit-frame-pointer -fclasspath= -fbootclasspath=/home/mark/src/gcc-obj/i686-pc-linux-gnu/libjava/classpath/lib --encoding=UTF-8 -Wno-deprecated -fbootstrap-classes -g -O2 -fjni -findirect-dispatch -fno-indirect-classes -c @gnu-CORBA.list -fPIC -o .libs/gnu-CORBA.o gnu/CORBA/CDR/gnuRuntime.java: In class 'gnu.CORBA.CDR.gnuRuntime$Redirection': gnu/CORBA/CDR/gnuRuntime.java: In method 'gnu.CORBA.CDR.gnuRuntime$Redirection.toString()': gnu/CORBA/CDR/gnuRuntime.java:95: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. make[3]: *** [gnu-CORBA.lo] Error 1 The same can be seen on the builder.classpath.org: http://lists.gnu.org/archive/html/classpath-testresults/2006-08/msg00126.html This doesn't happen on x86_64-unknown-linux-gnu. -- Summary: libgcj build broken for gnu/CORBA/CDR/gnuRuntime.java Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org GCC host triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28801
[Bug xml/29362] NullPointerException in gnu.xml.transform.TransformerImpl.strip(libgcj.so.7rh)
--- Comment #3 from mark at gcc dot gnu dot org 2006-10-05 22:01 --- Confirmed with classpath CVS: $ /usr/local/jamvm/bin/jamvm CDescription java.lang.NullPointerException at gnu.xml.transform.TransformerImpl.strip(TransformerImpl.java:452) at gnu.xml.transform.TransformerImpl.strip(TransformerImpl.java:459) at gnu.xml.transform.TransformerImpl.strip(TransformerImpl.java:459) at gnu.xml.transform.TransformerImpl.strip(TransformerImpl.java:459) at gnu.xml.transform.TransformerImpl.transform(TransformerImpl.java:330) at CDescription.getAsXml(CDescription.java:93) at CDescription.run(CDescription.java:99) at CDescription.main(CDescription.java:113) -- mark at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Component|libgcj |xml Ever Confirmed|0 |1 Product|gcc |classpath Last reconfirmed|-00-00 00:00:00 |2006-10-05 22:01:37 date|| Version|4.1.1 |unspecified http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29362
[Bug java/30585] New: gcj doesn't accept -Wall and -Werror anymore
$ gcj -Werror /tmp/x.java invalid warning: error $ gcj -Wall /tmp/x.java invalid warning: all -- Summary: gcj doesn't accept -Wall and -Werror anymore Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30585
[Bug java/30588] New: gcj compiler large jars much slower
An example from frysk: $ /usr/bin/gcj -v Using built-in specs. Reading specs from /usr/lib/gcc/x86_64-redhat-linux/4.1.1/libgcj.spec rename spec startfile to startfileorig rename spec lib to liborig Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=x86_64-redhat-linux Thread model: posix gcc version 4.1.1 20070105 (Red Hat 4.1.1-51) $ /home/mark/src/gcc-install/bin/gcj -v Using built-in specs. Reading specs from /home/mark/src/gcc-install/lib/gcc/x86_64-unknown-linux-gnu/4.3.0/../../../libgcj.spec rename spec startfile to startfileorig rename spec lib to liborig Target: x86_64-unknown-linux-gnu Configured with: /home/mark/src/gcc/configure --prefix=/home/mark/src/gcc-install --enable-java-awt=gtk --disable-bootstrap --disable-checking --enable-plugin --enable-languages=c,c++,java Thread model: posix gcc version 4.3.0 20070125 (experimental) $ time /usr/bin/gcj -I../../frysk/frysk-imports -I. -Igetopt.jar -Ijunit.jar -Werror -Wall -fPIC -g -O -fjni -c antlr.jar real0m36.455s user0m35.666s sys 0m0.644s $ time /home/mark/src/gcc-install/bin/gcj -I../../frysk/frysk-imports -I. -Igetopt.jar -Ijunit.jar -Werror -Wall -fPIC -g -O -fjni -c antlr.jar real0m51.691s user0m50.643s sys 0m0.760s Compiling with -ftime-report gives a hint where this might come from: 4.3 (trunk): tree PTA : 3.80 ( 8%) usr 0.02 ( 1%) sys 3.79 ( 7%) wall 25485 kB ( 2%) ggc tree alias analysis : 10.41 (21%) usr 0.50 (21%) sys 10.83 (21%) wall 600226 kB (42%) ggc With 4.1.1 it is: tree PTA : 5.80 (17%) usr 0.05 ( 3%) sys 5.54 (15%) wall 45994 kB ( 5%) ggc tree alias analysis : 1.48 ( 4%) usr 0.37 (21%) sys 1.90 ( 5%) wall 16749 kB ( 2%) ggc -- Summary: gcj compiler large jars much slower Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30588
[Bug tree-optimization/30604] New: Unable to coalesce ssa_names and which are marked as MUST COALESCE
Compiling the attached class file with -O results is: $ gcj -findirect-dispatch -O -c CppTreeParser.class Unable to coalesce ssa_names 7 and 8642 which are marked as MUST COALESCE. _t_7(ab) and _t_8642(ab) frysk/expr/CppTreeParser.java: In class 'frysk.expr.CppTreeParser': frysk/expr/CppTreeParser.java: In method 'frysk.expr.CppTreeParser.expr(antlr.collections.AST)': frysk/expr/CppTreeParser.java:0: internal compiler error: SSA corruption This only happens with -O. It compiles fine with 4.1.1. -- Summary: Unable to coalesce ssa_names and which are marked as MUST COALESCE Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30604
[Bug tree-optimization/30604] Unable to coalesce ssa_names and which are marked as MUST COALESCE
--- Comment #1 from mark at gcc dot gnu dot org 2007-01-26 20:35 --- Created an attachment (id=12965) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12965&action=view) Generated .class byte code file This is a generated .class file. It has been generated by gcj -C CppTreeParser.java (which uses ecj). The original .java source file was generated by antlr (and a little sed script) from cpp.g. Original available from the frysk project http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/expr/cpp.g?cvsroot=frysk Other intermediary files available on request of course. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30604
[Bug java/30607] New: gcj -I x -C doesn't include x as source dir search patch
Given an directory x with two source files: - x/a.java public class a extends b { } - x/b.java public class b { } With gcj 4.1.1 it was possible to include x as source patch search dir with -I and compile as follows: $ gcj -C -I x x/a.java With current svn trunk (and ecj1 installed) this gives: $ /usr/local/gcc43/bin/gcj -C -I x x/a.java x/a.java:1: error: b cannot be resolved to a type public class a extends b { } ^ 1 problem (1 error) -- Summary: gcj -I x -C doesn't include x as source dir search patch Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30607
[Bug tree-optimization/30604] Unable to coalesce ssa_names and which are marked as MUST COALESCE
--- Comment #3 from mark at gcc dot gnu dot org 2007-02-01 15:22 --- Created an attachment (id=12994) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12994&action=view) Generated .java source file -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30604
[Bug libgcj/31093] New: Multicast PromiscuousTraffic
See the explanation and test jar at http://wiki.jboss.org/wiki/Wiki.jsp?page=PromiscuousTraffic There are 2 problems. $ gij -jar promiscuoustraffic.jar java.lang.IllegalArgumentException: Invalid ttl: 0 at java.net.MulticastSocket.setTimeToLive(libgcj.so.8rh) at org.jboss.test.cluster.test.PromiscuousTrafficTester.setUpSockets(PromiscuousTrafficTester.java:134) at org.jboss.test.cluster.test.PromiscuousTrafficTester.(PromiscuousTrafficTester.java:64) at org.jboss.test.cluster.test.PromiscuousTrafficTester.main(PromiscuousTrafficTester.java:182) 0 is a valid value for ttl however. When giving it 1 the test runs. But does result in: Bad news. Detected the Promiscuous Traffic problem. Received Hello on undesired address /231.2.2.2 -- Summary: Multicast PromiscuousTraffic Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31093
[Bug target/27869] "-O -fregmove" handles SSE scalar instructions incorrectly
--- Comment #14 from mark at gcc dot gnu dot org 2007-04-10 11:02 --- Assuming other mark should be CCed to make 4.2 decision. -- mark at gcc dot gnu dot org changed: What|Removed |Added CC|mark at gcc dot gnu dot org |mmitchel at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27869
[Bug java/15474] libgcj jar file should always be in classpath at runtime
--- Comment #10 from mark at gcc dot gnu dot org 2007-04-13 20:44 --- Does this recent patch help? 2007-04-13 Andrew Haley <[EMAIL PROTECTED]> * gnu/gcj/runtime/BootClassLoader.java (getBootURLLoader): New method. (bootGetResource): Use getBootURLLoader() to load resources. (bootGetResources): Likewise. And does it prevent the feared slowdown? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15474
[Bug java/33023] New: throw null
gcj (GCC) 4.1.2 20070626 (Red Hat 4.1.2-13) public class n { public static void main(String[] args) { throw null; } } $ gcj -C n.java n.java: In class 'n': n.java: In method 'n.main(java.lang.String[])': n.java:5: error: Checked exception null isn't thrown from a try block. throw null; ^ 1 error This is allowed according to JLS 14.18 "throw Expression ; [...] f evaluation of the Expression completes normally, producing a null value, then an instance V' of class NullPointerException is created and thrown instead of null." This is with the old source frontend, with the new frontend based on ecj, this does compile correctly. -- Summary: throw null Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33023
[Bug AWT/20029] New: Robot needs XTest
Whenever you try to use java.awt.Robot you will get an error like: : relocation error: /usr/local/gcc40/lib/lib-gnu-java-awt-peer-gtk.so.6: undefined symbol: XTestQueryExtension This is probably because the following Change didn't come correctly from the gui branch onto the trunk: +2005-02-15 Thomas Fitzsimmons <[EMAIL PROTECTED]> + + * Makefile.am (gtk_c_source_files): Add GdkRobotPeer.c. + (gtk_awt_peer_sources): Add GdkScreenGraphicsDevice.java and + GdkRobotPeer.java. + (lib_gnu_java_awt_peer_gtk_la_CFLAGS): Add X flags. + (lib_gnu_java_awt_peer_gtk_la_LDFLAGS): Add XTest flags. + * gnu/awt/xlib/XToolkit.java (createRobot): New method. + * gnu/java/awt/ClasspathToolkit.java (createRobot): New method. + * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java + (getDefaultScreenDevice): Implement. + * gnu/java/awt/peer/gtk/GdkRobotPeer.java: New file. + * gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java: Likewise. + * gnu/java/awt/peer/gtk/GtkToolkit.java (createRobot): New method. + * java/awt/Robot.java: Implement. + * java/awt/peer/RobotPeer.java: Rename parameters. + * jni/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c: New file. + * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (awt_keycode_to_keysym): Make non-static. + * jni/gtk-peer/gtkpeer.h (AWT_BUTTON1_MASK, AWT_BUTTON2_MASK, + AWT_BUTTON3_MASK): Declare constants. + (awt_keycode_to_keysym): Declare. + + * Makefile.am (AM_MAKEFLAGS): Set KEYS variable. + * testsuite/libjava.mauve/mauve.exp (test_mauve): If KEYS exists + and is non-empty pass its value to "make check". + (test_mauve_sim): Likewise. -- Summary: Robot needs XTest Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: AWT AssignedTo: fitzsim at redhat dot com ReportedBy: mark at gcc dot gnu dot org 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=20029
[Bug libgcj/20508] gij prints too much information if an incorrect class is given
--- Additional Comments From mark at gcc dot gnu dot org 2005-03-17 10:30 --- Note that I made it more verbose then it was in the past on purpose. But not for this case. See an example of a stacktrace were (most) of this "extra" information is useful: http://gcc.gnu.org/ml/java-patches/2005-q1/msg00337.html This really helps when debugging strange reasons for your main class not wanting to start correctly. When cleaning this up be careful to at least keep the root cause and the classloaders and search paths used. And when the root cause is some (chained) ExceptionInInitializerError inside some super or interface class needed by the main class you really want the stacktrace to track down why/what happened where. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20508
[Bug java/20704] New: CNI code is called/loaded without any security checks
Classes using native CNI methods are loaded without any extra security checks. When a class uses native JNI methods it needs to make sure the appropriate library containing the JNI functions are loaded. Which means that at a certain point the call chain must have had a RuntimePermission("loadLibrary") because Runtime.loadLibrary() has to be called. For classes using CNI native methods no such requirement is needed which means that "CNI native code" can be called through such classes without a security check for the RuntimePermission being done. A "solution" could be to have the static initializer of such classes using CNI native code make a security check themselves for RuntimePermission("loadLibrary"). This does mean we need some way to simulate the "trusted" way of calling Runtime.loadLibrary() through a PrivilegedAction (which means the class itself needs to have the RuntimePermission, but the rest of the call chain doesn't). -- Summary: CNI code is called/loaded without any security checks Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org 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=20704
[Bug libgcj/21020] java.lang.NoSuchFieldError regression from earlier 4.0.0 snapshot
--- Additional Comments From mark at gcc dot gnu dot org 2005-04-14 13:20 --- With 4.1 (20050412) I get: g++ -g -lgcj java.cxx ./a.out java.lang.ClassNotFoundException: Lcom.sun.star.uno.Type; <> 4.0 (20050413) indeed throws java.lang.NoSuchFieldError -- What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-04-14 13:20:55 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21020
[Bug libgcj/21020] java.lang.NoSuchFieldError regression from earlier 4.0.0 snapshot
--- Additional Comments From mark at gcc dot gnu dot org 2005-04-14 19:14 --- This was "fixed" by the following patch on the 4.0 branch (20050414): 2005-04-14 Tom Tromey <[EMAIL PROTECTED]> * java/lang/natClassLoader.cc (_Jv_FindClass): Use system loader, not boot loader. (_Jv_RegisterInitiatingLoader): Likewise. (_Jv_UnregisterInitiatingLoader): Likewise. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21020
[Bug java/35020] Class.getSimpleName() differs from Sun Java
--- Comment #2 from mark at gcc dot gnu dot org 2008-01-29 21:02 --- Note that the libgcj and classpath versions of getSimpleName() were written independently. Although the classpath implementation might help in the short run. It is based on syntactically reconstructing the simple name. The correct fix would use the out class InnerClasses bytecode attribute. inner_name_index If C is anonymous, the value of the inner_name_index item must be zero. Otherwise, the value of the inner_name_index item must be a valid index into the constant_pool table, and the entry at that index must be a CONSTANT_Utf8_info (§4.4.7) structure that represents the original simple name of C, as given in the source code from which this class file was compiled. See http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html#79996 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35020
[Bug java/35020] Class.getSimpleName() differs from Sun Java
--- Comment #1 from mark at gcc dot gnu dot org 2008-01-29 20:35 --- GNU Classpath contains: 2007-08-20 Andrew John Hughes <[EMAIL PROTECTED]> * vm/reference/java/lang/VMClass.java: (getCanonicalName(Class)): Fix handling of member classes so we don't fall out of the if block. (getSimpleName(Class)): Handle class names which include the $ sign to break up anonymous/inner/member classes. And with cacao and current classpath CVS you get: $ cacao test inner -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35020
[Bug c++/41090] New: Using static label reference in c++ class constructor produces wrong code
The following code compiles, but won't link: #include using namespace std; class C { public: C() { static void *labelref = &&label; goto *labelref; label: cout << "hello" << endl; } }; int main (int argc, char **argv) { C inst = C(); return 0; } $ g++ label.cxx /tmp/ccirWO3W.o:(.data._ZZN1CC1EvE8labelref[C::C()::labelref]+0x0): undefined reference to `.L11' collect2: ld returned 1 exit status -- Summary: Using static label reference in c++ class constructor produces wrong code Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41090
[Bug c++/41091] New: Using section attribute in c and c++ function causes section type conflict
The following code that puts two static variables into their own section won't compile because of a section type conflict. class C { public: void m() { static const int TWO __attribute__((section(".consts"))) = 2; } }; static void c() { static const int ONE __attribute__((section(".consts"))) = 1; } int main (int argc, char **argv) { C inst = C(); inst.m(); c(); return 0; } $ g++ section.cxx section.cxx:12: error: ONE causes a section type conflict The section should have the same type in both definitions, but apparently doesn't. -- Summary: Using section attribute in c and c++ function causes section type conflict Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41091
[Bug debug/41097] New: Inlined variable debug location disappears when ptr type
The following example produced an inlined block with local variables that contain correct location expressions (-g -O2): #include #include static inline void m(char *name, int i, int j) { // Random syntactical block to be inlined. do { volatile int p_i = i; volatile int p_j = j; // Change this to void * or char * and var debugloc disappears!?! volatile uintptr_t p_name = (uintptr_t) name; // empty asm to force locals into regs. inlined_label: asm volatile ("" :: "g"(p_name), "g"(p_i), "g"(p_j)); printf("%s: (%d,%d)\n", p_name, p_i, p_j); } while (0); } int main (int argc, char **argv) { m("call", 40, 23); return 0; } $ gcc -g -O2 i.c $ readelf -w a.out [...] <5><3d4>: Abbrev Number: 28 (DW_TAG_variable) <3d5> DW_AT_abstract_origin: <0x30f> <3d9> DW_AT_location: 2 byte block: 91 6c (DW_OP_fbreg: -20) <5><3dc>: Abbrev Number: 28 (DW_TAG_variable) <3dd> DW_AT_abstract_origin: <0x31a> <3e1> DW_AT_location: 2 byte block: 91 68 (DW_OP_fbreg: -24) <5><3e4>: Abbrev Number: 28 (DW_TAG_variable) <3e5> DW_AT_abstract_origin: <0x325> <3e9> DW_AT_location: 2 byte block: 91 60 (DW_OP_fbreg: -32) [...] But if you change the type of p_name to char * (which would be more natural and was what the original code did), the DW_AT_location of p_name disappears: [... as above ...] volatile char *p_name = name; [...] $ gcc -g -O2 i.c $ readelf -w a.out [...] <5><3cf>: Abbrev Number: 28 (DW_TAG_variable) <3d0> DW_AT_abstract_origin: <0x304> <3d4> DW_AT_location: 2 byte block: 91 6c (DW_OP_fbreg: -20) <5><3d7>: Abbrev Number: 28 (DW_TAG_variable) <3d8> DW_AT_abstract_origin: <0x30f> <3dc> DW_AT_location: 2 byte block: 91 68 (DW_OP_fbreg: -24) <5><3df>: Abbrev Number: 29 (DW_TAG_variable) <3e0> DW_AT_abstract_origin: <0x31a> [...] Note, no DW_AT_location for the last variable (p_name), just a DW_AT_abstract_origin. The other vars (p_i and p_j) still do have both abstract_origin and location). -- Summary: Inlined variable debug location disappears when ptr type Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41097
[Bug debug/41097] Inlined variable debug location disappears when ptr type
--- Comment #2 from mark at gcc dot gnu dot org 2009-08-18 08:11 --- (In reply to comment #1) > Wait a second are you saying: > volatile char * p_name > > and p_name disappears? > Well that is because p_name is no longer volatile but what it points to is. Well, obvious p_name still is there, since it will be put in a register to feed into the asm statement. But the debuginfo location for it is missing. > I don't think this is a bug in GCC but rather a misunderstanding on how > qualifiers apply to types. > > If you use a typedef for char*, does it disappear? You are right, I misunderstood how the volatile qualifier "attached" to the type. Using: typedef char * char_ptr; volatile char_ptr p_name = (char_ptr) name; Does what I want. Thanks. That will allow me to write a workaround for what I am seeing using typedef typeof(arg). I am not sure this means the bug is really not there, because I am still a little surprised (confused?) the location expression goes missing in the original (and I assume the variable isn't actually fully optimized away). But since I now have a workaround for that I am already happy. Thanks. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41097
[Bug middle-end/40500] [4.5 Regression] Revision 148512 failed to build binutils
--- Comment #10 from mark at gcc dot gnu dot org 2009-09-08 12:33 --- This is slightly annoying when used with -Wall -Werror. The following code suddenly doesn't compile anymore. While a trivial rewrite, declaring the variable and assigning it in the next statement, makes it build again this doesn't really make sense IMHO since the code is identical (the original is just more concise because it is one line). int func(int i) { int result = -1; if (i == 3) { result = 5; goto end; } int j = 16; /* Must be rewritten to to avoid warning/error with -Wall -Werror: int j; j = 16; */ if (i > j) result = i; else result = j; end: return result; } $ gcc -Wall -Werror -c -o jump.o jump.c cc1: warnings being treated as errors jump.c: In function func: jump.c:7:7: error: jump skips variable initialization jump.c:20:1: note: label end defined here jump.c:10:7: note: j declared here gcc (GCC) 4.5.0 20090908 (experimental) [trunk revision 151507] -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40500
[Bug c++/41091] Using section attribute in c and c++ function causes section type conflict
--- Comment #2 from mark at gcc dot gnu dot org 2009-10-14 07:48 --- (In reply to comment #1) > Actually, they have to have two different section types. > > c::m()::TWO has to be in the comdat section for C::m(). > While c()::ONE does not and can be in a normal section. INVALID? How is the user supposed to know (or care) about comdat? All they want is make sure the constants get put in the same section. So how can one specify that behavior for both ONE and TWO? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41091
[Bug c++/41091] Using section attribute in c and c++ function causes section type conflict
--- Comment #3 from mark at gcc dot gnu dot org 2009-10-17 11:28 --- See comment #2. -- mark at gcc dot gnu dot org changed: What|Removed |Added Status|RESOLVED|UNCONFIRMED Resolution|INVALID | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41091
[Bug java/32638] New: Wrong selection of field in inner class when outer class and super class have a relevant filed named the same
The following program should print true, but prints false when compiled with gcj -C because the wrong field o is selected in the anonymous inner class (the protected field named o in the super class is more specific than the field o in the enclosing method). public class t { static abstract class a { protected Object o = new Object(); abstract void print(Object input); } static class b { void m() { final Object o = new Object(); a x = new a() { void print(Object input) { System.out.println(o != input); } }; x.print(o); } } public static void main(String[] args) { new b().m(); } } Since this is pretty hard to see why this code works/doesn't work in the first place (the super class could be in a completely different file and the field in the outer class certainly looks like it would be the one that is used in the inner class) a warning for this kind of usage would be nice. gcj (GCC) 4.1.2 20070626 (Red Hat 4.1.2-13) -- Summary: Wrong selection of field in inner class when outer class and super class have a relevant filed named the same Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32638
[Bug libgcj/16990] [meta-bug] TimeZone Issues in libgcj/classpath
--- Additional Comments From mark at gcc dot gnu dot org 2005-09-03 23:50 --- New TimeZone issue Bug #23566 Need to regenerate TimeZone data against tzdata2005k -- What|Removed |Added BugsThisDependsOn||23566 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16990
[Bug classpath/17003] java.util.TimeZone information outdated
--- Additional Comments From mark at gcc dot gnu dot org 2005-09-03 23:51 --- The TimeZones have been regenerated from tzcode2005l. 2005-08-25 Mark Wielaard <[EMAIL PROTECTED]> Reported by Bastiaan Huisman <[EMAIL PROTECTED]> * scripts/tzabbrevs: Change America/Buenos_Aires to America/Argentina/Buenos_Aires for AGT link. * timezones.pl (parseTime): Assume and return wall time. Reindent output. * java/util/TimeZone.java (timezones): Regenerate using tzdata2005l. Since a few days there is a new dataset tzcode2005k. There is a bug in our script that prevents us from regenerating against that one. This is tracked in bug #23566. -- What|Removed |Added Status|NEW |RESOLVED Component|libgcj |classpath Product|gcc |classpath Resolution||FIXED Target Milestone|--- |0.18 Version|4.0.0 |unspecified http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17003
[Bug libgcj/16990] [meta-bug] TimeZone Issues in libgcj/classpath
-- Bug 16990 depends on bug 17003, which changed state. Bug 17003 Summary: java.util.TimeZone information outdated http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17003 What|Old Value |New Value Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16990
[Bug libgcj/19512] Optional JNI error checking
--- Additional Comments From mark at gcc dot gnu dot org 2005-09-04 11:40 --- There is a proposed patch (from January): http://gcc.gnu.org/ml/java-patches/2005-q1/msg00162.html But I have not had time to forward port it to the lasted CVS head or do any performance tests (Bryce suggested that the tests should always be on if it doesn't impact performance heavily). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19512
[Bug libgcj/16281] JNI accepts illegal Class Descriptors
--- Additional Comments From mark at gcc dot gnu dot org 2005-09-04 12:20 --- This is addressed by the patch for bug #19512 Optional JNI error checking. Which (among others) includes the following: - Check that '.' is not used in method and field descriptors. *** This bug has been marked as a duplicate of 19512 *** -- What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16281
[Bug libgcj/19512] Optional JNI error checking
--- Additional Comments From mark at gcc dot gnu dot org 2005-09-04 12:20 --- *** Bug 16281 has been marked as a duplicate of this bug. *** -- What|Removed |Added CC||mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19512
[Bug awt/20720] crash when pressing laptop arrow keys
-- What|Removed |Added Target Milestone|--- |0.18 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20720
[Bug classpath/23238] split-for-gcj.sh should use CONFIG_SHELL
-- What|Removed |Added Target Milestone|--- |0.18 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23238
[Bug classpath/23183] SimpleDateFormat fails to render '' as single quotes
--- Additional Comments From mark at gcc dot gnu dot org 2005-09-06 12:57 --- Fixed checked in GNu Classpath, which will be released with 0.18. -- What|Removed |Added Status|ASSIGNED|RESOLVED Component|libgcj |classpath Product|gcc |classpath Resolution||FIXED Target Milestone|--- |0.18 Version|4.0.0 |unspecified http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23183
[Bug awt/21660] FileDialog.SAVE broken
-- What|Removed |Added Target Milestone|--- |0.18 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21660
[Bug awt/20782] jawt assertion failure
-- What|Removed |Added Target Milestone|--- |0.18 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20782
[Bug awt/20014] BufferedImage.getGraphics() aborts
-- What|Removed |Added Target Milestone|--- |0.18 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20014
[Bug java/21418] Order of source files matters when compiling
--- Additional Comments From mark at gcc dot gnu dot org 2005-09-11 22:29 --- And I tracked our problems with The javax.swing.Box inner class AccessibleBox extends AccessibleAWTContainer in GNU Classpath to a similar order problem. Take the following source files: p/AClass.java :: package p; public class AClass { protected abstract class InnerA { protected InnerA() { } } } :: q/BClass.java :: package q; import p.*; public class BClass extends AClass { protected class InnerB extends AClass.InnerA { } } :: q/CClass.java :: package q; import p.AClass; public class CClass extends BClass { protected class InnerC extends AClass.InnerA { } } When compiled as follows all goes well: $ gcj -C p/AClass.java q/BClass.java q/CClass.java But when we change the order to: $ gcj -C p/AClass.java q/CClass.java q/BClass.java q/CClass.java:5: error: Nested class p.AClass$InnerA is protected; cannot be accessed from here. protected class InnerC extends AClass.InnerA ^ 1 error -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21418
[Bug libgcj/24147] New: [gcc 4.0 only] Deadlock in java.net.URLClassLoader
A patch was already created and applied for classpath/gcc 4.1. It needs to be backported to the 4.0 branch. See http://gcc.gnu.org/ml/java/2005-09/msg00053.html -- Summary: [gcc 4.0 only] Deadlock in java.net.URLClassLoader Product: gcc Version: 4.0.3 Status: UNCONFIRMED Severity: normal Priority: P2 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org 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=24147
[Bug libffi/24148] New: Linux PPC64 libffi -vs- long double return
A patch was already created and applied for gcc 4.1. It needs to be backported to the 4.0 branch. See http://gcc.gnu.org/ml/gcc-patches/2005-09/msg01605.html -- Summary: Linux PPC64 libffi -vs- long double return Product: gcc Version: 4.0.3 Status: UNCONFIRMED Severity: normal Priority: P2 Component: libffi AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24148
[Bug libffi/24148] [gcc 4.0 only] Linux PPC64 libffi -vs- long double return
-- What|Removed |Added Summary|Linux PPC64 libffi -vs- long|[gcc 4.0 only] Linux PPC64 |double return |libffi -vs- long double ||return http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24148
[Bug java/24018] [meta-bug] Patches that should be applied to 4.0 branch
--- Additional Comments From mark at gcc dot gnu dot org 2005-09-30 14:49 --- Two bugs added to be backported: - Linux PPC64 libffi -vs- long double return - Deadlock in java.net.URLClassLoader -- What|Removed |Added BugsThisDependsOn||24147, 24148 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24018
[Bug libffi/24148] [gcc 4.0 only] Linux PPC64 libffi -vs- long double return
-- What|Removed |Added OtherBugsDependingO||24018 nThis|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24148
[Bug libgcj/24147] [gcc 4.0 only] Deadlock in java.net.URLClassLoader
-- What|Removed |Added OtherBugsDependingO||24018 nThis|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24147
[Bug libgcj/24147] [gcc 4.0 only] Deadlock in java.net.URLClassLoader
-- What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-09-30 14:56:21 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24147
[Bug libffi/24148] [gcc 4.0 only] Linux PPC64 libffi -vs- long double return
-- What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-09-30 14:58:43 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24148
[Bug libffi/24148] [gcc 4.0 only] Linux PPC64 libffi -vs- long double return
-- What|Removed |Added AssignedTo|unassigned at gcc dot gnu |tromey at redhat dot com |dot org | Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24148
[Bug libgcj/24154] Make requires too much memory building libjava
--- Additional Comments From mark at gcc dot gnu dot org 2005-10-01 08:44 --- Confirmed. I am also seeing this on my old PPC box which has just 192MB real memory. Since it has enough swap it does finish after a couple of hours of swapping like mad. -- What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-10-01 08:44:15 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24154
[Bug libgcj/24587] New: libgcj should set gnu.classpath.version system property
When a new version of GNU Classpath is imported gnu.classpath.version should be set by libgcj to indicate which version of GNU Classpath it is using. This is used in a couple of places (for example the http.agent property). -- Summary: libgcj should set gnu.classpath.version system property Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24587
[Bug java/24572] [4.0 regression] ICE in gimplify_expr, at gimplify.c:3983
--- Comment #1 from mark at gcc dot gnu dot org 2005-11-03 09:41 --- Confirmed, this prevents gjdoc from building, which used the build just fine with earlier gcj 4.0.x releases. -- mark at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2005-11-03 09:41:22 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24572
[Bug libgcj/43279] Constructor java.lang.String(int[], int, int) missing
--- Comment #2 from mark at gcc dot gnu dot org 2010-03-07 13:48 --- GNU Classpath java.lang.String does have the String(int[] codePoints, int offset, int count) constructor. But libgcj still has a separate String implementation that doesn't have this constructor merged. -- mark at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-03-07 13:48:05 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43279
[Bug AWT/19840] drawImage bug
--- Additional Comments From mark at gcc dot gnu dot org 2005-06-22 21:29 --- This seems to have been fixed in GNU Classpath by Sven de Marothy. http://fitzsim.org/blog/?p=5 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19840
[Bug AWT/19847] AWT drawImage fails to render transparent GIFs
--- Additional Comments From mark at gcc dot gnu dot org 2005-06-23 15:48 --- There are two parts to this bug. 1) Small images weren't loaded correctly. 2) An image that is scaled/clipped and doesn't use (0,0) as origin isn't scaled correctly. 1) is fixed in GNU Classpath by: 2005-06-22 Mark Wielaard <[EMAIL PROTECTED]> * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java (pumpBytes): Throws IOException. (pumpDone): New native method. (produce): Call pumpDone(). * include/gnu_java_awt_peer_gtk_GdkPixbufDecoder.h: Regenerated. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_pumpDone): New method. (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_pumpBytes): Check for errors on gdk_pixbuf_loader_write. 2) Isn't fixed yet. It occurs in gnu.java.awt.peer.gtk.GtkImage.drawImage() where it says: // Clipping. This requires the dst to be scaled as well, -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19847
[Bug awt/16824] GdkPixbufDecoder crashes with image loading programs
--- Additional Comments From mark at gcc dot gnu dot org 2005-08-21 11:06 --- It showed up as random crashes in some mauve tests. Such as gnu.testlet.java.awt.image.PixelGrabber.SimpleGrabber Fixed by: 2004-08-08 Mark Wielaard <[EMAIL PROTECTED]> * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c: #include gdk.h, not gtk.h. #include jni.h, native_state.h, string.h and stdlib.h, not gtkpeer.h. (*vm): New static variable. (areaPreparedID): Make static. (areaUpdatedID): Likewise. (area_prepared): Get and use JNIEnv through stored JavaVM *vm. (area_prepared): Likewise. (area_updated): Likewise. (closed): Likewise. (initStaticState): Initialize *vm javaVM. (pumpBytes): Use given env, not global gdk_env. -- What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16824
[Bug classpath/21741] Need configure option to set java.library.path
--- Additional Comments From mark at gcc dot gnu dot org 2005-08-24 16:08 --- Note that since 0.15 GNU Classpath has the following system property: * New system property "gnu.classpath.boot.library.path" can be specified to define the location of the JNI libraries. It is by all means meant ONLY for VM implementors and GNU Classpath hackers. See the hacking guide for more information. http://www.gnu.org/software/classpath/docs/vmintegration.html#SEC43 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21741
[Bug libgcj/26103] Wrong exception thrown
--- Comment #2 from mark at gcc dot gnu dot org 2006-02-05 14:44 --- I added a mauve test for this and some other cases. gcj fails a couple of them because it tries to handle array classes specially through loadClassFromSig(). See gnu.testlet.java.lang.ClassLoader.loadClass in Mauve. -- mark at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-02-05 14:44:32 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26103
[Bug classpath/26177] Exception when compiling valid regex pattern
--- Comment #2 from mark at gcc dot gnu dot org 2006-02-08 17:22 --- Works fine with GNU Classpath CVS -- mark at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Component|libgcj |classpath Product|gcc |classpath Resolution||FIXED Target Milestone|--- |0.21 Version|4.1.0 |unspecified http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26177
[Bug classpath/14144] Serialisation bug with abstract classes
-- mark at gcc dot gnu dot org changed: What|Removed |Added Component|libgcj |classpath Product|gcc |classpath Target Milestone|--- |0.21 Version|unknown |unspecified http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14144
[Bug other/26356] New: contrib.texi contributors lists need merging
Currently gcc/doc/contrib.texi has four lists: - "main" gcc contributors. - gnats contributors - libgcj/classpath contributors - testers They should be merged. -- Summary: contrib.texi contributors lists need merging Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26356
[Bug libgcj/26487] Weird handling of HTTP Headers
--- Comment #4 from mark at gcc dot gnu dot org 2006-02-28 11:38 --- Confirmed. It looks like getHeader(int), getHeader(String) and getHeaders() have slightly different semantics. Where the first should return the actual n-th header field value only, the second should return the value of the last header with that name and the third should return a list of all values for that header. This seems slightly related to the bug just fixed by David Daney (bug #25851). Adding him and Chris to the CC since they might know more about how to adopt the design to support all three different semantics efficiently. P.S. The testcase will not work at the moment against classpath CVS since it is using a https URL, but Raif already has a patch for that which should hopefully go through all the testing soon. -- mark at gcc dot gnu dot org changed: What|Removed |Added CC||dog at gnu dot org, mark at ||gcc dot gnu dot org, ddaney ||at avtrex dot com Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-02-28 11:38:10 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26487
[Bug libgcj/24154] Make requires too much memory building libjava
--- Comment #6 from mark at gcc dot gnu dot org 2006-02-28 13:11 --- This seems to be also tracked as a GNU Make bug at: http://savannah.gnu.org/bugs/?func=detailitem&item_id=15182 "Make uses too much memory" -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24154
[Bug libgcj/26506] Native build of Azureus 2.4.0.0 throws ArrayIndexOutOfBounds running under gcj 4.1.0
--- Comment #1 from mark at gcc dot gnu dot org 2006-03-01 08:01 --- Anthony (added to CC) has been packaging Azureus for FC-Extras. He might recognize this failure. There were some late patches for Azureus support added late in the 4.1 cycle, so it might be that the Ubuntu gcc 4.1 doesn't yet have those (although it seems to be from 19 February, so it is probably recent enough). -- mark at gcc dot gnu dot org changed: What|Removed |Added CC||green at redhat dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26506
[Bug libgcj/21637] [4.2 Regression] URL.openStream doesn't throw a FileNotFoundException with some urls
--- Comment #9 from mark at gcc dot gnu dot org 2006-03-03 15:25 --- In classpath (cvs upstream) this seems to have been solved now by: 2006-03-03 Wolfgang Baer <[EMAIL PROTECTED]> * gnu/java/net/protocol/jar/Connection.java: (connect): Throw FileNotFoundException. (getInputStream): Remove duplicated code. But libgcj contains an override for gnu/java/net/protocol/jar/Connection.java. I haven't investigated why yet. But it would be nice if we could merge this class again after the next classpath update. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21637
[Bug java/26390] Problem dispatching method call when method does not exist in superclass
--- Comment #3 from mark at gcc dot gnu dot org 2006-03-10 18:13 --- While importing 0.90 into libgcj I also noticed this. Setting this package to bc (like the other awt peer implementations) gives: make[3]: Entering directory `/home/mark/src/gcc-obj/i686-pc-linux-gnu/libjava' /bin/sh ./libtool --mode=compile /home/mark/src/gcc-obj/gcc/gcj -B/home/mark/src/gcc-obj/i686-pc-linux-gnu/libjava/ -B/home/mark/src/gcc-obj/gcc/ -ffloat-store -fomit-frame-pointer -fclasspath= -fbootclasspath=/home/mark/src/gcc-obj/i686-pc-linux-gnu/libjava/classpath/lib --encoding=UTF-8 -Wno-deprecated -fbootstrap-classes -g -O2 -fjni -findirect-dispatch -c -o gnu-java-awt-peer-swing.lo @gnu-java-awt-peer-swing.list /home/mark/src/gcc-obj/gcc/gcj -B/home/mark/src/gcc-obj/i686-pc-linux-gnu/libjava/ -B/home/mark/src/gcc-obj/gcc/ -ffloat-store -fomit-frame-pointer -fclasspath= -fbootclasspath=/home/mark/src/gcc-obj/i686-pc-linux-gnu/libjava/classpath/lib --encoding=UTF-8 -Wno-deprecated -fbootstrap-classes -g -O2 -fjni -findirect-dispatch -c @gnu-java-awt-peer-swing.list -fPIC -o .libs/gnu-java-awt-peer-swing.o gnu/java/awt/peer/swing/SwingFramePeer.java: In class 'gnu.java.awt.peer.swing.SwingFramePeer': gnu/java/awt/peer/swing/SwingFramePeer.java: In method 'gnu.java.awt.peer.swing.SwingFramePeer.setBounds(int,int,int,int)': gnu/java/awt/peer/swing/SwingFramePeer.java:118: error: verification failed at PC=6: didn't see expected constant make[3]: *** [gnu-java-awt-peer-swing.lo] Error 1 where line 118 is indeed: super.setBounds(x, y, w, h); -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26390
[Bug java/26638] New: Mauve crypto test failures
The following test in mauve fail with a merged classpath 0.90 tree: FAIL: gnu.testlet.gnu.javax.crypto.assembly.TestOfAssembly: uncaught exception at "TestOfAssembly.testSymmetry#1" number 1: java.lang.IllegalStateException FAIL: gnu.testlet.gnu.javax.crypto.assembly.TestOfCascade: uncaught exception at "TestOfCascade" number 1: java.lang.IllegalStateException FAIL: gnu.testlet.gnu.javax.crypto.jce.TestOfCipher: testEquality(rijndael): java.lang.IllegalStateException (number 1) FAIL: gnu.testlet.gnu.javax.crypto.jce.TestOfCipher: testPadding(tls1): java.lang.IllegalStateException (number 1) FAIL: gnu.testlet.gnu.javax.crypto.jce.TestOfCipher: testPartial(rijndael): java.lang.IllegalStateException (number 1) FAIL: gnu.testlet.gnu.javax.crypto.jce.TestOfCipher: testDoFinal(rijndael): java.lang.IllegalStateException (number 1) FAIL: gnu.testlet.gnu.javax.crypto.jce.TestOfCipher: testDoFinal(twofish): java.lang.IllegalStateException (number 1) FAIL: gnu.testlet.gnu.javax.crypto.jce.TestOfCipher: testDoFinal(anubis): java.lang.IllegalStateException (number 1) FAIL: gnu.testlet.gnu.javax.crypto.jce.TestOfCipher: testDoFinal(blowfish): java.lang.IllegalStateException (number 1) FAIL: gnu.testlet.gnu.javax.crypto.jce.TestOfCipher: testDoFinal(cast5): java.lang.IllegalStateException (number 1) FAIL: gnu.testlet.gnu.javax.crypto.jce.TestOfCipher: testDoFinal(null): java.lang.IllegalStateException (number 1) FAIL: gnu.testlet.gnu.javax.crypto.jce.TestOfCipher: testDoFinal(des): java.lang.IllegalStateException (number 1) FAIL: gnu.testlet.gnu.javax.crypto.jce.TestOfCipher: testDoFinal(serpent): java.lang.IllegalStateException (number 1) FAIL: gnu.testlet.gnu.javax.crypto.jce.TestOfCipher: testDoFinal(square): java.lang.IllegalStateException (number 1) FAIL: gnu.testlet.gnu.javax.crypto.jce.TestOfCipher: testDoFinal(khazad): java.lang.IllegalStateException (number 1) FAIL: gnu.testlet.gnu.javax.crypto.jce.TestOfCipher: testDoFinal(tripledes): java.lang.IllegalStateException (number 1) They all fail in a similar way: java.lang.IllegalStateException at gnu.javax.crypto.mode.BaseMode.currentBlockSize (BaseMode.java:244) at gnu.javax.crypto.assembly.ModeStage.initDelegate (ModeStage.java:107) at gnu.javax.crypto.assembly.Stage.init (Stage.java:156) at gnu.javax.crypto.assembly.Cascade.init (Cascade.java:303) at gnu.javax.crypto.assembly.CascadeTransformer.initDelegate (CascadeTransformer.java:81) at gnu.javax.crypto.assembly.Transformer.init (Transformer.java:207) at gnu.javax.crypto.assembly.Transformer.init (Transformer.java:206) at gnu.javax.crypto.assembly.Assembly.init (Assembly.java:141) at gnu.testlet.gnu.javax.crypto.assembly.TestOfAssembly.testSymmetry (TestOfAssembly.java:116) at gnu.testlet.gnu.javax.crypto.assembly.TestOfAssembly.test (TestOfAssembly.java:88) at gnu.testlet.SimpleTestHarness.runtest (SimpleTestHarness.java:248) at gnu.testlet.SimpleTestHarness.main (SimpleTestHarness.java:396) 1 of 1 tests failed All these tests succeed with a cacao or jamvm runtime and classpath 0.90. -- Summary: Mauve crypto test failures Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26638
[Bug libgcj/9250] runtime should only use non-visible locks
--- Comment #6 from mark at gcc dot gnu dot org 2006-03-29 18:14 --- TYhis bug is now closed but I wanted to add the following link for the archives. A couple of these denial of service attacks by taking locks were in the examples of Sascha's GNU Classpath Security talk at Fosdem 2004: http://www.brawer.ch/articles/classpathSecurity/ -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9250
[Bug classpath/27028] Iterator.hasNext() throws ConcurrentModificationException
--- Comment #3 from mark at gcc dot gnu dot org 2006-04-05 06:38 --- This might (or might not) be related to bug #24752 although also in that case it could be argued that the user code is just buggy and should be fixed. See also bug #24632 which is also similar, but in that case the Axis developers just fixed their code. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27028
[Bug java/21115] New: false boolean argument passed from pre-compiled to interpreted method is true
This is reduced from the eclipse problem I was seeing. Compile the following Test.java with gcj --main=Test Test.java public abstract class Test { public static void main(String[] args) throws Exception { Class c = Class.forName("Invoke"); Object o = c.newInstance(); Test t = (Test) o; t.test("FALSE", false); t.test("TRUE", true); } public abstract boolean test(String s, boolean b); } Compile the Invoke.java class with gcj -C: public class Invoke extends Test { public boolean test(String s, boolean b) { if (b) System.out.println(s + ": TRUE!"); else System.out.println(s + ": FALSE!"); return b; } } Then run the expected output is: FALSE: FALSE! TRUE: TRUE! But when running ./a.out you will get: FALSE: TRUE! TRUE: TRUE! Running this completely interpreted (gcj -C Test.java; gij Test) produces the correct output. It also works correctly on powerpc-unknown-linux-gnu (either partly pre-compiled or fully interpreted). -- Summary: false boolean argument passed from pre-compiled to interpreted method is true Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mark at gcc dot gnu dot org CC: aph at redhat dot com,gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu dot org,tromey at redhat dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21115
[Bug libgcj/21115] false boolean argument passed from pre-compiled to interpreted method is true
--- Additional Comments From mark at gcc dot gnu dot org 2005-04-20 14:30 --- Posted a patch to implement option 2 of comment #6 - "fixing up" boolean args for raw calls http://gcc.gnu.org/ml/java-patches/2005-q2/msg00242.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21115
[Bug libgcj/21115] false boolean argument passed from pre-compiled to interpreted method is true
--- Additional Comments From mark at gcc dot gnu dot org 2005-04-21 16:04 --- The patch from comment #10 fixes the Test program and makes my patch to interpet.cc unnecessary. Also when recompiling libgcj with this a fully interpreter eclipse is again able to import and build the classpath project without any trouble. -- What|Removed |Added Component|java|libgcj Target Milestone|4.0.1 |--- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21115