Re: GCC 4.5 Status Report (2009-12-02)

2009-12-04 Thread Jack Howarth
On Thu, Dec 03, 2009 at 09:32:38PM +0100, Ralf Wildenhues wrote:
 * Jack Howarth wrote on Thu, Dec 03, 2009 at 03:22:56AM CET:
  On Wed, Dec 02, 2009 at 11:08:49PM +0100, Richard Guenther wrote:
   On Wed, 2 Dec 2009, Ralf Wildenhues wrote:

The Libtool update would fix a couple of bugs, one of which is important
for mi...@least.  Any chance this could still be considered?
   
   I think this is up to you - I can't asses the benefits or risks
   of the change.
 
 Well, the benefits are on the table: fixes important for MinGW, cross
 compiles for HP-UX, shared libraries with binutils on AIX, less noise
 and thus (hopefully) less conflicts with future merges of configure
 scripts; the risks are build breakage on some systems or with some
 setups (that are not exercised with the Libtool test suite), and some
 developers rightly being angry at me for such a late change.
 
 I can only offer to help with any breakage as resources permit
 (latency  24hrs for the next 8 days at least).  I expect any serious
 breakage to show up within the following time GCC is bootstrapped on
 the system in question.
 
  Actually, I would be very interested in testing the proposed libtool patch
  to verify that this new change works as advertised (coupled with the pending
  dsymutil fixes...http://gcc.gnu.org/ml/gcc-patches/2009-12/msg00094.html
  and http://gcc.gnu.org/ml/gcc-patches/2009-12/msg00096.html). This should 
  finally
  fix up darwin for properly debugging in libstdc++ and libjava which both
  use such libtool convenience archives.
 
 Do you need anything to test the patch before it is applied, or did you
 mean to test it when it has been applied?  (To test this patch that does
 not include regenerated files, apply it, then
   find $srcdir -name configure | while read f; do
 (cd $(dirname $f)  autoconf)
   done
 
 then build.
 
 Thanks,
 Ralf

Ralf,
   I just finished testing the regenerated files you sent me against current
gcc trunk on x86_64-apple-darwin10 and the new libtool -force_load support
works perfectly and gcc completes its bootstrap without any problems. The
resulting binaries now properly are handled by gdb...

[MacPro:~] howarth% gdb 
/sw/lib/gcc4.5/libexec/gcc/x86_64-apple-darwin10.2.0/4.5.0/ecj1
GNU gdb 6.3.50-20050815 (Apple version gdb-1346) (Fri Sep 18 20:40:51 UTC 2009)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type show copying to see the conditions.
There is absolutely no warranty for GDB.  Type show warranty for details.
This GDB was configured as x86_64-apple-darwin...Reading symbols for shared 
libraries .. done

warning: Could not find object file /var/tmp//ccnhWP0M.o - no debug 
information available for /var/tmp//ccaBaUr9.i.


(gdb) 

The numerous warnings in gdb about missing object files from convenience 
archives are
now missing when libgcj is loaded. Nice.
  Jack
ps Of course my build also has the pending dwarf2out.c fixes for dsymutil 
applied as
mentioned earlier. Thanks in advance for getting this libtool update into gcc 
4.5.


Re: GCC 4.5 Status Report (2009-12-02)

2009-12-04 Thread Dave Korn
Jack Howarth wrote:
 Thanks in advance for getting this libtool update into gcc 4.5.

  I'd just like to add: thanks (in behind) for all the work you've put in this
summer getting everything updated.  You done a really good job and we're all
better off for it :)

cheers,
  DaveK


Re: GCC 4.5 Status Report (2009-12-02)

2009-12-03 Thread Ralf Wildenhues
* Jack Howarth wrote on Thu, Dec 03, 2009 at 03:22:56AM CET:
 On Wed, Dec 02, 2009 at 11:08:49PM +0100, Richard Guenther wrote:
  On Wed, 2 Dec 2009, Ralf Wildenhues wrote:
   
   The Libtool update would fix a couple of bugs, one of which is important
   for mi...@least.  Any chance this could still be considered?
  
  I think this is up to you - I can't asses the benefits or risks
  of the change.

Well, the benefits are on the table: fixes important for MinGW, cross
compiles for HP-UX, shared libraries with binutils on AIX, less noise
and thus (hopefully) less conflicts with future merges of configure
scripts; the risks are build breakage on some systems or with some
setups (that are not exercised with the Libtool test suite), and some
developers rightly being angry at me for such a late change.

I can only offer to help with any breakage as resources permit
(latency  24hrs for the next 8 days at least).  I expect any serious
breakage to show up within the following time GCC is bootstrapped on
the system in question.

 Actually, I would be very interested in testing the proposed libtool patch
 to verify that this new change works as advertised (coupled with the pending
 dsymutil fixes...http://gcc.gnu.org/ml/gcc-patches/2009-12/msg00094.html
 and http://gcc.gnu.org/ml/gcc-patches/2009-12/msg00096.html). This should 
 finally
 fix up darwin for properly debugging in libstdc++ and libjava which both
 use such libtool convenience archives.

Do you need anything to test the patch before it is applied, or did you
mean to test it when it has been applied?  (To test this patch that does
not include regenerated files, apply it, then
  find $srcdir -name configure | while read f; do
(cd $(dirname $f)  autoconf)
  done

then build.

Thanks,
Ralf


Re: GCC 4.5 Status Report (2009-12-02)

2009-12-03 Thread Jack Howarth
On Thu, Dec 03, 2009 at 09:32:38PM +0100, Ralf Wildenhues wrote:
 
 Do you need anything to test the patch before it is applied, or did you
 mean to test it when it has been applied?  (To test this patch that does
 not include regenerated files, apply it, then
   find $srcdir -name configure | while read f; do
 (cd $(dirname $f)  autoconf)
   done
 

Ralf,
   Are you sure one doesn't have to do any magic with the autoconf files
to make sure that the proper config directories are used. Ages ago when
we regenerating configure in the fink gcc42 packages, we had to use...

cd boehm-gc
autoconf -I .. -I ../config
cd ../libjava
autoconf  -I . -I .. -I ../config

etc to make sure that the toplevel config directory was included
for the multilib bits.
Jack

 then build.
 
 Thanks,
 Ralf


Re: GCC 4.5 Status Report (2009-12-02)

2009-12-03 Thread Ralf Wildenhues
* Jack Howarth wrote on Thu, Dec 03, 2009 at 10:15:59PM CET:
 On Thu, Dec 03, 2009 at 09:32:38PM +0100, Ralf Wildenhues wrote:
  
  Do you need anything to test the patch before it is applied, or did you
  mean to test it when it has been applied?  (To test this patch that does
  not include regenerated files, apply it, then
find $srcdir -name configure | while read f; do
  (cd $(dirname $f)  autoconf)
done

Are you sure one doesn't have to do any magic with the autoconf files
 to make sure that the proper config directories are used. Ages ago when
 we regenerating configure in the fink gcc42 packages, we had to use...

Yeah, you're right that in general, more regeneration is needed.
I typically let --enable-maintainer-mode do that job, but a recheck
triggered by 'make' reuses the cache files from the first configure.
(That only regenerates the directories used during that build, of
course.)

With --enable-maintainer-mode, GCC trunk should have all rebuild rules
and dependencies in place.

Cheers,
Ralf


Re: GCC 4.5 Status Report (2009-12-02)

2009-12-02 Thread Ralf Wildenhues
Hello Richard,

* Richard Guenther wrote on Wed, Dec 02, 2009 at 01:32:24PM CET:
 The trunk is in regression and documentation fixes only mode,
 Stage 3 has ended yesterday.  Release branch rules are now
 in effect for all changes to trunk that touch release critical
 parts of the compiler (primary and secondary targets, C and
 C++ and their runtimes).

 We seem to get more testing of GCC 4.5 in the field now, so
 bugs are more frequently reported now.  Please help in
 analyzing (and possibly finding duplicates) and fixing bugs.

The Libtool update would fix a couple of bugs, one of which is important
for MinGW at least.  Any chance this could still be considered?

Thanks, and sorry I didn't get it sent earlier,
Ralf


Re: GCC 4.5 Status Report (2009-12-02)

2009-12-02 Thread Richard Guenther
On Wed, 2 Dec 2009, Ralf Wildenhues wrote:

 Hello Richard,
 
 * Richard Guenther wrote on Wed, Dec 02, 2009 at 01:32:24PM CET:
  The trunk is in regression and documentation fixes only mode,
  Stage 3 has ended yesterday.  Release branch rules are now
  in effect for all changes to trunk that touch release critical
  parts of the compiler (primary and secondary targets, C and
  C++ and their runtimes).
 
  We seem to get more testing of GCC 4.5 in the field now, so
  bugs are more frequently reported now.  Please help in
  analyzing (and possibly finding duplicates) and fixing bugs.
 
 The Libtool update would fix a couple of bugs, one of which is important
 for MinGW at least.  Any chance this could still be considered?

I think this is up to you - I can't asses the benefits or risks
of the change.

Thanks,
Richard.


Re: GCC 4.5 Status Report (2009-12-02)

2009-12-02 Thread Jack Howarth
On Wed, Dec 02, 2009 at 11:08:49PM +0100, Richard Guenther wrote:
 On Wed, 2 Dec 2009, Ralf Wildenhues wrote:
 
  Hello Richard,
  
  * Richard Guenther wrote on Wed, Dec 02, 2...@01:32:24PM CET:
   The trunk is in regression and documentation fixes only mode,
   Stage 3 has ended yesterday.  Release branch rules are now
   in effect for all changes to trunk that touch release critical
   parts of the compiler (primary and secondary targets, C and
   C++ and their runtimes).
  
   We seem to get more testing of GCC 4.5 in the field now, so
   bugs are more frequently reported now.  Please help in
   analyzing (and possibly finding duplicates) and fixing bugs.
  
  The Libtool update would fix a couple of bugs, one of which is important
  for mi...@least.  Any chance this could still be considered?
 
 I think this is up to you - I can't asses the benefits or risks
 of the change.
 
 Thanks,
 Richard.

Richard,
Darwin10 should benefit from a libtool update since Peter O'Gorman's
patch to leverage the new -force_load flag in Snow Leopard's ld...

http://git.savannah.gnu.org/cgit/libtool.git/commit/?id=4ad8b63bd1069246c540ba2973da967fe7b68c9c

is supposed to provide the equivalent to the linux ld's --whole-archive.

 -force_load path_to_archive
 Loads all members of the specified static archive library.  
Note: -all_load forces all members
 of all archives to be loaded.  This option allows you to 
target a specific archive.

This should eliminate the issues with missing object files when libtool's
convenience archives are used...

http://gcc.gnu.org/ml/gcc/2008-10/msg00083.html

Actually, I would be very interested in testing the proposed libtool patch
to verify that this new change works as advertised (coupled with the pending
dsymutil fixes...http://gcc.gnu.org/ml/gcc-patches/2009-12/msg00094.html
and http://gcc.gnu.org/ml/gcc-patches/2009-12/msg00096.html). This should 
finally
fix up darwin for properly debugging in libstdc++ and libjava which both
use such libtool convenience archives.
   Jack