Re: GCC 4.5 Status Report (2009-12-02)
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)
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)
* 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)
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)
* 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)
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)
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)
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