[PATCH] Fix PR39177

Richard Guenther rguenther@suse.de
Wed Oct 21 13:28:00 GMT 2009


This fixes the GCC bootstrap failures in libjava when using gjar
from GCC 4.4 or later.

Ok for the trunk and the 4.4 branch?  Please somebody deal with
the classpath repo.

Thanks,
Richard.

2009-10-21  Richard Guenther  <rguenther@suse.de>

	PR cp-tools/39177
	* tools/gnu/classpath/tools/jar/Creator.java (writeCommandLineEntries):
	Do not use uninitialized manifest.
	* tools/classes/gnu/classpath/tools/jar/Creator.class: Re-generated.

Index: libjava/classpath/tools/gnu/classpath/tools/jar/Creator.java
===================================================================
*** libjava/classpath/tools/gnu/classpath/tools/jar/Creator.java	(revision 152176)
--- libjava/classpath/tools/gnu/classpath/tools/jar/Creator.java	(working copy)
*************** public class Creator
*** 216,226 ****
      manifest = createManifest(parameters);
      /* If no version is specified, provide the same manifest version default
       * as Sun's jar tool */
!     Attributes attr = manifest.getMainAttributes();
!     if (attr.getValue(Attributes.Name.MANIFEST_VERSION) == null)
!       attr.putValue(Attributes.Name.MANIFEST_VERSION.toString(), "1.0");
!     attr.putValue("Created-By", System.getProperty("java.version") +
  		  " (" + System.getProperty("java.vendor") + ")");
      outputStream = new JarOutputStream(os, manifest);
      // FIXME: this sets the method too late for the manifest file.
      outputStream.setMethod(parameters.storageMode);
--- 216,229 ----
      manifest = createManifest(parameters);
      /* If no version is specified, provide the same manifest version default
       * as Sun's jar tool */
!     if (parameters.wantManifest)
!       {
! 	  Attributes attr = manifest.getMainAttributes();
! 	  if (attr.getValue(Attributes.Name.MANIFEST_VERSION) == null)
! 	      attr.putValue(Attributes.Name.MANIFEST_VERSION.toString(), "1.0");
! 	  attr.putValue("Created-By", System.getProperty("java.version") +
  		  " (" + System.getProperty("java.vendor") + ")");
+       }
      outputStream = new JarOutputStream(os, manifest);
      // FIXME: this sets the method too late for the manifest file.
      outputStream.setMethod(parameters.storageMode);



More information about the Java-patches mailing list