Quick and condensed my thoughts about how a gcc should be compiled to plan forward for future upgrades and safety measure to not interfere with other gcc runtime libraries you might have.
A distribution does keep the door open for future changes without breaking old binaries if following the concept from below.
Update: I put together a condensed set of notes for a distribution to make up a nice gcc configuration here: http://tom.blog.in-ulm.de/gcc_cookbook_for_a_distribution
Update: As of end of December 2011 the new setup for gcc described below has been released from experimental a long time ago - and no known bugs yet.
Unfortunatly the OS-Distro provided gcc-4 series compilers still do not follow this approach.