Based on the documentation here: http://gcc.gnu.org/onlinedocs/gccint/Collect2.html It appears that collect2 is inefficient in that it involves two passes. I've heard that the GNU linker doesn't require a second pass, so if you're using it collect2 should be unnecessary. I'm compiling on Solaris, and I know how to get GCC to invoke the GNU linker instead of the native Sun one (using -B to point it to a different folder) but if I do this and compile a file with -V I can see that it's still running collect2. Is there a way to suppress this or is my information outdated? If it is possible to avoid using collect2, do any special steps need to be taken when not using it or will things 'just work'? Google isn't being a lot of help.