Empfehlenswerte Lektüre:
http://gcc.gnu.org/install/Wie escimo schon gesagt hat brauchst Du diverse Bibliotheken und vor allem die Headerdateien des Zielsystems. Dann zuerst die binutils mit dem entsprechenden Target bauen und danach den Compiler.
Meine letzten praktischen Erfahrungen damit waren zu Zeiten von gcc 2.3.3 und 2.5.8. Damals war es nicht möglich auf einem 32-bit Hostsystem einen Compiler für ein 64-bit Target zu bauen. Diese Info habe ich auf die Schnelle nicht wiedergefunden, was dafür spricht das dem vielleicht nicht mehr so ist. Damals kannten die binutils für IRIX auch nur das O32 Format, inzwischen werden auch N32 und N64 unterstützt.
Bei den Plattformen die grundsätzlich unterstützt wurden hatte ich keine Probleme, höchstens so Sachen wie die libc vom Zielsystem auf Disketten packen um sie auf meinen PC zu übertragen...
Auch mein i486-linux zu sparc-sun-sunos4 lief einwandfrei, wobei ich da auch nur relativ triviale Sachen mit übersetzt habe.