You could call this an 'evangelism' bug report if you wish. I think there needs to be a target set down to remove all of the GCC 3.1 bug patches that people had added to the various ebuilds to get programs to compile in previous versions of Gentoo where GCC 3.1 was available to install. I am getting rather tired of having to manually check each ebuild to see whether some incorrectly written bug patch checks whether I have the correct version of GCC installed to compile software with -march=pentium4. All of the bug patches have been incorrectly written to ONLY check if GCC is version 2.x, rather than correctly checking if a version is the buggy 3.1.x Thus anyone currently using a fully workable GCC 3.2 system gets laboured with legacy bug patches which go against the Gentoo ideal of having everything compiled for the system. Bug patches that incorrectly force my Pentium 4 to have software compiled for Pentium 3 or some other such lesser CPU. With the final roll-out of Gentoo 1.4 expected to be using GCC 3.2 upwards, by that time a lot of the user installable software will compile (as a lot of it does now) using -march=pentium4, and thus the GCC 3.1 patches should be either removed, or rewritten.
some patches that were made to fix gcc3.1 bugs work just as well in gcc3.2 ...
have you got any documentation on exactly which patches are obsolete?
Dagan, please respond...
My apologies, I have been so busy with work I have not been able to look into this further. Mozilla and XFree appeared to me to be 2 packages that could benefit from full compile options. Note, I am mainly interested in testing the -march=pentium4 bugs, since my desktop is a P4, and software is non-critical so it's easy enough for me to keep reinstalling/recompiling everything :) At the time I put in this bug report, I was mainly playing around with very versions of XFree and Mozilla (anyone have an ebuild for 1.2b btw ?), with/without the various bugpatches, and having some success building the packages with various edits and compile options. But since I haven't had a chance to go through these properly, to ensure that they do work 100% with the changes I was testing, I have just left this bugfix here empty since. To be honest, I do not have a full list of packages that have been patched for GCC 3.1.x, but I would assume there are quite a number, more than I could test. I am willing when I have the time to go through testing each package one at a time to make sure they all compile ok on GCC 3.2 without the need to patches etc. Reading through sites like Bugzilla on Mozilla's website, it becomes clear they are moving towards building everything for GCC 3.2 once all the major distributions are there. Mozilla and Netscape would make the jump at the same time, since they use the same code base. I didn't see any mention of a date for this jump though. I think there are still a few possible Mozilla bugs that are stopping it from compiling freely in GCC 3.2, but I have been keeping an eye on that. Sun appear to be making JRE compatible with 3.2 'in the next release' which would either be a bugfix for 1.4.1 or in next proper release. That's welcome news, since the current compile from source method is confusing at best. You can all leave this bug open, change the rating/status if you deem needed, since I won't have time to go through this very quickly. But I will continue to look through this as I have time. It would be nice to get updates here from people who have found updated software that no longer needs the GCC patches though.
Dagan, I agree with your appraisal. From experience with gcc3.1 and gcc3.2, the types of changes necessary are often applicable to gcc3.2. Patches for gcc3.1 which contain the following would be still relevant: * correction to include path re-orderings (packages which (wrongly) -I/usr/include) * C++ coding errors (from gcc2.95.3 to gcc3.1) due to the much better C++ compiler in gcc3.2 These have often been worthy upstream patches and were sent in that direction also. Hopefully new versions of upstream stuff won't be broken in the same ways. With each new version bump for a package in portage which has gcc3.1 or gcc3.2 patches, gentoo devs will check if each patch is necessary. I can't think off-hand what things might be gcc3.1 specific though. I'll change this bug to remind status.