ping: Re: [patch] update ecj to ecj-3.8.2/4.2.2

Matthias Klose doko@ubuntu.com
Tue Jul 2 09:36:00 GMT 2013


On 06/26/13 21:23, Jon VanAlten wrote:
> 
> 
> ----- Original Message -----
>> From: "Matthias Klose" <doko@ubuntu.com>
>> To: "GCJ-patches" <java-patches@gcc.gnu.org>
>> Cc: "Jon VanAlten" <jon.vanalten@redhat.com>, "Tom Tromey" <tromey@redhat.com>, "Andrew Haley" <aph@redhat.com>
>> Sent: Thursday, June 20, 2013 6:39:22 AM
>> Subject: ping: Re: [patch] update ecj to ecj-3.8.2/4.2.2
>>
>> ping
>>
>> Am 15.04.2013 12:21, schrieb Matthias Klose:
>>> The ecj.jar provided on ftp://gcc.gnu.org/pub/java wasn't updated anymore
>>> since
>>> 2008, having no support for java7.  It looks like this ecj is already used
>>> within the Fedora disto, however only locally patched (at least I couldn't
>>> find
>>> any mail sent to java-patches).
>>>
>>> Find attached the changes required to build a new ecj.jar from the R3_8_2
>>> git
>>> tag.  The built files can be found at
>>> http://people.debian.org/~doko/tmp/eclipse-gcj/. The resulting gcj -C looks
>>> fine, building libjava with the new ecj.jar doesn't show any regressions,
>>> and
>>> the testsuite doesn't show any regressions.  However the filenames for some
>>> generated class and header files have changed for inner classes:
>>>
>>> $ svn status|grep UIDefaults|sort -k1
>>> !       classpath/lib/javax/swing/UIDefaults$1.class
>>> !       classpath/lib/javax/swing/UIDefaults$2.class
>>> !       classpath/lib/javax/swing/UIDefaults$3.class
>>> !       classpath/lib/javax/swing/UIDefaults$4.class
>>> ?       classpath/lib/javax/swing/UIDefaults$ProxyLazyValue$1.class
>>> ?       classpath/lib/javax/swing/UIDefaults$ProxyLazyValue$2.class
>>> ?       classpath/lib/javax/swing/UIDefaults$ProxyLazyValue$3.class
>>> ?       classpath/lib/javax/swing/UIDefaults$ProxyLazyValue$4.class
>>> !       javax/swing/UIDefaults$1.h
>>> !       javax/swing/UIDefaults$2.h
>>> !       javax/swing/UIDefaults$3.h
>>> !       javax/swing/UIDefaults$4.h
>>> ?       javax/swing/UIDefaults$ProxyLazyValue$1.h
>>> ?       javax/swing/UIDefaults$ProxyLazyValue$2.h
>>> ?       javax/swing/UIDefaults$ProxyLazyValue$3.h
>>> ?       javax/swing/UIDefaults$ProxyLazyValue$4.h
>>> M       classpath/lib/javax/swing/plaf/basic/SharedUIDefaults.class
>>> M       classpath/lib/javax/swing/UIDefaults.class
>>> M       classpath/lib/javax/swing/UIDefaults$ProxyLazyValue.class
>>> M
>>> classpath/lib/javax/swing/UIManager$MultiplexUIDefaults$MultiplexEnumeration.class
>>>
>>> See the attached svn-status.gz file for a complete diff (replace ! with D,
>>> ?
>>> with A).
>>>
>>>  - I'd like to ask Tom (or somebody else) to look at the patches
>>>    for the rhug/java repository.
>>>
>>>  - Ask to rebuild the .class and .h files using this new ecj.jar on the
>>>  trunk,
>>>    after the ecj.jar is uploaded.
>>>
>>> There are issues building OpenJDK and IcedTea with this new compiler.
>>> Please
>>> see the IcedTea ML for a follow-up posting.
>>>
>>>   Matthias
>>>
> 
> Hi Matthias,
> 
> I didn't realize this was still waiting for input.
> /me puts on Fedora packager hat...
> We don't even use the Makefile here (we copy GCCMain and properties
> into ecj source tree and use their ant build), but I have a couple
> comments about that change anyways.
> 
>  checkout:
> -	cvs -d $(cvsroot) co -r$(TAG) org.eclipse.jdt.core
> +#	git clone -b R3_8_maintenance git://git.eclipse.org/gitroot/jdt/eclipse.jdt.core.git
> +#	wget http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/snapshot/$(TAG).tar.gz
> +	tar xf $(TAG).tar.gz
> 
> So "checkout" target no longer does a checkout... seems a bit off. Is
> the commented git clone line left over from doing some of this before
> the official tag existed? Might want to drop that, and consider
> renaming the target to reflect its new behaviour.

sure, I can rename that.  any suggestion?  The purpose is to make it clear where
the source do come from.

> +	tar -c -f - -C $(TAG)/org.eclipse.jdt.core/compiler org \
> +	  | tar -x -f - -C org.eclipse.jdt.core/
> 
> Am I missing something or is this equivalent and simpler:
> 
> +	mv $(TAG)/org.eclipse.jdt.core/compiler/org org.eclipse.jdt.core/
> 
> +	tar -c -f - -C $(TAG)/org.eclipse.jdt.core/batch org \
> +	  | tar -x -f - -C org.eclipse.jdt.core/
> 
> Ditto.

yes, not having to run the checkout / pull from the web again.

> 
> -	cp org.eclipse.jdt.core/META-INF/MANIFEST.MF $(OUTPUT)/META-INF
> +#	cp org.eclipse.jdt.core/META-INF/MANIFEST.MF $(OUTPUT)/META-INF
> 
> Any reason not to just delete this line if it's no longer needed?

sure, can be dropped, the file is generated by jar anyway.

> As for the GCCMain portion of the change, yes it looks both necessary
> and correct. We do same in Fedora package (once again sorry it didn't
> get posted upstream due to my ignorance), and it would be nice to drop
> the patch once this is in a release.

yes, having this upstream would be appreciated.

So besides the style how to do fetch the sources, this looks ok?

Is there another newer released ecj version which should be used instead?

  Matthias



More information about the Java-patches mailing list