Hi all, On Sun, 2003-12-21 at 15:25, Mark Wielaard wrote: > Preparing for the source code auditing. The following is what I intend > to do/have done already. > > [...] > > for i in `cat files_libgcj`; do if test -f classpath/$i; \ > then cmp classpath/$i ~/src/gcc/libjava/$i | cut -f1 -d\ | cut -f2- -d/;\ > else echo "$i"; fi; done > > Which gives 212 files that differ. > The same for kaffe gives 66 that differ. > > We need to find explanations for these differences. I have not done that > yet. But most differences seem easily explainable.
I just went over the diffs with kaffe CVS. Attached it the audit log. When the change was an obvious improvement in the kaffe version I just merged it into Classpath (see [EMAIL PROTECTED] mailinglist). I didn't find any anomalies that would indicate tempering with the Classpath CVS sources. For java.text and java.io serialization/ObjectStream changes I didn't do a real complete audit since both the kaffe and libgcj versions differ to much from Classpath. Both sets of changes probably need an expert to do the merging. See also the audit log. Kaffe hackers might want to go over the audit log to see which things they should update in kaffe CVS. Cheers, Mark
gnu/classpath/Configuration.java - Not in Classpath (derived from .in file). gnu/java/net/DNSJavaInetAddressImpl.java gnu/java/net/InetAddressImpl.java gnu/java/net/SysInetAddressImpl.java - Part of pure java DNS not (yet?) in CP. gnu/java/net/SocketInputStream.java gnu/java/net/SocketOutputStream.java - Live inside gnu/java/net/PlainSocketImpl.java in Classpath now. PlainSocketImpl isn't merged with Classpath yet. gnu/java/net/URLParseError.java gnu/java/net/protocol/jar/Handler.java - Better jar URL parsing, also in libgcj. Took libgcj version for Classpath. gnu/java/net/protocol/http/Connection.java - Has a patch for getHeaderFieldKey() and getHeaderField() which looks correct (but what about that n--?). libgcj has another patch though. gnu/java/nio/FileLockImpl.java gnu/java/nio/SelectorImpl.java - Kaffe loads a different library (javanio vs nio). gnu/java/rmi/server/RMIVoidValue.java gnu/java/rmi/server/UnicastConnectionManager.java gnu/java/rmi/server/UnicastRemoteCall.java gnu/java/rmi/server/UnicastServer.java gnu/java/rmi/server/UnicastServerRef.java - Kaffe had some updates for primitive types and void return values. Imported into Classpath with slight changes to minimize creating new objects. java/awt/Color.java - Kaffe just has a different version with a 'nativeValue' field and missing ColorPaintContext support. java/io/BufferedReader.java - Kaffe had better argument checking and exception messages. Those have been imported. There are also some logic changes to mark() and readLine() which have not been synced yet. java/io/CharArrayReader.java - Kaffe throws a IndexOutOfBoundsException where we throw a ArrayIndexOutOfBoundsException. I have no idea why. java/io/File.java - Kaffe uses different loadLibrary() call. Some identation differences (classpath is better). Kaffe has URI support. Kaffe has support for case-(in)-sensitive file systems for equals() and hashCode(). File(File, String) constructor seems cleaner in Kaffe. Kaffe has a real implementation for deleteOnExit with a DeleteFileHelper class that should be compared to the way libgcj handles this (see gnu/gcj/runtime/FileDeleter.java). java/io/FileDescriptor.java - Different System.loadLibrary(). java/io/FileInputStream.java - Kaffe has better security and dir check. (merged) java/io/LineNumberReader.java - Kaffe has better argument checking and a couple of logic changes that seem improvements but haven't investigated further. java/io/ObjectInputStream.java java/io/ObjectOutputStream.java java/io/ObjectStreamClass.java java/io/ObjectStreamField.java - To much hacking is going on around these classes in libgcj. Not checked. java/io/VMObjectStreamClass.java - Derived class in kaffe from vm/reference in Classpath. java/lang/Boolean.java java/lang/Character.java - Kaffe doesn't have VMClassLoader yet. java/lang/VMThrowable.java - Kaffe implementation class, derived from vm/reference in Classpath. java/lang/reflect/Proxy.java - Kaffe has an old version from 2002. java/net/InetAddress.java - Some diffs. Most come from the pluggable DNS provider support in kaffe that never made it into Classpath and some ipv6 support. The libgcj version has also diverged quite a bit. Needs someone with good java.net.InetAddress knowledge to take a look. But nothing strange in the diff afaics. java/net/InetSocketAddress.java - Kaffe has a small diff for the constructor and toString for handling hostname. I am not sure either implementation is that efficient. To prevent DNS lookups I would not lookup hostname unless it is really necessary. java/net/NetworkInterface.java - Different System.loadLibrary(). Different getRealNetworkInterfaces() native method that returns a Hashtable not a Vector. java/net/ServerSocket.java - Small diff in bind(). According to Guilhem, Michael already has a better patch. java/net/Socket.java - Allow close() to be called multiple times. (merged) java/net/URI.java - Kaffe has a (partial) implementation that depends on regex support. java/net/URL.java - Kaffe has an old implementation. java/net/URLStreamHandler.java - Likewise java/nio/ByteOrder.java java/nio/DirectByteBufferImpl.java java/nio/channels/FileChannelImpl.java - Kaffe doesn't use System.loadLibrary(). java/rmi/Naming.java - Kaffe had a small fixlet for lookup, bind and rebind. (merged) java/text/AttributedCharacterIterator.java java/text/AttributedString.java java/text/CollationElementIterator.java java/text/DecimalFormat.java java/text/FieldPosition.java java/text/MessageFormat.java java/text/NumberFormat.java java/text/RuleBasedCollator.java java/text/SimpleDateFormat.java - Both kaffe and libgcj have diverged quite bit from Classpath. NOT CHECKED. java/util/GregorianCalendar.java - Kaffe already had the AM_PM fix (merged). There is one small functional change in computeFields() and some minor indentation diffs. Needs investigation. java/util/TimeZone.java - Kaffe uses different System.loadLibrary() argument. javax/net/ssl/Engine.java - Not actually part of Classpath. lib/gnu/java/locale/iso3166-a3.properties lib/gnu/java/locale/iso3166.properties lib/gnu/java/locale/iso3166_de.properties lib/gnu/java/locale/iso639-a2-old.properties lib/gnu/java/locale/iso639-a3.properties lib/gnu/java/locale/iso639.properties lib/gnu/java/locale/iso639_de.properties lib/gnu/java/locale/iso639_fr.properties lib/gnu/java/locale/iso639_ga.properties - Same as Classpath versions, just other dir. pure-java/math/gnu/java/math/MPN.java - Same as Classpath version, just other dir. pure-java/math/java/math/BigDecimal.java - Kaffe seems to have an old version from 2002. pure-java/math/java/math/BigInteger.java - Likewise.
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Classpath mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/classpath

