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

2013-04-17 Thread Jon VanAlten


- Original Message -
 From: Andrew Hughes gnu.and...@redhat.com
 To: Jon VanAlten jon.vanal...@redhat.com
 Cc: Matthias Klose d...@ubuntu.com, GCJ-patches 
 java-patc...@gcc.gnu.org, classpath@gnu.org, Tom Tromey
 tro...@redhat.com
 Sent: Monday, April 15, 2013 5:34:49 PM
 Subject: Re: [patch] update ecj to ecj-3.8.2/4.2.2
 
 - Original Message -
  
  
  - Original Message -
   From: Matthias Klose d...@ubuntu.com
   To: GCJ-patches java-patc...@gcc.gnu.org
   Cc: Jon VanAlten jon.vanal...@redhat.com, classpath@gnu.org, Tom
   Tromey tro...@redhat.com
   Sent: Monday, April 15, 2013 6:21:45 AM
   Subject: [patch] update ecj to ecj-3.8.2/4.2.2
   
   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).
   
  
  My bad.  I honestly didn't have any idea what the upstream process would
  be.
  My
  history in the free java world starts after openjdk/icedtea, so all the gcj
  fluff isn't really known well to me, and I don't really know where to look
  for
  information (pointers appreciated!  :D  ).  So I sort of let it slip
  through
  the cracks.
  
  I did bring it up on an earlier thread[1], and it seems like by accident it
  also went to java-patches.  Now I know for next time, if and when there is
  a
  next time.
  
 
 Don't feel bad, Jon.  It's not your fault.  I was around for the gcj fluff
 (perhaps wording it better would be a good idea though) and I still have no
 idea how this is updated, despite asking on this list at least once.
 
 And to be honest, I still don't.
 

Hah, ok then hopefully those that *do* know their way around can offer up a
pointer to some documentation (possibly preceded by creating and publishing
said documentation) :)

Just to make sure, I don't mean fluff in a derogatory sense at all!
Rather, I thank the forebearers of the free java community for doing all
that great work.  It's just that now, since there is very little active work
on those bits (as I understand it because there is very little need for
active work), I haven't had the opportunity to learn the ins and outs, and
so it all seems like a big black box to me, such that I fall back on
speaking of it in generic terms like fluff by which I mean just stuff,
not at all inconsequential.

cheers,
jon



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

2013-04-15 Thread Andrew Hughes
- Original Message -
 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
 

Is this ecj buildable with gcj?  My experience of 3.8 is that it isn't buildable
without the javax.lang.model code that is now in GNU Classpath, but hasn't yet 
been
merged to gcj (it's not yet ready for that).
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07




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

2013-04-15 Thread Matthias Klose
Am 15.04.2013 15:28, schrieb Andrew Hughes:
 - Original Message -
 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

 
 Is this ecj buildable with gcj?  My experience of 3.8 is that it isn't 
 buildable
 without the javax.lang.model code that is now in GNU Classpath, but hasn't 
 yet been
 merged to gcj (it's not yet ready for that).

I used

  gcj-4.8 -C -g -I/usr/share/ant/lib/ant.jar @files

and that seems to work well enough to build libjava.




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

2013-04-15 Thread Andrew Hughes
- Original Message -
 Am 15.04.2013 15:28, schrieb Andrew Hughes:
  - Original Message -
  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
 
  
  Is this ecj buildable with gcj?  My experience of 3.8 is that it isn't
  buildable
  without the javax.lang.model code that is now in GNU Classpath, but hasn't
  yet been
  merged to gcj (it's not yet ready for that).
 
 I used
 
   gcj-4.8 -C -g -I/usr/share/ant/lib/ant.jar @files
 
 and that seems to work well enough to build libjava.
 
 

 Compiling source in 
 /mnt/builder/portage.build/portage/dev-java/eclipse-ecj-4.2.1/work ...
 * bootstrapping ecj with /usr/lib/gcj-jdk-4.8.0/bin/javac ...

1. ERROR in org/eclipse/jdt/internal/compiler/apt/dispatch/RoundDispatcher.java 
(at line 21)
import javax.annotation.processing.RoundEnvironment;
   
The import javax.annotation cannot be resolved
--
2. ERROR in org/eclipse/jdt/internal/compiler/apt/dispatch/RoundDispatcher.java 
(at line 22)
import javax.lang.model.element.Element;
   ^^
The import javax.lang cannot be resolved
--
3. ERROR in org/eclipse/jdt/internal/compiler/apt/dispatch/RoundDispatcher.java 
(at line 23)
import javax.lang.model.element.TypeElement;
   ^^
The import javax.lang cannot be resolved

and so on...

78 problems (78 errors) * ERROR: dev-java/eclipse-ecj-4.2.1 failed (compile 
phase):

Are you using a complete ecj or deleting some classes?
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07




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

2013-04-15 Thread Matthias Klose
Am 15.04.2013 16:02, schrieb Andrew Hughes:
 Are you using a complete ecj or deleting some classes?

I did use what I did send in the patch, and what should be same as is in the
current version of ecj.jar as distributed on gcc.gnu.org.




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

2013-04-15 Thread Andrew Hughes
- Original Message -
 Am 15.04.2013 16:02, schrieb Andrew Hughes:
  Are you using a complete ecj or deleting some classes?
 
 I did use what I did send in the patch, and what should be same as is in the
 current version of ecj.jar as distributed on gcc.gnu.org.
 
 

It's not clear from that patch what exactly is being compiled.  I do see some
rm calls so I suspect bits of ecj are being deleted.

I'd rather we wait until the javax.lang.model work is merged and a more complete
ecj can be used.
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07




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

2013-04-15 Thread Andrew Hughes
- Original Message -
 
 
 - Original Message -
  From: Matthias Klose d...@ubuntu.com
  To: GCJ-patches java-patc...@gcc.gnu.org
  Cc: Jon VanAlten jon.vanal...@redhat.com, classpath@gnu.org, Tom
  Tromey tro...@redhat.com
  Sent: Monday, April 15, 2013 6:21:45 AM
  Subject: [patch] update ecj to ecj-3.8.2/4.2.2
  
  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).
  
 
 My bad.  I honestly didn't have any idea what the upstream process would be.
 My
 history in the free java world starts after openjdk/icedtea, so all the gcj
 fluff isn't really known well to me, and I don't really know where to look
 for
 information (pointers appreciated!  :D  ).  So I sort of let it slip through
 the cracks.
 
 I did bring it up on an earlier thread[1], and it seems like by accident it
 also went to java-patches.  Now I know for next time, if and when there is a
 next time.
 

Don't feel bad, Jon.  It's not your fault.  I was around for the gcj fluff
(perhaps wording it better would be a good idea though) and I still have no
idea how this is updated, despite asking on this list at least once.

And to be honest, I still don't.

 cheers,
 jon
 
 [1]
 http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-March/022168.html
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07