kaseiicy wrote:What are these 'various tasks' and how they influence in the quality of the generated binary if there's any?
GCC could be performing link-time optimization with the correct plugins applied. This means, essentially, that it would optimize the whole program as if everything was written into one big file. This allows the compiler to inline across file boundaries, thus eliminating more calls. The result might be a smaller or faster executable.
Other than that, the compiler also configures a few things about the linker, like adding libgcc to the command line. Finally, GCC does not call its ld directly, it calls
collect2, and collect2 may actually do something.