Command explanations patch -Np1 -i ../gcc-&gcc-patch-version;.patch: This new patch deals with incorrect handling of weak symbols, the over-optimization of calls to those weak symbols, an atexit issue and the __dso_handle symbol required for atexit's proper function. --enable-languages=c,c++: This only builds the C and C++ compilers and not the other available compilers as they are, on the average, not often used. If those other compilers are needed, the --enable-languages parameter can be omitted. --enable-threads: C++ exception handling for multithreaded code will not work if gcc is compiled without --enable-threads.